summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2014-02-26 14:23:57 +0100
committerMichael Stahl <mstahl@redhat.com>2014-02-26 14:27:49 +0100
commit482ab0d09620f92eb3618125930dc7c4c8335b5e (patch)
tree150ddffadff6a64981341dd95a0d38679fe1d054 /solenv
parentc99a1994889ac68164030459cad87241ef236276 (diff)
fdo#75526: sdk: install URE library symlinks / import libs again
This is a bit involved because since the LinkTarget now creates the instdir/sdk/lib/* files itself a Package cannot be used; so convert the URE libraries to AutoInstall and add special handling for them to gb_Helper_register_libraries_for_install to create the necessary links in the "sdk" install-module. (regression from 70c35265f517ef372cb739d4cc64499abf57a838) Change-Id: Ia5467f3303d59f7f5f4a88adc22ceffb82a21ff1
Diffstat (limited to 'solenv')
-rw-r--r--solenv/gbuild/AutoInstall.mk3
-rw-r--r--solenv/gbuild/Helper.mk4
-rw-r--r--solenv/gbuild/extensions/post_PackageInfo.mk5
-rw-r--r--solenv/gbuild/platform/com_MSC_class.mk1
-rw-r--r--solenv/gbuild/platform/macosx.mk2
-rw-r--r--solenv/gbuild/platform/mingw.mk2
-rw-r--r--solenv/gbuild/platform/solaris.mk2
-rw-r--r--solenv/gbuild/platform/unxgcc.mk1
8 files changed, 20 insertions, 0 deletions
diff --git a/solenv/gbuild/AutoInstall.mk b/solenv/gbuild/AutoInstall.mk
index 0087b54dee0f..d8daec8bb62a 100644
--- a/solenv/gbuild/AutoInstall.mk
+++ b/solenv/gbuild/AutoInstall.mk
@@ -25,11 +25,14 @@ $(call gb_AutoInstall_get_target,%) : $(GBUILDDIR)/AutoInstall.mk \
echo "/* autogenerated installs for group $* */" > $@
$(call gb_AutoInstall__make_define,\
$(foreach lib,$(gb_Library_MODULE_$*),auto_$*_lib_$(lib)) \
+ $(foreach lib,$(gb_SdkLinkLibrary_MODULE_$*),auto_$*_link_$(lib)) \
$(foreach exe,$(gb_Executable_MODULE_$*),auto_$*_exe_$(exe)) \
$(foreach jar,$(gb_Jar_MODULE_$*),auto_$*_jar_$(jar)) \
$(foreach pkg,$(gb_Package_MODULE_$*),auto_$*_pkg_$(pkg)))
$(foreach lib,$(gb_Library_MODULE_$*),\
echo '$(SCP2LIBTEMPLATE)(auto_$*_lib_$(lib),$(call gb_Library_get_runtime_filename,$(lib))$(if $(SCP2COMPONENTCONDITION),$(COMMA)$(SCP2COMPONENTCONDITION)))' >> $@;)
+ $(foreach lib,$(gb_SdkLinkLibrary_MODULE_$*),\
+ echo 'SDK_LIBRARY_LINK(auto_$*_link_$(lib),$(notdir $(call gb_Library_get_sdk_link_lib,$(lib))),../../ure-link/lib/$(call gb_Library_get_runtime_filename,$(lib)))' >> $@;)
$(foreach exe,$(gb_Executable_MODULE_$*),\
echo "$(SCP2EXETEMPLATE)(auto_$*_exe_$(subst -,_,$(exe)),$(call gb_Executable_get_filename,$(exe)))" >> $@;)
$(foreach jar,$(gb_Jar_MODULE_$*),\
diff --git a/solenv/gbuild/Helper.mk b/solenv/gbuild/Helper.mk
index a1a29f745341..4b9c249ac451 100644
--- a/solenv/gbuild/Helper.mk
+++ b/solenv/gbuild/Helper.mk
@@ -157,12 +157,16 @@ endef
# the first argument is the group, which sets rpaths etc.
# the second argument is the install module, which describes in which distro package/msi a lib should show up
+# UGLY: for versioned libraries "sdk" module is hard-coded for now
define gb_Helper_register_libraries_for_install
$(if $(3),,$(call gb_Output_error,gb_Helper_register_libraries_for_install: no libraries - need 3 parameters))
$(call gb_Helper_register_libraries,$(1),$(3))
gb_Library_MODULE_$(2) += $(filter-out $(gb_MERGEDLIBS) $(gb_URELIBS),$(3))
+$(if $(filter UNOVERLIBS RTVERLIBS,$(1)),\
+ gb_SdkLinkLibrary_MODULE_sdk += $(3))
+
endef
define gb_Helper_register_jars
diff --git a/solenv/gbuild/extensions/post_PackageInfo.mk b/solenv/gbuild/extensions/post_PackageInfo.mk
index e4bbd144cc31..2bd677830df6 100644
--- a/solenv/gbuild/extensions/post_PackageInfo.mk
+++ b/solenv/gbuild/extensions/post_PackageInfo.mk
@@ -27,6 +27,7 @@ gb_PackageInfo_InstallModules := \
define gb_PackageInfo_emit_binaries_command
@touch $(foreach suf,executables libraries files,$(gb_PackageInfo_get_target)/$(1).$(suf))
@$(foreach executable,$(gb_Executable_MODULE_$(1)),echo "$(patsubst $(INSTDIR)/%,%,$(call gb_Executable_get_target,$(executable)))" >> $(gb_PackageInfo_get_target)/$(1).executables &&) true
+@$(foreach library,$(gb_SdkLinkLibrary_MODULE_$(1)),echo "sdk/lib/$(call gb_Library_get_linktarget,$(library))" >> $(gb_PackageInfo_get_target)/$(1).sdklinklibraries &&) true
@$(foreach library,$(gb_Library_MODULE_$(1)),echo "$(patsubst $(INSTDIR)/%,%,$(call gb_Library_get_target,$(library)))" >> $(gb_PackageInfo_get_target)/$(1).libraries &&) true
@$(foreach jar,$(gb_Jar_MODULE_$(1)),echo "$(patsubst $(INSTDIR)/%,%,$(call gb_Jar_get_target,$(jar)))" >> $(gb_PackageInfo_get_target)/$(1).jars &&) true
@$(foreach pkg,$(gb_Package_MODULE_$(1)),echo "$(call gb_Package_get_target,$(pkg))" >> $(gb_PackageInfo_get_target)/$(1).packages &&) true
@@ -100,6 +101,10 @@ install-package-%: $(gb_PackageInfo_get_target)/packageinfo_all
do \
install -D $(INSTDIR)/$${executable} $(INSTALLDIR)/$${executable} ;\
done
+ for library in `cat $(gb_PackageInfo_get_target)/$*.sdklinklibraries`; \
+ do \
+ install -D -m644 $(INSTDIR)/$${library} $(INSTALLDIR)/$${library}; \
+ done
for library in `cat $(gb_PackageInfo_get_target)/$*.libraries`; \
do \
install -D -m644 $(INSTDIR)/$${library} $(INSTALLDIR)/$${library}; \
diff --git a/solenv/gbuild/platform/com_MSC_class.mk b/solenv/gbuild/platform/com_MSC_class.mk
index 7683743c1714..eeb0fa001173 100644
--- a/solenv/gbuild/platform/com_MSC_class.mk
+++ b/solenv/gbuild/platform/com_MSC_class.mk
@@ -320,6 +320,7 @@ define gb_Library_get_ilibfilename
$(patsubst $(1):%,%,$(filter $(1):%,$(gb_Library_ILIBFILENAMES)))
endef
+gb_Library_get_sdk_link_lib = $(gb_Library_get_ilib_target)
# StaticLibrary class
diff --git a/solenv/gbuild/platform/macosx.mk b/solenv/gbuild/platform/macosx.mk
index 5eac8ba43114..8d6f8341ce01 100644
--- a/solenv/gbuild/platform/macosx.mk
+++ b/solenv/gbuild/platform/macosx.mk
@@ -239,6 +239,8 @@ endef
gb_Library__set_soversion_script_platform = $(gb_Library__set_soversion_script)
+gb_Library_get_sdk_link_lib = $(gb_Library_get_versionlink_target)
+
# bundle is a special kind of library that exists only on Darwin/OSX
# set the TARGETTYPE to Bundle, and clear install_name(RPATH)
define gb_Library_Bundle
diff --git a/solenv/gbuild/platform/mingw.mk b/solenv/gbuild/platform/mingw.mk
index 72b9fc13a3c5..50ae98b5c129 100644
--- a/solenv/gbuild/platform/mingw.mk
+++ b/solenv/gbuild/platform/mingw.mk
@@ -264,6 +264,8 @@ define gb_Library_get_ilibfilename
$(patsubst $(1):%,%,$(filter $(1):%,$(gb_Library_ILIBFILENAMES)))
endef
+gb_Library_get_sdk_link_lib = $(gb_Library_get_ilib_target)
+
# Executable class
gb_Executable_EXT := .exe
diff --git a/solenv/gbuild/platform/solaris.mk b/solenv/gbuild/platform/solaris.mk
index 61221906dc3b..318e630547ab 100644
--- a/solenv/gbuild/platform/solaris.mk
+++ b/solenv/gbuild/platform/solaris.mk
@@ -264,6 +264,8 @@ endef
gb_Library__set_soversion_script_platform = $(gb_Library__set_soversion_script)
+gb_Library_get_sdk_link_lib = $(gb_Library_get_versionlink_target)
+
# Executable class
gb_Executable_EXT :=
diff --git a/solenv/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk
index 17a6a033c017..0de4a72e41e6 100644
--- a/solenv/gbuild/platform/unxgcc.mk
+++ b/solenv/gbuild/platform/unxgcc.mk
@@ -262,6 +262,7 @@ endef
gb_Library__set_soversion_script_platform = $(gb_Library__set_soversion_script)
+gb_Library_get_sdk_link_lib = $(gb_Library_get_versionlink_target)
# Executable class