Author: arist
Date: Wed Nov 14 23:31:53 2012
New Revision: 1409555

URL: http://svn.apache.org/viewvc?rev=1409555&view=rev
Log:
gnumake4_057_6af861d98643.patch 
# HG changeset patch
# User Michael Stahl <m...@openoffice.org>
# Date 1302178164 0
# Node ID 6af861d986439b9a6242acf5c9c56932a11479c3
# Parent  38ca0135d0e95fa325154a72121300ee158f38e9
gnumake4: #i116959#: allow user to override {C,CXX,OBJCXX}FLAGS:
 optional flags (for optimization/debug) can be overridden.

Modified:
    incubator/ooo/branches/gbuild/main/solenv/gbuild/LinkTarget.mk
    incubator/ooo/branches/gbuild/main/solenv/gbuild/platform/linux.mk
    incubator/ooo/branches/gbuild/main/solenv/gbuild/platform/macosx.mk
    incubator/ooo/branches/gbuild/main/solenv/gbuild/platform/solaris.mk
    incubator/ooo/branches/gbuild/main/solenv/gbuild/platform/windows.mk
    incubator/ooo/branches/gbuild/main/solenv/gbuild/platform/winmingw.mk

Modified: incubator/ooo/branches/gbuild/main/solenv/gbuild/LinkTarget.mk
URL: 
http://svn.apache.org/viewvc/incubator/ooo/branches/gbuild/main/solenv/gbuild/LinkTarget.mk?rev=1409555&r1=1409554&r2=1409555&view=diff
==============================================================================
--- incubator/ooo/branches/gbuild/main/solenv/gbuild/LinkTarget.mk (original)
+++ incubator/ooo/branches/gbuild/main/solenv/gbuild/LinkTarget.mk Wed Nov 14 
23:31:53 2012
@@ -21,6 +21,17 @@
 
 
 
+# CFLAGS from environment override debug/optimization flags
+ifeq ($(gb_DEBUGLEVEL),2)
+CFLAGS ?= $(gb_COMPILEROPTFLAGS) $(gb_DEBUG_CFLAGS)
+CXXFLAGS ?= $(gb_COMPILEROPTFLAGS) $(gb_DEBUG_CFLAGS)
+OBJCXXFLAGS ?= $(gb_COMPILEROPTFLAGS) $(gb_DEBUG_CFLAGS)
+else
+CFLAGS ?= $(gb_COMPILEROPTFLAGS)
+CXXFLAGS ?= $(gb_COMPILEROPTFLAGS)
+OBJCXXFLAGS ?= $(gb_COMPILEROPTFLAGS)
+endif
+
 
 # CObject class
 
@@ -210,6 +221,9 @@ gb_ObjCxxObject_ObjCxxObject =
 
 # LinkTarget class
 
+# need an alias for global CXXFLAGS in gb_LinkTarget_add_exception_object etc.
+gb_CXXFLAGS_TOO := $(CXXFLAGS)
+
 gb_LinkTarget_DEFAULTDEFS := $(gb_GLOBALDEFS)
 # defined by platform
 #  gb_LinkTarget_CXXFLAGS
