You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by tr...@apache.org on 2017/12/12 18:45:51 UTC

svn commit: r1817946 - in /openoffice/trunk/main: framework/ solenv/gbuild/ solenv/gbuild/platform/

Author: truckman
Date: Tue Dec 12 18:45:51 2017
New Revision: 1817946

URL: http://svn.apache.org/viewvc?rev=1817946&view=rev
Log:
Improvements to per-object optimization overrides in gbuild:
   
 * Less Library.mk editing required to add an optimization exception
   than what has been normally done to date.
   
 * Add a variable to specify an override to -O1 instead of only
   allowing -O0.
   
 * Don't lose debug flags when overriding optimization.
   

Convert the recent Mac optimization override in framework/Library_fwk.mk
to the new style.
   

Improvements to Windows debug builds in gbuild:
   
 * There are multiple dependency paths that trigger compiling a source
   file.  Add a target specific $(PDBFILE) to the root of each so
   that $(PDBFILE) is set properly when compiling.
   
   Note: $(PDBFILE) is not getting set when compiling the sources
   for the per-module (Google Test) tests.
   
 * Don't inadvertantly disable the use of pre-compiled headers when
   enabling debug (not specific to Windows).

   Note: If both debug and pre-compiled headers are enabled, building
   of modules that contain more than one library will fail due to
   limitations of Visual Studio.  The problem is that when we
   build the precompiled header, the output file(s) are based on the
   module name.  Even though each Library_*.mk specifies the rule
   to build the precompiled header, it is only built once for the
   module.  Visual Studio requires that the $(PDBFILE) used when
   compiling the sources match the $(PDBFILE) used when compiling
   the precompiled header, but the value of $(PDBFILE) is specific
   to each library.  The best fix would be to compile the headers
   once for each library and stash the output in a per-library
   specific place, but this requires some fairly extensive changes.
   Another potential fix would be to use -Z7 optimization so that the
   debug information is stored in the object files.


Modified:
    openoffice/trunk/main/framework/Library_fwk.mk
    openoffice/trunk/main/solenv/gbuild/LinkTarget.mk
    openoffice/trunk/main/solenv/gbuild/platform/freebsd.mk
    openoffice/trunk/main/solenv/gbuild/platform/linux.mk
    openoffice/trunk/main/solenv/gbuild/platform/macosx.mk
    openoffice/trunk/main/solenv/gbuild/platform/os2.mk
    openoffice/trunk/main/solenv/gbuild/platform/solaris.mk
    openoffice/trunk/main/solenv/gbuild/platform/windows.mk

Modified: openoffice/trunk/main/framework/Library_fwk.mk
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/framework/Library_fwk.mk?rev=1817946&r1=1817945&r2=1817946&view=diff
==============================================================================
--- openoffice/trunk/main/framework/Library_fwk.mk (original)
+++ openoffice/trunk/main/framework/Library_fwk.mk Tue Dec 12 18:45:51 2017
@@ -61,6 +61,11 @@ $(eval $(call gb_Library_add_linked_libs
 	$(gb_STDLIBS) \
 ))
 
