FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
cpython/Include/patchlevel.h at main · faster-cpython/cpython · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
faster-cpython
/
cpython
Public
forked from
python/cpython
Notifications
You must be signed in to change notification settings
Fork
27
Star
529
Code
Pull requests
1
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
cpython
/
Include
/
patchlevel.h
Copy path
More file actions
More file actions
Latest commit
History
History
History
92 lines (77 loc) · 3.26 KB
Breadcrumbs
cpython
/
Include
/
patchlevel.h
Copy path
File metadata and controls
92 lines (77 loc) · 3.26 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#ifndef
_Py_PATCHLEVEL_H
#define
_Py_PATCHLEVEL_H
/* Python version identification scheme.
When the major or minor version changes, the VERSION variable in
configure.ac must also be changed.
There is also (independent) API version information in modsupport.h.
This header should self-contained; PC/python_ver_rc.h includes it
without the rest of Python.h.
*/
/* Values for PY_RELEASE_LEVEL */
#define
PY_RELEASE_LEVEL_ALPHA
0xA
#define
PY_RELEASE_LEVEL_BETA
0xB
#define
PY_RELEASE_LEVEL_GAMMA
0xC
/* For release candidates */
#define
PY_RELEASE_LEVEL_FINAL
0xF
/* Serial should be 0 here */
/* Higher for patch releases */
/* Version parsed out into numeric values */
/*--start constants--*/
#define
PY_MAJOR_VERSION
3
#define
PY_MINOR_VERSION
15
#define
PY_MICRO_VERSION
0
#define
PY_RELEASE_LEVEL
PY_RELEASE_LEVEL_ALPHA
#define
PY_RELEASE_SERIAL
8
/* Version as a string */
#define
PY_VERSION
"3.15.0a8+"
/*--end constants--*/
#define
_Py_PACK_FULL_VERSION
(
X
,
Y
,
Z
,
LEVEL
,
SERIAL
) ( \
(((X) & 0xff) << 24) | \
(((Y) & 0xff) << 16) | \
(((Z) & 0xff) << 8) | \
(((LEVEL) & 0xf) << 4) | \
(((SERIAL) & 0xf) << 0))
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
Use this for numeric comparisons, e.g. #if PY_VERSION_HEX >= ... */
#define
PY_VERSION_HEX
_Py_PACK_FULL_VERSION( \
PY_MAJOR_VERSION, \
PY_MINOR_VERSION, \
PY_MICRO_VERSION, \
PY_RELEASE_LEVEL, \
PY_RELEASE_SERIAL)
// Public Py_PACK_VERSION is declared in pymacro.h; it needs <inttypes.h>.
/* The API and ABI versions are left for backwards compatibility.
They've not been updated since 2006 and 2010, respectively.
API/ABI versioning is now tied to the CPython version.
The *_VERSION and *_STRING symbols should define the same value; as
number and string literal respectively. Make sure the definitions match.
*/
#define
PYTHON_API_VERSION
1013
#define
PYTHON_API_STRING
"1013"
#define
PYTHON_ABI_VERSION
3
#define
PYTHON_ABI_STRING
"3"
/* Stable ABI for free-threaded builds (introduced in PEP 803)
is enabled by one of:
- Py_TARGET_ABI3T, or
- Py_LIMITED_API and Py_GIL_DISABLED.
"Output" macros to be used internally:
- Py_LIMITED_API (defines the subset of API we expose)
- _Py_OPAQUE_PYOBJECT (additionally hides what's ABI-incompatible between
free-threaded & GIL)
(Don't use Py_TARGET_ABI3T directly: it's currently only used to set these
2 macros. It's also available for users' convenience.)
*/
#if
defined(
Py_LIMITED_API
)
&&
defined(
Py_GIL_DISABLED
) \
&&
!defined(
Py_TARGET_ABI3T
)
# define
Py_TARGET_ABI3T
Py_LIMITED_API
#endif
#if
defined(
Py_TARGET_ABI3T
)
# define
_Py_OPAQUE_PYOBJECT
# if
!defined(
Py_LIMITED_API
)
# define
Py_LIMITED_API
Py_TARGET_ABI3T
# elif
Py_LIMITED_API
>
Py_TARGET_ABI3T
// if both are defined, use the *lower* version,
// i.e. maximum compatibility
# undef
Py_LIMITED_API
# define
Py_LIMITED_API
Py_TARGET_ABI3T
# endif
#endif
#endif
//_Py_PATCHLEVEL_H
Back
|
FazBrowse Home
|
New Git URL