summaryrefslogtreecommitdiff
path: root/solenv/gbuild/platform/unxgcc.mk
diff options
context:
space:
mode:
authorMichael Stahl <michael.stahl@allotropia.de>2022-11-14 20:16:41 +0100
committerMichael Stahl <michael.stahl@allotropia.de>2022-11-28 16:23:06 +0100
commit7a80b68cb0b279a1b43f769169aaf2a2659dc150 (patch)
tree9784efaf0ba529fd07b8d3a4130bc399ff687c7c /solenv/gbuild/platform/unxgcc.mk
parent98700f59bb72a2c67b48656eacbac7ebdd4ead7b (diff)
WASM gbuild: write link dependencies into a file $@.linkdeps
The static build was added in commit dc9ccf3d8f294cd7ae9d5bece7b6c16c3b22f6a5 and commit b04be559ddf4a7f0a5cdc0b9abc2bcfc4aae25cc and there are several files written to workdir/LinkTarget/*/*.d.{libraries,externals,statics} that list all the (recursive) dependencies of a LinkTarget. Unfortunately the content of these files requires gbuild to interpret, because it's using the Library names which may not map 1:1 to file names, not to mention "externals"; this is all resolved by calls to gb_LinkTarget_use_* anyway. To get a command line that's usable outside of gbuild, write another file $@.linkdeps as a side effect of gb_LinkTarget__command_dynamiclink. Change-Id: I94f31142413561dcdb56fa722a4517f84fcd7d61 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143393 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Jenkins
Diffstat (limited to 'solenv/gbuild/platform/unxgcc.mk')
-rw-r--r--solenv/gbuild/platform/unxgcc.mk10
1 files changed, 6 insertions, 4 deletions
diff --git a/solenv/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk
index cc377a5b4309..5e971bd8944c 100644
--- a/solenv/gbuild/platform/unxgcc.mk
+++ b/solenv/gbuild/platform/unxgcc.mk
@@ -152,10 +152,12 @@ $(call gb_Helper_abbreviate_dirs,\
$(foreach extraobjectlist,$(EXTRAOBJECTLISTS),`cat $(extraobjectlist)`) \
$(if $(filter TRUE,$(DISABLE_DYNLOADING)), \
-Wl$(COMMA)--start-group \
- $(patsubst lib%.a,-l%,$(patsubst lib%.so,-l%,$(patsubst %.$(gb_Library_UDK_MAJORVER),%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib)))))) \
- $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) \
- $(patsubst $(gb_LinkTarget__syslib),%,$(T_LIBS)) \
- $(if $(call gb_LinkTarget__NeedsCxxLinker),$(T_STDLIBS_CXX)) \
+ $(shell echo -n \
+ $(patsubst lib%.a,-l%,$(patsubst lib%.so,-l%,$(patsubst %.$(gb_Library_UDK_MAJORVER),%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib)))))) \
+ $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) \
+ $(patsubst $(gb_LinkTarget__syslib),%,$(T_LIBS)) \
+ $(if $(call gb_LinkTarget__NeedsCxxLinker),$(T_STDLIBS_CXX)) \
+ | tee $@.linkdeps) \
-Wl$(COMMA)--end-group \
, \
-Wl$(COMMA)--start-group \