mirror of
				https://github.com/python/cpython.git
				synced 2025-10-30 21:21:22 +00:00 
			
		
		
		
	 5c4b0d063a
			
		
	
	
		5c4b0d063a
		
	
	
	
	
		
			
			sys.version and the platform module python_build(), python_branch(), and python_revision() functions now use git information rather than hg when building from a repo. Based on original patches by Brett Cannon and Steve Dower.
		
			
				
	
	
		
			67 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #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;
 | |
| }
 |