Author: tabish
Date: Wed Nov 17 19:49:30 2010
New Revision: 1036181
URL: http://svn.apache.org/viewvc?rev=1036181&view=rev
Log:
Update the libtool version number guidelines to make it clearer when each of
the various number should be altered.
Modified:
activemq/activemq-cpp/trunk/activemq-cpp/configure.ac
Modified: activemq/activemq-cpp/trunk/activemq-cpp/configure.ac
URL:
http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/configure.ac?rev=1036181&r1=1036180&r2=1036181&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/configure.ac (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/configure.ac Wed Nov 17 19:49:30
2010
@@ -48,16 +48,32 @@ AC_SUBST(CMSAPI_VERSION)
##
## When releasing a new version the ACTIVEMQ_LIBRARY_VERSION needs to be
updated.
-## The following rules apply to the numbers in the version.
+## The following rules apply to the numbers in the version as defined by
libtool.
##
-## MAJOR: a change in the MAJOR number is necessary for anything that changes
-## binary compatibility (e.g. changing a function prototype or class
definition),
-## or when major internal changes occur
-## MINOR: a change in the MINOR number is necessary whenever new functionality
is
-## added without breaking binary compatibility (e.g. adding a new class), or
when
-## anything other than very minor internal changes occur
-## REVISION: a change in the REVISION number is made for any other type of
change
-## that does not justify a change to MINOR or MAJOR
+## 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 or changed since the last public
release, then set
+## age to 0.
+##
+## More plainly the follow rules should be used when changing this number.
+##
+## 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.
+## 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.
##
ACTIVEMQ_LIBRARY_VERSION=13:0:0