blob: 0f71ca03d0a52894cd4817ea16ebe8048028a6b3 [file] [log] [blame]
Tim Peters22a51ef2001-12-04 01:11:32 +00001#include "Python.h"
Guido van Rossum49bff651997-05-20 22:40:26 +00002
Guido van Rossumff7e83d1999-08-27 20:39:37 +00003#ifndef DONT_HAVE_STDIO_H
Guido van Rossum2fff2e61997-01-20 18:34:26 +00004#include <stdio.h>
Guido van Rossumff7e83d1999-08-27 20:39:37 +00005#endif
Guido van Rossum2fff2e61997-01-20 18:34:26 +00006
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
Martin v. Löwisd078e402006-01-18 09:13:51 +000023#define SVNVERSION "$WCRANGE$$WCMODS?M:$"
Guido van Rossum2fff2e61997-01-20 18:34:26 +000024const char *
Thomas Woutersf3f33dc2000-07-21 06:00:07 +000025Py_GetBuildInfo(void)
Guido van Rossum2fff2e61997-01-20 18:34:26 +000026{
Guido van Rossum54ecc3d1999-01-27 17:53:11 +000027 static char buildinfo[50];
Tim Petersa9652f12006-01-06 02:45:17 +000028 const char *revision = Py_SubversionRevision();
29 const char *sep = *revision ? ":" : "";
30 const char *branch = Py_SubversionShortBranch();
Tim Peters22a51ef2001-12-04 01:11:32 +000031 PyOS_snprintf(buildinfo, sizeof(buildinfo),
Martin v. Löwis43b57802006-01-05 23:38:54 +000032 "%s%s%s, %.20s, %.9s", branch, sep, revision,
33 DATE, TIME);
Guido van Rossum2fff2e61997-01-20 18:34:26 +000034 return buildinfo;
35}
Barry Warsawce3a9132005-12-19 14:43:44 +000036
37const char *
Martin v. Löwis43b57802006-01-05 23:38:54 +000038_Py_svnversion(void)
Barry Warsawce3a9132005-12-19 14:43:44 +000039{
Guido van Rossum360e4b82007-05-14 22:51:27 +000040 /* the following string can be modified by subwcrev.exe */
41 static const char svnversion[] = SVNVERSION;
42 if (!strstr(svnversion, "$"))
43 return svnversion; /* it was interpolated */
Martin v. Löwis43b57802006-01-05 23:38:54 +000044 return "exported";
Barry Warsawce3a9132005-12-19 14:43:44 +000045}