summaryrefslogtreecommitdiffstats
path: root/AppPkg/Applications/Python/Python-2.7.2/Modules/getbuildinfo.c
diff options
context:
space:
mode:
Diffstat (limited to 'AppPkg/Applications/Python/Python-2.7.2/Modules/getbuildinfo.c')
-rw-r--r--AppPkg/Applications/Python/Python-2.7.2/Modules/getbuildinfo.c85
1 files changed, 85 insertions, 0 deletions
diff --git a/AppPkg/Applications/Python/Python-2.7.2/Modules/getbuildinfo.c b/AppPkg/Applications/Python/Python-2.7.2/Modules/getbuildinfo.c
new file mode 100644
index 0000000000..d2529b3369
--- /dev/null
+++ b/AppPkg/Applications/Python/Python-2.7.2/Modules/getbuildinfo.c
@@ -0,0 +1,85 @@
+#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
+
+/* on unix, SVNVERSION is passed on the command line.
+ * on Windows, the string is interpolated using
+ * subwcrev.exe
+ */
+#ifndef SVNVERSION
+#define SVNVERSION "$WCRANGE$$WCMODS?M:$"
+#endif
+
+/* XXX Only unix build process has been tested */
+#ifndef HGVERSION
+#define HGVERSION ""
+#endif
+#ifndef HGTAG
+#define HGTAG ""
+#endif
+#ifndef HGBRANCH
+#define HGBRANCH ""
+#endif
+
+const char *
+Py_GetBuildInfo(void)
+{
+ static char buildinfo[50 + sizeof(HGVERSION) +
+ ((sizeof(HGTAG) > sizeof(HGBRANCH)) ?
+ sizeof(HGTAG) : sizeof(HGBRANCH))];
+ const char *revision = _Py_hgversion();
+ const char *sep = *revision ? ":" : "";
+ const char *hgid = _Py_hgidentifier();
+ if (!(*hgid))
+ hgid = "default";
+ PyOS_snprintf(buildinfo, sizeof(buildinfo),
+ "%s%s%s, %.20s, %.9s", hgid, sep, revision,
+ DATE, TIME);
+ return buildinfo;
+}
+
+const char *
+_Py_svnversion(void)
+{
+ /* the following string can be modified by subwcrev.exe */
+ static const char svnversion[] = SVNVERSION;
+ if (svnversion[0] != '$')
+ return svnversion; /* it was interpolated, or passed on command line */
+ return "Unversioned directory";
+}
+
+const char *
+_Py_hgversion(void)
+{
+ return HGVERSION;
+}
+
+const char *
+_Py_hgidentifier(void)
+{
+ const char *hgtag, *hgid;
+ hgtag = HGTAG;
+ if ((*hgtag) && strcmp(hgtag, "tip") != 0)
+ hgid = hgtag;
+ else
+ hgid = HGBRANCH;
+ return hgid;
+}