diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2012-11-22 09:22:08 +0000 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2012-11-22 09:22:08 +0000 |
commit | de927bd088d7d9419d6f7dd4222969ac0bf98bfe (patch) | |
tree | 51f5e74095c81298d1e0375e347f437470f2cab6 | |
parent | 6dfc8f6caaf756060a9260139f5b3b6d254c9bb2 (diff) | |
download | ATCD-de927bd088d7d9419d6f7dd4222969ac0bf98bfe.tar.gz |
Thu Nov 22 09:20:46 UTC 2012 Johnny Willemsen <jwillemsen@remedy.nl>
* include/makeinclude/platform_g++_common.GNU:
* include/makeinclude/rules.lib.GNU:
* include/makeinclude/rules.local.GNU:
* include/makeinclude/wrapper_macros.GNU:
Added support for versioned_so=2, that will create
for example libACE-6.1.6.so instead of libACE.so.6.1.6
* debian/patches/20-versioned_libs.diff:
Removed this file.
-rw-r--r-- | ACE/ChangeLog | 12 | ||||
-rw-r--r-- | ACE/debian/patches/20-versioned_libs.diff | 137 | ||||
-rw-r--r-- | ACE/include/makeinclude/platform_g++_common.GNU | 2 | ||||
-rw-r--r-- | ACE/include/makeinclude/rules.lib.GNU | 28 | ||||
-rw-r--r-- | ACE/include/makeinclude/rules.local.GNU | 16 | ||||
-rw-r--r-- | ACE/include/makeinclude/wrapper_macros.GNU | 5 |
6 files changed, 53 insertions, 147 deletions
diff --git a/ACE/ChangeLog b/ACE/ChangeLog index d24c37bc5ab..8ece4f422f2 100644 --- a/ACE/ChangeLog +++ b/ACE/ChangeLog @@ -1,3 +1,15 @@ +Thu Nov 22 09:20:46 UTC 2012 Johnny Willemsen <jwillemsen@remedy.nl> + + * include/makeinclude/platform_g++_common.GNU: + * include/makeinclude/rules.lib.GNU: + * include/makeinclude/rules.local.GNU: + * include/makeinclude/wrapper_macros.GNU: + Added support for versioned_so=2, that will create + for example libACE-6.1.6.so instead of libACE.so.6.1.6 + + * debian/patches/20-versioned_libs.diff: + Removed this file. + Wed Nov 21 10:18:22 UTC 2012 Johnny Willemsen <jwillemsen@remedy.nl> * debian/libace-xml-utils-6.1.6.install: diff --git a/ACE/debian/patches/20-versioned_libs.diff b/ACE/debian/patches/20-versioned_libs.diff deleted file mode 100644 index bbb934a2688..00000000000 --- a/ACE/debian/patches/20-versioned_libs.diff +++ /dev/null @@ -1,137 +0,0 @@ -Description: Change versioning from libACE.so.x.y.z to libACE-x.y.z.so - ACE+TAO library names (and SONAMEs) default to libfoo.so.x.y.z. Since no - ABI/API is guaranteed between ACE+TAO versions, this patch implements - recommended (e.g. libtool) naming in these cases, i.e. libfoo-x.y.z.so. -Forwarded: submitted, more work needed before acceptance -Author: Thomas Girard <thomas.g.girard@free.fr> -Last-Update: 2010-12-26 - ---- pkg-ace.orig/include/makeinclude/wrapper_macros.GNU -+++ pkg-ace/include/makeinclude/wrapper_macros.GNU -@@ -78,7 +78,10 @@ - # If versioned_so is 1 (enabled), the SOVERSION make - # variable can also be set to specify the version info - # to append to the name - it should have a leading '.' - --# else it defaults to .ACE_MAJOR.ACE_MINOR.ACE_BETA. -+# else it defaults to .ACE_MAJOR.ACE_MINOR.ACE_BETA. If 2, -+# the version will be appended to the name but *before* the -+# $(SOEXT) - it should have a lead '-' - else it defaults to -+# -ACE_MAJOR.ACE_MINOR.ACE_BETA. - # wfmo Build with wfmo support (Win32 only) - # winregistry Build with windows registry support (Win32 only) - # winnt Build WinNT-specific projects (Win32 only) ---- pkg-ace.orig/MPC/prj_install.pl -+++ pkg-ace/MPC/prj_install.pl -@@ -186,7 +186,7 @@ - my $fh = new FileHandle(); - if (opendir($fh, $odir)) { - foreach my $file (grep(!/^\.\.?$/, readdir($fh))) { -- if ($file =~ /^lib$name\.(a|so|sl|dylib)/ || -+ if ($file =~ /^lib$name(-[0-9]+(\.[0-9]+)*)?\.(a|so|sl|dylib)/ || - $file =~ /^(lib)?$name.*\.(dll|lib)$/i) { - push(@libs, "$dir$insdir$binarydir$file"); - } ---- pkg-ace.orig/include/makeinclude/platform_g++_common.GNU -+++ pkg-ace/include/makeinclude/platform_g++_common.GNU -@@ -102,7 +102,7 @@ - # If the platform file didn't already set versioned_so, default to 1. - versioned_so ?= 1 - with_ld ?= --ifeq ($(versioned_so),1) -+ifneq ($(versioned_so),0) - ifeq ($(with_ld),hpux) - SOFLAGS += -Wl,+h -Wl,$(SONAME) - else ---- pkg-ace.orig/include/makeinclude/rules.lib.GNU -+++ pkg-ace/include/makeinclude/rules.lib.GNU -@@ -11,7 +11,7 @@ - # Library versioning - #--------------------------------------------------------------------------- - --ifeq ($(versioned_so),1) -+ifneq ($(versioned_so),0) - # Turn on symbol versioning. The scheme that we follow is to allow - # applications dependent on libraries, with same version numbers (major, - # minor and beta) to run, but applications with dependencies on libraries -@@ -20,13 +20,23 @@ - # Version number of the libraries - # - ifeq ($(SOVERSION),) -- SOVERSION = .$(GNUACE_PROJECT_VERSION) -+ ifeq ($(versioned_so),1) -+ SOVERSION = .$(GNUACE_PROJECT_VERSION) -+ else ifeq ($(versioned_so),2) -+ SOVERSION = -$(GNUACE_PROJECT_VERSION) -+ else -+ $(error unknown value for versioned_so: $(versioned_so)) -+ endif - endif # SOVERSION - - # Name that will be written into the dynamic library - # - ifeq ($(SONAME),) -- SONAME = $(SHLIB)$(SOVERSION) -+ ifeq ($(versioned_so),1) -+ SONAME = $(SHLIB)$(SOVERSION) -+ else ifeq ($(versioned_so),2) -+ SONAME = $(patsubst %.$(SOEXT),%,$(SHLIB))$(SOVERSION).$(SOEXT) -+ endif - endif # SONAME - endif # versioned_so - -@@ -47,9 +57,15 @@ - # Setup shared library variables, including versions. - VSHLIB_NO_VER = $(ARCH_SHLIB:%.$(SOEXT)=%$(VAR).$(SOEXT)) - CLEANUP_VSHLIB_NO_VER = $(CLEANUP_SHLIB:%.$(SOEXT)=%$(VAR).$(SOEXT)) --VSHLIB = $(VSHLIB_NO_VER:%=%$(SOVERSION)) --CLEANUP_VSHLIB = $(CLEANUP_VSHLIB_NO_VER:%=%$(SOVERSION)) --SHLIB_WITH_VER = $(SHLIB:%=%$(SOVERSION)) -+ifneq ($(versioned_so),2) -+ VSHLIB = $(VSHLIB_NO_VER:%=%$(SOVERSION)) -+ CLEANUP_VSHLIB = $(CLEANUP_VSHLIB_NO_VER:%=%$(SOVERSION)) -+ SHLIB_WITH_VER = $(SHLIB:%=%$(SOVERSION)) -+else -+ VSHLIB = $(patsubst %.$(SOEXT),%,$(VSHLIB_NO_VER))$(SOVERSION).$(SOEXT) -+ CLEANUP_VSHLIB = $(patsubst %.$(SOEXT),%,$(CLEANUP_VSHLIB_NO_VER))$(SOVERSION).$(SOEXT) -+ SHLIB_WITH_VER = $(patsubst %.$(SOEXT),%,$(SHLIB))$(SOVERSION).$(SOEXT) -+endif - - SHLIBA ?= - VSHLIBA = $(ARCH_SHLIBA:%.$(LIBEXT)=%$(VAR).$(LIBEXT)) ---- pkg-ace.orig/include/makeinclude/rules.local.GNU -+++ pkg-ace/include/makeinclude/rules.local.GNU -@@ -312,13 +312,23 @@ - fi - else #firstword of LN_S is not cp, so we're using real symlinks - ifneq ($(SOVERSION),) -- @if test $(ARCH_SOURCE_DIR) != $(@D) ; then \ -+ ifneq ($(versioned_so),2) -+ @if test $(ARCH_SOURCE_DIR) != $(@D) ; then \ - if test ! -s $@ ; then \ - $(RM) $(@:%.$(SOEXT)$(SOVERSION)=%.$(SOEXT)); \ - echo $(LN_S) $(ARCH_SOURCE_DIR)/$(@F) $(@:%.$(SOEXT)$(SOVERSION)=%.$(SOEXT)); \ - $(LN_S) $(ARCH_SOURCE_DIR)/$(@F) $(@:%.$(SOEXT)$(SOVERSION)=%.$(SOEXT)); \ - fi ; \ -- fi -+ fi -+ else -+ @if test $(ARCH_SOURCE_DIR) != $(@D) ; then \ -+ if test ! -s $@ ; then \ -+ $(RM) $(@:%$(SOVERSION).$(SOEXT)=%.$(SOEXT)); \ -+ echo $(LN_S) $(ARCH_SOURCE_DIR)/$(@F) $(@:%$(SOVERSION).$(SOEXT)=%.$(SOEXT)); \ -+ $(LN_S) $(ARCH_SOURCE_DIR)/$(@F) $(@:%$(SOVERSION).$(SOEXT)=%.$(SOEXT)); \ -+ fi ; \ -+ fi -+ endif #versioned_so - endif #SOVERSION - @if test $(ARCH_SOURCE_DIR) != $(@D) ; then \ - if test ! -s $@ ; then \ -@@ -351,6 +361,8 @@ - -$(RM) $(SHLIB_UNCHECKED) - ifeq ($(versioned_so),1) - -$(RM) $(SHLIB_UNCHECKED)$(SOVERSION) -+else ifeq ($(versioned_so),2) -+ -$(RM) $(SHLIB_UNCHECKED:.$(SOEXT)=$(SOVERSION).$(SOEXT)) - endif - endif - diff --git a/ACE/include/makeinclude/platform_g++_common.GNU b/ACE/include/makeinclude/platform_g++_common.GNU index 8dd0d9f7a55..291c259a71e 100644 --- a/ACE/include/makeinclude/platform_g++_common.GNU +++ b/ACE/include/makeinclude/platform_g++_common.GNU @@ -105,7 +105,7 @@ templates ?= automatic # If the platform file didn't already set versioned_so, default to 1. versioned_so ?= 1 with_ld ?= -ifeq ($(versioned_so),1) +ifneq ($(versioned_so),0) ifeq ($(with_ld),hpux) SOFLAGS += -Wl,+h -Wl,$(SONAME) else diff --git a/ACE/include/makeinclude/rules.lib.GNU b/ACE/include/makeinclude/rules.lib.GNU index 5a93b35934f..3246912f54d 100644 --- a/ACE/include/makeinclude/rules.lib.GNU +++ b/ACE/include/makeinclude/rules.lib.GNU @@ -11,7 +11,7 @@ # Library versioning #--------------------------------------------------------------------------- -ifeq ($(versioned_so),1) +ifneq ($(versioned_so),0) # Turn on symbol versioning. The scheme that we follow is to allow # applications dependent on libraries, with same version numbers (major, # minor and beta) to run, but applications with dependencies on libraries @@ -20,13 +20,23 @@ ifeq ($(versioned_so),1) # Version number of the libraries # ifeq ($(SOVERSION),) - SOVERSION = .$(GNUACE_PROJECT_VERSION) + ifeq ($(versioned_so),1) + SOVERSION = .$(GNUACE_PROJECT_VERSION) + else ifeq ($(versioned_so),2) + SOVERSION = -$(GNUACE_PROJECT_VERSION) + else + $(error unknown value for versioned_so: $(versioned_so)) + endif endif # SOVERSION # Name that will be written into the dynamic library # ifeq ($(SONAME),) - SONAME = $(SHLIB)$(SOVERSION) + ifeq ($(versioned_so),1) + SONAME = $(SHLIB)$(SOVERSION) + else ifeq ($(versioned_so),2) + SONAME = $(patsubst %.$(SOEXT),%,$(SHLIB))$(SOVERSION).$(SOEXT) + endif endif # SONAME endif # versioned_so @@ -47,9 +57,15 @@ SHLIB ?= # Setup shared library variables, including versions. VSHLIB_NO_VER = $(ARCH_SHLIB:%.$(SOEXT)=%$(VAR).$(SOEXT)) CLEANUP_VSHLIB_NO_VER = $(CLEANUP_SHLIB:%.$(SOEXT)=%$(VAR).$(SOEXT)) -VSHLIB = $(VSHLIB_NO_VER:%=%$(SOVERSION)) -CLEANUP_VSHLIB = $(CLEANUP_VSHLIB_NO_VER:%=%$(SOVERSION)) -SHLIB_WITH_VER = $(SHLIB:%=%$(SOVERSION)) +ifneq ($(versioned_so),2) + VSHLIB = $(VSHLIB_NO_VER:%=%$(SOVERSION)) + CLEANUP_VSHLIB = $(CLEANUP_VSHLIB_NO_VER:%=%$(SOVERSION)) + SHLIB_WITH_VER = $(SHLIB:%=%$(SOVERSION)) +else + VSHLIB = $(patsubst %.$(SOEXT),%,$(VSHLIB_NO_VER))$(SOVERSION).$(SOEXT) + CLEANUP_VSHLIB = $(patsubst %.$(SOEXT),%,$(CLEANUP_VSHLIB_NO_VER))$(SOVERSION).$(SOEXT) + SHLIB_WITH_VER = $(patsubst %.$(SOEXT),%,$(SHLIB))$(SOVERSION).$(SOEXT) +endif SHLIBA ?= VSHLIBA = $(ARCH_SHLIBA:%.$(LIBEXT)=%$(VAR).$(LIBEXT)) diff --git a/ACE/include/makeinclude/rules.local.GNU b/ACE/include/makeinclude/rules.local.GNU index ff9d3def7bd..6db75a7fe78 100644 --- a/ACE/include/makeinclude/rules.local.GNU +++ b/ACE/include/makeinclude/rules.local.GNU @@ -312,13 +312,23 @@ else #not vxworks_ntbuild fi else #firstword of LN_S is not cp, so we're using real symlinks ifneq ($(SOVERSION),) - @if test $(ARCH_SOURCE_DIR) != $(@D) ; then \ + ifneq ($(versioned_so),2) + @if test $(ARCH_SOURCE_DIR) != $(@D) ; then \ if test ! -s $@ ; then \ $(RM) $(@:%.$(SOEXT)$(SOVERSION)=%.$(SOEXT)); \ echo $(LN_S) $(ARCH_SOURCE_DIR)/$(@F) $(@:%.$(SOEXT)$(SOVERSION)=%.$(SOEXT)); \ $(LN_S) $(ARCH_SOURCE_DIR)/$(@F) $(@:%.$(SOEXT)$(SOVERSION)=%.$(SOEXT)); \ fi ; \ - fi + fi + else + @if test $(ARCH_SOURCE_DIR) != $(@D) ; then \ + if test ! -s $@ ; then \ + $(RM) $(@:%$(SOVERSION).$(SOEXT)=%.$(SOEXT)); \ + echo $(LN_S) $(ARCH_SOURCE_DIR)/$(@F) $(@:%$(SOVERSION).$(SOEXT)=%.$(SOEXT)); \ + $(LN_S) $(ARCH_SOURCE_DIR)/$(@F) $(@:%$(SOVERSION).$(SOEXT)=%.$(SOEXT)); \ + fi ; \ + fi + endif #versioned_so endif #SOVERSION @if test $(ARCH_SOURCE_DIR) != $(@D) ; then \ if test ! -s $@ ; then \ @@ -351,6 +361,8 @@ ifneq ($(SHLIB_UNCHECKED),) -$(RM) $(SHLIB_UNCHECKED) ifeq ($(versioned_so),1) -$(RM) $(SHLIB_UNCHECKED)$(SOVERSION) +else ifeq ($(versioned_so),2) + -$(RM) $(SHLIB_UNCHECKED:.$(SOEXT)=$(SOVERSION).$(SOEXT)) endif endif diff --git a/ACE/include/makeinclude/wrapper_macros.GNU b/ACE/include/makeinclude/wrapper_macros.GNU index d4c888502f0..3a173884310 100644 --- a/ACE/include/makeinclude/wrapper_macros.GNU +++ b/ACE/include/makeinclude/wrapper_macros.GNU @@ -78,7 +78,10 @@ # If versioned_so is 1 (enabled), the SOVERSION make # variable can also be set to specify the version info # to append to the name - it should have a leading '.' - -# else it defaults to .ACE_MAJOR.ACE_MINOR.ACE_BETA. +# else it defaults to .ACE_MAJOR.ACE_MINOR.ACE_BETA. If 2, +# the version will be appended to the name but *before* the +# $(SOEXT) - it should have a lead '-' - else it defaults to +# -ACE_MAJOR.ACE_MINOR.ACE_BETA. # wfmo Build with wfmo support (Win32 only) # winregistry Build with windows registry support (Win32 only) # winnt Build WinNT-specific projects (Win32 only) |