summaryrefslogtreecommitdiffstats
path: root/Include
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1999-01-03 12:40:24 (GMT)
committerGuido van Rossum <guido@python.org>1999-01-03 12:40:24 (GMT)
commitf1176c4815cd628ae443b5c4b0e1841588369776 (patch)
tree29322d8b51a85fa3e7c01c61fac6893c3a0a3b13 /Include
parent33f2b7b2577ce0c9247c2eac0a29ce8212cdf829 (diff)
downloadcpython-f1176c4815cd628ae443b5c4b0e1841588369776.zip
cpython-f1176c4815cd628ae443b5c4b0e1841588369776.tar.gz
cpython-f1176c4815cd628ae443b5c4b0e1841588369776.tar.bz2
New version identification scheme.
The version numbers are now exported by Python.h. Also rolled back the API version change -- it's back to 1007!
Diffstat (limited to 'Include')
-rw-r--r--Include/Python.h1
-rw-r--r--Include/modsupport.h8
-rw-r--r--Include/patchlevel.h69
3 files changed, 74 insertions, 4 deletions
diff --git a/Include/Python.h b/Include/Python.h
index 9b72d0f..2762bd9 100644
--- a/Include/Python.h
+++ b/Include/Python.h
@@ -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 */
diff --git a/Include/modsupport.h b/Include/modsupport.h
index f096750..a90b279 100644
--- a/Include/modsupport.h
+++ b/Include/modsupport.h
@@ -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
diff --git a/Include/patchlevel.h b/Include/patchlevel.h
index b6c7acc..d0c394f 100644
--- a/Include/patchlevel.h
+++ b/Include/patchlevel.h
@@ -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))