summaryrefslogtreecommitdiff
path: root/config/README.libtool
diff options
context:
space:
mode:
Diffstat (limited to 'config/README.libtool')
-rw-r--r--config/README.libtool78
1 files changed, 78 insertions, 0 deletions
diff --git a/config/README.libtool b/config/README.libtool
new file mode 100644
index 0000000..919d0f7
--- /dev/null
+++ b/config/README.libtool
@@ -0,0 +1,78 @@
+
+/*******************************************************************
+
+ MCPU Library Versioning:
+ =======================
+
+ VERSION (major.minor.micro):
+ ---------------------------
+ - major - version changes when the library’s API was modified,
+ - minor - version changes when the library’s functionality was
+ modified in a backwards-compatible manner,
+ - micro - version changes when backwards-compatible bug fixes
+ or code changes were made.
+ NOTE:
+ ----
+ The VERSION value in this file should be equal to version
+ which declared in the configure.ac file on the following
+ function call:
+
+ AC_INIT([MCPU Library], [1.0.0], ...
+
+
+ LT_VERSION_INFO (-version-info current:revision:age):
+ ----------------------------------------------------
+ - current - version changes when the library’s interface was
+ modified (in this case the revision value is
+ reset to zero),
+ - revision - version changes when the library’s source was
+ changed,
+ - age - version increases when one new function was added
+ and decreases one old function was removed.
+
+
+ EXAMPLE 1:
+ ---------
+ 1. Begin with the previous version information: 0:0:0
+ 2. 0:0:0 becomes 0:1:0 (the library’s source was changed)
+ 3. 0:1:0 becomes 1:0:0 (the library’s interface was modified)
+ 4. 1:0:0 becomes 1:0:1 (one new function was added)
+ 5. 1:0:1 becomes 1:0:0 (one old function was removed)
+
+ EXAMPLE 2:
+ ---------
+ Let’s modify our example just a little to say that we’ve added
+ a new library interface function but haven’t removed anything.
+ Start again with the original version information of 0:0:0 and
+ follow the algorithm:
+
+ 1. Begin with the previous version information: 0:0:0
+ 2. 0:0:0 becomes 0:1:0 (the library’s source was changed)
+ 3. 0:1:0 becomes 1:0:0 (the library’s interface was modified)
+ 4. 1:0:0 becomes 1:0:1 (one new function was added)
+ 5. Not applicable (nothing was removed)
+
+ This time, we end up with a Libtool version string of 1:0:1,
+ but the resulting Linux or Solaris shared-library filename is
+ libname.so.0.1.0. Consider for a moment what it means, in the
+ face of major, minor, and patch-level values, to have a nonzero
+ age value in the Libtool version string. An age value of one
+ (as in this case) means that we are effectively still supporting
+ a Linux major value of zero, because this new version of the
+ library is 100-percent backward compatible with the previous
+ version. The minor value in the shared-library filename has been
+ incremented from zero to one to indicate that this is, in fact,
+ an updated version of the soname, libname.so.0. The patch-level
+ value remains at zero because this value indicates a bug fix to
+ a particular minor revision of an soname.
+
+
+ The function:
+
+ AC_LIBMCPU_LT_VERSION_INFO([1:0:0])
+
+ defined in acsite.m4.
+ This function produces LIBMCPU_LT_VERSION_INFO value for LDFLAGS
+ -version-info. The LT_VERSION_INFO is not equal PACKAGE_VERSION
+
+ *******************************************************************/