source: python/vendor/Python-2.7.6/Modules/getbuildinfo.c

Last change on this file was 388, checked in by dmik, 11 years ago

python: Update vendor to 2.7.6.

  • Property svn:eol-style set to native
File size: 1.7 KB
Line 
1#include "Python.h"
2
3#ifndef DONT_HAVE_STDIO_H
4#include <stdio.h>
5#endif
6
7#ifndef DATE
8#ifdef __DATE__
9#define DATE __DATE__
10#else
11#define DATE "xx/xx/xx"
12#endif
13#endif
14
15#ifndef TIME
16#ifdef __TIME__
17#define TIME __TIME__
18#else
19#define TIME "xx:xx:xx"
20#endif
21#endif
22
23/* on unix, SVNVERSION is passed on the command line.
24 * on Windows, the string is interpolated using
25 * subwcrev.exe
26 */
27#ifndef SVNVERSION
28#define SVNVERSION "$WCRANGE$$WCMODS?M:$"
29#endif
30
31/* XXX Only unix build process has been tested */
32#ifndef HGVERSION
33#define HGVERSION ""
34#endif
35#ifndef HGTAG
36#define HGTAG ""
37#endif
38#ifndef HGBRANCH
39#define HGBRANCH ""
40#endif
41
42const char *
43Py_GetBuildInfo(void)
44{
45 static char buildinfo[50 + sizeof(HGVERSION) +
46 ((sizeof(HGTAG) > sizeof(HGBRANCH)) ?
47 sizeof(HGTAG) : sizeof(HGBRANCH))];
48 const char *revision = _Py_hgversion();
49 const char *sep = *revision ? ":" : "";
50 const char *hgid = _Py_hgidentifier();
51 if (!(*hgid))
52 hgid = "default";
53 PyOS_snprintf(buildinfo, sizeof(buildinfo),
54 "%s%s%s, %.20s, %.9s", hgid, sep, revision,
55 DATE, TIME);
56 return buildinfo;
57}
58
59const char *
60_Py_svnversion(void)
61{
62 /* the following string can be modified by subwcrev.exe */
63 static const char svnversion[] = SVNVERSION;
64 if (svnversion[0] != '$')
65 return svnversion; /* it was interpolated, or passed on command line */
66 return "Unversioned directory";
67}
68
69const char *
70_Py_hgversion(void)
71{
72 return HGVERSION;
73}
74
75const char *
76_Py_hgidentifier(void)
77{
78 const char *hgtag, *hgid;
79 hgtag = HGTAG;
80 if ((*hgtag) && strcmp(hgtag, "tip") != 0)
81 hgid = hgtag;
82 else
83 hgid = HGBRANCH;
84 return hgid;
85}
Note: See TracBrowser for help on using the repository browser.