From: Alexei Sheplyakov Date: Thu, 23 Feb 2012 20:20:44 +0000 (+0200) Subject: [build] Move library version info into the version.h file. X-Git-Tag: release_1-6-3~59 X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=commitdiff_plain;h=0289100f425e420da988a709cd52616b6d69d348 [build] Move library version info into the version.h file. The point is to have this info easily available for both build systems. --- diff --git a/acinclude.m4 b/acinclude.m4 index d6089d4f..99627aef 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -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. diff --git a/configure.ac b/configure.ac index edee0de8..63f6594a 100644 --- a/configure.ac +++ b/configure.ac @@ -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) diff --git a/ginac/version.h b/ginac/version.h index 030b596f..018d4615 100644 --- a/ginac/version.h +++ b/ginac/version.h @@ -32,6 +32,27 @@ /* 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. *