summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2012-03-28 10:52:34 +0300
committerTor Lillqvist <tml@iki.fi>2012-03-29 09:49:41 +0300
commitc53dccbaaeb069d51000dd444658e4c4335c5d89 (patch)
treeae094d57b6462dadd81e0ad2dd994963b3e9fb8d /solenv
parent3c5353256bb94ba99fea94939cf06ba723737c10 (diff)
No need for COMPONENTPREFIX when we link components statically
Diffstat (limited to 'solenv')
-rw-r--r--solenv/gbuild/ComponentTarget.mk7
1 files changed, 6 insertions, 1 deletions
diff --git a/solenv/gbuild/ComponentTarget.mk b/solenv/gbuild/ComponentTarget.mk
index 71e733e80eb9..ee57d7643d2f 100644
--- a/solenv/gbuild/ComponentTarget.mk
+++ b/solenv/gbuild/ComponentTarget.mk
@@ -29,13 +29,18 @@
gb_ComponentTarget_XSLTCOMMANDFILE := $(SOLARENV)/bin/createcomponent.xslt
gb_ComponentTarget_get_source = $(1)/$(2).component
+# In the DISABLE_DYNLOADING case we don't need any COMPONENTPREFIX, we
+# put just the static library filename into the uri parameter. For
+# each statically linked app using some subset of LO components, there
+# is a mapping from library filenames to direct pointers to the
+# corresponding PREFIX_component_getFactory functions.
define gb_ComponentTarget__command
$(call gb_Output_announce,$(3),$(true),CMP,1)
$(if $(LIBFILENAME),,$(call gb_Output_error,No LIBFILENAME set at component target: $(1)))
$(call gb_Helper_abbreviate_dirs_native,\
mkdir -p $(dir $(1)) && \
$(gb_XSLTPROC) --nonet --stringparam uri \
- '$(subst \d,$$,$(COMPONENTPREFIX))$(LIBFILENAME)' -o $(1) \
+ '$(if $(filter TRUE,$(DISABLE_DYNLOADING)),,$(subst \d,$$,$(COMPONENTPREFIX)))$(LIBFILENAME)' -o $(1) \
$(gb_ComponentTarget_XSLTCOMMANDFILE) $(2))
endef