17db96d56Sopenharmony_ci 27db96d56Sopenharmony_ci/* Python version identification scheme. 37db96d56Sopenharmony_ci 47db96d56Sopenharmony_ci When the major or minor version changes, the VERSION variable in 57db96d56Sopenharmony_ci configure.ac must also be changed. 67db96d56Sopenharmony_ci 77db96d56Sopenharmony_ci There is also (independent) API version information in modsupport.h. 87db96d56Sopenharmony_ci*/ 97db96d56Sopenharmony_ci 107db96d56Sopenharmony_ci/* Values for PY_RELEASE_LEVEL */ 117db96d56Sopenharmony_ci#define PY_RELEASE_LEVEL_ALPHA 0xA 127db96d56Sopenharmony_ci#define PY_RELEASE_LEVEL_BETA 0xB 137db96d56Sopenharmony_ci#define PY_RELEASE_LEVEL_GAMMA 0xC /* For release candidates */ 147db96d56Sopenharmony_ci#define PY_RELEASE_LEVEL_FINAL 0xF /* Serial should be 0 here */ 157db96d56Sopenharmony_ci /* Higher for patch releases */ 167db96d56Sopenharmony_ci 177db96d56Sopenharmony_ci/* Version parsed out into numeric values */ 187db96d56Sopenharmony_ci/*--start constants--*/ 197db96d56Sopenharmony_ci#define PY_MAJOR_VERSION 3 207db96d56Sopenharmony_ci#define PY_MINOR_VERSION 11 217db96d56Sopenharmony_ci#define PY_MICRO_VERSION 4 227db96d56Sopenharmony_ci#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL 237db96d56Sopenharmony_ci#define PY_RELEASE_SERIAL 0 247db96d56Sopenharmony_ci 257db96d56Sopenharmony_ci/* Version as a string */ 267db96d56Sopenharmony_ci#define PY_VERSION "3.11.4" 277db96d56Sopenharmony_ci/*--end constants--*/ 287db96d56Sopenharmony_ci 297db96d56Sopenharmony_ci/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2. 307db96d56Sopenharmony_ci Use this for numeric comparisons, e.g. #if PY_VERSION_HEX >= ... */ 317db96d56Sopenharmony_ci#define PY_VERSION_HEX ((PY_MAJOR_VERSION << 24) | \ 327db96d56Sopenharmony_ci (PY_MINOR_VERSION << 16) | \ 337db96d56Sopenharmony_ci (PY_MICRO_VERSION << 8) | \ 347db96d56Sopenharmony_ci (PY_RELEASE_LEVEL << 4) | \ 357db96d56Sopenharmony_ci (PY_RELEASE_SERIAL << 0)) 36