summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorPeter Foley <pefoley2@verizon.net>2013-03-10 17:50:29 -0400
committerFridrich Strba <fridrich@documentfoundation.org>2013-03-11 09:48:32 +0000
commitbda200348566da71ae7ec346108bc6a00c22bf12 (patch)
tree798df933aabe35342e3fb7860573f3b791e7c40b /solenv
parent4154006248513f488b4ca27345a721b9216ae264 (diff)
add pch support to gcc
Change-Id: I58c11477c1ce48185528db3a8013b5dccf3947c6 Reviewed-on: https://gerrit.libreoffice.org/2653 Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org> Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
Diffstat (limited to 'solenv')
-rw-r--r--solenv/gbuild/TargetLocations.mk8
-rw-r--r--solenv/gbuild/platform/com_GCC_class.mk14
2 files changed, 15 insertions, 7 deletions
diff --git a/solenv/gbuild/TargetLocations.mk b/solenv/gbuild/TargetLocations.mk
index 6fa782b719ce..68a3c670e0cf 100644
--- a/solenv/gbuild/TargetLocations.mk
+++ b/solenv/gbuild/TargetLocations.mk
@@ -157,8 +157,8 @@ gb_Module_get_check_target = $(WORKDIR)/Module/check/$(1)
gb_Module_get_slowcheck_target = $(WORKDIR)/Module/slowcheck/$(1)
gb_Module_get_subsequentcheck_target = $(WORKDIR)/Module/subsequentcheck/$(1)
gb_Module_get_target = $(WORKDIR)/Module/$(1)
-gb_NoexPrecompiledHeader_get_dep_target = $(WORKDIR)/Dep/NoexPrecompiledHeader/$(gb_NoexPrecompiledHeader_DEBUGDIR)/$(1).hxx.pch.d
-gb_NoexPrecompiledHeader_get_target = $(WORKDIR)/NoexPrecompiledHeader/$(gb_NoexPrecompiledHeader_DEBUGDIR)/$(1).hxx.pch
+gb_NoexPrecompiledHeader_get_dep_target = $(WORKDIR)/Dep/NoexPrecompiledHeader/$(gb_NoexPrecompiledHeader_DEBUGDIR)/$(1).hxx.gch.d
+gb_NoexPrecompiledHeader_get_target = $(WORKDIR)/NoexPrecompiledHeader/$(gb_NoexPrecompiledHeader_DEBUGDIR)/$(1).hxx.gch
gb_NoexPrecompiledHeader_get_timestamp = $(WORKDIR)/NoexPrecompiledHeader/$(gb_NoexPrecompiledHeader_DEBUGDIR)/Timestamps/$(1)
gb_ObjCxxObject_get_target = $(WORKDIR)/ObjCxxObject/$(1).o
gb_ObjCObject_get_target = $(WORKDIR)/ObjCObject/$(1).o
@@ -167,8 +167,8 @@ gb_Package_get_preparation_target = $(WORKDIR)/Package/prepared/$(1)
gb_Package_get_target = $(WORKDIR)/Package/$(1)
gb_Package_get_target_for_build = $(WORKDIR_FOR_BUILD)/Package/$(1)
gb_Postprocess_get_target = $(WORKDIR)/Postprocess/$(1)
-gb_PrecompiledHeader_get_dep_target = $(WORKDIR)/Dep/PrecompiledHeader/$(gb_PrecompiledHeader_DEBUGDIR)/$(1).hxx.pch.d
-gb_PrecompiledHeader_get_target = $(WORKDIR)/PrecompiledHeader/$(gb_PrecompiledHeader_DEBUGDIR)/$(1).hxx.pch
+gb_PrecompiledHeader_get_dep_target = $(WORKDIR)/Dep/PrecompiledHeader/$(gb_PrecompiledHeader_DEBUGDIR)/$(1).hxx.gch.d
+gb_PrecompiledHeader_get_target = $(WORKDIR)/PrecompiledHeader/$(gb_PrecompiledHeader_DEBUGDIR)/$(1).hxx.gch
gb_PrecompiledHeader_get_timestamp = $(WORKDIR)/PrecompiledHeader/$(gb_PrecompiledHeader_DEBUGDIR)/Timestamps/$(1)
gb_Pyuno_get_target = $(WORKDIR)/Pyuno/$(1).zip
gb_Pyuno_get_outdir_target = $(OUTDIR)/bin/$(1).zip
diff --git a/solenv/gbuild/platform/com_GCC_class.mk b/solenv/gbuild/platform/com_GCC_class.mk
index b51a723d4821..b177dae9446d 100644
--- a/solenv/gbuild/platform/com_GCC_class.mk
+++ b/solenv/gbuild/platform/com_GCC_class.mk
@@ -182,12 +182,16 @@ $(call gb_Helper_abbreviate_dirs,\
-o $(call gb_SrsPartTarget_get_dep_target,$(1)))
endef
-ifeq ($(COM_GCC_IS_CLANG),TRUE)
# PrecompiledHeader class
+ifeq ($(COM_GCC_IS_CLANG),TRUE)
gb_PrecompiledHeader_get_enableflags = -include-pch $(call gb_PrecompiledHeader_get_target,$(1))
+else
+gb_PrecompiledHeader_get_enableflags = -include $(notdir $(subst .gch,,$(call gb_PrecompiledHeader_get_target,$(1)))) \
+ -I $(dir $(call gb_PrecompiledHeader_get_target,$(1)))
+endif
-# Clang does not need any extra .o file for PCH
+# Clang and gcc do not need any extra .o file for PCH
gb_PrecompiledHeader_get_objectfile =
define gb_PrecompiledHeader__command
@@ -209,7 +213,12 @@ endef
# NoexPrecompiledHeader class
+ifeq ($(COM_GCC_IS_CLANG),TRUE)
gb_NoexPrecompiledHeader_get_enableflags = -include-pch $(call gb_NoexPrecompiledHeader_get_target,$(1))
+else
+gb_NoexPrecompiledHeader_get_enableflags = -include $(notdir $(subst .gch,,$(call gb_NoexPrecompiledHeader_get_target,$(1)))) \
+ -I $(dir $(call gb_NoexPrecompiledHeader_get_target,$(1)))
+endif
gb_NoexPrecompiledHeader_get_objectfile =
@@ -229,7 +238,6 @@ $(call gb_Helper_abbreviate_dirs,\
$(call gb_cxx_dep_copy,$(call gb_NoexPrecompiledHeader_get_dep_target,$(2))) \
)
endef
-endif
# YaccTarget class