blob: a7fa73a59109f76796965a2f2988155ce11c524f [file] [log] [blame]
Guido van Rossumf1176c41999-01-03 12:40:24 +00001
2/* Newfangled version identification scheme.
3
4 This scheme was added in Python 1.5.2b2; before that time, only PATCHLEVEL
5 was available. To test for presence of the scheme, test for
6 defined(PY_MAJOR_VERSION).
7
8 When the major or minor version changes, the VERSION variable in
9 configure.in must also be changed.
10
11 There is also (independent) API version information in modsupport.h.
12*/
13
14/* Values for PY_RELEASE_LEVEL */
15#define PY_RELEASE_LEVEL_ALPHA 0xA
16#define PY_RELEASE_LEVEL_BETA 0xB
Guido van Rossumbd341fa1999-04-07 16:00:20 +000017#define PY_RELEASE_LEVEL_GAMMA 0xC
Guido van Rossumf1176c41999-01-03 12:40:24 +000018#define PY_RELEASE_LEVEL_FINAL 0xF /* Serial should be 0 here */
Guido van Rossum9e478591999-04-13 14:47:26 +000019 /* Higher for patch releases */
Guido van Rossumf1176c41999-01-03 12:40:24 +000020
21/* Version parsed out into numeric values */
Guido van Rossum632ea6e2000-06-29 22:29:24 +000022#define PY_MAJOR_VERSION 2
Guido van Rossum31c69432001-01-17 14:12:33 +000023#define PY_MINOR_VERSION 1
Guido van Rossum21a50bd2000-03-29 01:46:45 +000024#define PY_MICRO_VERSION 0
Guido van Rossum31c69432001-01-17 14:12:33 +000025#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
Jeremy Hylton1e75e812000-10-09 15:13:47 +000026#define PY_RELEASE_SERIAL 1
Guido van Rossumf1176c41999-01-03 12:40:24 +000027
28/* Version as a string */
Guido van Rossum31c69432001-01-17 14:12:33 +000029#define PY_VERSION "2.1a1"
Guido van Rossumf1176c41999-01-03 12:40:24 +000030
31/* Historic */
Guido van Rossum31c69432001-01-17 14:12:33 +000032#define PATCHLEVEL "2.1a1"
Guido van Rossumf1176c41999-01-03 12:40:24 +000033
34/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
35 Use this for numeric comparisons, e.g. #if PY_VERSION_HEX >= ... */
36#define PY_VERSION_HEX ((PY_MAJOR_VERSION << 24) | \
37 (PY_MINOR_VERSION << 16) | \
38 (PY_MICRO_VERSION << 8) | \
39 (PY_RELEASE_LEVEL << 4) | \
40 (PY_RELEASE_SERIAL << 0))