#include "Python.h" #ifndef DONT_HAVE_STDIO_H #include #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; }