summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2015-09-29 18:09:16 +0200
committerDavid Tardon <dtardon@redhat.com>2015-10-07 10:11:39 +0200
commitcad68c6559a350aadbb1d3b2fcc8d78d1851b057 (patch)
tree3d2e4c22f9d13a12abd96eb9bfcbdeda7f6c7b96
parent955c8f4c7b6038aa802e33074623b8eab0494d0c (diff)
relax deps of link target on external projects
Compilation of the link target's source files does not require the external project to be built, just unpacked, unless the project generates some needed headers during configure/build. Change-Id: I2c9947cf13ce86878d2649829052551fc54f3883
-rw-r--r--RepositoryExternal.mk5
-rw-r--r--external/expat/StaticLibrary_expat.mk2
-rw-r--r--solenv/gbuild/LinkTarget.mk6
3 files changed, 7 insertions, 6 deletions
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index b55aa13e9d46..5a655e21d67a 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -2673,7 +2673,7 @@ endef
else # !SYSTEM_POPPLER
define gb_LinkTarget__use_poppler
-$(call gb_LinkTarget_use_external_project,$(1),poppler)
+$(call gb_LinkTarget_use_external_project,$(1),poppler,full)
$(call gb_LinkTarget_set_include,$(1),\
-I$(call gb_UnpackedTarball_get_dir,poppler) \
@@ -3124,9 +3124,8 @@ $(eval $(call gb_Helper_register_packages_for_install,python,\
python3 \
))
-# depend on external project because on MACOSX the Package is disabled...
define gb_LinkTarget__use_python_headers
-$(call gb_LinkTarget_use_external_project,$(1),python3)
+$(call gb_LinkTarget_use_external_project,$(1),python3,full)
$(call gb_LinkTarget_set_include,$(1),\
-I$(call gb_UnpackedTarball_get_dir,python3) \
-I$(call gb_UnpackedTarball_get_dir,python3)/PC \
diff --git a/external/expat/StaticLibrary_expat.mk b/external/expat/StaticLibrary_expat.mk
index 2f754526b6e9..4d6957f9ef52 100644
--- a/external/expat/StaticLibrary_expat.mk
+++ b/external/expat/StaticLibrary_expat.mk
@@ -15,7 +15,7 @@ $(eval $(call gb_StaticLibrary_use_unpacked,expat,expat))
# no configure step on windows, no dependency
ifneq ($(OS)$(COM),WNTMSC)
-$(eval $(call gb_StaticLibrary_use_external_project,expat,expat))
+$(eval $(call gb_StaticLibrary_use_external_project,expat,expat,full))
endif
$(eval $(call gb_StaticLibrary_set_include,expat,\
diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index 9edac3db9cf5..6af790c80dda 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -1318,9 +1318,11 @@ endef
# Use artifacts from ExternalProject (i. e. configure) of an external project
# example in expat: StaticLibrary depends on ExternalProject outcome
-# call gb_LinkTarget_use_external_project,linktarget,externalproject
+# call gb_LinkTarget_use_external_project,linktarget,externalproject,full-dep
define gb_LinkTarget_use_external_project
-$(call gb_LinkTarget_get_headers_target,$(1)) :| $(call gb_ExternalProject_get_target,$(2))
+$(call gb_LinkTarget_get_target,$(1)) :| $(call gb_ExternalProject_get_target,$(2))
+$(call gb_LinkTarget_get_headers_target,$(1)) :| \
+ $(if $(3),$(call gb_ExternalProject_get_target,$(2)),$(call gb_UnpackedTarball_get_final_target,$(2)))
endef