summaryrefslogtreecommitdiff
path: root/solenv/gbuild/LinkTarget.mk
diff options
context:
space:
mode:
authorJan-Marek Glogowski <glogow@fbihome.de>2022-01-05 12:13:11 +0100
committerJan-Marek Glogowski <glogow@fbihome.de>2022-01-05 22:19:18 +0100
commit86b0753ca3a02d247b13f0a6654ae315ce3a044b (patch)
tree3d863f745ab147aa520fc5ceed06ed406474b1f3 /solenv/gbuild/LinkTarget.mk
parent2177f48b16b8cd68c0ef4ec817ca391f28324418 (diff)
gbuild: skip libmerged externals for partial builds
When running a full build, all externals of merged libraries are also added to libmerged when adding externals for the merged lib. Non-skipping for partial builds also breaks gbuildtojson, for all modules, which are merged and have additional libraries, tests or binaries, which then depend on the libmerged. This triggers for gbuildtojson, because the skipped %.exports now actually matter when checking the libmerged state. make then tries to rebuild it, but this can never work for a partial build, even with the full gbuild ruleset, not stripped by solenv/gbuild/extensions/post_GbuildToJson.mk. The totally confusing result, due to the mangled ruleset, is that the first externals %.exports overwrites libmerged in instdir. Change-Id: I2b72a8b543dbbd8c8f573bfe963164329bdd73e4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127995 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Diffstat (limited to 'solenv/gbuild/LinkTarget.mk')
-rw-r--r--solenv/gbuild/LinkTarget.mk6
1 files changed, 4 insertions, 2 deletions
diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index 3f4e329587b8..52eabb9e5b96 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -2031,8 +2031,10 @@ endef
# call gb_LinkTarget_use_external,linktarget,external
define gb_LinkTarget_use_external
$(if $(filter undefined,$(origin gb_LinkTarget__use_$(2))),\
- $(error gb_LinkTarget_use_external: unknown external: $(2)),\
- $(if $(call gb_LinkTarget__is_merged,$(1)),$(call gb_LinkTarget__use_$(2),$(call gb_Library_get_linktarget,merged))) \
+ $(error gb_LinkTarget_use_external: unknown external: $(2)) \
+, \
+ $(if $(gb_PARTIAL_BUILD),,$(if $(call gb_LinkTarget__is_merged,$(1)), \
+ $(call gb_LinkTarget__use_$(2),$(call gb_Library_get_linktarget,merged)))) \
$(call gb_LinkTarget__use_$(2),$(1)) \
)
endef