[PATCH] add pch support to gcc
Peter Foley (via Code Review)
gerrit at gerrit.libreoffice.org
Sun Mar 10 14:50:17 PDT 2013
Hi,
I have submitted a patch for review:
https://gerrit.libreoffice.org/2653
To pull it, you can do:
git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/53/2653/1
add pch support to gcc
Change-Id: I58c11477c1ce48185528db3a8013b5dccf3947c6
---
M configure.ac
M solenv/gbuild/TargetLocations.mk
M solenv/gbuild/platform/com_GCC_class.mk
M sw/source/ui/dbui/swdbtoolsclient.cxx
4 files changed, 17 insertions(+), 11 deletions(-)
diff --git a/configure.ac b/configure.ac
index d43892c..61eb8ac 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4394,9 +4394,7 @@
if test "$_os" = "WINNT" -a "$WITH_MINGW" != "yes"; then
ENABLE_PCH="TRUE"
AC_MSG_RESULT([yes])
- # GCC PCH support is reportedly a hack that's not very reliable,
- # so support only Clang.
- elif test "$GCC" = "yes" -a "$COM_GCC_IS_CLANG" = "TRUE"; then
+ elif test "$GCC" = "yes"; then
ENABLE_PCH="TRUE"
AC_MSG_RESULT([yes])
else
diff --git a/solenv/gbuild/TargetLocations.mk b/solenv/gbuild/TargetLocations.mk
index 6fa782b..68a3c67 100644
--- a/solenv/gbuild/TargetLocations.mk
+++ b/solenv/gbuild/TargetLocations.mk
@@ -157,8 +157,8 @@
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_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 b51a723..b177dae 100644
--- a/solenv/gbuild/platform/com_GCC_class.mk
+++ b/solenv/gbuild/platform/com_GCC_class.mk
@@ -182,12 +182,16 @@
-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 @@
# 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_cxx_dep_copy,$(call gb_NoexPrecompiledHeader_get_dep_target,$(2))) \
)
endef
-endif
# YaccTarget class
diff --git a/sw/source/ui/dbui/swdbtoolsclient.cxx b/sw/source/ui/dbui/swdbtoolsclient.cxx
index beddf6a..fcb6728 100644
--- a/sw/source/ui/dbui/swdbtoolsclient.cxx
+++ b/sw/source/ui/dbui/swdbtoolsclient.cxx
@@ -204,7 +204,7 @@
sal_Int32 SwDbtoolsClient::getDefaultNumberFormat(
const Reference< XPropertySet >& rxColumn,
const Reference< XNumberFormatTypes >& rxTypes,
- const Locale& rLocale
+ const lang::Locale& rLocale
)
{
sal_Int32 nRet = -1;
--
To view, visit https://gerrit.libreoffice.org/2653
To unsubscribe, visit https://gerrit.libreoffice.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I58c11477c1ce48185528db3a8013b5dccf3947c6
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Peter Foley <pefoley2 at verizon.net>
More information about the LibreOffice
mailing list