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 |
Anthony Baxter | 49d4213 | 2004-11-15 15:03:25 +0000 | [diff] [blame] | 17 | #define PY_RELEASE_LEVEL_GAMMA 0xC /* For release candidates */ |
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 |
Anthony Baxter | a3bc546 | 2004-11-30 13:16:15 +0000 | [diff] [blame] | 23 | #define PY_MINOR_VERSION 5 |
Guido van Rossum | 21a50bd | 2000-03-29 01:46:45 +0000 | [diff] [blame] | 24 | #define PY_MICRO_VERSION 0 |
Anthony Baxter | a3bc546 | 2004-11-30 13:16:15 +0000 | [diff] [blame] | 25 | #define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA |
Anthony Baxter | e48bad7 | 2004-11-29 01:40:31 +0000 | [diff] [blame] | 26 | #define PY_RELEASE_SERIAL 0 |
Guido van Rossum | f1176c4 | 1999-01-03 12:40:24 +0000 | [diff] [blame] | 27 | |
| 28 | /* Version as a string */ |
Anthony Baxter | a3bc546 | 2004-11-30 13:16:15 +0000 | [diff] [blame] | 29 | #define PY_VERSION "2.5a0" |
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)) |