summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Graf <tgraf@suug.ch>2013-01-24 14:34:22 +0100
committerThomas Graf <tgraf@suug.ch>2013-01-24 14:34:22 +0100
commitb6afd0bf1aee1abcf71ff48e223e9ff627d56092 (patch)
tree496a611d06f5f5aa625f1c3d2146704d29f18d37
parent776cde0a10df271e7c9e3b5e192b511c270d67a7 (diff)
downloadlibnl-b6afd0bf1aee1abcf71ff48e223e9ff627d56092.tar.gz
Provide better help text when bumping CURRENT,AGE,REVISION
Signed-off-by: Thomas Graf <tgraf@suug.ch>
-rw-r--r--configure.ac30
1 files changed, 15 insertions, 15 deletions
diff --git a/configure.ac b/configure.ac
index 9599476..7654b70 100644
--- a/configure.ac
+++ b/configure.ac
@@ -16,23 +16,23 @@ m4_define([libnl_minor_version], [2])
m4_define([libnl_micro_version], [20])
-# If either revision or age are omitted, they default to 0. Also note that age
-# must be less than or equal to the current interface number.
+# The following explanation may help to understand the above rules a bit
+# better: consider that there are three possible kinds of reactions from
+# users of your library to changes in a shared library:
#
-# Here are a set of rules to help you update your library version information:
+# 1. Programs using the previous version may use the new version as drop-in
+# replacement, and programs using the new version can also work with the
+# previous one. In other words, no recompiling nor relinking is needed.
+# In this case, bump revision only, don't touch current nor age.
#
-# 1. Start with version information of `0:0:0' for each libtool library.
-# 2. Update the version information only immediately before a public release
-# of your software. More frequent updates are unnecessary, and only
-# guarantee that the current interface number gets larger faster.
-# 3. If the library source code has changed at all since the last update, then
-# increment revision (`c:r:a' becomes `c:r+1:a').
-# 4. If any interfaces have been added, removed, or changed since the last
-# update, increment current, and set revision to 0.
-# 5. If any interfaces have been added since the last public release, then
-# increment age.
-# 6. If any interfaces have been removed since the last public release, then
-# set age to 0.
+# 2. Programs using the previous version may use the new version as drop-in
+# replacement, but programs using the new version may use APIs not
+# present in the previous one. In other words, a program linking against
+# the new version may fail with “unresolved symbols” if linking against
+# the old version at runtime: set revision to 0, bump current and age.
+#
+# 3. Programs may need to be changed, recompiled, relinked in order to use
+# the new version. Bump current, set revision and age to 0.
m4_define([libnl_lt_current], [216])
m4_define([libnl_lt_revision], [0])