Math Processor Unit Library

libmpu – library of arithmetic functions for integer, real, and complex numbers of increased digit capacity

16 Commits   0 Branches   2 Tags
author: kx <kx@radix-linux.su> 2024-12-20 16:11:07 +0300 committer: kx <kx@radix-linux.su> 2024-12-20 16:11:07 +0300 commit: 868b2b66b564b5c00e3a74d10be45db7151627ac parent: cce2ae8d3312493b7653358bb4af201d3271377b
Commit Summary:
Version 1.0.14
Diffstat:
1 file changed, 72 insertions, 0 deletions
diff --git a/doc/README.libtool b/doc/README.libtool
new file mode 100644
index 0000000..5af970f
--- /dev/null
+++ b/doc/README.libtool
@@ -0,0 +1,93 @@
+
+/*******************************************************************
+
+  MPU 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([MPU Library], [1.0.0], ...
+
+
+  LT_RELEASE (-release major.minor):
+  ---------------------------------
+   - major - version changes when the library’s API was changed,
+   - minor - version changes when backwards-compatible bug fixes
+             or code changes were made.
+
+  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.
+
+
+   Libtool creates .so suffix for Linux by following manner:
+
+     major=.`expr $current - $age`
+     versuffix="$major.$age.$revision"
+
+   for Cygwin:
+
+     major=`expr $current - $age`
+     versuffix="-$major"
+
+   The declaration in the Makefile.am has to be like this:
+
+     lib_LTLIBRARIES = libtest-1.0.la
+     libtest_1_0_la_LDFLAGS = -version-info 0:0:0
+
+   where 1.0 is a release number of the test library.
+
+ *******************************************************************/