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

gbuild: make the versioned library the linktarget on Unixes

If there is a SOVERSION then the versioned library is a real file and
the unversioned one just a symlink; better to have the real file be the
target.

- add gb_Library_UDK_MAJORVER variable for SOVERSION
- remove version parameter of gb_Library_set_soversion_script;
  instead hardcode the SOVERSION since it must be included in the
  file name in gb_Library_FILENAMES anyway
- store the unversioned symlink in the ILIBTARGET variable
- via new gb_Library_get_workdir_target_versionlink function
- removed gb_Helper_install call that resulted in both versioned
  and unversioned libs in instdir

Change-Id: I2c6f1698f0e39fdb2c07964d43ed9485cbca0b30
üst d263c22a
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
$(eval $(call gb_Library_Library,cppu)) $(eval $(call gb_Library_Library,cppu))
$(eval $(call gb_Library_set_soversion_script,cppu,3,$(SRCDIR)/cppu/util/cppu.map)) $(eval $(call gb_Library_set_soversion_script,cppu,$(SRCDIR)/cppu/util/cppu.map))
$(eval $(call gb_Library_use_udk_api,cppu)) $(eval $(call gb_Library_use_udk_api,cppu))
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
$(eval $(call gb_Library_Library,purpenvhelper)) $(eval $(call gb_Library_Library,purpenvhelper))
$(eval $(call gb_Library_set_soversion_script,purpenvhelper,3,$(SRCDIR)/cppu/util/uno_purpenvhelpergcc3.map)) $(eval $(call gb_Library_set_soversion_script,purpenvhelper,$(SRCDIR)/cppu/util/uno_purpenvhelpergcc3.map))
$(eval $(call gb_Library_add_defs,purpenvhelper,\ $(eval $(call gb_Library_add_defs,purpenvhelper,\
-DPURPENV_DLLIMPLEMENTATION \ -DPURPENV_DLLIMPLEMENTATION \
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
$(eval $(call gb_Library_Library,cppuhelper)) $(eval $(call gb_Library_Library,cppuhelper))
$(eval $(call gb_Library_set_soversion_script,cppuhelper,3,$(SRCDIR)/cppuhelper/source/gcc3.map)) $(eval $(call gb_Library_set_soversion_script,cppuhelper,$(SRCDIR)/cppuhelper/source/gcc3.map))
$(eval $(call gb_Library_use_internal_comprehensive_api,cppuhelper,\ $(eval $(call gb_Library_use_internal_comprehensive_api,cppuhelper,\
cppuhelper \ cppuhelper \
......
...@@ -27,7 +27,7 @@ $(eval $(call gb_Package_add_files,odk_lib,$(gb_Package_SDKDIRNAME)/lib,\ ...@@ -27,7 +27,7 @@ $(eval $(call gb_Package_add_files,odk_lib,$(gb_Package_SDKDIRNAME)/lib,\
ifneq (,$(filter-out MACOSX WNT,$(OS))) ifneq (,$(filter-out MACOSX WNT,$(OS)))
define odk_add_sybolic_link define odk_add_sybolic_link
$(call gb_Package_add_symbolic_link,odk_lib,$(gb_Package_SDKDIRNAME)/lib/$(1),../../ure-link/lib/$(1).3) $(call gb_Package_add_symbolic_link,odk_lib,$(gb_Package_SDKDIRNAME)/lib/$(basename $(1)),../../ure-link/lib/$(1))
endef endef
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
$(eval $(call gb_Library_Library,sal)) $(eval $(call gb_Library_Library,sal))
$(eval $(call gb_Library_set_soversion_script,sal,3,$(SRCDIR)/sal/util/sal.map)) $(eval $(call gb_Library_set_soversion_script,sal,$(SRCDIR)/sal/util/sal.map))
$(eval $(call gb_Library_set_precompiled_header,sal,$(SRCDIR)/sal/inc/pch/precompiled_sal)) $(eval $(call gb_Library_set_precompiled_header,sal,$(SRCDIR)/sal/inc/pch/precompiled_sal))
......
...@@ -34,6 +34,6 @@ $(eval $(call gb_Library_add_exception_objects,salhelper,\ ...@@ -34,6 +34,6 @@ $(eval $(call gb_Library_add_exception_objects,salhelper,\
# Solaris would need something like this, too. Its backwards compatibility is # Solaris would need something like this, too. Its backwards compatibility is
# broken for now: # broken for now:
$(eval $(call gb_Library_set_soversion_script,salhelper,3,$(SRCDIR)/salhelper/source/gcc3.map)) $(eval $(call gb_Library_set_soversion_script,salhelper,$(SRCDIR)/salhelper/source/gcc3.map))
# vim: set noet sw=4 ts=4: # vim: set noet sw=4 ts=4:
...@@ -16,14 +16,14 @@ $(eval $(call gb_Package_add_files,solenv_gdb,lib,\ ...@@ -16,14 +16,14 @@ $(eval $(call gb_Package_add_files,solenv_gdb,lib,\
$(if $(filter ALL,$(MERGELIBS)), \ $(if $(filter ALL,$(MERGELIBS)), \
$(call gb_Library_get_runtime_filename,urelibs)-gdb.py \ $(call gb_Library_get_runtime_filename,urelibs)-gdb.py \
, \ , \
$(call gb_Library_get_runtime_filename,cppu).3-gdb.py \ $(call gb_Library_get_runtime_filename,cppu)-gdb.py \
$(call gb_Library_get_runtime_filename,sal).3-gdb.py \ $(call gb_Library_get_runtime_filename,sal)-gdb.py \
$(call gb_Library_get_runtime_filename,sw)-gdb.py \ $(call gb_Library_get_runtime_filename,sw)-gdb.py \
) \ ) \
, \ , \
$(call gb_Library_get_runtime_filename,basegfx)-gdb.py \ $(call gb_Library_get_runtime_filename,basegfx)-gdb.py \
$(call gb_Library_get_runtime_filename,cppu).3-gdb.py \ $(call gb_Library_get_runtime_filename,cppu)-gdb.py \
$(call gb_Library_get_runtime_filename,sal).3-gdb.py \ $(call gb_Library_get_runtime_filename,sal)-gdb.py \
$(call gb_Library_get_runtime_filename,svl)-gdb.py \ $(call gb_Library_get_runtime_filename,svl)-gdb.py \
$(call gb_Library_get_runtime_filename,sw)-gdb.py \ $(call gb_Library_get_runtime_filename,sw)-gdb.py \
$(call gb_Library_get_runtime_filename,tl)-gdb.py \ $(call gb_Library_get_runtime_filename,tl)-gdb.py \
......
...@@ -119,28 +119,28 @@ $(foreach aux,$(2),$(call gb_Library_add_auxtarget,$(1),$(aux))) ...@@ -119,28 +119,28 @@ $(foreach aux,$(2),$(call gb_Library_add_auxtarget,$(1),$(aux)))
endef endef
# gb_Library__add_soversion_link library package linkname # we actually (ab)use ILIBTARGET here to store the unversioned symlink -
# it serves a similar purpose to an MSVC import library, as input for linker
# call gb_Library__add_soversion_link,library,linkname
define gb_Library__add_soversion_link define gb_Library__add_soversion_link
$(call gb_Library_add_auxtarget,$(1),$(2)) $(call gb_Library_add_auxtarget,$(1),$(OUTDIR)/lib/$(notdir $(2)))
$(call gb_LinkTarget_set_ilibtarget,$(call gb_Library_get_linktarget,$(1)),$(2))
endef endef
define gb_Library__set_soversion_script define gb_Library__set_soversion_script
$(call gb_LinkTarget_set_soversion_script,$(call gb_Library_get_linktarget,$(1)),$(2),$(3)) $(call gb_LinkTarget_set_soversion_script,$(call gb_Library_get_linktarget,$(1)),$(2))
$(call gb_Library_get_target,$(1)) : SOVERSION := $(2) $(call gb_Library_get_target,$(1)) : SOVERSION := $(gb_Library_UDK_MAJORVER)
$(call gb_Library__add_soversion_link,$(1),$(call gb_Library_get_target,$(1)).$(2)) $(call gb_Library__add_soversion_link,$(1),$(call gb_Library_get_workdir_target_versionlink,$(1)))
$(call gb_Helper_install,$(call gb_Library__get_final_target,$(1)), \
$(call gb_Library_get_install_target,$(1)).$(2), \
$(call gb_LinkTarget_get_target,$(call gb_Library_get_linktarget,$(1))).$(2))
endef endef
# for libraries that maintain stable ABI: set SOVERSION and version script # for libraries that maintain stable ABI: set SOVERSION and version script
# $(call gb_Library_set_soversion_script,soversion,versionscript) # $(call gb_Library_set_soversion_script,versionscript)
define gb_Library_set_soversion_script define gb_Library_set_soversion_script
$(if $(2),,$(call gb_Output_error,gb_Library_set_soversion_script: no version)) $(if $(2),,$(call gb_Output_error,gb_Library_set_soversion_script: no script))
$(if $(3),,$(call gb_Output_error,gb_Library_set_soversion_script: no script)) $(if $(3),$(call gb_Output_error,gb_Library_set_soversion_script: too many arguments))
$(call gb_Library__set_soversion_script_platform,$(1),$(2),$(3)) $(call gb_Library__set_soversion_script_platform,$(1),$(2))
endef endef
# The dependency from workdir component target to outdir library should ensure # The dependency from workdir component target to outdir library should ensure
......
...@@ -448,7 +448,7 @@ define gb_LinkTarget__command_impl ...@@ -448,7 +448,7 @@ define gb_LinkTarget__command_impl
$(if $(filter $(true),$(call gb_LinkTarget__is_build_lib,$(2))),\ $(if $(filter $(true),$(call gb_LinkTarget__is_build_lib,$(2))),\
$(call gb_LinkTarget__command,$(1),$(2)),\ $(call gb_LinkTarget__command,$(1),$(2)),\
mkdir -p $(dir $(1)) && echo invalid > $(1) \ mkdir -p $(dir $(1)) && echo invalid > $(1) \
$(if $(SOVERSION),&& echo invalid > $(1).$(SOVERSION))),\ $(if $(SOVERSION),&& echo invalid > $(basename $(1)))),\
$(call gb_LinkTarget__command,$(1),$(2))) $(call gb_LinkTarget__command,$(1),$(2)))
$(call gb_LinkTarget__command_objectlist,$(WORKDIR)/LinkTarget/$(2).objectlist) $(call gb_LinkTarget__command_objectlist,$(WORKDIR)/LinkTarget/$(2).objectlist)
endef endef
...@@ -615,12 +615,11 @@ gb_LinkTarget_CXX_SUFFIX_$(call gb_LinkTarget__get_workdir_linktargetname,$(1)) ...@@ -615,12 +615,11 @@ gb_LinkTarget_CXX_SUFFIX_$(call gb_LinkTarget__get_workdir_linktargetname,$(1))
endef endef
# call gb_LinkTarget_set_soversion_script,linktarget,soversion,soversionscript # call gb_LinkTarget_set_soversion_script,linktarget,soversionscript
define gb_LinkTarget_set_soversion_script define gb_LinkTarget_set_soversion_script
$(call gb_LinkTarget_get_target,$(1)) : $(3) $(call gb_LinkTarget_get_target,$(1)) : $(2)
$(call gb_LinkTarget_get_target,$(1)) : SOVERSION := $(2) $(call gb_LinkTarget_get_target,$(1)) : SOVERSION := $(gb_Library_UDK_MAJORVER)
$(call gb_LinkTarget_get_target,$(1)) : SOVERSIONSCRIPT := $(3) $(call gb_LinkTarget_get_target,$(1)) : SOVERSIONSCRIPT := $(2)
$(call gb_LinkTarget_get_target,$(1)).$(2) : $(call gb_LinkTarget_get_target,$(1))
endef endef
......
...@@ -232,6 +232,10 @@ define gb_Library_get_exports_target ...@@ -232,6 +232,10 @@ define gb_Library_get_exports_target
$(WORKDIR)/LinkTarget/$(call gb_Library__get_workdir_linktargetname,$(1)).exports $(WORKDIR)/LinkTarget/$(call gb_Library__get_workdir_linktargetname,$(1)).exports
endef endef
define gb_Library_get_workdir_target_versionlink
$(WORKDIR)/LinkTarget/$(basename $(call gb_Library__get_workdir_linktargetname,$(1)))
endef
gb_Library__get_final_target = $(WORKDIR)/Dummy/$(1) gb_Library__get_final_target = $(WORKDIR)/Dummy/$(1)
define gb_Library_get_headers_target define gb_Library_get_headers_target
......
...@@ -256,12 +256,12 @@ gb_Library_ILIBFILENAMES :=\ ...@@ -256,12 +256,12 @@ gb_Library_ILIBFILENAMES :=\
$(foreach lib,$(gb_Library_KNOWNLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \ $(foreach lib,$(gb_Library_KNOWNLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
gb_Library_DLLEXT := .dll gb_Library_DLLEXT := .dll
gb_Library_MAJORVER := 3 gb_Library_UDK_MAJORVER := 3
gb_Library_RTEXT := MSC$(gb_Library_DLLEXT) gb_Library_RTEXT := MSC$(gb_Library_DLLEXT)
gb_Library_OOOEXT := $(gb_Library_DLLPOSTFIX)$(gb_Library_DLLEXT) gb_Library_OOOEXT := $(gb_Library_DLLPOSTFIX)$(gb_Library_DLLEXT)
gb_Library_UNOEXT := .uno$(gb_Library_DLLEXT) gb_Library_UNOEXT := .uno$(gb_Library_DLLEXT)
gb_Library_UNOVEREXT := $(gb_Library_MAJORVER)$(gb_Library_DLLEXT) gb_Library_UNOVEREXT := $(gb_Library_UDK_MAJORVER)$(gb_Library_DLLEXT)
gb_Library_RTVEREXT := $(gb_Library_MAJORVER)$(gb_Library_RTEXT) gb_Library_RTVEREXT := $(gb_Library_UDK_MAJORVER)$(gb_Library_RTEXT)
gb_Library_FILENAMES :=\ gb_Library_FILENAMES :=\
$(foreach lib,$(gb_Library_OOOLIBS),$(lib):$(lib)$(gb_Library_OOOEXT)) \ $(foreach lib,$(gb_Library_OOOLIBS),$(lib):$(lib)$(gb_Library_OOOEXT)) \
......
...@@ -102,9 +102,9 @@ gb_LinkTarget__RPATHS := \ ...@@ -102,9 +102,9 @@ gb_LinkTarget__RPATHS := \
OXT: \ OXT: \
NONE:@__________________________________________________NONE/ \ NONE:@__________________________________________________NONE/ \
# $(call gb_LinkTarget__get_installname,libfilename,soversion,layerprefix) # $(call gb_LinkTarget__get_installname,libfilename,layerprefix)
define gb_LinkTarget__get_installname define gb_LinkTarget__get_installname
$(if $(3),-install_name '$(3)$(1)$(if $(2),.$(2))') $(if $(2),-install_name '$(2)$(1)')
endef endef
gb_LinkTarget_CFLAGS := $(gb_CFLAGS) gb_LinkTarget_CFLAGS := $(gb_CFLAGS)
...@@ -141,7 +141,7 @@ $(call gb_Helper_abbreviate_dirs,\ ...@@ -141,7 +141,7 @@ $(call gb_Helper_abbreviate_dirs,\
$(if $(filter Library,$(TARGETTYPE)),$(gb_Library_LTOFLAGS)) \ $(if $(filter Library,$(TARGETTYPE)),$(gb_Library_LTOFLAGS)) \
$(subst \d,$$,$(RPATH)) \ $(subst \d,$$,$(RPATH)) \
$(T_LDFLAGS) \ $(T_LDFLAGS) \
$(patsubst lib%.dylib,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib)))) \ $(patsubst lib%.dylib,-l%,$(patsubst %.$(gb_Library_UDK_MAJORVER),%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib))))) \
$(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \ $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
$(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \ $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
$(foreach object,$(ASMOBJECTS),$(call gb_AsmObject_get_target,$(object))) \ $(foreach object,$(ASMOBJECTS),$(call gb_AsmObject_get_target,$(object))) \
...@@ -152,12 +152,12 @@ $(call gb_Helper_abbreviate_dirs,\ ...@@ -152,12 +152,12 @@ $(call gb_Helper_abbreviate_dirs,\
$(foreach extraobjectlist,$(EXTRAOBJECTLISTS),`cat $(extraobjectlist)`) \ $(foreach extraobjectlist,$(EXTRAOBJECTLISTS),`cat $(extraobjectlist)`) \
$(LIBS) \ $(LIBS) \
$(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) \ $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) \
-o $(if $(SOVERSION),$(1).$(SOVERSION),$(1)) && \ -o $(1) && \
$(if $(SOVERSION),ln -sf $(notdir $(1)).$(SOVERSION) $(1),:) && \ $(if $(SOVERSION),ln -sf $(notdir $(1)) $(ILIBTARGET),:) && \
$(if $(filter Executable,$(TARGETTYPE)), \ $(if $(filter Executable,$(TARGETTYPE)), \
$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl app $(LAYER) $(1) &&) \ $(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl app $(LAYER) $(1) &&) \
$(if $(filter Library Bundle CppunitTest,$(TARGETTYPE)),\ $(if $(filter Library Bundle CppunitTest,$(TARGETTYPE)),\
$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl shl $(LAYER) $(if $(SOVERSION),$(1).$(SOVERSION),$(1)) &&) \ $(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl shl $(LAYER) $(1) &&) \
$(if $(MACOSX_CODESIGNING_IDENTITY), \ $(if $(MACOSX_CODESIGNING_IDENTITY), \
$(if $(filter Executable,$(TARGETTYPE)), \ $(if $(filter Executable,$(TARGETTYPE)), \
(codesign --identifier=$(MACOSX_BUNDLE_IDENTIFIER).$(notdir $(1)) --sign $(MACOSX_CODESIGNING_IDENTITY) --force $(1) || true) &&)) \ (codesign --identifier=$(MACOSX_BUNDLE_IDENTIFIER).$(notdir $(1)) --sign $(MACOSX_CODESIGNING_IDENTITY) --force $(1) || true) &&)) \
...@@ -205,6 +205,7 @@ endef ...@@ -205,6 +205,7 @@ endef
gb_Library_DEFS := gb_Library_DEFS :=
gb_Library_TARGETTYPEFLAGS := -dynamiclib -single_module gb_Library_TARGETTYPEFLAGS := -dynamiclib -single_module
gb_Bundle_TARGETTYPEFLAGS := -bundle gb_Bundle_TARGETTYPEFLAGS := -bundle
gb_Library_UDK_MAJORVER := 3
gb_Library_SYSPRE := lib gb_Library_SYSPRE := lib
gb_Library_UNOVERPRE := $(gb_Library_SYSPRE)uno_ gb_Library_UNOVERPRE := $(gb_Library_SYSPRE)uno_
gb_Library_PLAINEXT := .dylib gb_Library_PLAINEXT := .dylib
...@@ -220,8 +221,8 @@ gb_Library_FILENAMES := \ ...@@ -220,8 +221,8 @@ gb_Library_FILENAMES := \
$(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \ $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
$(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \ $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
$(foreach lib,$(gb_Library_PRIVATELIBS_URE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_OOOEXT)) \ $(foreach lib,$(gb_Library_PRIVATELIBS_URE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_OOOEXT)) \
$(foreach lib,$(gb_Library_RTVERLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTEXT)) \ $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTEXT).$(gb_Library_UDK_MAJORVER)) \
$(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):$(gb_Library_UNOVERPRE)$(lib)$(gb_Library_PLAINEXT)) \ $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):$(gb_Library_UNOVERPRE)$(lib)$(gb_Library_PLAINEXT).$(gb_Library_UDK_MAJORVER)) \
$(foreach lib,$(gb_Library_EXTENSIONLIBS),$(lib):$(lib)$(gb_Library_UNOEXT)) \ $(foreach lib,$(gb_Library_EXTENSIONLIBS),$(lib):$(lib)$(gb_Library_UNOEXT)) \
...@@ -236,13 +237,12 @@ gb_Library_LAYER := \ ...@@ -236,13 +237,12 @@ gb_Library_LAYER := \
$(foreach lib,$(gb_Library_EXTENSIONLIBS),$(lib):OXT) \ $(foreach lib,$(gb_Library_EXTENSIONLIBS),$(lib):OXT) \
define gb_Library_get_rpath define gb_Library_get_rpath
$(call gb_LinkTarget__get_installname,$(call gb_Library_get_filename,$(1)),$(2),$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Library_get_layer,$(1)))) $(call gb_LinkTarget__get_installname,$(call gb_Library_get_filename,$(1)),$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Library_get_layer,$(1))))
endef endef
# RPATH def is delayed until the link command to get current value of SOVERSION
define gb_Library_Library_platform define gb_Library_Library_platform
$(call gb_LinkTarget_get_target,$(2)) : \ $(call gb_LinkTarget_get_target,$(2)) : \
RPATH = $$(call gb_Library_get_rpath,$(1),$$(SOVERSION)) RPATH := $(call gb_Library_get_rpath,$(1))
$(call gb_LinkTarget_get_target,$(2)) : LAYER := $(call gb_Library_get_layer,$(1)) $(call gb_LinkTarget_get_target,$(2)) : LAYER := $(call gb_Library_get_layer,$(1))
endef endef
......
...@@ -172,7 +172,7 @@ $(call gb_Helper_abbreviate_dirs,\ ...@@ -172,7 +172,7 @@ $(call gb_Helper_abbreviate_dirs,\
$(if $(CXXOBJECTS)$(GENCXXOBJECTS)$(EXTRAOBJECTLISTS),$(gb_CXX),$(gb_CC)) \ $(if $(CXXOBJECTS)$(GENCXXOBJECTS)$(EXTRAOBJECTLISTS),$(gb_CXX),$(gb_CC)) \
$(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \ $(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
$(if $(filter-out $(foreach lib,frm scfilt wpftdraw,$(call gb_Library__get_workdir_linktargetname,$(lib))),$(2)),$(gb_LTOFLAGS)) \ $(if $(filter-out $(foreach lib,frm scfilt wpftdraw,$(call gb_Library__get_workdir_linktargetname,$(lib))),$(2)),$(gb_LTOFLAGS)) \
$(if $(SOVERSION),-Wl$(COMMA)--soname=$(notdir $(1)).$(SOVERSION)) \ $(if $(SOVERSION),-Wl$(COMMA)--soname=$(notdir $(1))) \
$(if $(SOVERSIONSCRIPT),-Wl$(COMMA)--version-script=$(SOVERSIONSCRIPT))\ $(if $(SOVERSIONSCRIPT),-Wl$(COMMA)--version-script=$(SOVERSIONSCRIPT))\
$(subst \d,$$,$(RPATH)) \ $(subst \d,$$,$(RPATH)) \
$(T_LDFLAGS) \ $(T_LDFLAGS) \
...@@ -185,10 +185,10 @@ $(call gb_Helper_abbreviate_dirs,\ ...@@ -185,10 +185,10 @@ $(call gb_Helper_abbreviate_dirs,\
-Wl$(COMMA)--start-group $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) -Wl$(COMMA)--end-group \ -Wl$(COMMA)--start-group $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) -Wl$(COMMA)--end-group \
-Wl$(COMMA)--no-as-needed \ -Wl$(COMMA)--no-as-needed \
$(LIBS) \ $(LIBS) \
$(patsubst lib%.a,-l%,$(patsubst lib%.so,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib))))) \ $(patsubst lib%.a,-l%,$(patsubst lib%.so,-l%,$(patsubst %.$(gb_Library_UDK_MAJORVER),%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib)))))) \
-o $(if $(SOVERSION),$(1).$(SOVERSION),$(1))) -o $(1) \
$(if $(SOVERSION),ln -sf $(notdir $(1)).$(SOVERSION) $(1)) $(if $(SOVERSION),&& ln -sf $(notdir $(1)) $(ILIBTARGET)) \
$(if $(filter Library,$(TARGETTYPE)),\ $(if $(filter Library,$(TARGETTYPE)),&& \
readelf -d $(1) | grep SONAME > $(1).exports.tmp ; \ readelf -d $(1) | grep SONAME > $(1).exports.tmp ; \
$(NM) --dynamic --extern-only --defined-only --format=posix $(1) \ $(NM) --dynamic --extern-only --defined-only --format=posix $(1) \
| cut -d' ' -f1-2 \ | cut -d' ' -f1-2 \
...@@ -196,7 +196,7 @@ $(call gb_Helper_abbreviate_dirs,\ ...@@ -196,7 +196,7 @@ $(call gb_Helper_abbreviate_dirs,\
if cmp -s $(1).exports.tmp $(1).exports; \ if cmp -s $(1).exports.tmp $(1).exports; \
then rm $(1).exports.tmp; \ then rm $(1).exports.tmp; \
else mv $(1).exports.tmp $(1).exports; touch -r $(1) $(1).exports; \ else mv $(1).exports.tmp $(1).exports; touch -r $(1) $(1).exports; \
fi) fi))
endef endef
define gb_LinkTarget__command_staticlink define gb_LinkTarget__command_staticlink
...@@ -224,6 +224,7 @@ endef ...@@ -224,6 +224,7 @@ endef
gb_Library_DEFS := gb_Library_DEFS :=
gb_Library_TARGETTYPEFLAGS := -shared gb_Library_TARGETTYPEFLAGS := -shared
gb_Library_UDK_MAJORVER := 3
gb_Library_SYSPRE := lib gb_Library_SYSPRE := lib
gb_Library_UNOVERPRE := $(gb_Library_SYSPRE)uno_ gb_Library_UNOVERPRE := $(gb_Library_SYSPRE)uno_
gb_Library_PLAINEXT := .so gb_Library_PLAINEXT := .so
...@@ -244,8 +245,8 @@ gb_Library_FILENAMES := \ ...@@ -244,8 +245,8 @@ gb_Library_FILENAMES := \
$(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \ $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
$(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \ $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
$(foreach lib,$(gb_Library_PRIVATELIBS_URE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_OOOEXT)) \ $(foreach lib,$(gb_Library_PRIVATELIBS_URE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_OOOEXT)) \
$(foreach lib,$(gb_Library_RTVERLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTEXT)) \ $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTEXT).$(gb_Library_UDK_MAJORVER)) \
$(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):$(gb_Library_UNOVERPRE)$(lib)$(gb_Library_PLAINEXT)) \ $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):$(gb_Library_UNOVERPRE)$(lib)$(gb_Library_PLAINEXT).$(gb_Library_UDK_MAJORVER)) \
$(foreach lib,$(gb_Library_EXTENSIONLIBS),$(lib):$(lib)$(gb_Library_UNOEXT)) \ $(foreach lib,$(gb_Library_EXTENSIONLIBS),$(lib):$(lib)$(gb_Library_UNOEXT)) \
......
...@@ -174,7 +174,7 @@ $(call gb_Helper_abbreviate_dirs,\ ...@@ -174,7 +174,7 @@ $(call gb_Helper_abbreviate_dirs,\
$(if $(CXXOBJECTS)$(GENCXXOBJECTS)$(EXTRAOBJECTLISTS),$(gb_CXX),$(gb_CC)) \ $(if $(CXXOBJECTS)$(GENCXXOBJECTS)$(EXTRAOBJECTLISTS),$(gb_CXX),$(gb_CC)) \
$(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \ $(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
$(if $(filter-out $(foreach lib,frm scfilt wpftdraw,$(call gb_Library__get_workdir_linktargetname,$(lib))),$(2)),$(gb_LTOFLAGS)) \ $(if $(filter-out $(foreach lib,frm scfilt wpftdraw,$(call gb_Library__get_workdir_linktargetname,$(lib))),$(2)),$(gb_LTOFLAGS)) \
$(if $(SOVERSION),-Wl$(COMMA)--soname=$(notdir $(1)).$(SOVERSION)) \ $(if $(SOVERSION),-Wl$(COMMA)--soname=$(notdir $(1))) \
$(if $(SOVERSIONSCRIPT),-Wl$(COMMA)--version-script=$(SOVERSIONSCRIPT))\ $(if $(SOVERSIONSCRIPT),-Wl$(COMMA)--version-script=$(SOVERSIONSCRIPT))\
$(subst \d,$$,$(RPATH)) \ $(subst \d,$$,$(RPATH)) \
$(T_LDFLAGS) \ $(T_LDFLAGS) \
...@@ -187,10 +187,10 @@ $(call gb_Helper_abbreviate_dirs,\ ...@@ -187,10 +187,10 @@ $(call gb_Helper_abbreviate_dirs,\
-Wl$(COMMA)--start-group $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) -Wl$(COMMA)--end-group \ -Wl$(COMMA)--start-group $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) -Wl$(COMMA)--end-group \
-Wl$(COMMA)--no-as-needed \ -Wl$(COMMA)--no-as-needed \
$(LIBS) \ $(LIBS) \
$(patsubst lib%.a,-l%,$(patsubst lib%.so,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib))))) \ $(patsubst lib%.a,-l%,$(patsubst lib%.so,-l%,$(patsubst %.$(gb_Library_UDK_MAJORVER),%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib)))))) \
-o $(if $(SOVERSION),$(1).$(SOVERSION),$(1))) -o $(1) \
$(if $(SOVERSION),ln -sf $(notdir $(1)).$(SOVERSION) $(1)) $(if $(SOVERSION),&& ln -sf $(notdir $(1)) $(ILIBTARGET)) \
$(if $(filter Library,$(TARGETTYPE)),\ $(if $(filter Library,$(TARGETTYPE)),&& \
readelf -d $(1) | grep SONAME > $(1).exports.tmp ; \ readelf -d $(1) | grep SONAME > $(1).exports.tmp ; \
$(NM) --dynamic --extern-only --defined-only --format=posix $(1) \ $(NM) --dynamic --extern-only --defined-only --format=posix $(1) \
| cut -d' ' -f1-2 \ | cut -d' ' -f1-2 \
...@@ -198,7 +198,7 @@ $(call gb_Helper_abbreviate_dirs,\ ...@@ -198,7 +198,7 @@ $(call gb_Helper_abbreviate_dirs,\
if cmp -s $(1).exports.tmp $(1).exports; \ if cmp -s $(1).exports.tmp $(1).exports; \
then rm $(1).exports.tmp; \ then rm $(1).exports.tmp; \
else mv $(1).exports.tmp $(1).exports; touch -r $(1) $(1).exports; \ else mv $(1).exports.tmp $(1).exports; touch -r $(1) $(1).exports; \
fi) fi))
endef endef
define gb_LinkTarget__command_staticlink define gb_LinkTarget__command_staticlink
...@@ -226,6 +226,7 @@ endef ...@@ -226,6 +226,7 @@ endef
gb_Library_DEFS := gb_Library_DEFS :=
gb_Library_TARGETTYPEFLAGS := -shared -Wl,-z,noexecstack gb_Library_TARGETTYPEFLAGS := -shared -Wl,-z,noexecstack
gb_Library_UDK_MAJORVER := 3
gb_Library_SYSPRE := lib gb_Library_SYSPRE := lib
gb_Library_UNOVERPRE := $(gb_Library_SYSPRE)uno_ gb_Library_UNOVERPRE := $(gb_Library_SYSPRE)uno_
gb_Library_PLAINEXT := .so gb_Library_PLAINEXT := .so
...@@ -241,8 +242,8 @@ gb_Library_FILENAMES := \ ...@@ -241,8 +242,8 @@ gb_Library_FILENAMES := \
$(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \ $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
$(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \ $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
$(foreach lib,$(gb_Library_PRIVATELIBS_URE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_OOOEXT)) \ $(foreach lib,$(gb_Library_PRIVATELIBS_URE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_OOOEXT)) \
$(foreach lib,$(gb_Library_RTVERLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTEXT)) \ $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTEXT).$(gb_Library_UDK_MAJORVER)) \
$(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):$(gb_Library_UNOVERPRE)$(lib)$(gb_Library_PLAINEXT)) \ $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):$(gb_Library_UNOVERPRE)$(lib)$(gb_Library_PLAINEXT).$(gb_Library_UDK_MAJORVER)) \
$(foreach lib,$(gb_Library_EXTENSIONLIBS),$(lib):$(lib)$(gb_Library_UNOEXT)) \ $(foreach lib,$(gb_Library_EXTENSIONLIBS),$(lib):$(lib)$(gb_Library_UNOEXT)) \
......
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