New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You may also mention Modules/Setup.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.py
no longer definesPy_BUILD_CORE_MODULE
. Instead everymodule defines the macro before
#include "Python.h"
unlessPy_BUILD_CORE_BUILTIN
is already defined.Py_BUILD_CORE_BUILTIN
is defined for every module that is built byModules/Setup
.The PR also simplifies
Modules/Setup
.Makefile
andmakesetup
already define
Py_BUILD_CORE_BUILTIN
and includeModules/internal
for us.
Signed-off-by: Christian Heimes christian@python.org
https://bugs.python.org/issue43974