mirror of https://github.com/python/cpython.git
![]() A previous commit broke a check in sysconfig when building cpython itself.
This caused builds of the standard library modules to search a wrong
location (the installed location rather than the source directory) for
header files with the net effect that a ``make install``
incorrectly caused all extension modules to be rebuilt again and
with incorrect include file paths.
When building Python, we need two distinct "include" directories:
- source .h files
- install target for .h files
Note that this doesn't matter except when building Python from source.
Historically:
- source .h files were in the distutils scheme under 'include'
- the install directory was in the distutils.command.install scheme
under 'headers'
GH-24549 merged these; sysconfig is now the single source of truth and
distutils is derived from it.
This commit introduces a "secret" scheme path, 'headers', which contains
the install target. It is only present when building Python.
The distutils code uses it if present, and falls back to 'include'.
Co-authored-by: Ned Deily <nad@python.org>
(cherry picked from commit
|
||
---|---|---|
.. | ||
__init__.py | ||
bdist.py | ||
bdist_dumb.py | ||
bdist_msi.py | ||
bdist_rpm.py | ||
build.py | ||
build_clib.py | ||
build_ext.py | ||
build_py.py | ||
build_scripts.py | ||
check.py | ||
clean.py | ||
command_template | ||
config.py | ||
install.py | ||
install_data.py | ||
install_egg_info.py | ||
install_headers.py | ||
install_lib.py | ||
install_scripts.py | ||
register.py | ||
sdist.py | ||
upload.py |