diff options
author | Jan-Marek Glogowski <glogow@fbihome.de> | 2022-01-05 12:13:11 +0100 |
---|---|---|
committer | Jan-Marek Glogowski <glogow@fbihome.de> | 2022-01-05 22:19:18 +0100 |
commit | 86b0753ca3a02d247b13f0a6654ae315ce3a044b (patch) | |
tree | 3d863f745ab147aa520fc5ceed06ed406474b1f3 /solenv/gbuild/LinkTarget.mk | |
parent | 2177f48b16b8cd68c0ef4ec817ca391f28324418 (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.mk | 6 |
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 |