https://github.com/python/cpython/commit/37a13b941394a1337576c67bff35d4a44a1157e2
commit: 37a13b941394a1337576c67bff35d4a44a1157e2
branch: main
author: Steve Dower <[email protected]>
committer: zooba <[email protected]>
date: 2024-02-26T19:14:14Z
summary:
gh-115582: Make default PC/pyconfig.h work for free-threaded builds with manual
/DPy_GIL_DISABLED (GH-115850)
files:
A Misc/NEWS.d/next/Windows/2024-02-23-11-43-43.gh-issue-115582.sk1XPi.rst
M PC/pyconfig.h.in
M PCbuild/pythoncore.vcxproj
diff --git
a/Misc/NEWS.d/next/Windows/2024-02-23-11-43-43.gh-issue-115582.sk1XPi.rst
b/Misc/NEWS.d/next/Windows/2024-02-23-11-43-43.gh-issue-115582.sk1XPi.rst
new file mode 100644
index 00000000000000..f2e82bf6a3e028
--- /dev/null
+++ b/Misc/NEWS.d/next/Windows/2024-02-23-11-43-43.gh-issue-115582.sk1XPi.rst
@@ -0,0 +1,3 @@
+Building extensions intended for free-threaded builds of CPython now require
+compiling with ``/DPy_GIL_DISABLED`` manually when using a regular install.
This
+is expected to change in future releases.
diff --git a/PC/pyconfig.h.in b/PC/pyconfig.h.in
index 8bbf877a5bb5ed..d72d6282c2806f 100644
--- a/PC/pyconfig.h.in
+++ b/PC/pyconfig.h.in
@@ -95,7 +95,12 @@ WIN32 is still required for the locale module.
#endif /* Py_BUILD_CORE || Py_BUILD_CORE_BUILTIN || Py_BUILD_CORE_MODULE */
/* Define to 1 if you want to disable the GIL */
-#undef Py_GIL_DISABLED
+/* Uncomment the definition for free-threaded builds, or define it manually
+ * when compiling extension modules. Note that we test with #ifdef, so
+ * defining as 0 will still disable the GIL. */
+#ifndef Py_GIL_DISABLED
+/* #define Py_GIL_DISABLED 1 */
+#endif
/* Compiler specific defines */
diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj
index c7b698f0e17a39..ef21f85107bc32 100644
--- a/PCbuild/pythoncore.vcxproj
+++ b/PCbuild/pythoncore.vcxproj
@@ -677,7 +677,7 @@
<OldPyConfigH
Condition="Exists('$(IntDir)pyconfig.h')">$([System.IO.File]::ReadAllText('$(IntDir)pyconfig.h'))</OldPyConfigH>
</PropertyGroup>
<PropertyGroup Condition="$(DisableGil) == 'true'">
- <PyConfigHText>$(PyConfigHText.Replace('#undef Py_GIL_DISABLED',
'#define Py_GIL_DISABLED 1'))</PyConfigHText>
+ <PyConfigHText>$(PyConfigHText.Replace('/* #define Py_GIL_DISABLED 1
*/', '#define Py_GIL_DISABLED 1'))</PyConfigHText>
</PropertyGroup>
<Message Text="Updating pyconfig.h" Condition="$(PyConfigHText.TrimEnd())
!= $(OldPyConfigH.TrimEnd())" />
<WriteLinesToFile File="$(IntDir)pyconfig.h"
_______________________________________________
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]