| #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 = "default"; |
| 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; |
| } |