meson: Fix ccache issues when using precompiled headers with gcc

Unfortunately the combination of gcc, precompiled headers, ccache and meson
currently is not safe without further options. The dependencies emitted by gcc
are insufficient to trigger rebuilds when headers "below" the precompiled
headers are changed. Whether that's a ccache, gcc or meson bug is
debatable. Luckily gcc's -fpch-deps option fixes the issue.

This problem occasionally leads to build failures, e.g. if only c.h,
postgres.h or pg_config_manual.h change. That's e.g. the case when creating a
new major version branch.

Reviewed-by: Nazir Bilal Yavuz <[email protected]>
Reviewed-by: Jelte Fennema-Nio <[email protected]>
Discussion: 
https://postgr.es/m/CAN55FZ0tqR6Xz%3DiVFLc1BBoLOEHU775ARhcGYwggHA3XLA%3DoQg%40mail.gmail.com
Discussion: 
https://postgr.es/m/ca+hukg+s7yvt0punsquejcjysv-7-51n9b1h468le3vji0x...@mail.gmail.com
Discussion: 
https://postgr.es/m/phsrssp75npoyalqsolcd7fmnmlbzbmquc2p7w7mqjlw7432jk@bzskz3luyjvb
Discussion: https://github.com/ccache/ccache/issues/1686
Backpatch-through: 16, where meson support was added

Branch
------
REL_16_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/42413e702913135efafa9180d0f101c455101ac5

Modified Files
--------------
meson.build | 6 ++++++
1 file changed, 6 insertions(+)

Reply via email to