Kaydet (Commit) 063db62a authored tarafından xdegaye's avatar xdegaye Kaydeden (comit) Nick Coghlan

bpo-32232: by default, Setup modules are no longer built with -DPy_BUILD_CORE (GH-6489)

Setup modules are no longer built with -DPy_BUILD_CORE by default,
as using that flag may now require including additional internal-only header files.

Instead, only the modules that specifically need it use that setting.
üst d70c2a68
...@@ -106,7 +106,8 @@ ARFLAGS= @ARFLAGS@ ...@@ -106,7 +106,8 @@ ARFLAGS= @ARFLAGS@
# Extra C flags added for building the interpreter object files. # Extra C flags added for building the interpreter object files.
CFLAGSFORSHARED=@CFLAGSFORSHARED@ CFLAGSFORSHARED=@CFLAGSFORSHARED@
# C flags used for building the interpreter object files # C flags used for building the interpreter object files
PY_CORE_CFLAGS= $(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) $(CFLAGSFORSHARED) -DPy_BUILD_CORE PY_STDMODULE_CFLAGS= $(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) $(CFLAGSFORSHARED)
PY_CORE_CFLAGS= $(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE
# Strict or non-strict aliasing flags used to compile dtoa.c, see above # Strict or non-strict aliasing flags used to compile dtoa.c, see above
CFLAGS_ALIASING=@CFLAGS_ALIASING@ CFLAGS_ALIASING=@CFLAGS_ALIASING@
......
By default, modules configured in `Modules/Setup` are no longer built with
`-DPy_BUILD_CORE`. Instead, modules that specifically need that preprocessor
definition include it in their individual entries.
...@@ -104,33 +104,33 @@ PYTHONPATH=$(COREPYTHONPATH) ...@@ -104,33 +104,33 @@ PYTHONPATH=$(COREPYTHONPATH)
# This only contains the minimal set of modules required to run the # This only contains the minimal set of modules required to run the
# setup.py script in the root of the Python source tree. # setup.py script in the root of the Python source tree.
posix posixmodule.c # posix (UNIX) system calls posix -DPy_BUILD_CORE posixmodule.c # posix (UNIX) system calls
errno errnomodule.c # posix (UNIX) errno values errno errnomodule.c # posix (UNIX) errno values
pwd pwdmodule.c # this is needed to find out the user's home dir pwd pwdmodule.c # this is needed to find out the user's home dir
# if $HOME is not set # if $HOME is not set
_sre _sre.c # Fredrik Lundh's new regular expressions _sre _sre.c # Fredrik Lundh's new regular expressions
_codecs _codecsmodule.c # access to the builtin codecs and codec registry _codecs _codecsmodule.c # access to the builtin codecs and codec registry
_weakref _weakref.c # weak references _weakref _weakref.c # weak references
_functools _functoolsmodule.c # Tools for working with functions and callable objects _functools -DPy_BUILD_CORE _functoolsmodule.c # Tools for working with functions and callable objects
_operator _operator.c # operator.add() and similar goodies _operator _operator.c # operator.add() and similar goodies
_collections _collectionsmodule.c # Container types _collections _collectionsmodule.c # Container types
_abc _abc.c # Abstract base classes _abc _abc.c # Abstract base classes
itertools itertoolsmodule.c # Functions creating iterators for efficient looping itertools itertoolsmodule.c # Functions creating iterators for efficient looping
atexit atexitmodule.c # Register functions to be run at interpreter-shutdown atexit atexitmodule.c # Register functions to be run at interpreter-shutdown
_signal signalmodule.c _signal -DPy_BUILD_CORE signalmodule.c
_stat _stat.c # stat.h interface _stat _stat.c # stat.h interface
time timemodule.c # -lm # time operations and variables time -DPy_BUILD_CORE timemodule.c # -lm # time operations and variables
_thread _threadmodule.c # low-level threading interface _thread -DPy_BUILD_CORE _threadmodule.c # low-level threading interface
# access to ISO C locale support # access to ISO C locale support
_locale _localemodule.c # -lintl _locale _localemodule.c # -lintl
# Standard I/O baseline # Standard I/O baseline
_io -I$(srcdir)/Modules/_io _io/_iomodule.c _io/iobase.c _io/fileio.c _io/bytesio.c _io/bufferedio.c _io/textio.c _io/stringio.c _io -DPy_BUILD_CORE -I$(srcdir)/Modules/_io _io/_iomodule.c _io/iobase.c _io/fileio.c _io/bytesio.c _io/bufferedio.c _io/textio.c _io/stringio.c
# The zipimport module is always imported at startup. Having it as a # The zipimport module is always imported at startup. Having it as a
# builtin module avoids some bootstrapping problems and reduces overhead. # builtin module avoids some bootstrapping problems and reduces overhead.
zipimport zipimport.c zipimport -DPy_BUILD_CORE zipimport.c
# faulthandler module # faulthandler module
faulthandler faulthandler.c faulthandler faulthandler.c
......
...@@ -233,7 +233,7 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' | ...@@ -233,7 +233,7 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
case $doconfig in case $doconfig in
no) cc="$cc \$(CCSHARED) \$(PY_CFLAGS) \$(PY_CPPFLAGS)";; no) cc="$cc \$(CCSHARED) \$(PY_CFLAGS) \$(PY_CPPFLAGS)";;
*) *)
cc="$cc \$(PY_CORE_CFLAGS)";; cc="$cc \$(PY_STDMODULE_CFLAGS)";;
esac esac
rule="$obj: $src; $cc $cpps -c $src -o $obj" rule="$obj: $src; $cc $cpps -c $src -o $obj"
echo "$rule" >>$rulesf echo "$rule" >>$rulesf
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment