1996-05-29 06:30:17 +08:00
|
|
|
|
1995-08-04 12:20:48 +08:00
|
|
|
/* Return the full version string. */
|
|
|
|
|
1995-09-19 05:40:19 +08:00
|
|
|
#include "Python.h"
|
|
|
|
|
1995-08-04 12:20:48 +08:00
|
|
|
#include "patchlevel.h"
|
|
|
|
|
2022-11-16 00:45:11 +08:00
|
|
|
static int initialized = 0;
|
2024-05-19 03:44:40 +08:00
|
|
|
static char version[300];
|
2022-11-16 00:45:11 +08:00
|
|
|
|
|
|
|
void _Py_InitVersion(void)
|
1995-08-04 12:20:48 +08:00
|
|
|
{
|
2022-11-16 00:45:11 +08:00
|
|
|
if (initialized) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
initialized = 1;
|
2024-05-19 03:44:40 +08:00
|
|
|
#ifdef Py_GIL_DISABLED
|
|
|
|
const char *buildinfo_format = "%.80s experimental free-threading build (%.80s) %.80s";
|
|
|
|
#else
|
|
|
|
const char *buildinfo_format = "%.80s (%.80s) %.80s";
|
|
|
|
#endif
|
|
|
|
PyOS_snprintf(version, sizeof(version), buildinfo_format,
|
2017-11-28 23:56:10 +08:00
|
|
|
PY_VERSION, Py_GetBuildInfo(), Py_GetCompiler());
|
2022-11-16 00:45:11 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
const char *
|
|
|
|
Py_GetVersion(void)
|
|
|
|
{
|
|
|
|
_Py_InitVersion();
|
2017-11-28 23:56:10 +08:00
|
|
|
return version;
|
1995-08-04 12:20:48 +08:00
|
|
|
}
|
2021-12-10 09:52:05 +08:00
|
|
|
|
|
|
|
// Export the Python hex version as a constant.
|
|
|
|
const unsigned long Py_Version = PY_VERSION_HEX;
|