Wouldn't it make sense to do something like LOCAL_CFLAGS which
could then be manipulated?...

What I might do is commit this and then work on that ;)

> On Nov 28, 2017, at 4:42 AM, Don Lewis <truck...@apache.org> wrote:
> 
> 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
> 


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

Reply via email to