bpo-41282: Fix broken make install by encukou · Pull Request #26329 · python/cpython (original) (raw)

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.

There's a complication. When building Python, we need two distinct
"include" directories:

Note that this doesn't matter except when building Python from source.

Historically:

GH-24549 merged these; sysconfig is now the single source of truth and
distutils is derived from it.

Introduce 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'.

https://bugs.python.org/issue41282