blob: a017dab062acb3517a19d4c7d81fb3e92d5e284b [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#ifdef SUBWCREV
24#define SVNVERSION "$WCRANGE$$WCMODS?M:$"
25#endif
26
Guido van Rossum2fff2e61997-01-20 18:34:26 +000027const char *
Thomas Woutersf3f33dc2000-07-21 06:00:07 +000028Py_GetBuildInfo(void)
Guido van Rossum2fff2e61997-01-20 18:34:26 +000029{
Guido van Rossum54ecc3d1999-01-27 17:53:11 +000030 static char buildinfo[50];
Tim Petersa9652f12006-01-06 02:45:17 +000031 const char *revision = Py_SubversionRevision();
32 const char *sep = *revision ? ":" : "";
33 const char *branch = Py_SubversionShortBranch();
Tim Peters22a51ef2001-12-04 01:11:32 +000034 PyOS_snprintf(buildinfo, sizeof(buildinfo),
Martin v. Löwis43b57802006-01-05 23:38:54 +000035 "%s%s%s, %.20s, %.9s", branch, sep, revision,
36 DATE, TIME);
Guido van Rossum2fff2e61997-01-20 18:34:26 +000037 return buildinfo;
38}
Barry Warsawce3a9132005-12-19 14:43:44 +000039
40const char *
Martin v. Löwis43b57802006-01-05 23:38:54 +000041_Py_svnversion(void)
Barry Warsawce3a9132005-12-19 14:43:44 +000042{
Martin v. Löwis43b57802006-01-05 23:38:54 +000043#ifdef SVNVERSION
44 return SVNVERSION;
45#else
46 return "exported";
47#endif
Barry Warsawce3a9132005-12-19 14:43:44 +000048}