Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index


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.lunak@suse.cz
From 6987137582e0ac5d5bf642054f008635bfbacfae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lubo=C5=A1=20Lu=C5=88=C3=A1k?= <l.lunak@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.lunak@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


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.