solenv/gbuild/Library.mk | 7 +------ solenv/gbuild/LinkTarget.mk | 12 ++++++++++++ 2 files changed, 13 insertions(+), 6 deletions(-)
New commits: commit fc4181678c72b891ae6fe909409ba486c26a6f1e Author: David Tardon <dtar...@redhat.com> Date: Sun Sep 16 19:50:15 2012 +0200 SOVERSION is used by LinkTarget, so set it there Relying on inheritance of variables by prerequisites may cause all sorts of weird problems, e.g., an executable being linked with -Wl,--soname=... just because a library with explicitly set soname happened to depend on it. I wonder if we should make most of the target-specific variables private.... Change-Id: Id337ace462973e7af12e62414b81739e3e873d96 diff --git a/solenv/gbuild/Library.mk b/solenv/gbuild/Library.mk index 157be8c..38a9bac 100644 --- a/solenv/gbuild/Library.mk +++ b/solenv/gbuild/Library.mk @@ -62,7 +62,6 @@ $$(eval $$(call gb_Output_error,Library $(1) must be registered in Repository.mk endif $(call gb_Library_get_target,$(1)) : AUXTARGETS := $(call gb_Library_get_target,$(1)) : SOVERSION := -$(call gb_Library_get_target,$(1)) : SOVERSIONSCRIPT := $(call gb_Library__Library_impl,$(1),$(call gb_Library_get_linktargetname,$(1))) endef @@ -84,15 +83,11 @@ $(call gb_Deliver_add_deliverable,$(call gb_Library_get_target,$(1)),$(call gb_L endef define gb_Library__set_soversion_script -$(call gb_LinkTarget_get_target,$(call gb_Library_get_linktargetname,$(1))) : \ - $(3) +$(call gb_LinkTarget_set_soversion_script,$(call gb_Library_get_linktargetname,$(1)),$(2),$(3)) $(call gb_Library_get_target,$(1)) : SOVERSION := $(2) -$(call gb_Library_get_target,$(1)) : SOVERSIONSCRIPT := $(3) $(call gb_Library_get_target,$(1)) \ $(call gb_Library_get_clean_target,$(1)) : \ AUXTARGETS += $(call gb_Library_get_target,$(1)).$(2) -$(call gb_LinkTarget_add_auxtargets,$(call gb_Library_get_linktargetname,$(1)),\ - $(call gb_LinkTarget_get_target,$(call gb_Library_get_linktargetname,$(1))).$(2)) endef # for libraries that maintain stable ABI: set SOVERSION and version script diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk index 7599597..4d9dea0 100644 --- a/solenv/gbuild/LinkTarget.mk +++ b/solenv/gbuild/LinkTarget.mk @@ -491,6 +491,8 @@ $(call gb_LinkTarget_get_target,$(1)) : PDBFILE := $(call gb_LinkTarget_get_target,$(1)) : EXTRAOBJECTLISTS := $(call gb_LinkTarget_get_target,$(1)) : NATIVERES := $(call gb_LinkTarget_get_target,$(1)) : WARNINGS_NOT_ERRORS := +$(call gb_LinkTarget_get_target,$(1)) : SOVERSION := +$(call gb_LinkTarget_get_target,$(1)) : SOVERSIONSCRIPT := ifeq ($(gb_FULLDEPS),$(true)) -include $(call gb_LinkTarget_get_dep_target,$(1)) @@ -514,10 +516,20 @@ $(call gb_LinkTarget_get_dep_target,$(1)) : TARGETTYPE := $(call gb_LinkTarget_get_dep_target,$(1)) : LIBRARY_X64 := $(call gb_LinkTarget_get_dep_target,$(1)) : EXTRAOBJECTLISTS := $(call gb_LinkTarget_get_dep_target,$(1)) : WARNINGS_NOT_ERRORS := +$(call gb_LinkTarget_get_dep_target,$(1)) : SOVERSION := +$(call gb_LinkTarget_get_dep_target,$(1)) : SOVERSIONSCRIPT := endif endef +define gb_LinkTarget_set_soversion_script +$(call gb_LinkTarget_get_target,$(1)) : $(3) +$(call gb_LinkTarget_get_target,$(1)) : SOVERSION := $(2) +$(call gb_LinkTarget_get_target,$(1)) : SOVERSIONSCRIPT := $(3) +$(call gb_LinkTarget_add_auxtargets,$(1),$(call gb_LinkTarget_get_target,$(1)).$(2)) + +endef + define gb_LinkTarget_add_defs $(call gb_LinkTarget_get_headers_target,$(1)) \ $(call gb_LinkTarget_get_target,$(1)) : DEFS += $(2) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits