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 |
Guido van Rossum | 879a186 | 2001-04-18 04:31:01 +0000 | [diff] [blame] | 23 | #define PY_MINOR_VERSION 2 |
Guido van Rossum | 21a50bd | 2000-03-29 01:46:45 +0000 | [diff] [blame] | 24 | #define PY_MICRO_VERSION 0 |
Guido van Rossum | 879a186 | 2001-04-18 04:31:01 +0000 | [diff] [blame] | 25 | #define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA |
Guido van Rossum | 95f301f | 2001-04-16 17:51:43 +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 */ |
Guido van Rossum | 879a186 | 2001-04-18 04:31:01 +0000 | [diff] [blame] | 29 | #define PY_VERSION "2.2a0" |
Guido van Rossum | f1176c4 | 1999-01-03 12:40:24 +0000 | [diff] [blame] | 30 | |
| 31 | /* Historic */ |
Guido van Rossum | 879a186 | 2001-04-18 04:31:01 +0000 | [diff] [blame] | 32 | #define PATCHLEVEL "2.2a0" |
Guido van Rossum | f1176c4 | 1999-01-03 12:40:24 +0000 | [diff] [blame] | 33 | |
| 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)) |