diff options
author | Michael Stahl <mstahl@redhat.com> | 2016-05-27 16:24:33 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2016-05-30 15:34:51 +0000 |
commit | e5c6574f5df8d2a5914beb03dce604beb8d62ee8 (patch) | |
tree | 0fe9ab88e396c5f1c5d1ee91be48690cb110bd85 /RepositoryExternal.mk | |
parent | 0002249b15d0d3aa89b7eafe0791921c0427abea (diff) |
boost: warning-patch-ectomy
Upstream maintainers, with few exceptions, generally don't care about
warnings in boost headers, hence we re-base our warning fix patches on
every upgrade, which is a pointless exercise in frustration.
Most of the patches are for GCC/Clang warnings, where we could use
-isystem to suppress the warnings (with corresponding hacks in the build
system, because -isystem also disables dependency generation) - but
clang-cl does not support -isystem.
So generate a bunch of wrapper headers into external/boost/include, that
disable all known warnings and use #include_next to get the real boost
header. This allows us to get rid of most of the existing patches.
There is however a bug in GCC that preprocessor warnings like -Wundef
cannot be disabled with a #pragma, so those patches cannot be removed.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53431
Change-Id: I2992bf4a463015f1140489df867bd80757f84541
Reviewed-on: https://gerrit.libreoffice.org/25563
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Diffstat (limited to 'RepositoryExternal.mk')
-rw-r--r-- | RepositoryExternal.mk | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk index 8d03be3009e5..938bfc07dfc4 100644 --- a/RepositoryExternal.mk +++ b/RepositoryExternal.mk @@ -715,6 +715,7 @@ endef define gb_LinkTarget__use_boost_headers $(call gb_LinkTarget_use_unpacked,$(1),boost) $(call gb_LinkTarget_set_include,$(1),\ + $(if $(or $(COM_IS_CLANG),$(filter GCC,$(COM))),-I$(SRCDIR)/external/boost/include) \ -I$(call gb_UnpackedTarball_get_dir,boost) \ $$(INCLUDE) \ ) |