Guido van Rossum | f1176c4 | 1999-01-03 12:40:24 +0000 | [diff] [blame] | 1 | |
| 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 Rossum | bd341fa | 1999-04-07 16:00:20 +0000 | [diff] [blame] | 17 | #define PY_RELEASE_LEVEL_GAMMA 0xC |
Guido van Rossum | f1176c4 | 1999-01-03 12:40:24 +0000 | [diff] [blame] | 18 | #define PY_RELEASE_LEVEL_FINAL 0xF /* Serial should be 0 here */ |
Guido van Rossum | 9e47859 | 1999-04-13 14:47:26 +0000 | [diff] [blame] | 19 | /* Higher for patch releases */ |
Guido van Rossum | f1176c4 | 1999-01-03 12:40:24 +0000 | [diff] [blame] | 20 | |
| 21 | /* Version parsed out into numeric values */ |
Guido van Rossum | 632ea6e | 2000-06-29 22:29:24 +0000 | [diff] [blame] | 22 | #define PY_MAJOR_VERSION 2 |
Barry Warsaw | 99ffed8 | 2001-12-21 20:05:33 +0000 | [diff] [blame] | 23 | #define PY_MINOR_VERSION 3 |
Guido van Rossum | 21a50bd | 2000-03-29 01:46:45 +0000 | [diff] [blame] | 24 | #define PY_MICRO_VERSION 0 |
Barry Warsaw | 99ffed8 | 2001-12-21 20:05:33 +0000 | [diff] [blame] | 25 | #define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA |
Barry Warsaw | 19554f6 | 2001-12-14 20:30:23 +0000 | [diff] [blame] | 26 | #define PY_RELEASE_SERIAL 1 |
Guido van Rossum | f1176c4 | 1999-01-03 12:40:24 +0000 | [diff] [blame] | 27 | |
| 28 | /* Version as a string */ |
Tim Peters | 2cec354 | 2002-02-02 00:08:15 +0000 | [diff] [blame] | 29 | #define PY_VERSION "2.3a0" |
Guido van Rossum | f1176c4 | 1999-01-03 12:40:24 +0000 | [diff] [blame] | 30 | |
| 31 | /* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2. |
| 32 | Use this for numeric comparisons, e.g. #if PY_VERSION_HEX >= ... */ |
| 33 | #define PY_VERSION_HEX ((PY_MAJOR_VERSION << 24) | \ |
| 34 | (PY_MINOR_VERSION << 16) | \ |
| 35 | (PY_MICRO_VERSION << 8) | \ |
| 36 | (PY_RELEASE_LEVEL << 4) | \ |
| 37 | (PY_RELEASE_SERIAL << 0)) |