summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2013-05-14 10:31:27 +0200
committerDavid Tardon <dtardon@redhat.com>2013-05-14 10:33:09 +0200
commit604bdac5b1a55066133f53b8cdc19f3e2dd7ed94 (patch)
tree1b3609bd9e790c421a57ae0e04683b4986a91605 /solenv
parent28abf5db1360a2b1b26e05871f6a52da4a24efea (diff)
gbuild: allow to depend on headers of a library
... even if we do not link with it. This was previously solved by delivering the headers to solver and depending on the Package. Change-Id: Id1b53b88d54226cb3ce02f5f2424632596fa069a
Diffstat (limited to 'solenv')
-rw-r--r--solenv/gbuild/Library.mk1
-rw-r--r--solenv/gbuild/LinkTarget.mk11
2 files changed, 12 insertions, 0 deletions
diff --git a/solenv/gbuild/Library.mk b/solenv/gbuild/Library.mk
index e7953c89d6a0..cee2d67a9848 100644
--- a/solenv/gbuild/Library.mk
+++ b/solenv/gbuild/Library.mk
@@ -260,6 +260,7 @@ $(eval $(foreach method,\
use_package \
use_packages \
use_unpacked \
+ use_headers \
add_package_headers \
add_sdi_headers \
set_precompiled_header \
diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index d0d02e730143..f47c8b1847b0 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -1371,6 +1371,17 @@ $(call gb_LinkTarget_get_external_headers_target,$(1)) :| $(call gb_ExternalProj
endef
+# Use headers provided by another link target.
+#
+# This function should only be needed to enforce correct build ordering,
+# if the link target does not use the other link target.
+#
+# gb_LinkTarget_use_headers linktarget other-linktarget(s)
+define gb_LinkTarget_use_headers
+$(call gb_LinkTarget_get_external_headers_target,$(1)) :\
+ $(foreach linktarget,$(2),$(call gb_LinkTarget_get_headers_target,$(linktarget)))
+
+endef
# this forwards to functions that must be defined in RepositoryExternal.mk.
# $(eval $(call gb_LinkTarget_use_external,library,external))