mirror of
git://sourceware.org/git/libabigail.git
synced 2024-12-14 14:04:45 +00:00
Bug 28669 - Increment Library version
Add libtool versioning to libabigail.so starting from 2.1 onward to not cause problems with older utilities due to library version incompatibility. This will also stop tools that look for libraries which have a different ABI but the same version from complaining. * configure.ac: Define the variables libabigail_so_{current, revision, age}. These are to be adjusted after each releases depending on how the compatibility status of the libabigail's code. * src/Makefile.am: Add -version-info $(LIBABIGAIL_SO_CURRENT):$(LIBABIGAIL_SO_REVISION):$(LIBABIGAIL_SO_AGE) to LDFLAGS. Signed-off-by: Ben Woodard <woodard@redhat.com> Signed-off-by: Dodji Seketeli <dodji@redhat.com>
This commit is contained in:
parent
c49d650827
commit
2bfea52331
33
configure.ac
33
configure.ac
@ -1,7 +1,34 @@
|
||||
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
|
||||
dnl Libabigail version number is handled here with the major and minor
|
||||
dnl version numbers.
|
||||
m4_define([version_major], [2])
|
||||
m4_define([version_minor], [1])
|
||||
|
||||
dnl Below are the numbers to handle libabigail.so's versionning
|
||||
dnl following the libtool's versionning scheme to handle shared
|
||||
dnl libraries' compatibility.
|
||||
dnl
|
||||
dnl Below are the rules to follow to update the three numbers
|
||||
dnl (LIBABIGAIL_SO_CURRENT, LIBABIGAIL_SO_REVISION and LIBABIGAIL_SO_AGE):
|
||||
dnl
|
||||
dnl 1. If the library source code has changed at all since the last
|
||||
dnl update, then increment LIBABIGAIL_SO_REVISION ('C:R:A' becomes
|
||||
dnl 'C:R+1:A').
|
||||
dnl
|
||||
dnl 2. If any interfaces have been added, removed, or changed since
|
||||
dnl the last update, increment LIBABIGAIL_SO_CURRENT, and set
|
||||
dnl LIBABIGAIL_REVISION to 0.
|
||||
dnl
|
||||
dnl 3. If any interfaces have been added since the last public release,
|
||||
dnl then increment LIBABIGAIL_SO_AGE.
|
||||
dnl
|
||||
dnl 4. If any interfaces have been removed or changed since the last
|
||||
dnl public release, then set LIBABIGAIL_SO_AGE to 0.
|
||||
m4_define([libabigail_so_current], [1])
|
||||
m4_define([libabigail_so_revision], [0])
|
||||
m4_define([libabigail_so_age], [0])
|
||||
|
||||
AC_INIT([libabigail],
|
||||
[version_major.version_minor],
|
||||
[http://sourceware.org/bugzilla],
|
||||
@ -40,12 +67,18 @@ VERSION_MINOR=version_minor
|
||||
VERSION_REVISION=0
|
||||
ABIXML_VERSION_MAJOR=2
|
||||
ABIXML_VERSION_MINOR=1
|
||||
LIBABIGAIL_SO_CURRENT=libabigail_so_current
|
||||
LIBABIGAIL_SO_REVISION=libabigail_so_revision
|
||||
LIBABIGAIL_SO_AGE=libabigail_so_age
|
||||
|
||||
AC_SUBST(VERSION_MAJOR)
|
||||
AC_SUBST(VERSION_MINOR)
|
||||
AC_SUBST(VERSION_REVISION)
|
||||
AC_SUBST(ABIXML_VERSION_MAJOR)
|
||||
AC_SUBST(ABIXML_VERSION_MINOR)
|
||||
AC_SUBST(LIBABIGAIL_SO_CURRENT)
|
||||
AC_SUBST(LIBABIGAIL_SO_REVISION)
|
||||
AC_SUBST(LIBABIGAIL_SO_AGE)
|
||||
|
||||
dnl This VERSION_SUFFIX environment variable is to allow appending
|
||||
dnl arbitrary text to the libabigail version string representation.
|
||||
|
@ -47,7 +47,7 @@ libabigail_la_SOURCES += abg-ctf-reader.cc
|
||||
endif
|
||||
|
||||
libabigail_la_LIBADD = $(DEPS_LIBS) $(FTS_LIBS)
|
||||
libabigail_la_LDFLAGS = -lpthread -Wl,--as-needed -no-undefined
|
||||
libabigail_la_LDFLAGS = -lpthread -Wl,--as-needed -no-undefined -version-info $(LIBABIGAIL_SO_CURRENT):$(LIBABIGAIL_SO_REVISION):$(LIBABIGAIL_SO_AGE)
|
||||
|
||||
CUSTOM_MACROS = -DABIGAIL_ROOT_SYSTEM_LIBDIR=\"${libdir}\"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user