diff options
author | Michael Stahl <mstahl@redhat.com> | 2014-02-26 14:23:57 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2014-02-26 14:27:49 +0100 |
commit | 482ab0d09620f92eb3618125930dc7c4c8335b5e (patch) | |
tree | 150ddffadff6a64981341dd95a0d38679fe1d054 | |
parent | c99a1994889ac68164030459cad87241ef236276 (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
-rw-r--r-- | Repository.mk | 4 | ||||
-rwxr-xr-x | scp2/inc/macros.inc | 22 | ||||
-rw-r--r-- | scp2/source/ooo/ure.scp | 35 | ||||
-rw-r--r-- | scp2/source/sdkoo/sdkoo.scp | 5 | ||||
-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 |
12 files changed, 49 insertions, 37 deletions
diff --git a/Repository.mk b/Repository.mk index 87916df177e0..ba433f3c8114 100644 --- a/Repository.mk +++ b/Repository.mk @@ -611,7 +611,7 @@ $(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \ )) endif -$(eval $(call gb_Helper_register_libraries,RTVERLIBS, \ +$(eval $(call gb_Helper_register_libraries_for_install,RTVERLIBS,ure, \ cppuhelper \ purpenvhelper \ salhelper \ @@ -625,7 +625,7 @@ $(eval $(call gb_Helper_register_libraries,OOOLIBS, \ pythonloader \ )) -$(eval $(call gb_Helper_register_libraries,UNOVERLIBS, \ +$(eval $(call gb_Helper_register_libraries_for_install,UNOVERLIBS,ure, \ cppu \ sal \ )) diff --git a/scp2/inc/macros.inc b/scp2/inc/macros.inc index 9266bb56e3e7..0fc98a36add5 100755 --- a/scp2/inc/macros.inc +++ b/scp2/inc/macros.inc @@ -172,6 +172,28 @@ End ComponentCondition = cond; \ End +#ifdef MACOSX +// links are craeted at configure time by odk/config/setsdkenv_unix.sh.in +#define SDK_LIBRARY_LINK(id,name,target) +#elif defined(WNT) +#define SDK_LIBRARY_LINK(id,name,target) \ + File id \ + TXT_FILE_BODY; \ + Styles = (PACKED); \ + Dir = gid_Dir_Lib_Sdk; \ + Name = name \ + End +#else +#define SDK_LIBRARY_LINK(id,name,target) \ + Unixlink id \ + BIN_FILE_BODY; \ + Styles = (); \ + Dir = gid_Dir_Lib_Sdk; \ + Name = name; \ + Target = target; \ + End +#endif + #define STD_LIB_FILE(id,name) \ File id \ Name = LIBNAME(name); \ diff --git a/scp2/source/ooo/ure.scp b/scp2/source/ooo/ure.scp index d690ed750daa..00263a9b0286 100644 --- a/scp2/source/ooo/ure.scp +++ b/scp2/source/ooo/ure.scp @@ -94,13 +94,6 @@ End // Public Dynamic Libraries: -File gid_File_Dl_Cppu - LIB_FILE_BODY; - Dir = SCP2_URE_DL_DIR; - Name = SCP2_URE_DL_UNO_VER("cppu", "3"); - Styles = (PACKED); -End - #ifdef AIX Unixlink gid_Unixlink_File_Dl_Cppu BIN_FILE_BODY; @@ -111,13 +104,6 @@ Unixlink gid_Unixlink_File_Dl_Cppu End #endif -File gid_File_Dl_Cppuhelper - LIB_FILE_BODY; - Dir = SCP2_URE_DL_DIR; - Name = SCP2_URE_DL_UNO_COMID_VER("cppuhelper", "3"); - Styles = (PACKED); -End - #ifdef AIX Unixlink gid_Unixlink_File_Dl_Cppuhelper BIN_FILE_BODY; @@ -128,13 +114,6 @@ Unixlink gid_Unixlink_File_Dl_Cppuhelper End #endif -File gid_File_Dl_PurpEnvHelper - LIB_FILE_BODY; - Dir = SCP2_URE_DL_DIR; - Name = SCP2_URE_DL_UNO_COMID_VER("purpenvhelper", "3"); - Styles = (PACKED); -End - #ifdef AIX Unixlink gid_Unixlink_File_Dl_PurpEnvHelper BIN_FILE_BODY; @@ -145,13 +124,6 @@ Unixlink gid_Unixlink_File_Dl_PurpEnvHelper End #endif -File gid_File_Dl_Sal - LIB_FILE_BODY; - Dir = SCP2_URE_DL_DIR; - Name = SCP2_URE_DL_UNO_VER("sal", "3"); - Styles = (PACKED); -End - #ifdef AIX Unixlink gid_Unixlink_File_Dl_Sal BIN_FILE_BODY; @@ -162,13 +134,6 @@ Unixlink gid_Unixlink_File_Dl_Sal End #endif -File gid_File_Dl_Salhelper - LIB_FILE_BODY; - Dir = SCP2_URE_DL_DIR; - Name = SCP2_URE_DL_UNO_COMID_VER("salhelper", "3"); - Styles = (PACKED); -End - #ifdef AIX Unixlink gid_Unixlink_File_Dl_Salhelper BIN_FILE_BODY; diff --git a/scp2/source/sdkoo/sdkoo.scp b/scp2/source/sdkoo/sdkoo.scp index c03b664c2ae4..f73e3e8ef59e 100644 --- a/scp2/source/sdkoo/sdkoo.scp +++ b/scp2/source/sdkoo/sdkoo.scp @@ -59,6 +59,11 @@ Directory gid_Dir_Sdkoo_Bin DosName = "bin"; End +Directory gid_Dir_Lib_Sdk + ParentID = gid_Dir_Sdkoo_Sdk; + DosName = "lib"; +End + Module gid_Module_Root_SDK Name = "sdkoo"; Description = "sdkoo"; 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 |