On Monday 16 of April 2012, Bjoern Michaelsen wrote:
> On Mon, Apr 16, 2012 at 01:50:00PM +0200, Lubos Lunak wrote:
> >  Is it possible to do the build also the other way around, i.e. e.g. "all
> > but sc"?
>
> Not yet, feel free to add it if you think it is essential.
...
> > and if I understand the change correctly, I'd have to manually
> > find out what all the dependencies actually are. Given that sc/sd/sw are
> > the biggest three, it probably even makes the biggest difference to
> > disable the two that one does not work on.
>
>  ALLBUTSCSW=`find . -name "Library*.mk"| sed -e 's/^.*Library_//' -e
> 's/.mk$//'|grep -v sc |grep -v sw` && ./autogen.sh
> --enable-debug="$ALLBUTSCSW"
>
> should be enough.

 How about this?

-- 
 Lubos Lunak
 l.lu...@suse.cz
From 6987137582e0ac5d5bf642054f008635bfbacfae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lubo=C5=A1=20Lu=C5=88=C3=A1k?= <l.lu...@suse.cz>
Date: Fri, 20 Apr 2012 12:13:24 +0200
Subject: [PATCH 2/6] fixes for debug flags handling

- move using optimization, symbols (i.e. debug) and environment
    cflags/cxxflags into one place
- --enable-dbgutils is independent from --enable-debug, and thus
    also --enable-symbols, so it should not set debuglevel
- setting -g flag is controlled by --enable-symbols, not --enable-debug,
    so it should be used also for selective -g enabling
- setting debug flags depending on debuglevel being 2 is certainly wrong
- do not let environment cflags/cxxflags disable optimization/symbols flags
  completely, if one wants, it's possible to explicitly specify e.g. -g0,
  but the current way does not make it easily possible to specify e.g.
  -fcolor-diagnostics
- do not set debug flag globally now that it can be done selectively
---
 config_host.mk.in                |    2 +-
 configure.in                     |   35 ++++++++++++++++++-----------------
 solenv/gbuild/LinkTarget.mk      |   34 +++++++++++++++-------------------
 solenv/gbuild/gbuild.mk          |    2 --
 solenv/gbuild/platform/unxgcc.mk |    5 -----
 5 files changed, 34 insertions(+), 44 deletions(-)

diff --git a/config_host.mk.in b/config_host.mk.in
index fe5fc87..a3668d7 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -74,7 +74,6 @@ export DBUS_LIBS=@DBUS_LIBS@
 export DB_CPPLIB=@DB_CPPLIB@
 export DB_LIB=@DB_LIB@
 export debug=@ENABLE_DEBUG@
-export ENABLE_DEBUG_ONLY=@ENABLE_DEBUG_ONLY@
 export DEFAULT_MOZILLA_TOOLKIT=@MOZILLA_TOOLKIT@
 export DEFAULT_TO_ENGLISH_FOR_PACKING=yes
 export DIAGRAM_EXTENSION_PACK=@DIAGRAM_EXTENSION_PACK@
@@ -136,6 +135,7 @@ export ENABLE_SCRIPTING_JAVASCRIPT=@ENABLE_SCRIPTING_JAVASCRIPT@
 export ENABLE_SCRIPTING_PYTHON=@ENABLE_SCRIPTING_PYTHON@
 export ENABLE_SILENT_MSI=@ENABLE_SILENT_MSI@
 export ENABLE_SYMBOLS=@ENABLE_SYMBOLS@
+export ENABLE_SYMBOLS_ONLY=@ENABLE_SYMBOLS_ONLY@
 export ENABLE_SYSTRAY_GTK=@ENABLE_SYSTRAY_GTK@
 export ENABLE_XMLSEC=@ENABLE_XMLSEC@
 export ENABLE_ZENITY=@ENABLE_ZENITY@
