]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
New version identification scheme.
authorGuido van Rossum <guido@python.org>
Sun, 3 Jan 1999 12:40:24 +0000 (12:40 +0000)
committerGuido van Rossum <guido@python.org>
Sun, 3 Jan 1999 12:40:24 +0000 (12:40 +0000)
The version numbers are now exported by Python.h.
Also rolled back the API version change -- it's back to 1007!

Include/Python.h
Include/modsupport.h
Include/patchlevel.h

index 9b72d0f8d063da685e039589ddff820ce56e1165..2762bd9afb1c699a012f948ee7f9816f5742969f 100644 (file)
@@ -35,6 +35,7 @@ PERFORMANCE OF THIS SOFTWARE.
 
 /* Include nearly all Python header files */
 
+#include "patchlevel.h"
 #include "config.h"
 
 /* config.h may or may not define DL_IMPORT */
index f0967504d901b4685e766f2c032b29fd6751dd46..a90b279c536bff4e077fe4c2161f2cdbf3e4b852 100644 (file)
@@ -61,8 +61,8 @@ extern DL_IMPORT(PyObject *) Py_BuildValue();
 extern DL_IMPORT(int) PyArg_VaParse Py_PROTO((PyObject *, char *, va_list));
 extern DL_IMPORT(PyObject *) Py_VaBuildValue Py_PROTO((char *, va_list));
 
-#define PYTHON_API_VERSION 1008
-#define PYTHON_API_STRING "1008"
+#define PYTHON_API_VERSION 1007
+#define PYTHON_API_STRING "1007"
 /* The API version is maintained (independently from the Python version)
    so we can detect mismatches between the interpreter and dynamically
    loaded modules.  These are diagnosticised by an error message but
@@ -76,7 +76,9 @@ extern DL_IMPORT(PyObject *) Py_VaBuildValue Py_PROTO((char *, va_list));
    Please add a line or two to the top of this log for each API
    version change:
 
-   3-Dec-1998  GvR     1008    Python 1.5.2
+   3-Jan-1999  GvR     1007    Decided to change back!  (Don't reuse 1008!)
+
+   3-Dec-1998  GvR     1008    Python 1.5.2b1
 
    18-Jan-1997 GvR     1007    string interning and other speedups
 
index b6c7acc8f947842b513e133e47295d4d9f837f95..d0c394f323cf608b2d74dd4f37f931ce2feae76f 100644 (file)
@@ -1 +1,68 @@
-#define PATCHLEVEL "1.5.2b1"
+/***********************************************************
+Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
+The Netherlands.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the names of Stichting Mathematisch
+Centrum or CWI or Corporation for National Research Initiatives or
+CNRI not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior
+permission.
+
+While CWI is the initial source for this software, a modified version
+is made available by the Corporation for National Research Initiatives
+(CNRI) at the Internet address ftp://ftp.python.org.
+
+STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH
+CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+******************************************************************/
+
+/* Newfangled version identification scheme.
+
+   This scheme was added in Python 1.5.2b2; before that time, only PATCHLEVEL
+   was available.  To test for presence of the scheme, test for
+   defined(PY_MAJOR_VERSION).
+
+   When the major or minor version changes, the VERSION variable in
+   configure.in must also be changed.
+
+   There is also (independent) API version information in modsupport.h.
+*/
+
+/* Values for PY_RELEASE_LEVEL */
+#define PY_RELEASE_LEVEL_ALPHA 0xA
+#define PY_RELEASE_LEVEL_BETA  0xB
+#define PY_RELEASE_LEVEL_FINAL 0xF     /* Serial should be 0 here */
+
+/* Version parsed out into numeric values */
+#define PY_MAJOR_VERSION       1
+#define PY_MINOR_VERSION       5
+#define PY_MICRO_VERSION       2
+#define PY_RELEASE_LEVEL       PY_RELEASE_LEVEL_BETA
+#define PY_RELEASE_SERIAL      2
+
+/* Version as a string */
+#define PY_VERSION             "1.5.2b2"
+
+/* Historic */
+#define PATCHLEVEL             "1.5.2b2"
+
+/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
+   Use this for numeric comparisons, e.g. #if PY_VERSION_HEX >= ... */
+#define PY_VERSION_HEX ((PY_MAJOR_VERSION << 24) | \
+                       (PY_MINOR_VERSION << 16) | \
+                       (PY_MICRO_VERSION <<  8) | \
+                       (PY_RELEASE_LEVEL <<  4) | \
+                       (PY_RELEASE_SERIAL << 0))