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