Repository navigation
Conversation
With --with-build-python, generate-build-details.py runs on a different interpreter than the one being built. abi.flags, suffixes.extensions, abi.stable_abi_suffix and supports_isolated_interpreters came from sys and importlib, so they described the build interpreter. Read them from sysconfig instead. The extension suffix list is rebuilt the same way Python/dynload_shlib.c builds it; a test checks that the result matches importlib.machinery.EXTENSION_SUFFIXES on native builds. Also set abi.extension_suffix and abi.stable_abi_suffix for static libpython builds. They were only set with a shared libpython, but extension modules work either way and PEP 739 requires them. Co-Authored-By: Claude Fable 5.1 <[email protected]>
itamaro
marked this pull request as ready for review
November 7, 2026 06:07
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
With
--with-build-python,generate-build-details.pyruns on an interpreter other than the one being built.abi.flags,suffixes.extensions,abi.stable_abi_suffixandsupports_isolated_interpreterscame fromsysandimportlib, so they described the build interpreter. This reads them fromsysconfiginstead. The suffix list is rebuilt the waydynload_shlib.cbuilds it, and a test checks the result againstimportlib.machinery.EXTENSION_SUFFIXESon native builds.Also sets
abi.extension_suffixandabi.stable_abi_suffixfor static libpython builds. PEP 739 requires them whenever extension modules are supported; they were only emitted with a shared libpython (rust-cross/manylinux-cross#165).Tested with
./configure --disable-gil --with-build-python=<GIL-enabled debug python> && make build-details.json: the file now has["t"]and the free-threaded suffix list instead of the build interpreter's["d"]and its list.Written with assistance from Claude Fable 5.1