Here's a gbuild patch vs. trunk r1816518 that makes setting optimization
level overrides for specific files a lot easier.  I also added a way to
safely specify -O1 without breaking debug.  It's not perfect because if
someone set CXXFLAGS in the environment, it will override the override
in the .mk file.  It is only very lightly tested ... my FreeBSD build is
only about halfway complete.

Index: main/framework/Library_fwk.mk
===================================================================
--- main/framework/Library_fwk.mk       (revision 1816518)
+++ main/framework/Library_fwk.mk       (working copy)
@@ -61,6 +61,11 @@
        $(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 @@
        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:
Index: main/solenv/gbuild/LinkTarget.mk
===================================================================
--- main/solenv/gbuild/LinkTarget.mk    (revision 1816518)
+++ main/solenv/gbuild/LinkTarget.mk    (working copy)
@@ -333,12 +333,12 @@
 $(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)
+$(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)) \
@@ -367,10 +367,10 @@
 $(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)
+$(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,9 +477,24 @@
 $(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)) : gb_COMPILEROPTFLAGS := $(2)
 endef
 
+define gb_LinkTarget_set_cxx_optimization
+$(call gb_CxxObject_get_target,$(1)) : gb_COMPILEROPTFLAGS := $(2)
+endef
+
+define gb_LinkTarget_set_gencxx_optimization
+$(call gb_GenCxxObject_get_target,$(1)) : gb_COMPILEROPTFLAGS := $(2)
+endef
+
+define gb_LinkTarget_set_objcxx_optimization
+$(call gb_ObjCxxObject_get_target,$(1)) : gb_COMPILEROPTFLAGS := $(2)
+endef
+
 define gb_LinkTarget_set_include
 $(call gb_LinkTarget_get_headers_target,$(1)) \
 $(call gb_LinkTarget_get_target,$(1)) : INCLUDE := $(2)
@@ -635,7 +650,7 @@
 
 $(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 @@
 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
Index: main/solenv/gbuild/platform/freebsd.mk
===================================================================
--- main/solenv/gbuild/platform/freebsd.mk      (revision 1816518)
+++ main/solenv/gbuild/platform/freebsd.mk      (working copy)
@@ -152,8 +152,10 @@
 
 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 @@
        $(gb_CC) \
                $(DEFS) \
                $(T_CFLAGS) \
+               $(CFLAGS) \
                -c $(3) \
                -o $(1) \
                -MMD -MT $(1) \
@@ -204,6 +207,7 @@
        $(gb_CXX) \
                $(DEFS) \
                $(T_CXXFLAGS) \
+               $(CXXFLAGS) \
                -c $(3) \
                -o $(1) \
                -MMD -MT $(1) \
Index: main/solenv/gbuild/platform/linux.mk
===================================================================
--- main/solenv/gbuild/platform/linux.mk        (revision 1816518)
+++ main/solenv/gbuild/platform/linux.mk        (working copy)
@@ -158,8 +158,10 @@
 
 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 @@
        $(gb_CC) \
                $(DEFS) \
                $(T_CFLAGS) \
+               $(CFLAGS) \
                -c $(3) \
                -o $(1) \
                -MMD -MT $(1) \
@@ -210,6 +213,7 @@
        $(gb_CXX) \
                $(DEFS) \
                $(T_CXXFLAGS) \
+               $(CXXFLAGS) \
                -c $(3) \
                -o $(1) \
                -MMD -MT $(1) \
Index: main/solenv/gbuild/platform/macosx.mk
===================================================================
--- main/solenv/gbuild/platform/macosx.mk       (revision 1816518)
+++ main/solenv/gbuild/platform/macosx.mk       (working copy)
@@ -145,8 +145,10 @@
 
 ifeq ($(gb_DEBUGLEVEL),2)
 gb_COMPILEROPTFLAGS := -O0
+gb_COMPILEROPT1FLAGS := -O0
 else
 gb_COMPILEROPTFLAGS := -O2
+gb_COMPILEROPT1FLAGS := -O1
 endif
 
 gb_COMPILERNOOPTFLAGS := -O0
@@ -179,6 +181,7 @@
        $(gb_CC) \
                $(DEFS) \
                $(T_CFLAGS) \
+               $(CFLAGS) \
                -c $(3) \
                -o $(1) \
                -MMD -MT $(1) \
@@ -198,6 +201,7 @@
        $(gb_CXX) \
                $(DEFS) \
                $(T_CXXFLAGS) \
+               $(CXXFLAGS) \
                -c $(3) \
                -o $(1) \
                -MMD -MT $(1) \
@@ -216,6 +220,7 @@
        $(gb_CXX) \
                $(DEFS) \
                $(T_OBJCXXFLAGS) \
+               $(OBJCXXFLAGS) \
                -c $(3) \
                -o $(1) \
                -MMD -MT $(1) \
Index: main/solenv/gbuild/platform/os2.mk
===================================================================
--- main/solenv/gbuild/platform/os2.mk  (revision 1816518)
+++ main/solenv/gbuild/platform/os2.mk  (working copy)
@@ -141,9 +141,11 @@
 
 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 @@
        $(gb_CC) \
                $(DEFS) \
                $(T_CFLAGS) \
+               $(CFLAGS) \
                -c $(3) \
                -o $(1) \
                -MMD -MT $(1) \
@@ -190,6 +193,7 @@
        $(gb_CXX) \
                $(DEFS) \
                $(T_CXXFLAGS) \
+               $(CXXFLAGS) \
                -c $(3) \
                -o $(1) \
                -MMD -MT $(1) \
Index: main/solenv/gbuild/platform/solaris.mk
===================================================================
--- main/solenv/gbuild/platform/solaris.mk      (revision 1816518)
+++ main/solenv/gbuild/platform/solaris.mk      (working copy)
@@ -109,9 +109,11 @@
 
 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
@@ -118,6 +120,7 @@
 #  -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 @@
                -xMF $(4) \
                $(DEFS) \
                $(T_CFLAGS) \
+               $(CFLAGS) \
                -I$(dir $(3)) \
                $(INCLUDE))
 endef
@@ -170,6 +174,7 @@
        $(gb_CXX) \
                $(DEFS) \
                $(T_CXXFLAGS) \
+               $(CXXFLAGS) \
                -c $(3) \
                -o $(1) \
                -xMMD \
Index: main/solenv/gbuild/platform/windows.mk
===================================================================
--- main/solenv/gbuild/platform/windows.mk      (revision 1816518)
+++ main/solenv/gbuild/platform/windows.mk      (working copy)
@@ -279,6 +279,7 @@
        $(gb_CC) \
                $(DEFS) \
                $(T_CFLAGS) \
+               $(CFLAGS) \
                -Fd$(PDBFILE) \
         $(PCHFLAGS) \
                -I$(dir $(3)) \
@@ -299,6 +300,7 @@
        $(gb_CXX) \
                $(DEFS) \
                $(T_CXXFLAGS) \
+               $(CXXFLAGS) \
                -Fd$(PDBFILE) \
         $(PCHFLAGS) \
                -I$(dir $(3)) \


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
For additional commands, e-mail: dev-h...@openoffice.apache.org

Reply via email to