From 2d15fa4bf098bf2d203b7b589bb3cbbbce683fb3 Mon Sep 17 00:00:00 2001 From: Michal Sojka Date: Sun, 16 Mar 2014 00:48:48 +0100 Subject: [PATCH 1/1] Update versioning of shared libraries Previously, we used -release to specify the SONAME, which would cause binary incompatibility between releases even if the library is not changed at all. Additionally, libtool interface numbers were derived from relase number in an undocumented way. This is removed as well and now we have to modify SONAME manually, when the interface changes. --- configure.ac | 17 ++++++----------- orte/libjorte/Makefile.am | 1 - orte/liborte/Makefile.am | 1 - 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/configure.ac b/configure.ac index c106275..66e5c3a 100644 --- a/configure.ac +++ b/configure.ac @@ -14,22 +14,17 @@ AC_CONFIG_AUX_DIR(admin) ORTE_MAJOR_VERSION=0 ORTE_MINOR_VERSION=3 ORTE_MICRO_VERSION=3 -ORTE_INTERFACE_AGE=0 -ORTE_BINARY_AGE=0 ORTE_VERSION=$ORTE_MAJOR_VERSION.$ORTE_MINOR_VERSION.$ORTE_MICRO_VERSION AC_SUBST(ORTE_MAJOR_VERSION) AC_SUBST(ORTE_MINOR_VERSION) AC_SUBST(ORTE_MICRO_VERSION) AC_SUBST(ORTE_VERSION) -AC_SUBST(ORTE_INTERFACE_AGE) -AC_SUBST(ORTE_BINARY_AGE) -#Libtool versioning -ORTE_MICRO_VERSION_NUM=`echo $ORTE_MICRO_VERSION | sed 's/[[a-zA-Z]]//g'` -LT_RELEASE=$ORTE_MAJOR_VERSION.$ORTE_MINOR_VERSION -LT_CURRENT=`expr $ORTE_MICRO_VERSION_NUM - $ORTE_INTERFACE_AGE` -LT_REVISION=$ORTE_INTERFACE_AGE -LT_AGE=`expr $ORTE_BINARY_AGE - $ORTE_INTERFACE_AGE` -AC_SUBST(LT_RELEASE) + +# Libtool versioning (see libtool manual) + +LT_CURRENT=1 # This will be part of SONAME +LT_REVISION=0 +LT_AGE=0 AC_SUBST(LT_CURRENT) AC_SUBST(LT_REVISION) AC_SUBST(LT_AGE) diff --git a/orte/libjorte/Makefile.am b/orte/libjorte/Makefile.am index f3fe705..0888c76 100644 --- a/orte/libjorte/Makefile.am +++ b/orte/libjorte/Makefile.am @@ -37,7 +37,6 @@ lib_LTLIBRARIES = libjorte.la libjorte_la_SOURCES = $(LIBJORTE_FILES) libjorte_la_LDFLAGS = \ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ - -release $(LT_RELEASE) \ -export-dynamic libjorte_la_CFLAGS = $(AM_CFLAGS) libjorte_la_LIBADD = $(top_builddir)/orte/liborte/liborte.la diff --git a/orte/liborte/Makefile.am b/orte/liborte/Makefile.am index 23a5459..24fb417 100644 --- a/orte/liborte/Makefile.am +++ b/orte/liborte/Makefile.am @@ -76,7 +76,6 @@ lib_LTLIBRARIES = liborte.la liborte_la_SOURCES = $(LIBORTE_FILES) liborte_la_LDFLAGS = \ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ - -release $(LT_RELEASE) \ -export-dynamic -no-undefined # $(LDADDS) liborte_la_CFLAGS = $(AM_CFLAGS) -- 2.39.2