-
-
Notifications
You must be signed in to change notification settings - Fork 32.2k
bpo-43974: Move Py_BUILD_CORE_MODULE into module code (GH-29157) #29157
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
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 <[email protected]>
Makefile and makesetup already define ``Py_BUILD_CORE_BUILTIN`` and include ``Modules/internal`` for us.
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.
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 [email protected]
https://bugs.python.org/issue43974