mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	 c9ce983ae1
			
		
	
	
		c9ce983ae1
		
			
		
	
	
	
	
		
			
			Remove private pylifecycle.h functions: move them to the internal C API ( pycore_atexit.h, pycore_pylifecycle.h and pycore_signal.h). No longer export most of these functions. Move _testcapi.test_atexit() to _testinternalcapi.
		
			
				
	
	
		
			79 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef Py_BUILD_CORE_BUILTIN
 | |
| #  define Py_BUILD_CORE_MODULE 1
 | |
| #endif
 | |
| 
 | |
| #include "Python.h"
 | |
| #include "pycore_pylifecycle.h"   // _Py_gitidentifier()
 | |
| 
 | |
| #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
 | |
| 
 | |
| static int initialized = 0;
 | |
| static char buildinfo[50 + sizeof(GITVERSION) +
 | |
|                       ((sizeof(GITTAG) > sizeof(GITBRANCH)) ?
 | |
|                        sizeof(GITTAG) : sizeof(GITBRANCH))];
 | |
| 
 | |
| const char *
 | |
| Py_GetBuildInfo(void)
 | |
| {
 | |
|     if (initialized) {
 | |
|         return buildinfo;
 | |
|     }
 | |
|     initialized = 1;
 | |
|     const char *revision = _Py_gitversion();
 | |
|     const char *sep = *revision ? ":" : "";
 | |
|     const char *gitid = _Py_gitidentifier();
 | |
|     if (!(*gitid)) {
 | |
|         gitid = "main";
 | |
|     }
 | |
|     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;
 | |
| }
 |