On 29 Nov, Jim Jagielski wrote:
> I'm just concerned about the CXXFLAGS interaction
>
> The proposed patch breaks how I expect many people
> are building AOO and it's a regression that, unless
> we are super clear about it, would bite a lot of
> people.
How about this:
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)) : 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
$(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: [email protected]
For additional commands, e-mail: [email protected]