On Wed, 12 Aug 2009, Michel Briand wrote:
Please give me the way to learn those ABI number you cite.
I've looked into many OSS and found in Makefile.am only 2 cases :
- version-info 1:0:0 (the guys there didn't want to bother with
libtool versioning apparently... ;))
- version-info with the X.Y.Z version "back crafted" to make
the soname version read the same as X.Y.Z
Here's a counter example. Download
ftp://ftp.gnu.org/pub/gnu/gnutls/gnutls-2.8.2.tar.bz2
looking in gnutls-2.8.2/lib/Makefile.am, we find
""
libgnutlsxx_la_LDFLAGS = -no-undefined \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
""
These are defined in gnutls-2.8.2/lib/m4/hooks.m4 as
""
# Library code modified: REVISION++
# Interfaces changed/added/removed: CURRENT++ REVISION=0
# Interfaces added: AGE++
# Interfaces removed: AGE=0
AC_SUBST(LT_CURRENT, 40)
AC_SUBST(LT_REVISION, 9)
AC_SUBST(LT_AGE, 14)
# Used when creating the Windows libgnutls-XX.def files.
DLL_VERSION=`expr ${LT_CURRENT} - ${LT_AGE}`
AC_SUBST(DLL_VERSION)
""
I don't know how other packages do this, but if you want to learn, try
this.
- look at *.so.* in /usr/lib, /usr/local/lib, etc
- find ones with unexpected numbers
- look at those packages to see how they do it
- GNU packages are more likely to do it the libtool way than others
These things are easy to find; I'd never read the gnutls build scripts
before nor even known what TLS stood for.
Later,
Daniel
_______________________________________________
http://lists.gnu.org/mailman/listinfo/libtool