Kaydet (Commit) 482ab0d0 authored tarafından Michael Stahl's avatar Michael Stahl

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 70c35265)

Change-Id: Ia5467f3303d59f7f5f4a88adc22ceffb82a21ff1
üst c99a1994
......@@ -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 \
))
......
......@@ -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); \
......
......@@ -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;
......
......@@ -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";
......
......@@ -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_$*),\
......
......@@ -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
......
......@@ -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}; \
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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 :=
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment