1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #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
- static int initialized = 0;
- static char buildinfo[50 + sizeof(GITVERSION) +
- ((sizeof(GITTAG) > sizeof(GITBRANCH)) ?
- sizeof(GITTAG) : sizeof(GITBRANCH))];
- const char *
- Py_GetBuildInfo(void)
- {
- if (initialized) {
- return buildinfo;
- }
- initialized = 1;
- 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;
- }
|