summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2012-11-22 09:22:08 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2012-11-22 09:22:08 +0000
commitde927bd088d7d9419d6f7dd4222969ac0bf98bfe (patch)
tree51f5e74095c81298d1e0375e347f437470f2cab6
parent6dfc8f6caaf756060a9260139f5b3b6d254c9bb2 (diff)
downloadATCD-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/ChangeLog12
-rw-r--r--ACE/debian/patches/20-versioned_libs.diff137
-rw-r--r--ACE/include/makeinclude/platform_g++_common.GNU2
-rw-r--r--ACE/include/makeinclude/rules.lib.GNU28
-rw-r--r--ACE/include/makeinclude/rules.local.GNU16
-rw-r--r--ACE/include/makeinclude/wrapper_macros.GNU5
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)