@@ -322,6 +336,13 @@ $(call gb_LinkTarget_get_headers_target,
 # Therefore it is important that objects are only directly depended on by the
 # linktarget. This for example means that you cannot build a single object
 # alone, because then you would directly depend on the object.
+#
+# A note about flags: here the global variable CFLAGS is overridden by a target
+# local variable of the same name.  The $(CFLAGS) on the rhs refers to the
+# global variable.  (same thing for OBJCXXFLAGS)
+# CXXFLAGS is slightly different, because it is not set at the link target,
+# but only when using gb_LinkTarget_add_{no,}exception_object etc., to
+# provide a mechanism that disables optimization for a specific file.
 define gb_LinkTarget_LinkTarget
 $(call gb_LinkTarget_get_clean_target,$(1)) : AUXTARGETS :=
 $(call gb_LinkTarget_get_external_headers_target,$(1)) : SELF := $(1)
@@ -335,12 +356,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)) : CFLAGS := $$(gb_LinkTarget_CFLAGS)
+$(call gb_LinkTarget_get_target,$(1)) : override CFLAGS := 
$$(gb_LinkTarget_CFLAGS) $(CFLAGS)
 $(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : CXXFLAGS := $$(gb_LinkTarget_CXXFLAGS)
+$(call gb_LinkTarget_get_target,$(1)) : override CXXFLAGS := 
$$(gb_LinkTarget_CXXFLAGS)
 $(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : PCH_CXXFLAGS := 
$$(gb_LinkTarget_CXXFLAGS) $(gb_COMPILEROPTFLAGS)
-$(call gb_LinkTarget_get_target,$(1)) : OBJCXXFLAGS := 
$$(gb_LinkTarget_OBJCXXFLAGS)
+$(call gb_LinkTarget_get_target,$(1)) : PCH_CXXFLAGS := 
$$(gb_LinkTarget_CXXFLAGS) $(CXXFLAGS)
+$(call gb_LinkTarget_get_target,$(1)) : override OBJCXXFLAGS := 
$$(gb_LinkTarget_OBJCXXFLAGS) $(OBJCXXFLAGS)
 $(call gb_LinkTarget_get_headers_target,$(1)) \
 $(call gb_LinkTarget_get_target,$(1)) : DEFS := $$(gb_LinkTarget_DEFAULTDEFS)
 $(call gb_LinkTarget_get_headers_target,$(1)) \
@@ -372,10 +393,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)) : CFLAGS := $$(gb_LinkTarget_CFLAGS)
-$(call gb_LinkTarget_get_dep_target,$(1)) : CXXFLAGS := 
$$(gb_LinkTarget_CXXFLAGS)
-$(call gb_LinkTarget_get_dep_target,$(1)) : PCH_CXXFLAGS := 
$$(gb_LinkTarget_CXXFLAGS) $(gb_COMPILEROPTFLAGS)
-$(call gb_LinkTarget_get_dep_target,$(1)) : OBJCXXFLAGS := 
$$(gb_LinkTarget_OBJCXXFLAGS)
+$(call gb_LinkTarget_get_dep_target,$(1)) : override CFLAGS := 
$$(gb_LinkTarget_CFLAGS) $(CFLAGS)
+$(call gb_LinkTarget_get_dep_target,$(1)) : override CXXFLAGS := 
$$(gb_LinkTarget_CXXFLAGS)
+$(call gb_LinkTarget_get_dep_target,$(1)) : PCH_CXXFLAGS := 
$$(gb_LinkTarget_CXXFLAGS) $(CXXFLAGS)
+$(call gb_LinkTarget_get_dep_target,$(1)) : override OBJCXXFLAGS := 
$$(gb_LinkTarget_OBJCXXFLAGS) $(OBJCXXFLAGS)
 $(call gb_LinkTarget_get_dep_target,$(1)) : DEFS := 
$$(gb_LinkTarget_DEFAULTDEFS)
 $(call gb_LinkTarget_get_dep_target,$(1)) : PCH_DEFS := 
$$(gb_LinkTarget_DEFAULTDEFS)
 $(call gb_LinkTarget_get_dep_target,$(1)) : INCLUDE := 
$$(gb_LinkTarget_INCLUDE)
@@ -400,29 +421,29 @@ endif
 endef
 
 define gb_LinkTarget_set_cflags
-$(call gb_LinkTarget_get_target,$(1)) : CFLAGS := $(2)
+$(call gb_LinkTarget_get_target,$(1)) : override CFLAGS := $(2)
 ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_LinkTarget_get_dep_target,$(1)) : CFLAGS := $(2)
+$(call gb_LinkTarget_get_dep_target,$(1)) : override CFLAGS := $(2)
 endif
 
 endef
 
 define gb_LinkTarget_set_cxxflags
 $(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : CXXFLAGS := $(2)
+$(call gb_LinkTarget_get_target,$(1)) : override CXXFLAGS := $(2)
 $(call gb_LinkTarget_get_headers_target,$(1)) \
 $(call gb_LinkTarget_get_target,$(1)) : PCH_CXXFLAGS := $(2)
 ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_LinkTarget_get_dep_target,$(1)) : CXXFLAGS := $(2)
+$(call gb_LinkTarget_get_dep_target,$(1)) : override CXXFLAGS := $(2)
 $(call gb_LinkTarget_get_dep_target,$(1)) : PCH_CXXFLAGS := $(2)
 endif
 
 endef
 
 define gb_LinkTarget_set_objcxxflags
-$(call gb_LinkTarget_get_target,$(1)) : OBJCXXFLAGS := $(2)
+$(call gb_LinkTarget_get_target,$(1)) : override OBJCXXFLAGS := $(2)
 ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_LinkTarget_get_dep_target,$(1)) : OBJCXXFLAGS := $(2)
+$(call gb_LinkTarget_get_dep_target,$(1)) : override OBJCXXFLAGS := $(2)
 endif
 
 endef
