X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=ginac%2Fversion.h;h=018d4615374978d2b751359b95f543afcbb01508;hp=385b35de89099e6fea071a6604feb653dfbff38a;hb=0289100f425e420da988a709cd52616b6d69d348;hpb=a9dd476bedb5d1d32711d22e953ff25e18844275 diff --git a/ginac/version.h b/ginac/version.h index 385b35de..018d4615 100644 --- a/ginac/version.h +++ b/ginac/version.h @@ -3,7 +3,7 @@ * GiNaC library version information. */ /* - * GiNaC Copyright (C) 1999-2000 Johannes Gutenberg University Mainz, Germany + * GiNaC Copyright (C) 1999-2008 Johannes Gutenberg University Mainz, Germany * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,15 +17,69 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#ifndef __GINAC_VERSION_H__ -#define __GINAC_VERSION_H__ +#ifndef GINAC_VERSION_H +#define GINAC_VERSION_H -/* Major, minor, and micro version number of the GiNaC library. */ -#define GINACLIB_MAJOR_VERSION 0 +/* Major version of GiNaC */ +#define GINACLIB_MAJOR_VERSION 1 + +/* Minor version of GiNaC */ #define GINACLIB_MINOR_VERSION 6 + +/* Micro version of GiNaC */ #define GINACLIB_MICRO_VERSION 2 -#endif // ndef __GINAC_VERSION_H__ +// 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. + * + * The current archive version is GINACLIB_ARCHIVE_VERSION. This is + * the version of archives created by the current version of GiNaC. + * Archives version (GINACLIB_ARCHIVE_VERSION - GINACLIB_ARCHIVE_AGE) + * thru * GINACLIB_ARCHIVE_VERSION can be read by current version + * of GiNaC. + * + * Backward compatibility notes: + * If new properties have been added: + * GINACLIB_ARCHIVE_VERSION += 1 + * GINACLIB_ARCHIVE_AGE += 1 + * If backwards compatibility has been broken, i.e. some properties + * has been removed, or their type and/or meaning changed: + * GINACLIB_ARCHIVE_VERSION += 1 + * GINACLIB_ARCHIVE_AGE = 0 + */ +#define GINACLIB_ARCHIVE_VERSION 3 +#define GINACLIB_ARCHIVE_AGE 3 + +namespace GiNaC { + +extern const int version_major; +extern const int version_minor; +extern const int version_micro; + +} // namespace GiNaC + +#endif // ndef GINAC_VERSION_H