[Libreoffice-commits] .: Branch 'feature/gbuild_ure' - solenv/gbuild

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Sun Sep 16 10:59:17 PDT 2012


 solenv/gbuild/Library.mk    |    7 +------
 solenv/gbuild/LinkTarget.mk |   12 ++++++++++++
 2 files changed, 13 insertions(+), 6 deletions(-)

New commits:
commit fc4181678c72b891ae6fe909409ba486c26a6f1e
Author: David Tardon <dtardon at 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)


More information about the Libreoffice-commits mailing list