@@ -532,7 +553,7 @@ $(call gb_LinkTarget_get_clean_target,$(
 
 $(call gb_LinkTarget_get_target,$(1)) : $(call gb_CObject_get_target,$(2))
 $(call gb_CObject_get_target,$(2)) : | $(call 
gb_LinkTarget_get_headers_target,$(1))
-$(call gb_CObject_get_target,$(2)) : CFLAGS += $(3)
+$(call gb_CObject_get_target,$(2)) : override CFLAGS += $(3)
 
 ifeq ($(gb_FULLDEPS),$(true))
 $(call gb_LinkTarget_get_dep_target,$(1)) : COBJECTS += $(2)
@@ -547,7 +568,7 @@ $(call gb_LinkTarget_get_clean_target,$(
 
 $(call gb_LinkTarget_get_target,$(1)) : $(call gb_CxxObject_get_target,$(2))
 $(call gb_CxxObject_get_target,$(2)) : | $(call 
gb_LinkTarget_get_headers_target,$(1))
-$(call gb_CxxObject_get_target,$(2)) : CXXFLAGS += $(3)
+$(call gb_CxxObject_get_target,$(2)) : override CXXFLAGS += $(3)
 
 ifeq ($(gb_FULLDEPS),$(true))
 $(call gb_LinkTarget_get_dep_target,$(1)) : CXXOBJECTS += $(2)
@@ -562,7 +583,7 @@ $(call gb_LinkTarget_get_clean_target,$(
 
 $(call gb_LinkTarget_get_target,$(1)) : $(call gb_ObjCxxObject_get_target,$(2))
 $(call gb_ObjCxxObject_get_target,$(2)) : | $(call 
gb_LinkTarget_get_headers_target,$(1))
-$(call gb_ObjCxxObject_get_target,$(2)) : OBJCXXFLAGS += $(3)
+$(call gb_ObjCxxObject_get_target,$(2)) : override OBJCXXFLAGS += $(3)
 
 ifeq ($(gb_FULLDEPS),$(true))
 $(call gb_LinkTarget_get_dep_target,$(1)) : OBJCXXOBJECTS += $(2)
@@ -577,7 +598,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)) : CXXFLAGS += $(3) 
$(gb_COMPILEROPTFLAGS)
+$(call gb_GenCxxObject_get_target,$(2)) : override CXXFLAGS += $(3) 
$(gb_CXXFLAGS_TOO)
 
 ifeq ($(gb_FULLDEPS),$(true))
 $(call gb_LinkTarget_get_dep_target,$(1)) : GENCXXOBJECTS += $(2)
@@ -587,11 +608,11 @@ endif
 endef
 
 define gb_LinkTarget_add_noexception_object
-$(call gb_LinkTarget_add_cxxobject,$(1),$(2),$(gb_LinkTarget_NOEXCEPTIONFLAGS) 
$(gb_COMPILEROPTFLAGS))
+$(call gb_LinkTarget_add_cxxobject,$(1),$(2),$(gb_LinkTarget_NOEXCEPTIONFLAGS) 
$(gb_CXXFLAGS_TOO))
 endef
 
 define gb_LinkTarget_add_exception_object
-$(call gb_LinkTarget_add_cxxobject,$(1),$(2),$(gb_LinkTarget_EXCEPTIONFLAGS) 
$(gb_COMPILEROPTFLAGS))
+$(call gb_LinkTarget_add_cxxobject,$(1),$(2),$(gb_LinkTarget_EXCEPTIONFLAGS) 
$(gb_CXXFLAGS_TOO))
 endef
 
 define gb_LinkTarget_add_cobjects

Modified: incubator/ooo/branches/gbuild/main/solenv/gbuild/platform/linux.mk
URL: 
http://svn.apache.org/viewvc/incubator/ooo/branches/gbuild/main/solenv/gbuild/platform/linux.mk?rev=1409555&r1=1409554&r2=1409555&view=diff
==============================================================================
--- incubator/ooo/branches/gbuild/main/solenv/gbuild/platform/linux.mk 
(original)
+++ incubator/ooo/branches/gbuild/main/solenv/gbuild/platform/linux.mk Wed Nov 
14 23:31:53 2012
@@ -137,6 +137,8 @@ gb_LinkTarget_LDFLAGS += \
 
 endif
 
+gb_DEBUG_CFLAGS := -ggdb3 -finline-limit=0 -fno-inline -fno-default-inline
+
 ifeq ($(gb_DEBUGLEVEL),2)
 gb_COMPILEROPTFLAGS := -O0
 else
@@ -212,14 +214,9 @@ gb_LinkTarget__RPATHS := \
        SDKBIN:\dORIGIN/../../ure-link/lib \
        NONEBIN:\dORIGIN/../lib:\dORIGIN \
 
-gb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_CFLAGS_WERROR) $(gb_COMPILEROPTFLAGS)
+gb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_CFLAGS_WERROR)
 gb_LinkTarget_CXXFLAGS := $(gb_CXXFLAGS) $(gb_CXXFLAGS_WERROR)
 
-ifeq ($(gb_DEBUGLEVEL),2)
-gb_LinkTarget_CXXFLAGS += -ggdb3 -finline-limit=0 -fno-inline 
-fno-default-inline
-gb_LinkTarget_CFLAGS += -ggdb3 -finline-limit=0 -fno-inline -fno-default-inline
-
-endif
 
 gb_LinkTarget_INCLUDE := $(filter-out %/stl, $(subst -I. , ,$(SOLARINC)))
 gb_LinkTarget_INCLUDE_STL := $(filter %/stl, $(subst -I. , ,$(SOLARINC)))

Modified: incubator/ooo/branches/gbuild/main/solenv/gbuild/platform/macosx.mk
URL: 
http://svn.apache.org/viewvc/incubator/ooo/branches/gbuild/main/solenv/gbuild/platform/macosx.mk?rev=1409555&r1=1409554&r2=1409555&view=diff
==============================================================================
--- incubator/ooo/branches/gbuild/main/solenv/gbuild/platform/macosx.mk 
(original)
+++ incubator/ooo/branches/gbuild/main/solenv/gbuild/platform/macosx.mk Wed Nov 
14 23:31:53 2012
@@ -126,6 +126,8 @@ gb_LinkTarget_LDFLAGS := \
        $(subst -L../lib , ,$(SOLARLIB)) \
 #man ld says: obsolete -Wl,-multiply_defined,suppress \
 
+gb_DEBUG_CFLAGS := -g
+
 ifeq ($(gb_DEBUGLEVEL),2)
 gb_COMPILEROPTFLAGS := -O0
 else
@@ -226,15 +228,9 @@ define gb_LinkTarget__get_installname
 $(if $(2),-install_name '$(2)$(1)',)
 endef
 
-gb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_CFLAGS_WERROR) $(gb_COMPILEROPTFLAGS)
+gb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_CFLAGS_WERROR)
 gb_LinkTarget_CXXFLAGS := $(gb_CXXFLAGS) $(gb_CXXFLAGS_WERROR)
