| #include "Python.h" | |
| #ifndef DONT_HAVE_STDIO_H | |
| #include <stdio.h> | |
| #endif | |
| #ifndef DATE | |
| #ifdef __DATE__ | |
| #define DATE __DATE__ | |
| #else | |
| #define DATE "xx/xx/xx" | |
| #endif | |
| #endif | |
| #ifndef TIME | |
| #ifdef __TIME__ | |
| #define TIME __TIME__ | |
| #else | |
| #define TIME "xx:xx:xx" | |
| #endif | |
| #endif | |
| /* XXX Only unix build process has been tested */ | |
| #ifndef GITVERSION | |
| #define GITVERSION "" | |
| #endif | |
| #ifndef GITTAG | |
| #define GITTAG "" | |
| #endif | |
| #ifndef GITBRANCH | |
| #define GITBRANCH "" | |
| #endif | |
| const char * | |
| Py_GetBuildInfo(void) | |
| { | |
| static char buildinfo[50 + sizeof(GITVERSION) + | |
| ((sizeof(GITTAG) > sizeof(GITBRANCH)) ? | |
| sizeof(GITTAG) : sizeof(GITBRANCH))]; | |
| const char *revision = _Py_gitversion(); | |
| const char *sep = *revision ? ":" : ""; | |
| const char *gitid = _Py_gitidentifier(); | |
| if (!(*gitid)) { | |
| gitid = "main"; | |
| } | |
| PyOS_snprintf(buildinfo, sizeof(buildinfo), | |
| "%s%s%s, %.20s, %.9s", gitid, sep, revision, | |
| DATE, TIME); | |
| return buildinfo; | |
| } | |
| const char * | |
| _Py_gitversion(void) | |
| { | |
| return GITVERSION; | |
| } | |
| const char * | |
| _Py_gitidentifier(void) | |
| { | |
| const char *gittag, *gitid; | |
| gittag = GITTAG; | |
| if ((*gittag) && strcmp(gittag, "undefined") != 0) | |
| gitid = gittag; | |
| else | |
| gitid = GITBRANCH; | |
| return gitid; | |
| } |