summaryrefslogtreecommitdiff
path: root/solenv/gbuild/Library.mk
diff options
context:
space:
mode:
Diffstat (limited to 'solenv/gbuild/Library.mk')
-rw-r--r--solenv/gbuild/Library.mk9
1 files changed, 8 insertions, 1 deletions
diff --git a/solenv/gbuild/Library.mk b/solenv/gbuild/Library.mk
index 4f0bcaa54841..5252f2ac8772 100644
--- a/solenv/gbuild/Library.mk
+++ b/solenv/gbuild/Library.mk
@@ -148,7 +148,9 @@ $(call gb_ComponentTarget_get_target,$(2)) :| \
$(call gb_Library_get_target,$(gb_Library__get_name))
$(call gb_Library_get_clean_target,$(gb_Library__get_name)) : \
$(call gb_ComponentTarget_get_clean_target,$(2))
-$(eval $(call gb_Library__get_component_var,$(1)) += $(2))
+
+$(if $(call gb_Library__get_component,$(1)),$(error Can't have multiple component files per library))
+$(eval $(call gb_Library__get_component_var,$(1)) = $(2))
endef
@@ -162,6 +164,11 @@ $(call gb_ComponentTarget_add_componentimpl,$(call gb_Library__get_component,$(1
endef
+# call gb_Library_add_componentimpls,library,implids
+define gb_Library_add_componentimpls
+$(foreach comp,$(2),$(call gb_Library_add_componentimpl,$(1),$(comp)))
+endef
+
gb_Library__get_name = $(if $(filter $(1),$(gb_MERGEDLIBS)),merged,$(1))
gb_Library__get_componentprefix = \