summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2013-09-09 15:55:49 +0200
committerMichael Stahl <mstahl@redhat.com>2013-09-09 22:09:17 +0200
commit4e21c6823e1eb8d07fafcdd76e84d8d46dc23ba6 (patch)
tree4b77c273c34523185380ece5bafe5715ea7fd2a8 /solenv
parente3e06d0d6edbc398baabacd411aa6ba11958a808 (diff)
gbuild: put the DLL into INSTDIR, not the import lib
Change-Id: Iea2a3d5d73ae6decb12082d850afd72514ef21a0
Diffstat (limited to 'solenv')
-rw-r--r--solenv/gbuild/Helper.mk12
-rw-r--r--solenv/gbuild/Library.mk3
2 files changed, 14 insertions, 1 deletions
diff --git a/solenv/gbuild/Helper.mk b/solenv/gbuild/Helper.mk
index e025cb5a9c78..cfa0ddf52c91 100644
--- a/solenv/gbuild/Helper.mk
+++ b/solenv/gbuild/Helper.mk
@@ -202,12 +202,24 @@ $(call gb_Executable_get_command,$(firstword $(1))) $(wordlist 2,$(words $(1)),$
endef
# define gb_Helper_install registered-target target-to-install target-from-workdir
+# FIXME how is this stuff cleaned???
define gb_Helper_install
$(1) :| $(2)
$(2) : $(3) | $(dir $(2)).dir
$(call gb_Deliver_add_deliverable,$(2),$(3),$(2))
endef
+# 4th parameter overrides 3rd for the dependency, necessary for Library
+# which needs to copy DLL but that must not be a real target...
+define gb_Library__install
+$(1) :| $(2)
+$(2) : $(4) | $(dir $(2)).dir
+ cp $(3) $$@
+
+$(call gb_Deliver_add_deliverable,$(2),$(3),$(2))
+endef
+
+
# gb_Helper_OUTDIRLIBDIR is set by the platform to the path the dynamic linker need to use
# for libraries from the OUTDIR
diff --git a/solenv/gbuild/Library.mk b/solenv/gbuild/Library.mk
index 2fd559ab70ea..d3488d20022b 100644
--- a/solenv/gbuild/Library.mk
+++ b/solenv/gbuild/Library.mk
@@ -87,8 +87,9 @@ $(call gb_Library_get_clean_target,$(1)) : AUXTARGETS :=
$(call gb_Library_Library_platform,$(1),$(2),$(gb_Library_DLLDIR)/$(call gb_Library_get_dllname,$(1)))
$(if $(call gb_Library_get_instdir,$(1)),\
-$(call gb_Helper_install,$(call gb_Library__get_final_target,$(1)), \
+$(call gb_Library__install,$(call gb_Library__get_final_target,$(1)), \
$(call gb_Library_get_install_target,$(1)), \
+ $(gb_Library_DLLDIR)/$(call gb_Library_get_runtime_filename,$(1)), \
$(call gb_LinkTarget_get_target,$(2))) \
)