mirror of https://github.com/python/cpython
gh-115582: Make default PC/pyconfig.h work for free-threaded builds with manual /DPy_GIL_DISABLED (GH-115850)
This commit is contained in:
parent
72cff8d8e5
commit
37a13b9413
|
@ -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.
|
|
@ -95,7 +95,12 @@ WIN32 is still required for the locale module.
|
||||||
#endif /* Py_BUILD_CORE || Py_BUILD_CORE_BUILTIN || Py_BUILD_CORE_MODULE */
|
#endif /* Py_BUILD_CORE || Py_BUILD_CORE_BUILTIN || Py_BUILD_CORE_MODULE */
|
||||||
|
|
||||||
/* Define to 1 if you want to disable the GIL */
|
/* 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 */
|
/* Compiler specific defines */
|
||||||
|
|
||||||
|
|
|
@ -677,7 +677,7 @@
|
||||||
<OldPyConfigH Condition="Exists('$(IntDir)pyconfig.h')">$([System.IO.File]::ReadAllText('$(IntDir)pyconfig.h'))</OldPyConfigH>
|
<OldPyConfigH Condition="Exists('$(IntDir)pyconfig.h')">$([System.IO.File]::ReadAllText('$(IntDir)pyconfig.h'))</OldPyConfigH>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="$(DisableGil) == 'true'">
|
<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>
|
</PropertyGroup>
|
||||||
<Message Text="Updating pyconfig.h" Condition="$(PyConfigHText.TrimEnd()) != $(OldPyConfigH.TrimEnd())" />
|
<Message Text="Updating pyconfig.h" Condition="$(PyConfigHText.TrimEnd()) != $(OldPyConfigH.TrimEnd())" />
|
||||||
<WriteLinesToFile File="$(IntDir)pyconfig.h"
|
<WriteLinesToFile File="$(IntDir)pyconfig.h"
|
||||||
|
|
Loading…
Reference in New Issue