-gb_LinkTarget_OBJCXXFLAGS := $(gb_CXXFLAGS) $(gb_CXXFLAGS_WERROR) 
$(gb_OBJCXXFLAGS) $(gb_COMPILEROPTFLAGS)
-
-ifeq ($(gb_DEBUGLEVEL),2)
-gb_LinkTarget_CFLAGS += -g
-gb_LinkTarget_CXXFLAGS += -g
-gb_LinkTarget_OBJCXXFLAGS += -g
-endif
+gb_LinkTarget_OBJCXXFLAGS := $(gb_CXXFLAGS) $(gb_CXXFLAGS_WERROR) 
$(gb_OBJCXXFLAGS)
 
 gb_LinkTarget_INCLUDE := $(filter-out %/stl, $(subst -I. , ,$(SOLARINC)))
 gb_LinkTarget_INCLUDE_STL := $(filter %/stl, $(subst -I. , ,$(SOLARINC)))

Modified: incubator/ooo/branches/gbuild/main/solenv/gbuild/platform/solaris.mk
URL: 
http://svn.apache.org/viewvc/incubator/ooo/branches/gbuild/main/solenv/gbuild/platform/solaris.mk?rev=1409555&r1=1409554&r2=1409555&view=diff
==============================================================================
--- incubator/ooo/branches/gbuild/main/solenv/gbuild/platform/solaris.mk 
(original)
+++ incubator/ooo/branches/gbuild/main/solenv/gbuild/platform/solaris.mk Wed 
Nov 14 23:31:53 2012
@@ -104,6 +104,9 @@ gb_LinkTarget_LDFLAGS := \
        -PIC \
        -library=no%Cstd \
 
+
+gb_DEBUG_CFLAGS := -g
+
 ifeq ($(gb_DEBUGLEVEL),2)
 gb_COMPILEROPTFLAGS :=
 else
@@ -190,13 +193,9 @@ gb_LinkTarget__RPATHS := \
        SDKBIN:\dORIGIN/../../ure-link/lib \
        NONEBIN:\dORIGIN/../lib:\dORIGIN \
 
-gb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_CFLAGS_WERROR) $(gb_COMPILEROPTFLAGS)
+gb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_CFLAGS_WERROR)
 gb_LinkTarget_CXXFLAGS := $(gb_CXXFLAGS) $(gb_CXXFLAGS_WERROR)
 
