[build] Move library version info into the version.h file.
authorAlexei Sheplyakov <Alexei.Sheplyakov@gmail.com>
Thu, 23 Feb 2012 20:20:44 +0000 (22:20 +0200)
committerAlexei Sheplyakov <Alexei.Sheplyakov@gmail.com>
Tue, 17 Jul 2012 04:49:56 +0000 (07:49 +0300)
The point is to have this info easily available for both build systems.

acinclude.m4
configure.ac
ginac/version.h

index d6089d4..99627ae 100644 (file)
@@ -19,6 +19,8 @@ esyscmd([grep "^#define $1 " $2 /dev/null 2>/dev/null]),
        ]*$],[])])
 define(GINAC_GET_VERSION,
 [GINAC_HEADER_GETVAL(GINACLIB_$1_VERSION,[ginac/version.h])])
+define(GINAC_GET_LTVERSION,
+[GINAC_HEADER_GETVAL(GINAC_LT_$1,[ginac/version.h])])
 
 dnl Usage: GINAC_STD_CXX_HEADERS
 dnl Check for standard C++ headers, bail out if something is missing.
index edee0de..63f6594 100644 (file)
@@ -1,32 +1,15 @@
-dnl Process this file with autoconf to produce a configure script.
-
-dnl GiNaC version number
+dnl Pull version info from the ginac/version.h file.
+dnl GiNaC release number:
 m4_define([ginac_major_version], GINAC_GET_VERSION([MAJOR]))
 m4_define([ginac_minor_version], GINAC_GET_VERSION([MINOR]))
 m4_define([ginac_micro_version], GINAC_GET_VERSION([MICRO]))
 m4_define([ginac_version], [ginac_major_version.ginac_minor_version.ginac_micro_version])
 m4_define([ginac_release], [ginac_major_version.ginac_minor_version])
-
 dnl GiNaC library version information. It has very little to do with GiNaC
 dnl version number. In particular, library version is OS dependent. 
-dnl
-dnl When making releases, do
-dnl 1. Increment ginac_lt_revision
-dnl 2. If any interfaces have been added, removed, or changed since the last
-dnl    release, increment ginac_lt_current and set ginac_lt_revision to 0.
-dnl 3. If any interfaces have been added since the last release, increment
-dnl    ginac_lt_age.
-dnl 4. If any interfaces have been removed since the last release, set 
-dnl    ginac_lt_age to 0.
-dnl
-dnl Please note: the libtool naming scheme cannot guarantee that on all
-dnl systems, the numbering is consecutive. It only guarantees that it is
-dnl increasing. This doesn't matter, though: there is not incurred cost
-dnl for numbers that are omitted, except for shrinking the available space
-dnl of leftover numbers. Not something we need to worry about yet. ;-)
-m4_define([ginac_lt_current], [3])
-m4_define([ginac_lt_revision], [0])
-m4_define([ginac_lt_age], [1])
+m4_define([ginac_lt_current], GINAC_GET_LTVERSION([CURRENT]))
+m4_define([ginac_lt_age], GINAC_GET_LTVERSION([AGE]))
+m4_define([ginac_lt_revision], GINAC_GET_LTVERSION([REVISION]))
 
 AC_INIT([GiNaC], ginac_version, [ginac-list@ginac.de], [ginac], [http://www.ginac.de/])
 AC_PREREQ(2.59)
index 030b596..018d461 100644 (file)
 /* Micro version of GiNaC */
 #define GINACLIB_MICRO_VERSION 2
 
+// GiNaC library version information. It has very little to do with GiNaC
+// version number. In particular, library version is OS dependent. 
+//
+// When making releases, do
+// 1. Increment GINAC_LT_REVISION
+// 2. If any interfaces have been added, removed, or changed since the last
+//    release, increment GINAC_LT_CURRENT and set GINAC_LT_REVISION to 0.
+// 3. If any interfaces have been added since the last release, increment
+//    GINAC_LT_AGE.
+// 4. If any interfaces have been removed since the last release, set 
+//    GINAC_LT_AGE to 0.
+//
+// Please note: the libtool naming scheme cannot guarantee that on all
+// systems, the numbering is consecutive. It only guarantees that it is
+// increasing. This doesn't matter, though: there is not incurred cost
+// for numbers that are omitted, except for shrinking the available space
+// of leftover numbers. Not something we need to worry about yet. ;-)
+#define GINAC_LT_CURRENT  3
+#define GINAC_LT_REVISION 0
+#define GINAC_LT_AGE      1
+
 /*
  * GiNaC archive file version information.
  *