blob: 07b79e41fb5258efce57357dd312b33720a9ca9c [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
Matthias Klose3cef2a92012-03-14 23:39:33 +01009 configure.ac must also be changed.
Guido van Rossumf1176c41999-01-03 12:40:24 +000010
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 Baxter49d42132004-11-15 15:03:25 +000017#define PY_RELEASE_LEVEL_GAMMA 0xC /* For release candidates */
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 */
Barry Warsaw9649cdd2008-04-03 04:10:02 +000022/*--start constants--*/
Guido van Rossum632ea6e2000-06-29 22:29:24 +000023#define PY_MAJOR_VERSION 2
Barry Warsaw12582c92008-10-02 03:33:51 +000024#define PY_MINOR_VERSION 7
Benjamin Peterson08649442013-05-11 22:29:20 -050025#define PY_MICRO_VERSION 5
Benjamin Peterson376dd0e2013-04-06 09:58:51 -040026#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL
27#define PY_RELEASE_SERIAL 0
Guido van Rossumf1176c41999-01-03 12:40:24 +000028
29/* Version as a string */
Benjamin Peterson988aba32013-05-11 22:36:05 -050030#define PY_VERSION "2.7.5+"
Barry Warsaw9649cdd2008-04-03 04:10:02 +000031/*--end constants--*/
Guido van Rossumf1176c41999-01-03 12:40:24 +000032
Benjamin Petersond4acd352011-03-15 15:03:13 -050033/* Subversion Revision number of this file (not of the repository). Empty
34 since Mercurial migration. */
35#define PY_PATCHLEVEL_REVISION ""
Martin v. Löwis43b57802006-01-05 23:38:54 +000036
Guido van Rossumf1176c41999-01-03 12:40:24 +000037/* 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))