diff options
author | Michael Stahl <mstahl@redhat.com> | 2014-02-26 14:23:57 +0100 |
---|---|---|
committer | David Tardon <dtardon@redhat.com> | 2014-02-26 09:26:10 -0600 |
commit | 872312d4bbea4d2fa6f8a3a1eb667e709085d54d (patch) | |
tree | ddefdada5f99973f067fd284598df760aff4a070 /solenv | |
parent | eb35d71c2cb46d066b42be49b7749d96a647b50f (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)
(cherry picked from commit 482ab0d09620f92eb3618125930dc7c4c8335b5e)
Conflicts:
solenv/gbuild/AutoInstall.mk
fdo#75526: argh missing semicolon
(cherry picked from commit 7eeac88bdb111cc069d208cc2d82a6143748d9d3)
Change-Id: Ia5467f3303d59f7f5f4a88adc22ceffb82a21ff1
Reviewed-on: https://gerrit.libreoffice.org/8365
Tested-by: David Tardon <dtardon@redhat.com>
Reviewed-by: David Tardon <dtardon@redhat.com>
Diffstat (limited to 'solenv')
-rw-r--r-- | solenv/gbuild/AutoInstall.mk | 3 | ||||
-rw-r--r-- | solenv/gbuild/Helper.mk | 4 | ||||
-rw-r--r-- | solenv/gbuild/extensions/post_PackageInfo.mk | 5 | ||||
-rw-r--r-- | solenv/gbuild/platform/com_MSC_class.mk | 1 | ||||
-rw-r--r-- | solenv/gbuild/platform/macosx.mk | 2 | ||||
-rw-r--r-- | solenv/gbuild/platform/mingw.mk | 2 | ||||
-rw-r--r-- | solenv/gbuild/platform/solaris.mk | 2 | ||||
-rw-r--r-- | solenv/gbuild/platform/unxgcc.mk | 1 |
8 files changed, 20 insertions, 0 deletions
diff --git a/solenv/gbuild/AutoInstall.mk b/solenv/gbuild/AutoInstall.mk index a7544857c48e..09f23788bf8e 100644 --- a/solenv/gbuild/AutoInstall.mk +++ b/solenv/gbuild/AutoInstall.mk @@ -24,9 +24,12 @@ $(call gb_AutoInstall_get_target,%) : $(SRCDIR)/Repository.mk $(GBUILDDIR)/AutoI 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 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)))" >> $@;) diff --git a/solenv/gbuild/Helper.mk b/solenv/gbuild/Helper.mk index a22f2f807d38..483aced74f87 100644 --- a/solenv/gbuild/Helper.mk +++ b/solenv/gbuild/Helper.mk @@ -156,11 +156,15 @@ 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 $(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 aa16e0d96664..e0916b4510e5 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 endef @@ -89,6 +90,10 @@ install-package-%: $(foreach filelist,files executables libraries,$(gb_PackageIn 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 4c5454ced744..603f0e0211d6 100644 --- a/solenv/gbuild/platform/com_MSC_class.mk +++ b/solenv/gbuild/platform/com_MSC_class.mk @@ -348,6 +348,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 c46cba10511f..cd5c0c309ad2 100644 --- a/solenv/gbuild/platform/macosx.mk +++ b/solenv/gbuild/platform/macosx.mk @@ -246,6 +246,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 ac5218c2429c..870004f7c4d6 100644 --- a/solenv/gbuild/platform/mingw.mk +++ b/solenv/gbuild/platform/mingw.mk @@ -265,6 +265,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 2115a4a90082..8019fcddd549 100644 --- a/solenv/gbuild/platform/solaris.mk +++ b/solenv/gbuild/platform/solaris.mk @@ -273,6 +273,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 75d5d21ab4d6..1276e57502d6 100644 --- a/solenv/gbuild/platform/unxgcc.mk +++ b/solenv/gbuild/platform/unxgcc.mk @@ -271,6 +271,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 |