Don't try to tie the library version to the package version number.
authorAlexei Sheplyakov <Alexei.Sheplyakov@gmail.com>
Fri, 10 Dec 2010 17:06:17 +0000 (19:06 +0200)
committerAlexei Sheplyakov <Alexei.Sheplyakov@gmail.com>
Fri, 10 Dec 2010 17:09:37 +0000 (19:09 +0200)
Use curret:release:age to indicate ABI changes instead. Hard-code LT_RELEASE
to 1.5 to avoid spurious SONAME change (current code is binary-compatible
with GiNaC 1.5.8).

configure.ac

index 21795f4..602a844 100644 (file)
@@ -12,11 +12,12 @@ dnl version number. In particular, library version is OS dependent.
 dnl
 dnl When making releases, do
 dnl 1. Increment ginac_lt_revision
-dnl 2. If any interfaces have been added since the last release, increment
-dnl    ginac_lt_current and set ginac_lt_revision to 0.
-dnl 3. If any interfaces have been changed or removed since the last release,
-dnl    make sure you increment ginac_minor_version above and reset both
-dnl    ginac_lt_current and ginac_lt_revision to 0.
+dnl 2. If any interfaces have been added, removed, or changed since the last
+dnl    release, increment ginac_lt_current and set ginac_lt_revision to 0.
+dnl 3. If any interfaces have been added since the last release, increment
+dnl    ginac_lt_age.
+dnl 4. If any interfaces have been removed since the last release, set 
+dnl    ginac_lt_age to 0.
 dnl
 dnl Please note: the libtool naming scheme cannot guarantee that on all
 dnl systems, the numbering is consecutive. It only guarantees that it is
@@ -25,6 +26,7 @@ dnl for numbers that are omitted, except for shrinking the available space
 dnl of leftover numbers. Not something we need to worry about yet. ;-)
 m4_define([ginac_lt_current], [2])
 m4_define([ginac_lt_revision], [0])
+m4_define([ginac_lt_age], [2])
 
 AC_INIT([GiNaC], ginac_version, [ginac-list@ginac.de], [ginac], [http://www.ginac.de/])
 AC_PREREQ(2.59)
@@ -57,11 +59,12 @@ AC_SUBST(ARCHIVE_AGE)
 AC_DEFINE_UNQUOTED(ARCHIVE_VERSION, $ARCHIVE_VERSION, [Current GiNaC archive file version number])
 AC_DEFINE_UNQUOTED(ARCHIVE_AGE, $ARCHIVE_AGE, [GiNaC archive file version age])
 
-dnl libtool versioning (We don't use libtool's age numbering since we promise
-dnl to keep the binary interface compatible if only ginac_micro_version changes.
-dnl In effect, age==current.)
-LT_VERSION_INFO="ginac_lt_current:ginac_lt_revision:ginac_lt_current"
-LT_RELEASE="ginac_release"
+dnl libtool versioning
+LT_VERSION_INFO="ginac_lt_current:ginac_lt_revision:ginac_lt_age"
+dnl TODO: remove LT_RELEASE after ABI gets changed. We used to set
+dnl LT_RELEASE (for no good reason), omitting it right now would
+dnl result in a spurious SONAME change.
+LT_RELEASE="1.5"
 
 AC_SUBST(LT_VERSION_INFO)
 AC_SUBST(LT_RELEASE)