1996-05-29 00:30:17 +02:00
|
|
|
|
1995-08-04 06:20:48 +02:00
|
|
|
/* Return the full version string. */
|
|
|
|
|
1995-09-18 23:40:19 +02:00
|
|
|
#include "Python.h"
|
|
|
|
|
1995-08-04 06:20:48 +02:00
|
|
|
#include "patchlevel.h"
|
|
|
|
|
2022-11-15 17:45:11 +01:00
|
|
|
static int initialized = 0;
|
2024-05-18 21:44:40 +02:00
|
|
|
static char version[300];
|
2022-11-15 17:45:11 +01:00
|
|
|
|
|
|
|
void _Py_InitVersion(void)
|
1995-08-04 06:20:48 +02:00
|
|
|
{
|
2022-11-15 17:45:11 +01:00
|
|
|
if (initialized) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
initialized = 1;
|
2024-05-18 21:44:40 +02: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 16:56:10 +01:00
|
|
|
PY_VERSION, Py_GetBuildInfo(), Py_GetCompiler());
|
2022-11-15 17:45:11 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
const char *
|
|
|
|
Py_GetVersion(void)
|
|
|
|
{
|
|
|
|
_Py_InitVersion();
|
2017-11-28 16:56:10 +01:00
|
|
|
return version;
|
1995-08-04 06:20:48 +02:00
|
|
|
}
|
2021-12-10 02:52:05 +01:00
|
|
|
|
|
|
|
// Export the Python hex version as a constant.
|
|
|
|
const unsigned long Py_Version = PY_VERSION_HEX;
|