Uh oh!
There was an error while loading. Please reload this page.
bpo-43974: Move Py_BUILD_CORE_MODULE into module code (GH-29157) - #29157
Conversation
``setup.py`` no longer defines ``Py_BUILD_CORE_MODULE``. Instead every module defines the macro before ``#include "Python.h"`` unless ``Py_BUILD_CORE_BUILTIN`` is already defined. ``Py_BUILD_CORE_BUILTIN`` is defined for every module that is built by ``Modules/Setup``. Signed-off-by: Christian Heimes <christian@python.org>
Makefile and makesetup already define ``Py_BUILD_CORE_BUILTIN`` and include ``Modules/internal`` for us.
Uh oh!
There was an error while loading. Please reload this page.
vstinner
left a comment
There was a problem hiding this comment.
LGTM. I compared the list of modified files to setup.py. It seems like the PR is exhausitve.
Oh. I didn't know that Modules/makesetup already uses the correct flags for build C extensions depending if it's before or after *shared* in Modules/Setup:
PY_BUILTIN_MODULE_CFLAGS= $(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE_BUILTIN
PY_CORE_CFLAGS= $(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE
| @@ -0,0 +1,2 @@ | |||
| ``setup.py`` no longer defines ``Py_BUILD_CORE_MODULE``. Instead every | |||
There was a problem hiding this comment.
You may also mention Modules/Setup.
There was a problem hiding this comment.
Oh. I didn't know that Modules/makesetup already uses the correct flags for build C extensions depending if it's before or after
*shared*in Modules/Setup:
There is a problem with *shared*. I created https://bugs.python.org/issue45571 to track the issue.
setup.pyno longer definesPy_BUILD_CORE_MODULE. Instead everymodule defines the macro before
#include "Python.h"unlessPy_BUILD_CORE_BUILTINis already defined.Py_BUILD_CORE_BUILTINis defined for every module that is built byModules/Setup.The PR also simplifies
Modules/Setup.Makefileandmakesetupalready define
Py_BUILD_CORE_BUILTINand includeModules/internalfor us.
Signed-off-by: Christian Heimes christian@python.org
https://bugs.python.org/issue43974