summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorCollabora <l.lunak@collabora.com>2021-07-15 12:18:04 +0200
committerLuboš Luňák <l.lunak@collabora.com>2021-07-23 10:31:06 +0200
commit6192fca42aec2db25f6dade632fd0e50eded5d0e (patch)
tree92eb69563a8e46625a594b8f9c14e172990f6c10 /solenv
parent6031dfd615373ad3ed8086a8da0cba3251a51cc6 (diff)
workaround for apple clang sometimes not generating PCH
Change-Id: I50a215e0cf3bf7f6f6d6dc86cf89355e2de19c11 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119009 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Diffstat (limited to 'solenv')
-rw-r--r--solenv/gbuild/platform/com_GCC_class.mk6
1 files changed, 5 insertions, 1 deletions
diff --git a/solenv/gbuild/platform/com_GCC_class.mk b/solenv/gbuild/platform/com_GCC_class.mk
index c29e2a979fd9..9407488c5c4d 100644
--- a/solenv/gbuild/platform/com_GCC_class.mk
+++ b/solenv/gbuild/platform/com_GCC_class.mk
@@ -95,10 +95,14 @@ endef
ifeq ($(COM_IS_CLANG),TRUE)
gb_PrecompiledHeader_get_enableflags = -include-pch $(call gb_PrecompiledHeader_get_target,$(1),$(2))
gb_PrecompiledHeader_EXT := .pch
+# Workaround: Apple Clang version 12.0.5 sometimes tries to compile instead of generating PCH
+# when used just with -c c++-header, so help it by being explicit.
+gb_PrecompiledHeader_emit_pch := -Xclang -emit-pch
else
gb_PrecompiledHeader_get_enableflags = \
-include $(dir $(call gb_PrecompiledHeader_get_target,$(1),$(2)))$(notdir $(subst .gch,,$(call gb_PrecompiledHeader_get_target,$(1),$(2))))
gb_PrecompiledHeader_EXT := .gch
+gb_PrecompiledHeader_emit_pch :=
endif
gb_PrecompiledHeader_extra_pch_cxxflags += $(PCH_INSTANTIATE_TEMPLATES)
@@ -133,7 +137,7 @@ $(call gb_Helper_abbreviate_dirs,\
cd $(BUILDDIR)/ && \
CCACHE_DISABLE=1 $(gb_COMPILER_SETUP) \
$(if $(8),$(8),$(gb_CXX)) \
- -x c++-header \
+ -x c++-header $(gb_PrecompiledHeader_emit_pch) \
$(4) \
$(if $(7), $(call gb_CObject__filter_out_clang_cflags,$(5)),$(5)) \
$(if $(WARNINGS_DISABLED),$(gb_CXXFLAGS_DISABLE_WARNINGS)) \