summaryrefslogtreecommitdiff
path: root/solenv/gbuild/LinkTarget.mk
diff options
context:
space:
mode:
authorPeter Foley <pefoley2@verizon.net>2013-04-15 09:16:32 -0400
committerPeter Foley <pefoley2@verizon.net>2013-04-15 13:20:31 -0400
commitf3a0a68e878f9d9860797e4cd9e95527495e397e (patch)
treed4293f5300a0ffd5eaf1f1a8fb0522e619165386 /solenv/gbuild/LinkTarget.mk
parent10e3c7c428a7d231055d643e12f454c4267deab2 (diff)
Don't build unneccesary libraries twice: take two
Fixed cross-compiling problem. This reverts commit 6df3de95cdbed9b68ee89bcd7402c17dc62324a5. Change-Id: I7a00ca4aff5df59cb51b820b028b8d6f3fe23ac1
Diffstat (limited to 'solenv/gbuild/LinkTarget.mk')
-rw-r--r--solenv/gbuild/LinkTarget.mk28
1 files changed, 24 insertions, 4 deletions
diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index f5c16f3722c5..44e41f286c3a 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -452,7 +452,9 @@ $(call gb_LinkTarget_get_target,Library/%.exports) : $(gb_Library_OUTDIRLOCATION
$(if $(wildcard $@),true,touch $@)
$(call gb_LinkTarget_get_target,%) : $(call gb_LinkTarget_get_headers_target,%) $(gb_Helper_MISCDUMMY)
- $(call gb_LinkTarget__command,$@,$*)
+ $(if $(filter $*,$(foreach lib,$(gb_MERGEDLIBS) $(gb_URELIBS),$(call gb_Library_get_linktargetname,$(lib)))),\
+ $(if $(filter $(true),$(call gb_LinkTarget__is_build_lib,$*)),\
+ $(call gb_LinkTarget__command,$@,$*),mkdir -p $(dir $@) && echo invalid > $@),$(call gb_LinkTarget__command,$@,$*))
$(call gb_LinkTarget__command_objectlist,$@,$*)
ifeq ($(gb_FULLDEPS),$(true))
@@ -848,8 +850,26 @@ $(call gb_LinkTarget_get_external_headers_target,$(1)) : \
endef
-define gb_Linktarget__is_build_tool
-$(if $(filter $(1),$(addprefix Executable/,cppumaker idlc regcompare regmerge rsc svidl)),$(true),$(false))
+gb_BUILD_HELPER_LIBS := basegfx \
+ reg \
+ sal \
+ salhelper \
+ store \
+ tl \
+ unoidl
+
+gb_BUILD_HELPER_TOOLS := cppumaker \
+ idlc \
+ regmerge \
+ rsc \
+ svidl
+
+define gb_LinkTarget__is_build_lib
+$(if $(filter $(1),$(foreach lib,$(gb_BUILD_HELPER_LIBS),$(call gb_Library_get_linktargetname,$(lib)))),$(true),$(false))
+endef
+
+define gb_LinkTarget__is_build_tool
+$(if $(filter $(1),$(addprefix Executable/,$(gb_BUILD_HELPER_TOOLS))),$(true),$(false))
endef
define gb_LinkTarget_use_libraries
@@ -858,7 +878,7 @@ $$(eval $$(call gb_Output_info,currently known libraries are: $(sort $(gb_Librar
$$(eval $$(call gb_Output_error,Cannot link against library/libraries $$(filter-out $(gb_Library_KNOWNLIBS),$(2)). Libraries must be registered in Repository.mk))
endif
-ifeq ($(call gb_Linktarget__is_build_tool,$(1)),$(true))
+ifeq ($(call gb_LinkTarget__is_build_tool,$(1)),$(true))
$(call gb_LinkTarget__use_libraries,$(1),$(2),$(2),$(4))
else