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