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.ac 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 17 #define PY_RELEASE_LEVEL_GAMMA 0xC /* For release candidates */ 18 #define PY_RELEASE_LEVEL_FINAL 0xF /* Serial should be 0 here */ 19 /* Higher for patch releases */ 20 21 /* Version parsed out into numeric values */ 22 /*--start constants--*/ 23 #define PY_MAJOR_VERSION 2 24 #define PY_MINOR_VERSION 7 25 #define PY_MICRO_VERSION 15 26 #define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL 27 #define PY_RELEASE_SERIAL 0 28 29 /* Version as a string */ 30 #define PY_VERSION "2.7.15+" 31 /*--end constants--*/ 32 33 /* Subversion Revision number of this file (not of the repository). Empty 34 since Mercurial migration. */ 35 #define PY_PATCHLEVEL_REVISION "" 36 37 /* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2. 38 Use this for numeric comparisons, e.g. #if PY_VERSION_HEX >= ... */ 39 #define PY_VERSION_HEX ((PY_MAJOR_VERSION << 24) | \ 40 (PY_MINOR_VERSION << 16) | \ 41 (PY_MICRO_VERSION << 8) | \ 42 (PY_RELEASE_LEVEL << 4) | \ 43 (PY_RELEASE_SERIAL << 0)) 44