diff --git a/configure.in b/configure.in
index c3847c1..054aebb 100644
--- a/configure.in
+++ b/configure.in
@@ -610,7 +610,10 @@ AC_ARG_ENABLE(atl,
 AC_ARG_ENABLE(symbols,
     AS_HELP_STRING([--enable-symbols],
         [Include debugging symbols in output. WARNING - a complete build needs
-         8 Gb of space and takes much longer (enables -g compiler flag).])
+         8 Gb of space and takes much longer (enables -g compiler flag).
+         You can also use this switch as follows:
+         --enable-symbols="tl svx" to enable symbols only for the specified
+         gbuild-build libraries.])
     [
                           Enabling symbols disables the stripping of the solver
                           (--disable-strip-solver).
@@ -637,9 +640,7 @@ AC_ARG_ENABLE(debug,
         [Include debugging symbols from --enable-symbols plus extra debugging
          code. Extra large build! (enables -g compiler flag and dmake debug=true)
          If you need even more verbose output, build a module with
-         "build -- debug=true dbglevel=2". You can also use this switch as follows:
-         --enable-debug="tl svx" to enable debug only for the specified
-         gbuild-build libraries.]))
+         "build -- debug=true dbglevel=2".]))
 
 AC_ARG_ENABLE(dbgutil,
     AS_HELP_STRING([--enable-dbgutil],
@@ -3426,25 +3427,17 @@ else
 fi
 AC_SUBST(EXTERNAL_WARNINGS_NOT_ERRORS)
 
-dnl Set the ENABLE_DEBUG variable. (Activate --enable-symbols)
+dnl Set the ENABLE_DEBUG variable.
 dnl ===================================================================
 AC_MSG_CHECKING([whether to do a debug build])
 if test -n "$enable_debug" && test "$enable_debug" != "no"; then
-    if test "$enable_debug" = "y" || test "$enable_debug" = "yes"; then
-        ENABLE_DEBUG="TRUE"
-        ENABLE_DEBUG_ONLY=
-    else
-        ENABLE_DEBUG=""
-        ENABLE_DEBUG_ONLY="$enable_debug"
-        AC_MSG_RESULT([for $enable_debug])
-    fi
+    ENABLE_DEBUG="TRUE"
+    AC_MSG_RESULT([yes])
 else
     ENABLE_DEBUG=""
-    ENABLE_DEBUG_ONLY=""
     AC_MSG_RESULT([no])
 fi
 AC_SUBST(ENABLE_DEBUG)
-AC_SUBST(ENABLE_DEBUG_ONLY)
 
 
 dnl Determine whether to use linkoo for the smoketest installation
@@ -3475,13 +3468,21 @@ dnl whether to include symbols into final build.
 dnl ===================================================================
 AC_MSG_CHECKING([whether to include symbols])
 if test -n "$enable_symbols" -a "$enable_symbols" != "no"; then
-    ENABLE_SYMBOLS="TRUE"
-    AC_MSG_RESULT([yes])
+    if test "$enable_symbols" = "y" || test "$enable_symbols" = "yes"; then
+        ENABLE_SYMBOLS="TRUE"
+        ENABLE_SYMBOLS_ONLY=
+    else
+        ENABLE_SYMBOLS=""
+        ENABLE_SYMBOLS_ONLY="$enable_symbols"
+        AC_MSG_RESULT([for $enable_symbols])
+    fi
 else
     ENABLE_SYMBOLS=
+    ENABLE_SYMBOLS_ONLY=
     AC_MSG_RESULT([no])
 fi
 AC_SUBST(ENABLE_SYMBOLS)
+AC_SUBST(ENABLE_SYMBOLS_ONLY)
 
 dnl Determine if the solver is to be stripped or not.
 dnl ===================================================================
diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index cde46b0..31a4125 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -35,24 +35,20 @@
 # OBJCXXFLAGS
 # LDFLAGS
 
-# this returns the cflags/cxxflags to use from either the environment or
-# otherwise debug flags, if ENABLE_DEBUG is set or the LinkTarget is named
-# in the list of libraries of ENABLE_DEBUG_ONLY
-
-ifeq ($(gb_DEBUGLEVEL),2)
-define gb_LinkTarget__get_debugcflags
-$(if $(CFLAGS),$(CFLAGS),$(gb_DEBUG_CFLAGS))
-endef
-
-define gb_LinkTarget__get_debugcxxflags
-$(if $(CXXFLAGS),$(CXXFLAGS),$(gb_DEBUG_CFLAGS) $(gb_DEBUG_CXXFLAGS))
-endef
-
+# debug flags, if ENABLE_SYMBOLS is set or the LinkTarget is named
+# in the list of libraries of ENABLE_SYMBOLS_ONLY
+ifeq ($(gb_ENABLE_SYMBOLS),$(true))
+gb_LinkTarget__get_symbolscflags=$(gb_DEBUG_CFLAGS)
+gb_LinkTarget__get_symbolscxxflags=$(gb_DEBUG_CFLAGS) $(gb_DEBUG_CXXFLAGS)
 else
-gb_LinkTarget__get_debugcflags=$(if $(filter $(1),$(foreach lib,$(ENABLE_DEBUG_ONLY),$(call gb_Library_get_linktargetname,$(lib)))),$(gb_DEBUG_CFLAGS))
-gb_LinkTarget__get_debugcxxflags=$(if $(filter $(1),$(foreach lib,$(ENABLE_DEBUG_ONLY),$(call gb_Library_get_linktargetname,$(lib)))),$(gb_DEBUG_CFLAGS) $(gb_DEBUG_CXXFLAGS))
+gb_LinkTarget__get_symbolscflags=$(if $(filter $(1),$(foreach lib,$(ENABLE_SYMBOLS_ONLY),$(call gb_Library_get_linktargetname,$(lib)))),$(gb_DEBUG_CFLAGS))
+gb_LinkTarget__get_symbolscxxflags=$(if $(filter $(1),$(foreach lib,$(ENABLE_SYMBOLS_ONLY),$(call gb_Library_get_linktargetname,$(lib)))),$(gb_DEBUG_CFLAGS) $(gb_DEBUG_CXXFLAGS))
 endif
 
+# generic cflags/cxxflags to use (optimization flags, symbols (i.e. debug) flags, flags from environment)
+gb_LinkTarget__get_cflags=$(gb_COMPILEROPTFLAGS) $(call gb_LinkTarget__get_symbolscflags,$(1)) $(CFLAGS)
+gb_LinkTarget__get_cxxflags=$(gb_COMPILEROPTFLAGS) $(call gb_LinkTarget__get_symbolscxxflags,$(1)) $(CXXFLAGS)
+
 # Overview of dependencies and tasks of LinkTarget
 #
 # target                      task                         depends on
@@ -704,7 +700,7 @@ $(call gb_LinkTarget_get_clean_target,$(1)) : COBJECTS += $(2)
 
 $(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)) : T_CFLAGS += $(call gb_LinkTarget__get_debugcflags,$(1)) $(3)
+$(call gb_CObject_get_target,$(2)) : T_CFLAGS += $(call gb_LinkTarget__get_cflags,$(1)) $(3)
 $(call gb_CObject_get_target,$(2)) : \
 	OBJECTOWNER := $(call gb_Object__owner,$(2),$(1))
 
@@ -844,11 +840,11 @@ $(foreach grammar,$(2),$(call gb_LinkTarget_add_grammar,$(1),$(grammar)))
 endef
 
 define gb_LinkTarget_add_noexception_object
-$(call gb_LinkTarget_add_cxxobject,$(1),$(2),$(gb_LinkTarget_NOEXCEPTIONFLAGS) $(gb_COMPILEROPTFLAGS) $(call gb_LinkTarget__get_debugcxxflags,$(1)))
+$(call gb_LinkTarget_add_cxxobject,$(1),$(2),$(gb_LinkTarget_NOEXCEPTIONFLAGS) $(call gb_LinkTarget__get_cxxflags,$(1)))
 endef
 
 define gb_LinkTarget_add_exception_object
-$(call gb_LinkTarget_add_cxxobject,$(1),$(2),$(gb_LinkTarget_EXCEPTIONFLAGS) $(gb_COMPILEROPTFLAGS) $(call gb_LinkTarget__get_debugcxxflags,$(1)))
+$(call gb_LinkTarget_add_cxxobject,$(1),$(2),$(gb_LinkTarget_EXCEPTIONFLAGS) $(call gb_LinkTarget__get_cxxflags,$(1)))
 endef
 
 define gb_LinkTarget_add_linktarget_objects
@@ -931,7 +927,7 @@ $(foreach obj,$(2),$(call gb_LinkTarget_add_generated_cxx_object,$(1),$(obj),$(3
 endef
 
 define gb_LinkTarget_add_generated_exception_object
-$(call gb_LinkTarget_add_generated_cxx_object,$(1),$(2),$(gb_LinkTarget_EXCEPTIONFLAGS) $(gb_COMPILEROPTFLAGS) $(call gb_LinkTarget__get_debugcxxflags,$(1)))
+$(call gb_LinkTarget_add_generated_cxx_object,$(1),$(2),$(gb_LinkTarget_EXCEPTIONFLAGS) $(call gb_LinkTarget__get_cxxflags,$(1)))
 endef
 
 define gb_LinkTarget_add_generated_exception_objects
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index b12c88f..8e5141b 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -94,8 +94,6 @@ endif
 gb_DEBUGLEVEL := 0
 ifneq ($(strip $(DEBUG)$(debug)),)
 gb_DEBUGLEVEL := 1
-else ifeq ($(gb_PRODUCT),$(false))
-gb_DEBUGLEVEL := 1
 endif
 
 ifneq ($(strip $(DBGLEVEL)$(dbglevel)),)
diff --git a/solenv/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk
index 37243ad..ceb2661 100644
--- a/solenv/gbuild/platform/unxgcc.mk
+++ b/solenv/gbuild/platform/unxgcc.mk
@@ -210,11 +210,6 @@ gb_LinkTarget__RPATHS := \
 gb_LinkTarget_CFLAGS := $(gb_CFLAGS)
 gb_LinkTarget_CXXFLAGS := $(gb_CXXFLAGS)
 
-ifeq ($(gb_SYMBOL),$(true))
-gb_LinkTarget_CXXFLAGS += $(GGDB2)
-gb_LinkTarget_CFLAGS += $(GGDB2)
-endif
-
 # note that `cat $(extraobjectlist)` is needed to build with older gcc versions, e.g. 4.1.2 on SLED10
 # we want to use @$(extraobjectlist) in the long run
 define gb_LinkTarget__command_dynamiclink
-- 
1.7.7

From c9320484fd75dac3b19345219c0e5354ab28dc1e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lubo=C5=A1=20Lu=C5=88=C3=A1k?= <l.lu...@suse.cz>
Date: Fri, 20 Apr 2012 12:53:02 +0200
Subject: [PATCH 3/6] more flexible --enable-symbols=<for>

the argument given now can
- be 'all', meaning everything
- start with -, meaning not to enable symbols for that item
- end with /, meaning everything in that toplevel directory
- be a target of the form targettype_name, e.g. Library_swui

Note that there is no ordering and removal takes precedence.
---
 config_host.mk.in              |    2 +-
 configure.in                   |   18 ++++++----
 solenv/gbuild/CppunitTest.mk   |    2 +-
 solenv/gbuild/Executable.mk    |    2 +-
 solenv/gbuild/Library.mk       |    2 +-
 solenv/gbuild/LinkTarget.mk    |   70 +++++++++++++++++++++++++++++----------
 solenv/gbuild/StaticLibrary.mk |    2 +-
 7 files changed, 67 insertions(+), 31 deletions(-)

diff --git a/config_host.mk.in b/config_host.mk.in
index a3668d7..64c62d8 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -135,7 +135,7 @@ export ENABLE_SCRIPTING_JAVASCRIPT=@ENABLE_SCRIPTING_JAVASCRIPT@
 export ENABLE_SCRIPTING_PYTHON=@ENABLE_SCRIPTING_PYTHON@
 export ENABLE_SILENT_MSI=@ENABLE_SILENT_MSI@
 export ENABLE_SYMBOLS=@ENABLE_SYMBOLS@
-export ENABLE_SYMBOLS_ONLY=@ENABLE_SYMBOLS_ONLY@
+export ENABLE_SYMBOLS_FOR=@ENABLE_SYMBOLS_FOR@
 export ENABLE_SYSTRAY_GTK=@ENABLE_SYSTRAY_GTK@
 export ENABLE_XMLSEC=@ENABLE_XMLSEC@
 export ENABLE_ZENITY=@ENABLE_ZENITY@
diff --git a/configure.in b/configure.in
index 054aebb..db78d8a 100644
--- a/configure.in
+++ b/configure.in
@@ -612,8 +612,10 @@ AC_ARG_ENABLE(symbols,
         [Include debugging symbols in output. WARNING - a complete build needs
          8 Gb of space and takes much longer (enables -g compiler flag).
          You can also use this switch as follows:
-         --enable-symbols="tl svx" to enable symbols only for the specified
-         gbuild-build libraries.])
+         --enable-symbols="all -sw/ -Library_sc" to enable symbols only for
+         the specified gbuild-build targets (all means everything, - prepended
+         means not to enable, / appended means everything in the directory,
+         there is no ordering and removal disabling takes precedence).])
     [
                           Enabling symbols disables the stripping of the solver
                           (--disable-strip-solver).
@@ -3468,21 +3470,21 @@ dnl whether to include symbols into final build.
 dnl ===================================================================
 AC_MSG_CHECKING([whether to include symbols])
 if test -n "$enable_symbols" -a "$enable_symbols" != "no"; then
+    ENABLE_SYMBOLS="TRUE"
     if test "$enable_symbols" = "y" || test "$enable_symbols" = "yes"; then
-        ENABLE_SYMBOLS="TRUE"
-        ENABLE_SYMBOLS_ONLY=
+        ENABLE_SYMBOLS_FOR=all
+        AC_MSG_RESULT([yes])
     else
-        ENABLE_SYMBOLS=""
-        ENABLE_SYMBOLS_ONLY="$enable_symbols"
+        ENABLE_SYMBOLS_FOR="$enable_symbols"
         AC_MSG_RESULT([for $enable_symbols])
     fi
 else
     ENABLE_SYMBOLS=
-    ENABLE_SYMBOLS_ONLY=
+    ENABLE_SYMBOLS_FOR=
     AC_MSG_RESULT([no])
 fi
 AC_SUBST(ENABLE_SYMBOLS)
-AC_SUBST(ENABLE_SYMBOLS_ONLY)
+AC_SUBST(ENABLE_SYMBOLS_FOR)
 
 dnl Determine if the solver is to be stripped or not.
 dnl ===================================================================
diff --git a/solenv/gbuild/CppunitTest.mk b/solenv/gbuild/CppunitTest.mk
index 258fc52..3c9cd82 100644
--- a/solenv/gbuild/CppunitTest.mk
+++ b/solenv/gbuild/CppunitTest.mk
@@ -308,7 +308,7 @@ $(foreach extra,$(2),$(call gb_CppunitTest__use_configuration,$(1),xcsxcu,$(extr
 endef
 
 define gb_CppunitTest__forward_to_Linktarget
-gb_CppunitTest_$(1) = $$(call gb_LinkTarget_$(1),$$(call gb_CppunitTest__get_linktargetname,$$(1)),$$(2),$$(3))
+gb_CppunitTest_$(1) = $$(call gb_LinkTarget_$(1),$$(call gb_CppunitTest__get_linktargetname,$$(1)),$$(2),$$(3),CppunitTest_$$(1))
 
 endef
 
diff --git a/solenv/gbuild/Executable.mk b/solenv/gbuild/Executable.mk
index b0ba4c9..8d565b6 100644
--- a/solenv/gbuild/Executable.mk
+++ b/solenv/gbuild/Executable.mk
@@ -70,7 +70,7 @@ endef
 
 
 define gb_Executable_forward_to_Linktarget
-gb_Executable_$(1) = $$(call gb_LinkTarget_$(1),$$(call gb_Executable_get_linktargetname,$$(1)),$$(2),$$(3))
+gb_Executable_$(1) = $$(call gb_LinkTarget_$(1),$$(call gb_Executable_get_linktargetname,$$(1)),$$(2),$$(3),Executable_$$(1))
 
 endef
 
diff --git a/solenv/gbuild/Library.mk b/solenv/gbuild/Library.mk
index 3601f8e..4ba764e 100644
--- a/solenv/gbuild/Library.mk
+++ b/solenv/gbuild/Library.mk
@@ -139,7 +139,7 @@ gb_Library__COMPONENTPREFIXES := \
     OXT:./ \
 
 define gb_Library__forward_to_Linktarget
-gb_Library_$(1) = $$(call gb_LinkTarget_$(1),$$(call gb_Library_get_linktargetname,$$(1)),$$(2),$$(3))
+gb_Library_$(1) = $$(call gb_LinkTarget_$(1),$$(call gb_Library_get_linktargetname,$$(1)),$$(2),$$(3),Library_$$(1))
 
 endef
 
diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index 31a4125..98d7565 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -35,14 +35,48 @@
 # OBJCXXFLAGS
 # LDFLAGS
 
-# debug flags, if ENABLE_SYMBOLS is set or the LinkTarget is named
-# in the list of libraries of ENABLE_SYMBOLS_ONLY
-ifeq ($(gb_ENABLE_SYMBOLS),$(true))
-gb_LinkTarget__get_symbolscflags=$(gb_DEBUG_CFLAGS)
-gb_LinkTarget__get_symbolscxxflags=$(gb_DEBUG_CFLAGS) $(gb_DEBUG_CXXFLAGS)
+
+# convert ENABLE_SYMBOLS_FOR from "all -sc/" syntax to a list of target names
+
+# all targets
+gb_Symbols_get_all=$(foreach item,$(wildcard $(SRCDIR)/*/*.mk),$(basename $(notdir $(item))))
+
+# all targets in a dir
+gb_Symbols_expand_dir=$(foreach item,$(wildcard $(SRCDIR)/$(1)/*.mk),$(basename $(notdir $(item))))
+
+# expand one item: all->all targets, foo/ -> all targets in foo/, otherwise the item itself
+define gb_Symbols_expand_item
+$(if $(filter all,$(1)),$(call gb_Symbols_get_all),
+    $(if $(findstring /,$(1)),$(call gb_Symbols_expand_dir,$(1)),
+        $(if $(findstring _,$(1)),$(1),
+            $(error no _ or / in --enable-debug item, prepend target type such as Library_ or append / for directory))))
+endef
+
+# list of items to enable debug for
+define gb_Symbols_expand_debug
+$(foreach item,$(1),$(if $(findstring -,$(item)),,$(call gb_Symbols_expand_item,$(item))))
+endef
+
+# list of items to not enable debug for
+define gb_Symbols_expand_nodebug
+$(foreach item,$(1),$(if $(findstring -,$(item)),$(call gb_Symbols_expand_item,$(patsubst -%,%,$(item))),))
+endef
+
+# add items to enable debug for, remove items to not enable debug for
+# note that there is not ordering and removing takes precedence
+gb_Symbols_create_debugfor=$(filter-out $(call gb_Symbols_expand_nodebug,$(1)),$(call gb_Symbols_expand_debug,$(1)))
+
+# convert the value
+gb_ENABLE_SYMBOLS_FOR:=$(call gb_Symbols_create_debugfor,$(ENABLE_SYMBOLS_FOR))
+
+# debug flags, if ENABLE_SYMBOLS is set and the LinkTarget is named
+# in the list of libraries of ENABLE_SYMBOLS_FOR
+ifeq ($(gb_SYMBOL),$(true))
+gb_LinkTarget__get_symbolscflags=$(if $(filter $(1),$(gb_ENABLE_SYMBOLS_FOR)),$(gb_DEBUG_CFLAGS))
+gb_LinkTarget__get_symbolscxxflags=$(if $(filter $(1),$(gb_ENABLE_SYMBOLS_FOR)),$(gb_DEBUG_CFLAGS) $(gb_DEBUG_CXXFLAGS))
 else
-gb_LinkTarget__get_symbolscflags=$(if $(filter $(1),$(foreach lib,$(ENABLE_SYMBOLS_ONLY),$(call gb_Library_get_linktargetname,$(lib)))),$(gb_DEBUG_CFLAGS))
-gb_LinkTarget__get_symbolscxxflags=$(if $(filter $(1),$(foreach lib,$(ENABLE_SYMBOLS_ONLY),$(call gb_Library_get_linktargetname,$(lib)))),$(gb_DEBUG_CFLAGS) $(gb_DEBUG_CXXFLAGS))
+gb_LinkTarget__get_symbolscflags=
+gb_LinkTarget__get_symbolscxxflags=
 endif
 
 # generic cflags/cxxflags to use (optimization flags, symbols (i.e. debug) flags, flags from environment)
@@ -700,7 +734,7 @@ $(call gb_LinkTarget_get_clean_target,$(1)) : COBJECTS += $(2)
 
 $(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)) : T_CFLAGS += $(call gb_LinkTarget__get_cflags,$(1)) $(3)
+$(call gb_CObject_get_target,$(2)) : T_CFLAGS += $(call gb_LinkTarget__get_cflags,$(4)) $(3)
 $(call gb_CObject_get_target,$(2)) : \
 	OBJECTOWNER := $(call gb_Object__owner,$(2),$(1))
 
@@ -826,7 +860,7 @@ endef
 # gb_LinkTarget_add_grammar(<component>,<grammar file>)
 define gb_LinkTarget_add_grammar
 $(call gb_YaccTarget_YaccTarget,$(2))
-$(call gb_LinkTarget_add_generated_exception_object,$(1),YaccTarget/$(2))
+$(call gb_LinkTarget_add_generated_exception_object,$(1),YaccTarget/$(2),$(3))
 $(call gb_LinkTarget_get_clean_target,$(1)) : $(call gb_YaccTarget_get_clean_target,$(2))
 $(call gb_LinkTarget__add_internal_headers,$(1),$(call gb_YaccTarget_get_header_target,$(2)))
 $(call gb_LinkTarget__add_include,$(1),$(dir $(call gb_YaccTarget_get_header_target,$(2))))
@@ -836,15 +870,15 @@ endef
 # Add bison grammars to the build.
 # gb_LinkTarget_add_grammars(<component>,<grammar file> [<grammar file>*])
 define gb_LinkTarget_add_grammars
-$(foreach grammar,$(2),$(call gb_LinkTarget_add_grammar,$(1),$(grammar)))
+$(foreach grammar,$(2),$(call gb_LinkTarget_add_grammar,$(1),$(grammar),$(4)))
 endef
 
 define gb_LinkTarget_add_noexception_object
-$(call gb_LinkTarget_add_cxxobject,$(1),$(2),$(gb_LinkTarget_NOEXCEPTIONFLAGS) $(call gb_LinkTarget__get_cxxflags,$(1)))
+$(call gb_LinkTarget_add_cxxobject,$(1),$(2),$(gb_LinkTarget_NOEXCEPTIONFLAGS) $(call gb_LinkTarget__get_cxxflags,$(3)))
 endef
 
 define gb_LinkTarget_add_exception_object
-$(call gb_LinkTarget_add_cxxobject,$(1),$(2),$(gb_LinkTarget_EXCEPTIONFLAGS) $(call gb_LinkTarget__get_cxxflags,$(1)))
+$(call gb_LinkTarget_add_cxxobject,$(1),$(2),$(gb_LinkTarget_EXCEPTIONFLAGS) $(call gb_LinkTarget__get_cxxflags,$(3)))
 endef
 
 define gb_LinkTarget_add_linktarget_objects
@@ -885,7 +919,7 @@ $(call gb_LinkTarget__use_linktarget_objects,$(1),$(foreach exe,$(2),$(call gb_E
 endef
 
 define gb_LinkTarget_add_cobjects
-$(foreach obj,$(2),$(call gb_LinkTarget_add_cobject,$(1),$(obj),$(3)))
+$(foreach obj,$(2),$(call gb_LinkTarget_add_cobject,$(1),$(obj),$(3),$(4)))
 endef
 
 define gb_LinkTarget_add_cxxobjects
@@ -905,16 +939,16 @@ $(foreach obj,$(2),$(call gb_LinkTarget_add_asmobject,$(1),$(obj),$(3)))
 endef
 
 define gb_LinkTarget_add_noexception_objects
-$(foreach obj,$(2),$(call gb_LinkTarget_add_noexception_object,$(1),$(obj)))
+$(foreach obj,$(2),$(call gb_LinkTarget_add_noexception_object,$(1),$(obj),$(4)))
 endef
 
 define gb_LinkTarget_add_exception_objects
-$(foreach obj,$(2),$(call gb_LinkTarget_add_exception_object,$(1),$(obj)))
+$(foreach obj,$(2),$(call gb_LinkTarget_add_exception_object,$(1),$(obj),$(4)))
 endef
 
 #only useful for building x64 libraries on windows
 define gb_LinkTarget_add_x64_generated_exception_objects
-$(foreach obj,$(2),$(call gb_LinkTarget_add_generated_exception_object,$(1),$(obj)))
+$(foreach obj,$(2),$(call gb_LinkTarget_add_generated_exception_object,$(1),$(obj),$(4)))
 $(foreach obj,$(2),$(eval $(call gb_GenCxxObject_get_target,$(obj)) : CXXOBJECT_X64 := YES))
 endef
 
@@ -927,11 +961,11 @@ $(foreach obj,$(2),$(call gb_LinkTarget_add_generated_cxx_object,$(1),$(obj),$(3
 endef
 
 define gb_LinkTarget_add_generated_exception_object
-$(call gb_LinkTarget_add_generated_cxx_object,$(1),$(2),$(gb_LinkTarget_EXCEPTIONFLAGS) $(call gb_LinkTarget__get_cxxflags,$(1)))
+$(call gb_LinkTarget_add_generated_cxx_object,$(1),$(2),$(gb_LinkTarget_EXCEPTIONFLAGS) $(call gb_LinkTarget__get_cxxflags,$(3)))
 endef
 
 define gb_LinkTarget_add_generated_exception_objects
-$(foreach obj,$(2),$(call gb_LinkTarget_add_generated_exception_object,$(1),$(obj)))
+$(foreach obj,$(2),$(call gb_LinkTarget_add_generated_exception_object,$(1),$(obj),$(4)))
 endef
 
 define gb_LinkTarget_set_targettype
diff --git a/solenv/gbuild/StaticLibrary.mk b/solenv/gbuild/StaticLibrary.mk
index 3bf411b..9179958 100644
--- a/solenv/gbuild/StaticLibrary.mk
+++ b/solenv/gbuild/StaticLibrary.mk
@@ -75,7 +75,7 @@ $(call gb_Deliver_add_deliverable,$(call gb_StaticLibrary_get_target,$(1)),$(cal
 endef
 
 define gb_StaticLibrary_forward_to_Linktarget
-gb_StaticLibrary_$(1) = $$(call gb_LinkTarget_$(1),$$(call gb_StaticLibrary_get_linktargetname,$$(1)),$$(2),$$(3))
+gb_StaticLibrary_$(1) = $$(call gb_LinkTarget_$(1),$$(call gb_StaticLibrary_get_linktargetname,$$(1)),$$(2),$$(3),StaticLibrary_$$(1))
 
 endef
 
-- 
1.7.7

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to