|
27 | 27 |
|
28 | 28 | _INSTALL_SCHEMES = {
|
29 | 29 | 'posix_prefix': {
|
30 |
| - 'stdlib': '{installed_base}/{platlibdir}/{implementation_lower}{py_version_short}', |
31 |
| - 'platstdlib': '{platbase}/{platlibdir}/{implementation_lower}{py_version_short}', |
32 |
| - 'purelib': '{base}/lib/{implementation_lower}{py_version_short}/site-packages', |
33 |
| - 'platlib': '{platbase}/{platlibdir}/{implementation_lower}{py_version_short}/site-packages', |
| 30 | + 'stdlib': '{installed_base}/{platlibdir}/{implementation_lower}{py_version_short}{abi_thread}', |
| 31 | + 'platstdlib': '{platbase}/{platlibdir}/{implementation_lower}{py_version_short}{abi_thread}', |
| 32 | + 'purelib': '{base}/lib/{implementation_lower}{py_version_short}{abi_thread}/site-packages', |
| 33 | + 'platlib': '{platbase}/{platlibdir}/{implementation_lower}{py_version_short}{abi_thread}/site-packages', |
34 | 34 | 'include':
|
35 | 35 | '{installed_base}/include/{implementation_lower}{py_version_short}{abiflags}',
|
36 | 36 | 'platinclude':
|
|
77 | 77 | # Downstream distributors who patch posix_prefix/nt scheme are encouraged to
|
78 | 78 | # leave the following schemes unchanged
|
79 | 79 | 'posix_venv': {
|
80 |
| - 'stdlib': '{installed_base}/{platlibdir}/{implementation_lower}{py_version_short}', |
81 |
| - 'platstdlib': '{platbase}/{platlibdir}/{implementation_lower}{py_version_short}', |
82 |
| - 'purelib': '{base}/lib/{implementation_lower}{py_version_short}/site-packages', |
83 |
| - 'platlib': '{platbase}/{platlibdir}/{implementation_lower}{py_version_short}/site-packages', |
| 80 | + 'stdlib': '{installed_base}/{platlibdir}/{implementation_lower}{py_version_short}{abi_thread}', |
| 81 | + 'platstdlib': '{platbase}/{platlibdir}/{implementation_lower}{py_version_short}{abi_thread}', |
| 82 | + 'purelib': '{base}/lib/{implementation_lower}{py_version_short}{abi_thread}/site-packages', |
| 83 | + 'platlib': '{platbase}/{platlibdir}/{implementation_lower}{py_version_short}{abi_thread}/site-packages', |
84 | 84 | 'include':
|
85 | 85 | '{installed_base}/include/{implementation_lower}{py_version_short}{abiflags}',
|
86 | 86 | 'platinclude':
|
@@ -148,11 +148,11 @@ def joinuser(*args):
|
148 | 148 | 'data': '{userbase}',
|
149 | 149 | },
|
150 | 150 | 'posix_user': {
|
151 |
| - 'stdlib': '{userbase}/{platlibdir}/{implementation_lower}{py_version_short}', |
152 |
| - 'platstdlib': '{userbase}/{platlibdir}/{implementation_lower}{py_version_short}', |
153 |
| - 'purelib': '{userbase}/lib/{implementation_lower}{py_version_short}/site-packages', |
154 |
| - 'platlib': '{userbase}/lib/{implementation_lower}{py_version_short}/site-packages', |
155 |
| - 'include': '{userbase}/include/{implementation_lower}{py_version_short}', |
| 151 | + 'stdlib': '{userbase}/{platlibdir}/{implementation_lower}{py_version_short}{abi_thread}', |
| 152 | + 'platstdlib': '{userbase}/{platlibdir}/{implementation_lower}{py_version_short}{abi_thread}', |
| 153 | + 'purelib': '{userbase}/lib/{implementation_lower}{py_version_short}{abi_thread}/site-packages', |
| 154 | + 'platlib': '{userbase}/lib/{implementation_lower}{py_version_short}{abi_thread}/site-packages', |
| 155 | + 'include': '{userbase}/include/{implementation_lower}{py_version_short}{abi_thread}', |
156 | 156 | 'scripts': '{userbase}/bin',
|
157 | 157 | 'data': '{userbase}',
|
158 | 158 | },
|
@@ -487,6 +487,9 @@ def _init_config_vars():
|
487 | 487 | # the init-function.
|
488 | 488 | _CONFIG_VARS['userbase'] = _getuserbase()
|
489 | 489 |
|
| 490 | + # e.g., 't' for free-threaded or '' for default build |
| 491 | + _CONFIG_VARS['abi_thread'] = 't' if _CONFIG_VARS.get('Py_GIL_DISABLED') else '' |
| 492 | + |
490 | 493 | # Always convert srcdir to an absolute path
|
491 | 494 | srcdir = _CONFIG_VARS.get('srcdir', _PROJECT_BASE)
|
492 | 495 | if os.name == 'posix':
|
@@ -655,6 +658,10 @@ def get_python_version():
|
655 | 658 | return _PY_VERSION_SHORT
|
656 | 659 |
|
657 | 660 |
|
| 661 | +def _get_python_version_abi(): |
| 662 | + return _PY_VERSION_SHORT + get_config_var("abi_thread") |
| 663 | + |
| 664 | + |
658 | 665 | def expand_makefile_vars(s, vars):
|
659 | 666 | """Expand Makefile-style variables -- "${foo}" or "$(foo)" -- in
|
660 | 667 | 'string' according to 'vars' (a dictionary mapping variable names to
|
|
0 commit comments