summaryrefslogtreecommitdiff
path: root/solenv/gbuild
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2012-05-07 14:12:50 +0200
committerMichael Stahl <mstahl@redhat.com>2012-05-08 11:27:47 +0200
commitd827219092063c6c4d045463b41fef2c0fc17c10 (patch)
treee6cd0a802ee4c3771c186a0fea63935c0fe5acb0 /solenv/gbuild
parent01f79a346f27012791fa2373a3b93003963a6b3e (diff)
gbuild: refactor the selective symbols support
so it doesn't use wildcard but instead the actually registered LinkTargets.
Diffstat (limited to 'solenv/gbuild')
-rw-r--r--solenv/gbuild/CppunitTest.mk2
-rw-r--r--solenv/gbuild/Executable.mk2
-rw-r--r--solenv/gbuild/Library.mk2
-rw-r--r--solenv/gbuild/LinkTarget.mk13
-rw-r--r--solenv/gbuild/Module.mk2
-rw-r--r--solenv/gbuild/StaticLibrary.mk2
6 files changed, 13 insertions, 10 deletions
diff --git a/solenv/gbuild/CppunitTest.mk b/solenv/gbuild/CppunitTest.mk
index 3c9cd82e2831..09a1db1ce68b 100644
--- a/solenv/gbuild/CppunitTest.mk
+++ b/solenv/gbuild/CppunitTest.mk
@@ -123,7 +123,7 @@ $(call gb_CppunitTest_get_target,$(1)) : UNO_SERVICES :=
$(call gb_CppunitTest_get_target,$(1)) : UNO_TYPES :=
$(call gb_CppunitTest_get_target,$(1)) : DBGSV_ERROR_OUT := shell
$(call gb_CppunitTest_get_target,$(1)) : SAL_DIAGNOSE_ABORT :=
-$$(eval $$(call gb_Module_register_target,$(call gb_CppunitTest_get_target,$(1)),$(call gb_CppunitTest_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,$(call gb_CppunitTest_get_target,$(1)),$(call gb_CppunitTest_get_clean_target,$(1)),CppunitTest_$(1)))
endef
diff --git a/solenv/gbuild/Executable.mk b/solenv/gbuild/Executable.mk
index 2cb23fc90b6d..eda569c4995b 100644
--- a/solenv/gbuild/Executable.mk
+++ b/solenv/gbuild/Executable.mk
@@ -59,7 +59,7 @@ $(call gb_Executable_get_target,$(1)) : $(call gb_LinkTarget_get_target,$(2)) \
| $(dir $(call gb_Executable_get_target,$(1))).dir
$(call gb_Executable_get_clean_target,$(1)) : $(call gb_LinkTarget_get_clean_target,$(2))
$(call gb_Executable_Executable_platform,$(1),$(2))
-$$(eval $$(call gb_Module_register_target,$(call gb_Executable_get_target,$(1)),$(call gb_Executable_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,$(call gb_Executable_get_target,$(1)),$(call gb_Executable_get_clean_target,$(1)),Executable_$(1)))
$(call gb_Deliver_add_deliverable,$(call gb_Executable_get_target,$(1)),$(call gb_LinkTarget_get_target,$(2)),$(1))
endef
diff --git a/solenv/gbuild/Library.mk b/solenv/gbuild/Library.mk
index 2c74d6e70d2b..3a1e3d99b6a4 100644
--- a/solenv/gbuild/Library.mk
+++ b/solenv/gbuild/Library.mk
@@ -75,7 +75,7 @@ $(call gb_Library__get_final_target,$(1)) : $(call gb_Library_get_target,$(1))
$(call gb_Library_get_target,$(1)) : $(call gb_LinkTarget_get_target,$(2))
$(call gb_Library_get_clean_target,$(1)) : $(call gb_LinkTarget_get_clean_target,$(2))
$(call gb_Library_Library_platform,$(1),$(2),$(gb_Library_DLLDIR)/$(call gb_Library_get_dllname,$(1)))
-$$(eval $$(call gb_Module_register_target,$(call gb_Library__get_final_target,$(1)),$(call gb_Library_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,$(call gb_Library__get_final_target,$(1)),$(call gb_Library_get_clean_target,$(1)),Library_$(1)))
$(call gb_Deliver_add_deliverable,$(call gb_Library_get_target,$(1)),$(call gb_LinkTarget_get_target,$(2)),$(1))
endef
diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index c412d572d6e0..e851dd564659 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -40,15 +40,16 @@
# 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))))
+gb_Symbols_get_all = \
+ $(foreach module,$(gb_Module_ALLMODULES),$(gb_Module_DEBUG_$(module)))
-# all targets in a dir
-gb_Symbols_expand_dir=$(foreach item,$(wildcard $(SRCDIR)/$(1)/*.mk),$(basename $(notdir $(item))))
+# all targets in a module
+gb_Symbols_expand_module = $(gb_Module_DEBUG_$(1))
# 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)),$(call gb_Symbols_expand_module,$(1)),
$(if $(findstring _,$(1)),$(1),
$(error no _ or / in --enable-debug item, prepend target type such as Library_ or append / for directory))))
endef
@@ -68,7 +69,7 @@ endef
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))
+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
@@ -922,7 +923,7 @@ endef
# Add flex scanners to the build.
# gb_LinkTarget_add_scanners(<component>,<scanner file> [<scanner file>*])
define gb_LinkTarget_add_scanners
-$(foreach scanner,$(2),$(call gb_LinkTarget_add_scanner,$(1),$(scanner)))
+$(foreach scanner,$(2),$(call gb_LinkTarget_add_scanner,$(1),$(scanner),$(4)))
endef
diff --git a/solenv/gbuild/Module.mk b/solenv/gbuild/Module.mk
index e75444f88d6e..6e9f8b040edc 100644
--- a/solenv/gbuild/Module.mk
+++ b/solenv/gbuild/Module.mk
@@ -196,6 +196,7 @@ endef
define gb_Module_register_target
gb_Module_CURRENTTARGET := $(1)
gb_Module_CURRENTCLEANTARGET := $(2)
+gb_Module_DEBUG_$(gb_Module_CURRENTMODULE) += $(3)
endef
@@ -203,6 +204,7 @@ endef
define gb_Module__read_targetfile
gb_Module_CURRENTTARGET :=
gb_Module_CURRENTCLEANTARGET :=
+gb_Module_CURRENTMODULE := $(1)
include $(patsubst $(1):%,%,$(filter $(1):%,$(gb_Module_MODULELOCATIONS)))$(2).mk
ifneq ($$(words $$(gb_Module_CURRENTTARGET)) $$(words $$(gb_Module_CURRENTCLEANTARGET)),1 1)
$$(eval $$(call gb_Output_error,No $(3) registered while reading $(patsubst $(1):%,%,$(filter $(1):%,$(gb_Module_MODULELOCATIONS)))$(2).mk!))
diff --git a/solenv/gbuild/StaticLibrary.mk b/solenv/gbuild/StaticLibrary.mk
index 9179958f1357..db93eeaadaaf 100644
--- a/solenv/gbuild/StaticLibrary.mk
+++ b/solenv/gbuild/StaticLibrary.mk
@@ -69,7 +69,7 @@ $(call gb_LinkTarget_add_defs,$(2),\
$(call gb_StaticLibrary_get_target,$(1)) : $(call gb_LinkTarget_get_target,$(2))
$(call gb_StaticLibrary_get_clean_target,$(1)) : $(call gb_LinkTarget_get_clean_target,$(2))
$(call gb_StaticLibrary_StaticLibrary_platform,$(1),$(2))
-$$(eval $$(call gb_Module_register_target,$(call gb_StaticLibrary_get_target,$(1)),$(call gb_StaticLibrary_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,$(call gb_StaticLibrary_get_target,$(1)),$(call gb_StaticLibrary_get_clean_target,$(1)),StaticLibrary_$(1)))
$(call gb_Deliver_add_deliverable,$(call gb_StaticLibrary_get_target,$(1)),$(call gb_LinkTarget_get_target,$(2)),$(1))
endef