You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by ar...@apache.org on 2012/11/15 00:31:54 UTC

svn commit: r1409555 - in /incubator/ooo/branches/gbuild/main/solenv/gbuild: LinkTarget.mk platform/linux.mk platform/macosx.mk platform/solaris.mk platform/windows.mk platform/winmingw.mk

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 <ms...@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)) \