summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorMatúš Kukan <matus.kukan@collabora.com>2014-12-15 14:37:44 +0100
committerMatúš Kukan <matus.kukan@collabora.com>2014-12-15 14:48:02 +0100
commit8cc1e7a7c3ec897129cc6318b254e8dafc682435 (patch)
treeee53cf8bf7cd5e38206c57199373089f93e6147a /solenv
parentb6be3d3db3ffbc4c1a4528a8dc17aa95084e12ca (diff)
gbuild: More automagic for libmerged
Only gb_Library_use_libraries stays because I think it's a good idea to see dependent libraries (potential candidates for merging) and hopefully the list does not change often anyway. This commit extends b6be3d3db3ffbc4c1a4528a8dc17aa95084e12ca Change-Id: I2682456f53cb2e8d7ea63eae15f8979a3c828401
Diffstat (limited to 'solenv')
-rw-r--r--solenv/gbuild/LinkTarget.mk5
-rw-r--r--solenv/gbuild/platform/IOS_ARM_GCC.mk2
-rw-r--r--solenv/gbuild/platform/com_MSC_class.mk2
-rw-r--r--solenv/gbuild/platform/macosx.mk2
-rw-r--r--solenv/gbuild/platform/mingw.mk2
5 files changed, 13 insertions, 0 deletions
diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index e59b425c9dea..948f65676a86 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -713,6 +713,8 @@ endef
# call gb_LinkTarget_add_libs,linktarget,libs
define gb_LinkTarget_add_libs
$(call gb_LinkTarget_get_target,$(1)) : T_LIBS += $(2)
+$(if $(call gb_LinkTarget__is_merged,$(1)),\
+ $(call gb_LinkTarget_get_target,$(call gb_Library_get_linktarget,merged)) : T_LIBS += $(2))
endef
@@ -893,6 +895,9 @@ endef
# call gb_LinkTarget_use_static_libraries,linktarget,staticlibs
define gb_LinkTarget_use_static_libraries
$(call gb_LinkTarget_get_target,$(1)) : LINKED_STATIC_LIBS += $$(if $$(filter-out StaticLibrary,$$(TARGETTYPE)),$(2))
+$(if $(call gb_LinkTarget__is_merged,$(1)),\
+ $(call gb_LinkTarget_get_target,$(call gb_Library_get_linktarget,merged)) : \
+ LINKED_STATIC_LIBS += $$(if $$(filter-out StaticLibrary,$$(TARGETTYPE)),$(2)))
ifeq ($(DISABLE_DYNLOADING),)
$(call gb_LinkTarget_get_target,$(1)) : $(foreach lib,$(2),$(call gb_StaticLibrary_get_target,$(lib)))
diff --git a/solenv/gbuild/platform/IOS_ARM_GCC.mk b/solenv/gbuild/platform/IOS_ARM_GCC.mk
index e17df726da8e..df1a03a17c58 100644
--- a/solenv/gbuild/platform/IOS_ARM_GCC.mk
+++ b/solenv/gbuild/platform/IOS_ARM_GCC.mk
@@ -136,6 +136,8 @@ endef
define gb_LinkTarget_use_system_darwin_frameworks
$(call gb_LinkTarget_add_libs,$(1),$(foreach fw,$(2),-framework $(fw)))
+$(if $(call gb_LinkTarget__is_merged,$(1)),\
+ $(call gb_LinkTarget_add_libs,$(call gb_Library_get_linktarget,merged),$(foreach fw,$(2),-framework $(fw))))
endef
diff --git a/solenv/gbuild/platform/com_MSC_class.mk b/solenv/gbuild/platform/com_MSC_class.mk
index 1ebd72e2e129..7d220c55ea3d 100644
--- a/solenv/gbuild/platform/com_MSC_class.mk
+++ b/solenv/gbuild/platform/com_MSC_class.mk
@@ -198,6 +198,8 @@ endef
define gb_LinkTarget_use_system_win32_libs
$(call gb_LinkTarget_add_libs,$(1),$(foreach lib,$(2),$(call gb_MSVCRT_subst,$(lib)).lib))
+$(if $(call gb_LinkTarget__is_merged,$(1)),\
+ $(call gb_LinkTarget_add_libs,$(call gb_Library_get_linktarget,merged),$(foreach lib,$(2),$(call gb_MSVCRT_subst,$(lib)).lib)))
endef
# Flags common for PE executables (EXEs and DLLs)
diff --git a/solenv/gbuild/platform/macosx.mk b/solenv/gbuild/platform/macosx.mk
index 4aa813f88ffe..62bc7cc2154c 100644
--- a/solenv/gbuild/platform/macosx.mk
+++ b/solenv/gbuild/platform/macosx.mk
@@ -168,6 +168,8 @@ endef
define gb_LinkTarget_use_system_darwin_frameworks
$(call gb_LinkTarget_add_libs,$(1),$(foreach fw,$(2),-framework $(fw)))
+$(if $(call gb_LinkTarget__is_merged,$(1)),\
+ $(call gb_LinkTarget_add_libs,$(call gb_Library_get_linktarget,merged),$(foreach fw,$(2),-framework $(fw))))
endef
diff --git a/solenv/gbuild/platform/mingw.mk b/solenv/gbuild/platform/mingw.mk
index ea53a571d8ea..b65e1e7503b2 100644
--- a/solenv/gbuild/platform/mingw.mk
+++ b/solenv/gbuild/platform/mingw.mk
@@ -144,6 +144,8 @@ endef
define gb_LinkTarget_use_system_win32_libs
$(call gb_LinkTarget_add_libs,$(1),$(foreach lib,$(2),-l$(patsubst oldnames,moldname,$(lib))))
+$(if $(call gb_LinkTarget__is_merged,$(1)),\
+ $(call gb_LinkTarget_add_libs,$(call gb_Library_get_linktarget,merged),$(foreach lib,$(2),-l$(patsubst oldnames,moldname,$(lib)))))
endef
gb_LinkTarget_get_mapfile = \