-ifeq ($(gb_DEBUGLEVEL),2)
-gb_LinkTarget_CXXFLAGS += -g
-gb_LinkTarget_CFLAGS += -g
-endif
 
 gb_LinkTarget_INCLUDE := $(filter-out %/stl, $(subst -I. , ,$(SOLARINC)))
 gb_LinkTarget_INCLUDE_STL := $(filter %/stl, $(subst -I. , ,$(SOLARINC)))

Modified: incubator/ooo/branches/gbuild/main/solenv/gbuild/platform/windows.mk
URL: 
http://svn.apache.org/viewvc/incubator/ooo/branches/gbuild/main/solenv/gbuild/platform/windows.mk?rev=1409555&r1=1409554&r2=1409555&view=diff
==============================================================================
--- incubator/ooo/branches/gbuild/main/solenv/gbuild/platform/windows.mk 
(original)
+++ incubator/ooo/branches/gbuild/main/solenv/gbuild/platform/windows.mk Wed 
Nov 14 23:31:53 2012
@@ -196,6 +196,9 @@ gb_LinkTarget_LDFLAGS := \
        -dynamicbase \
        $(patsubst %,-LIBPATH:%,$(filter-out .,$(subst ;, ,$(subst 
\,/,$(ILIB))))) \
 
+gb_DEBUG_CFLAGS := -Zi
+
+# this does not use CFLAGS so it is not overridable
 ifneq ($(ENABLE_CRASHDUMP),)
 gb_LinkTarget_LDFLAGS += -DEBUG
 gb_CFLAGS+=-Zi
@@ -203,10 +206,8 @@ gb_CXXFLAGS+=-Zi
 endif
 
 ifeq ($(gb_DEBUGLEVEL),2)
-gb_CXXFLAGS +=-Zi
-gb_CFLAGS +=-Zi
-gb_COMPILEROPTFLAGS :=
 gb_LinkTarget_LDFLAGS += -DEBUG
+gb_COMPILEROPTFLAGS :=
 else
 gb_COMPILEROPTFLAGS := -Ob1 -Oxs -Oy-
 endif
@@ -410,7 +411,7 @@ endef
 
 # LinkTarget class
 
-gb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_CFLAGS_WERROR) $(gb_COMPILEROPTFLAGS)
+gb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_CFLAGS_WERROR)
 gb_LinkTarget_CXXFLAGS := $(gb_CXXFLAGS) $(gb_CXXFLAGS_WERROR)
 
 gb_LinkTarget_INCLUDE :=\

Modified: incubator/ooo/branches/gbuild/main/solenv/gbuild/platform/winmingw.mk
URL: 
http://svn.apache.org/viewvc/incubator/ooo/branches/gbuild/main/solenv/gbuild/platform/winmingw.mk?rev=1409555&r1=1409554&r2=1409555&view=diff
==============================================================================
--- incubator/ooo/branches/gbuild/main/solenv/gbuild/platform/winmingw.mk 
(original)
+++ incubator/ooo/branches/gbuild/main/solenv/gbuild/platform/winmingw.mk Wed 
Nov 14 23:31:53 2012
@@ -164,6 +164,8 @@ ifeq ($(MINGW_GCCLIB_EH),YES)
 gb_LinkTarget_LDFLAGS += -shared-libgcc
 endif
 
+gb_DEBUG_CFLAGS := -ggdb3 -finline-limit=0 -fno-inline -fno-default-inline
+
 ifeq ($(gb_DEBUGLEVEL),2)
 gb_COMPILEROPTFLAGS := -O0
 else
@@ -383,15 +385,9 @@ endef
 
 # LinkTarget class
 
-gb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_CFLAGS_WERROR) $(gb_COMPILEROPTFLAGS)
+gb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_CFLAGS_WERROR)
 gb_LinkTarget_CXXFLAGS := $(gb_CXXFLAGS) $(gb_CXXFLAGS_WERROR)
 
-ifeq ($(gb_DEBUGLEVEL),2)
-gb_LinkTarget_CXXFLAGS += -ggdb3 -finline-limit=0 -fno-inline 
-fno-default-inline
-gb_LinkTarget_CFLAGS += -ggdb3 -finline-limit=0 -fno-inline -fno-default-inline
-
-endif
-
 gb_LinkTarget_INCLUDE :=\
        $(filter-out %/stl, $(subst -I. , ,$(SOLARINC))) \
        $(foreach inc,$(subst ;, ,$(JDKINC)),-I$(inc)) \


Reply via email to