https://github.com/python/cpython/commit/728a881321f00a11f2f3270f0e0108415f2a208b
commit: 728a881321f00a11f2f3270f0e0108415f2a208b
branch: 3.13
author: Steve Dower <steve.do...@python.org>
committer: zooba <steve.do...@microsoft.com>
date: 2025-06-05T23:03:38+01:00
summary:

[3.13] gh-135151: Fix incorrect packaging of pyconfig.h in Windows installer 
(GH-135180)

files:
A Misc/NEWS.d/next/Windows/2025-06-05-13-52-36.gh-issue-135151.4PfNZQ.rst
M Doc/howto/free-threading-extensions.rst
M Tools/msi/dev/dev_files.wxs

diff --git a/Doc/howto/free-threading-extensions.rst 
b/Doc/howto/free-threading-extensions.rst
index 882e39416a2d4b..c7d1c00cd17d40 100644
--- a/Doc/howto/free-threading-extensions.rst
+++ b/Doc/howto/free-threading-extensions.rst
@@ -23,6 +23,14 @@ You can use it to enable code that only runs under the 
free-threaded build::
     /* code that only runs in the free-threaded build */
     #endif
 
+.. note::
+
+   On Windows, this macro is not defined automatically, but must be specified
+   to the compiler when building. The :func:`sysconfig.get_config_var` function
+   can be used to determine whether the current running interpreter had the
+   macro defined.
+
+
 Module Initialization
 =====================
 
diff --git 
a/Misc/NEWS.d/next/Windows/2025-06-05-13-52-36.gh-issue-135151.4PfNZQ.rst 
b/Misc/NEWS.d/next/Windows/2025-06-05-13-52-36.gh-issue-135151.4PfNZQ.rst
new file mode 100644
index 00000000000000..06039a87c03a6b
--- /dev/null
+++ b/Misc/NEWS.d/next/Windows/2025-06-05-13-52-36.gh-issue-135151.4PfNZQ.rst
@@ -0,0 +1,3 @@
+Avoid distributing modified :file:`pyconfig.h` in the traditional installer.
+Extension module builds must always specify ``Py_GIL_DISABLED`` when
+targeting the free-threaded runtime.
diff --git a/Tools/msi/dev/dev_files.wxs b/Tools/msi/dev/dev_files.wxs
index 4357dc86d9d356..d7c8e9007e40a4 100644
--- a/Tools/msi/dev/dev_files.wxs
+++ b/Tools/msi/dev/dev_files.wxs
@@ -3,7 +3,8 @@
     <Fragment>
         <ComponentGroup Id="dev_pyconfig">
             <Component Id="include_pyconfig.h" Directory="include" Guid="*">
-                <File Id="include_pyconfig.h" Name="pyconfig.h" 
Source="pyconfig.h" KeyPath="yes" />
+                <!-- gh-135151 Always use the unmodified header for the 
installer. -->
+                <File Id="include_pyconfig.h" Name="pyconfig.h" 
Source="!(bindpath.src)PC\pyconfig.h.in" KeyPath="yes" />
             </Component>
         </ComponentGroup>
     </Fragment>

_______________________________________________
Python-checkins mailing list -- python-checkins@python.org
To unsubscribe send an email to python-checkins-le...@python.org
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: arch...@mail-archive.com

Reply via email to