PEP 11 now defines support tiers based on CPU arch, platform, libc, and compiler. I propose to check the support level in configure and report it to the user. It is trivial to check the platform with a case block. The compiler name can be detect by builtin macro names like __clang__.
A message at build time makes support tier more obvious to the user. It might even nudge some vendors to contribute fixes and build bots.
Example:
checking for PEP 11 support tier... x86_64-pc-linux-gnu/gcc has tier 1 (supported)
checking for PEP 11 support tier... wasm32-unknown-emscripten/clang is not supported
...
configure: creating Modules/Setup.local
configure: creating Makefile
configure:
If you want a release build with all stable optimizations active (PGO, etc),
please run ./configure --enable-optimizations
configure:
Platform "wasm32-unknown-emscripten" with compiler "clang" is not supported by
CPython core team, see https://peps.python.org/pep-0011/ for more information.
Activity
pythongh-93491: Add support tier detection to configure (pythonGH-93492)
gh-93491: Add support tier detection to configure (GH-93492)
gh-93491: Add support tier detection to configure (GH-93492)
Revert 30935 defer bpo45162 to 312 (#94285)
pythongh-93491: Fix PEP 11 tier detection for FreeBSD
gh-93491: Fix PEP 11 tier detection for FreeBSD (GH-94441)
pythongh-93491: Fix PEP 11 tier detection for FreeBSD (pythonGH-94441)
gh-93491: Fix PEP 11 tier detection for FreeBSD (GH-94441)
pythongh-93491: Fix PEP 11 tier detection for FreeBSD (pythonGH-94441)