+# i126622 - Base 4.1.2 does not open Tables and Queries in Mac OSX
+ifeq ($(OS),MACOSX)
+    $(call gb_LinkTarget_set_cxx_optimization,framework/source/loadenv/loadenv,$(gb_COMPILEROPT1FLAGS))
+endif
+
 $(eval $(call gb_Library_add_exception_objects,fwk,\
 	framework/source/accelerators/acceleratorcache \
 	framework/source/accelerators/acceleratorconfiguration \
@@ -190,10 +195,4 @@ $(eval $(call gb_Library_add_exception_o
 	framework/source/xml/imagesdocumenthandler \
 ))
 
-# i126622 - Base 4.1.2 does not open Tables and Queries in Mac OSX
-ifeq ($(OS),MACOSX)
-    $(call gb_CxxObject_get_target,framework/source/loadenv/loadenv):\
-	T_CXXFLAGS := $(gb_LinkTarget_CXXFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) $(gb_COMPILERNOOPTFLAGS)
-endif
-
 # vim: set noet sw=4 ts=4:

Modified: openoffice/trunk/main/solenv/gbuild/LinkTarget.mk
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/gbuild/LinkTarget.mk?rev=1817946&r1=1817945&r2=1817946&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/gbuild/LinkTarget.mk (original)
+++ openoffice/trunk/main/solenv/gbuild/LinkTarget.mk Tue Dec 12 18:45:51 2017
@@ -109,10 +109,10 @@ gb_CxxObject_get_source = $(1)/$(2).cxx
 define gb_CxxObject__set_pchflags
 ifeq ($(gb_ENABLE_PCH),$(true))
 ifneq ($(strip $$(PCH_NAME)),)
-ifeq ($$(sort $$(PCH_CXXFLAGS) $$(PCH_DEFS) $$(gb_LinkTarget_EXCEPTIONFLAGS)),$$(sort $$(T_CXXFLAGS) $$(DEFS)))
+ifeq ($$(sort $$(PCH_CXXFLAGS) $$(PCH_DEFS) $$(gb_LinkTarget_EXCEPTIONFLAGS)),$$(sort $$(T_CXXFLAGS) $$(CXXFLAGS) $$(DEFS)))
 $$@ : PCHFLAGS := $$(call gb_PrecompiledHeader_get_enableflags,$$(PCH_NAME))
 else
-ifeq ($$(sort $$(PCH_CXXFLAGS) $$(PCH_DEFS) $$(gb_LinkTarget_NOEXCEPTIONFLAGS)),$$(sort $$(T_CXXFLAGS) $$(DEFS)))
+ifeq ($$(sort $$(PCH_CXXFLAGS) $$(PCH_DEFS) $$(gb_LinkTarget_NOEXCEPTIONFLAGS)),$$(sort $$(T_CXXFLAGS) $$(CXXFLAGS) $$(DEFS)))
 $$@ : PCHFLAGS := $$(call gb_NoexPrecompiledHeader_get_enableflags,$$(PCH_NAME))
 else
 $$(info No precompiled header available for $$*.)
@@ -333,12 +333,12 @@ $(call gb_LinkTarget_get_target,$(1)) :
 $(call gb_LinkTarget_get_clean_target,$(1)) \
 $(call gb_LinkTarget_get_target,$(1)) : GENCXXOBJECTS :=
 $(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : T_CFLAGS := $$(gb_LinkTarget_CFLAGS) $(CFLAGS)
+$(call gb_LinkTarget_get_target,$(1)) : T_CFLAGS := $$(gb_LinkTarget_CFLAGS)
 $(call gb_LinkTarget_get_headers_target,$(1)) \
 $(call gb_LinkTarget_get_target,$(1)) : T_CXXFLAGS := $$(gb_LinkTarget_CXXFLAGS)
 $(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : PCH_CXXFLAGS := $$(gb_LinkTarget_CXXFLAGS) $(CXXFLAGS)
-$(call gb_LinkTarget_get_target,$(1)) : T_OBJCXXFLAGS := $$(gb_LinkTarget_OBJCXXFLAGS) $(OBJCXXFLAGS)
+$(call gb_LinkTarget_get_target,$(1)) : PCH_CXXFLAGS := $$(gb_LinkTarget_CXXFLAGS) $$(CXXFLAGS)
+$(call gb_LinkTarget_get_target,$(1)) : T_OBJCXXFLAGS := $$(gb_LinkTarget_OBJCXXFLAGS)
 $(call gb_LinkTarget_get_headers_target,$(1)) \
 $(call gb_LinkTarget_get_target,$(1)) : DEFS := $$(gb_LinkTarget_DEFAULTDEFS) $(CPPFLAGS)
 $(call gb_LinkTarget_get_headers_target,$(1)) \
@@ -357,8 +357,8 @@ $(call gb_LinkTarget_get_target,$(1)) :
 $(call gb_LinkTarget_get_headers_target,$(1)) \
 $(call gb_LinkTarget_get_target,$(1)) : PCH_NAME :=
 $(call gb_LinkTarget_get_target,$(1)) : PCHOBJS :=
-$(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : PDBFILE :=
+#$(call gb_LinkTarget_get_headers_target,$(1)) \
+#$(call gb_LinkTarget_get_target,$(1)) : PDBFILE :=
 $(call gb_LinkTarget_get_target,$(1)) : NATIVERES :=
 
 ifeq ($(gb_FULLDEPS),$(true))
@@ -367,10 +367,10 @@ $(call gb_LinkTarget_get_dep_target,$(1)
 $(call gb_LinkTarget_get_dep_target,$(1)) : CXXOBJECTS := 
 $(call gb_LinkTarget_get_dep_target,$(1)) : OBJCXXOBJECTS :=
 $(call gb_LinkTarget_get_dep_target,$(1)) : GENCXXOBJECTS :=
-$(call gb_LinkTarget_get_dep_target,$(1)) : T_CFLAGS := $$(gb_LinkTarget_CFLAGS) $(CFLAGS)
+$(call gb_LinkTarget_get_dep_target,$(1)) : T_CFLAGS := $$(gb_LinkTarget_CFLAGS)
 $(call gb_LinkTarget_get_dep_target,$(1)) : T_CXXFLAGS := $$(gb_LinkTarget_CXXFLAGS)
-$(call gb_LinkTarget_get_dep_target,$(1)) : PCH_CXXFLAGS := $$(gb_LinkTarget_CXXFLAGS) $(CXXFLAGS)
-$(call gb_LinkTarget_get_dep_target,$(1)) : T_OBJCXXFLAGS := $$(gb_LinkTarget_OBJCXXFLAGS) $(OBJCXXFLAGS)
+$(call gb_LinkTarget_get_dep_target,$(1)) : PCH_CXXFLAGS := $$(gb_LinkTarget_CXXFLAGS) $$(CXXFLAGS)
+$(call gb_LinkTarget_get_dep_target,$(1)) : T_OBJCXXFLAGS := $$(gb_LinkTarget_OBJCXXFLAGS)
 $(call gb_LinkTarget_get_dep_target,$(1)) : DEFS := $$(gb_LinkTarget_DEFAULTDEFS) $(CPPFLAGS)
 $(call gb_LinkTarget_get_dep_target,$(1)) : PCH_DEFS := $$(gb_LinkTarget_DEFAULTDEFS) $(CPPFLAGS)
 $(call gb_LinkTarget_get_dep_target,$(1)) : INCLUDE := $$(gb_LinkTarget_INCLUDE)
@@ -477,7 +477,22 @@ ifeq ($(gb_FULLDEPS),$(true))
 $(call gb_LinkTarget_get_dep_target,$(1)) : T_OBJCXXFLAGS := $(2)
 endif
 endif
+endef
+
+define gb_LinkTarget_set_c_optimization
+$(call gb_CObject_get_target,$(1)) : CFLAGS := $(filter-out $(gb_COMPILEROPTFLAGS),$(CFLAGS)) $(2)
+endef
+
+define gb_LinkTarget_set_cxx_optimization
+$(call gb_CxxObject_get_target,$(1)) : CXXFLAGS := $(filter-out $(gb_COMPILEROPTFLAGS),$(CXXFLAGS)) $(2)
+endef
+
+define gb_LinkTarget_set_gencxx_optimization
+$(call gb_GenCxxObject_get_target,$(1)) : CXXFLAGS := $(filter-out $(gb_COMPILEROPTFLAGS),$(CXXFLAGS)) $(2)
+endef
 
+define gb_LinkTarget_set_objcxx_optimization
+$(call gb_ObjCxxObject_get_target,$(1)) : OBJCXXFLAGS := $(filter-out $(gb_COMPILEROPTFLAGS),$(OBJCXXFLAGS)) $(2)
 endef
 
 define gb_LinkTarget_set_include
@@ -635,7 +650,7 @@ $(call gb_LinkTarget_get_clean_target,$(
 
 $(call gb_LinkTarget_get_target,$(1)) : $(call gb_GenCxxObject_get_target,$(2))
 $(call gb_GenCxxObject_get_source,$(2)) : | $(call gb_LinkTarget_get_headers_target,$(1))
-$(call gb_GenCxxObject_get_target,$(2)) : T_CXXFLAGS += $(3) $(CXXFLAGS)
+$(call gb_GenCxxObject_get_target,$(2)) : T_CXXFLAGS += $(3)
 
 ifeq ($(gb_FULLDEPS),$(true))
 $(call gb_LinkTarget_get_dep_target,$(1)) : GENCXXOBJECTS += $(2)
@@ -645,11 +660,11 @@ endif
 endef
 
 define gb_LinkTarget_add_noexception_object
-$(call gb_LinkTarget_add_cxxobject,$(1),$(2),$(gb_LinkTarget_NOEXCEPTIONFLAGS) $(CXXFLAGS))
+$(call gb_LinkTarget_add_cxxobject,$(1),$(2),$(gb_LinkTarget_NOEXCEPTIONFLAGS))
 endef
 
 define gb_LinkTarget_add_exception_object
-$(call gb_LinkTarget_add_cxxobject,$(1),$(2),$(gb_LinkTarget_EXCEPTIONFLAGS) $(CXXFLAGS))
+$(call gb_LinkTarget_add_cxxobject,$(1),$(2),$(gb_LinkTarget_EXCEPTIONFLAGS))
 endef
 
 define gb_LinkTarget_add_cobjects

Modified: openoffice/trunk/main/solenv/gbuild/platform/freebsd.mk
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/gbuild/platform/freebsd.mk?rev=1817946&r1=1817945&r2=1817946&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/gbuild/platform/freebsd.mk (original)
+++ openoffice/trunk/main/solenv/gbuild/platform/freebsd.mk Tue Dec 12 18:45:51 2017
@@ -152,8 +152,10 @@ endif
 
 ifeq ($(gb_DEBUGLEVEL),2)
 gb_COMPILEROPTFLAGS := -O0
+gb_COMPILEROPT1FLAGS := -O0
 else
 gb_COMPILEROPTFLAGS := -Os
+gb_COMPILEROPT1FLAGS := -O1
 endif
 
 gb_COMPILERNOOPTFLAGS := -O0
@@ -179,6 +181,7 @@ $(call gb_Helper_abbreviate_dirs,\
 	$(gb_CC) \
 		$(DEFS) \
 		$(T_CFLAGS) \
+		$(CFLAGS) \
 		-c $(3) \
 		-o $(1) \
 		-MMD -MT $(1) \
@@ -204,6 +207,7 @@ $(call gb_Helper_abbreviate_dirs,\
 	$(gb_CXX) \
 		$(DEFS) \
 		$(T_CXXFLAGS) \
+		$(CXXFLAGS) \
 		-c $(3) \
 		-o $(1) \
 		-MMD -MT $(1) \

Modified: openoffice/trunk/main/solenv/gbuild/platform/linux.mk
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/gbuild/platform/linux.mk?rev=1817946&r1=1817945&r2=1817946&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/gbuild/platform/linux.mk (original)
+++ openoffice/trunk/main/solenv/gbuild/platform/linux.mk Tue Dec 12 18:45:51 2017
@@ -158,8 +158,10 @@ endif
 
 ifeq ($(gb_DEBUGLEVEL),2)
 gb_COMPILEROPTFLAGS := -O0
+gb_COMPILEROPT1FLAGS := -O0
 else
 gb_COMPILEROPTFLAGS := -Os
+gb_COMPILEROPT1FLAGS := -O1
 endif
 
 gb_COMPILERNOOPTFLAGS := -O0
@@ -185,6 +187,7 @@ $(call gb_Helper_abbreviate_dirs,\
 	$(gb_CC) \
 		$(DEFS) \
 		$(T_CFLAGS) \
+		$(CFLAGS) \
 		-c $(3) \
 		-o $(1) \
 		-MMD -MT $(1) \
@@ -210,6 +213,7 @@ $(call gb_Helper_abbreviate_dirs,\
 	$(gb_CXX) \
 		$(DEFS) \
 		$(T_CXXFLAGS) \
+		$(CXXFLAGS) \
 		-c $(3) \
 		-o $(1) \
 		-MMD -MT $(1) \

Modified: openoffice/trunk/main/solenv/gbuild/platform/macosx.mk
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/gbuild/platform/macosx.mk?rev=1817946&r1=1817945&r2=1817946&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/gbuild/platform/macosx.mk (original)
+++ openoffice/trunk/main/solenv/gbuild/platform/macosx.mk Tue Dec 12 18:45:51 2017
@@ -150,8 +150,10 @@ endif
 
 ifeq ($(gb_DEBUGLEVEL),2)
 gb_COMPILEROPTFLAGS := -O0
+gb_COMPILEROPT1FLAGS := -O0
 else
 gb_COMPILEROPTFLAGS := -O2
+gb_COMPILEROPT1FLAGS := -O1
 endif
 
 gb_COMPILERNOOPTFLAGS := -O0
@@ -184,6 +186,7 @@ $(call gb_Helper_abbreviate_dirs,\
 	$(gb_CC) \
 		$(DEFS) \
 		$(T_CFLAGS) \
+		$(CFLAGS) \
 		-c $(3) \
 		-o $(1) \
 		-MMD -MT $(1) \
@@ -203,6 +206,7 @@ $(call gb_Helper_abbreviate_dirs,\
 	$(gb_CXX) \
 		$(DEFS) \
 		$(T_CXXFLAGS) \
+		$(CXXFLAGS) \
 		-c $(3) \
 		-o $(1) \
 		-MMD -MT $(1) \
@@ -221,6 +225,7 @@ $(call gb_Helper_abbreviate_dirs,\
 	$(gb_CXX) \
 		$(DEFS) \
 		$(T_OBJCXXFLAGS) \
+		$(OBJCXXFLAGS) \
 		-c $(3) \
 		-o $(1) \
 		-MMD -MT $(1) \

Modified: openoffice/trunk/main/solenv/gbuild/platform/os2.mk
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/gbuild/platform/os2.mk?rev=1817946&r1=1817945&r2=1817946&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/gbuild/platform/os2.mk (original)
+++ openoffice/trunk/main/solenv/gbuild/platform/os2.mk Tue Dec 12 18:45:51 2017
@@ -141,9 +141,11 @@ endif
 
 ifeq ($(gb_DEBUGLEVEL),2)
 gb_COMPILEROPTFLAGS := -O0
+gb_COMPILEROPT1FLAGS := -O0
 #gb_LinkTarget_LDFLAGS += -DEBUG
 else
 gb_COMPILEROPTFLAGS := -Os
+gb_COMPILEROPT1FLAGS := -O1
 endif
 
 gb_COMPILERNOOPTFLAGS := -O0
@@ -171,6 +173,7 @@ $(call gb_Helper_abbreviate_dirs,\
 	$(gb_CC) \
 		$(DEFS) \
 		$(T_CFLAGS) \
+		$(CFLAGS) \
 		-c $(3) \
 		-o $(1) \
 		-MMD -MT $(1) \
@@ -190,6 +193,7 @@ $(call gb_Helper_abbreviate_dirs,\
 	$(gb_CXX) \
 		$(DEFS) \
 		$(T_CXXFLAGS) \
+		$(CXXFLAGS) \
 		-c $(3) \
 		-o $(1) \
 		-MMD -MT $(1) \

Modified: openoffice/trunk/main/solenv/gbuild/platform/solaris.mk
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/gbuild/platform/solaris.mk?rev=1817946&r1=1817945&r2=1817946&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/gbuild/platform/solaris.mk (original)
+++ openoffice/trunk/main/solenv/gbuild/platform/solaris.mk Tue Dec 12 18:45:51 2017
@@ -109,15 +109,18 @@ gb_DEBUG_CFLAGS := -g
 
 ifeq ($(gb_DEBUGLEVEL),2)
 gb_COMPILEROPTFLAGS :=
+gb_COMPILEROPT1FLAGS :=
 else
 ifeq ($(CPUNAME),INTEL)
 gb_COMPILEROPTFLAGS := -xarch=generic -xO3
+gb_COMPILEROPT1FLAGS := -xarch=generic -xO1
 else # ifeq ($(CPUNAME),SPARC)
 #  -m32 -xarch=sparc        restrict target to 32 bit sparc
 #  -xO3                     optimization level 3
 #  -xspace                  don't do optimizations which do increase binary size
 #  -xprefetch=yes           do prefetching (helps on UltraSparc III)
 gb_COMPILEROPTFLAGS := -m32 -xarch=sparc -xO3 -xspace -xprefetch=yes
+gb_COMPILEROPT1FLAGS := -m32 -xarch=sparc -xO1 -xspace -xprefetch=yes
 endif
 endif
 
@@ -156,6 +159,7 @@ $(call gb_Helper_abbreviate_dirs,\
 		-xMF $(4) \
 		$(DEFS) \
 		$(T_CFLAGS) \
+		$(CFLAGS) \
 		-I$(dir $(3)) \
 		$(INCLUDE))
 endef
@@ -170,6 +174,7 @@ $(call gb_Helper_abbreviate_dirs,\
 	$(gb_CXX) \
 		$(DEFS) \
 		$(T_CXXFLAGS) \
+		$(CXXFLAGS) \
 		-c $(3) \
 		-o $(1) \
 		-xMMD \

Modified: openoffice/trunk/main/solenv/gbuild/platform/windows.mk
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/gbuild/platform/windows.mk?rev=1817946&r1=1817945&r2=1817946&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/gbuild/platform/windows.mk (original)
+++ openoffice/trunk/main/solenv/gbuild/platform/windows.mk Tue Dec 12 18:45:51 2017
@@ -280,6 +280,7 @@ $(call gb_Helper_abbreviate_dirs_native,
 		$(DEFS) \
 		$(T_CFLAGS) \
 		-Fd$(PDBFILE) \
+		$(CFLAGS) \
         $(PCHFLAGS) \
 		-I$(dir $(3)) \
 		$(INCLUDE) \
@@ -300,6 +301,7 @@ $(call gb_Helper_abbreviate_dirs_native,
 		$(DEFS) \
 		$(T_CXXFLAGS) \
 		-Fd$(PDBFILE) \
+		$(CXXFLAGS) \
         $(PCHFLAGS) \
 		-I$(dir $(3)) \
 		$(INCLUDE_STL) $(INCLUDE) \
@@ -549,7 +551,9 @@ $(call gb_Deliver_add_deliverable,$(OUTD
 
 $(call gb_LinkTarget_get_target,$(2)) \
 $(call gb_LinkTarget_get_headers_target,$(2)) : PDBFILE = $(call gb_LinkTarget_get_pdbfile,$(2))
-
+ifeq ($(gb_FULLDEPS),$(true))
+$(call gb_LinkTarget_get_dep_target,$(2)) : PDBFILE = $(call gb_LinkTarget_get_pdbfile,$(2))
+endif
 endef
 
 define gb_Library_add_default_nativeres