mirror of
https://github.com/postgres/postgres.git
synced 2026-10-23 13:29:09 +03:00
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 <byavuz81@gmail.com> Reviewed-by: Jelte Fennema-Nio <postgres@jeltef.nl> Discussion: https://postgr.es/m/CAN55FZ0tqR6Xz%3DiVFLc1BBoLOEHU775ARhcGYwggHA3XLA%3DoQg%40mail.gmail.com Discussion: https://postgr.es/m/CA+hUKG+s7Yvt0PUnSQUEjCjysV-7-51n9B1h468Le3VJi0x4ZQ@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
This commit is contained in:
@@ -2185,6 +2185,12 @@ common_functional_flags = [
|
||||
# Disable optimizations that assume no overflow; needed for gcc 4.3+
|
||||
'-fwrapv',
|
||||
'-fexcess-precision=standard',
|
||||
# Without -fpch-deps gcc emits dependencies that are insufficient for ccache
|
||||
# to trigger a rebuild when the precompiled header changes. We could make
|
||||
# this depend on using gcc and precompiled headers being enabled, but that's
|
||||
# probably not worth it. See also
|
||||
# https://github.com/ccache/ccache/issues/1686
|
||||
'-fpch-deps',
|
||||
]
|
||||
|
||||
cflags += cc.get_supported_arguments(common_functional_flags)
|
||||
|
||||
Reference in New Issue
Block a user