1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
| #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;
| }
|
|