bpo-41880: fix finding headers when cross compiling #22440
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When cross-compiling third-party extensions,
get_python_inc()
may be called toreturn the path to Python's headers. However, it uses the
sys.prefix
orsys.exec_prefix
of the build Python, which returns incorrect paths whencross-compiling (paths pointing to build system headers).
To fix this, we use the
INCLUDEPY
andCONFINCLUDEPY
conf variables, which canbe configured to point at host Python by setting
_PYTHON_SYSCONFIGDATA_NAME
.The existing behavior is maintained on non-POSIX platforms or if a prefix is
manually specified.
https://bugs.python.org/issue41880