summaryrefslogtreecommitdiffstats
path: root/Make_global.am
diff options
context:
space:
mode:
authorJozsef Kadlecsik <kadlec@blackhole.kfki.hu>2012-01-05 11:49:26 +0100
committerJozsef Kadlecsik <kadlec@blackhole.kfki.hu>2012-01-05 11:49:26 +0100
commitf4b2c3b617333b5a0f359edccc9a9be34d9f36bd (patch)
tree9bc3bbdf2e7e371fc9c53e06e82fef463b121ea7 /Make_global.am
parentfb881eb93af2705c7ad7223634f63232324ebe4d (diff)
Library map file added in order to support library versioning.
Diffstat (limited to 'Make_global.am')
-rw-r--r--Make_global.am66
1 files changed, 66 insertions, 0 deletions
diff --git a/Make_global.am b/Make_global.am
index e178fe5..6275a10 100644
--- a/Make_global.am
+++ b/Make_global.am
@@ -1,7 +1,73 @@
# This is _NOT_ the library release version, it's an API version.
# Please read Chapter 6 "Library interface versions" of the libtool
# documentation before making any modification
+#
# http://sources.redhat.com/autobook/autobook/autobook_91.html
+#
+# The version scheme used by Libtool tracks interfaces, where an interface
+# is the set of exported entry points into the library. All Libtool libraries
+# start with `-version-info' set to `0:0:0' -- this will be the default
+# version number if you don't explicitly set it on the Libtool link command
+# line. The meaning of these numbers (from left to right) is as follows:
+#
+# current
+# The number of the current interface exported by the library. A current
+# value of `0', means that you are calling the interface exported by this
+# library interface 0.
+#
+# revision
+# The implementation number of the most recent interface exported by this
+# library. In this case, a revision value of `0' means that this is the
+# first implementation of the interface.
+#
+# If the next release of this library exports the same interface, but has
+# a different implementation (perhaps some bugs have been fixed), the
+# revision number will be higher, but current number will be the same.
+# In that case, when given a choice, the library with the highest revision
+# will always be used by the runtime loader.
+#
+# age
+# The number of previous additional interfaces supported by this library.
+# If age were `2', then this library can be linked into executables which
+# were built with a release of this library that exported the current
+# interface number, current, or any of the previous two interfaces.
+#
+# By definition age must be less than or equal to current. At the outset,
+# only the first ever interface is implemented, so age can only be `0'.
+#
+# 1. If you have changed any of the sources for this library, the revision
+# number must be incremented.
+# This is a new revision of the current interface.
+#
+# 2. If the interface has changed, then current must be incremented, and
+# revision reset to `0'.
+# This is the first revision of a new interface.
+#
+# 3. If the new interface is a superset of the previous interface (that is,
+# if the previous interface has not been broken by the changes in this
+# new release), then age must be incremented.
+# This release is backwards compatible with the previous release.
+#
+# 4. If the new interface has removed elements with respect to the previous
+# interface, then you have broken backward compatibility and age must be
+# reset to `0'.
+# This release has a new, but backwards incompatible interface.
+#
+# For example, if the next release of the library included some new commands
+# for an existing socket protocol, you would use -version-info 1:0:1.
+# This is the first revision of a new interface. This release is backwards
+# compatible with the previous release.
+#
+# Later, you implement a faster way of handling part of the algorithm at the
+# core of the library, and release it with -version-info 1:1:1. This is a new
+# revision of the current interface.
+#
+# Unfortunately the speed of your new implementation can only be fully
+# exploited by changing the API to access the structures at a lower level,
+# which breaks compatibility with the previous interface, so you release it
+# as -version-info 2:0:0. This release has a new, but backwards incompatible
+# interface.
+
LIBVERSION = 1:0:0
AM_CPPFLAGS = $(kinclude_CFLAGS) $(all_includes) -I$(top_srcdir)/include \