https://github.com/python/cpython/commit/874d1122deb431c55ee34db93cc21ea3ace3753b
commit: 874d1122deb431c55ee34db93cc21ea3ace3753b
branch: 3.15
author: Miss Islington (bot) <[email protected]>
committer: hugovk <[email protected]>
date: 2026-10-07T14:00:02+03:00
summary:

[3.15] Doc: update abi3t build tool support (GH-158171) (#158959)

Co-authored-by: Nathan Goldbaum <[email protected]>
Co-authored-by: Petr Viktorin <[email protected]>
Co-authored-by: Hugo van Kemenade <[email protected]>

files:
M Doc/howto/abi3t-migration.rst
M Doc/whatsnew/3.15.rst

diff --git a/Doc/howto/abi3t-migration.rst b/Doc/howto/abi3t-migration.rst
index 501106679b02bd..3aa11a0dbf653d 100644
--- a/Doc/howto/abi3t-migration.rst
+++ b/Doc/howto/abi3t-migration.rst
@@ -169,14 +169,22 @@ or :c:member:`PyTypeObject.tp_itemsize`), it cannot be 
ported to
 ``abi3t`` 3.15.
 
 
+.. _abi3t-migration-build:
+
 Setting up the build
 ====================
 
-If you use a build tool (such as setuptools, meson-python, scikit-build-core),
-search its documentation for a way to select ``abi3t``.
-At the time of writing, not all of them have this; but if your tool does,
-use it.
-You may want to verify that it set the right flag by temporarily adding the
+If you use a build tool, search its documentation for "``abi3t``", and follow
+any instructions to select the ABI.
+For reference, here are direct links for several popular build tools:
+
+- `meson-python
+  
<https://mesonbuild.com/meson-python/how-to-guides/limited-api.html#the-abi3t-stable-abi>`__
+- `scikit-build-core
+  
<https://scikit-build-core.readthedocs.io/en/stable/configuration/#customizing-the-output-wheel>`__
+- `Maturin <https://www.maturin.rs/bindings#py_limited_apiabi3>`__
+
+You may want to verify that the tool set the right flag by temporarily adding 
the
 following just after ``#include <Python.h>``::
 
    #if Py_TARGET_ABI3T+0 <= 0x30f0000
@@ -185,6 +193,13 @@ following just after ``#include <Python.h>``::
 
 This should result in a different error than "``abi3t`` define is not set".
 
+.. seealso::
+
+   `Building and distributing abi3t extensions
+   <https://py-free-threading.github.io/abi3t/>`__:
+   Build configuration and wheel testing examples in the community-maintained
+   Python Free-Threading Guide.
+
 .. note::
 
    If your build tool doesn't support ``abi3t`` yet, set the following macro
diff --git a/Doc/whatsnew/3.15.rst b/Doc/whatsnew/3.15.rst
index bb091b2e7388a9..747c8ba9fea0e5 100644
--- a/Doc/whatsnew/3.15.rst
+++ b/Doc/whatsnew/3.15.rst
@@ -572,16 +572,19 @@ the existing Stable ABI (``abi3``) and the 
version-specific ABI for
 free-threading (``cp315t``) separately.
 
 Stable ABI for Free-Threaded Builds should typically
-be selected in a build tool (such as, for example, Setuptools, meson-python,
-scikit-build-core, or Maturin).
-At the time of writing, these tools do **not** support ``abi3t``.
-If this is the case for your tool, compile for ``cp315t`` separately.
+be selected in a build tool. Tools with ``abi3t`` support include
+meson-python, scikit-build-core, and Maturin; see
+:ref:`abi3t-migration-build` for links to their documentation on ``abi3t`` 
builds.
+If your build tool does not support ``abi3t``, compile for ``cp315t`` 
separately.
 If not using a build tool -- or when writing such a tool -- you can select
 ``abi3t`` by setting the macro :c:macro:`!Py_TARGET_ABI3T` as discussed
 in :ref:`abi3-compiling`.
 
 A practical :ref:`migration guide <abi3t-migration-howto>` for switching to
 ``abi3t`` is available.
+The community-maintained `Python Free-Threading Guide
+<https://py-free-threading.github.io/abi3t/>`__ provides examples of building
+and testing ``abi3t`` wheels.
 
 .. seealso:: :pep:`803` for further details.
 

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to