summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorChristian Heimes <christian@python.org>2021-11-19 15:40:57 (GMT)
committerGitHub <noreply@github.com>2021-11-19 15:40:57 (GMT)
commit7e44dc0ba768451f287a541cd1c85f7d87a41561 (patch)
treeba3b37dd571ba31928abb7f8e33fdbab10cb29c9 /Modules
parentd64659d8cdd90bf52950563c945b30b5f0ca8dd2 (diff)
downloadcpython-7e44dc0ba768451f287a541cd1c85f7d87a41561.zip
cpython-7e44dc0ba768451f287a541cd1c85f7d87a41561.tar.gz
cpython-7e44dc0ba768451f287a541cd1c85f7d87a41561.tar.bz2
bpo-45573: Move mandatory core modules to Modules/Setup.bootstrap (GH-29616)
Diffstat (limited to 'Modules')
-rw-r--r--Modules/Setup27
-rw-r--r--Modules/Setup.bootstrap34
-rw-r--r--Modules/Setup.stdlib.in3
3 files changed, 39 insertions, 25 deletions
diff --git a/Modules/Setup b/Modules/Setup
index f8c90ea..5a7c232 100644
--- a/Modules/Setup
+++ b/Modules/Setup
@@ -111,31 +111,8 @@ PYTHONPATH=$(COREPYTHONPATH)
# ---
-# Built-in modules required to get a functioning interpreter;
-# cannot be built as shared!
-
-_collections _collectionsmodule.c
-_abc _abc.c
-_codecs _codecsmodule.c
-_functools _functoolsmodule.c
-_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
-_locale _localemodule.c
-_operator _operator.c
-_signal signalmodule.c
-_sre _sre.c
-_stat _stat.c
-_symtable symtablemodule.c
-_thread _threadmodule.c
-_tracemalloc _tracemalloc.c # See bpo-35053 as to why this is built in.
-_weakref _weakref.c
-atexit atexitmodule.c
-errno errnomodule.c
-faulthandler faulthandler.c
-itertools itertoolsmodule.c
-posix posixmodule.c
-pwd pwdmodule.c
-time timemodule.c
-
+# Built-in modules required to get a functioning interpreter are listed in
+# Modules/Setup.bootstrap.
# ---
# The rest of the modules listed in this file are all commented out by
diff --git a/Modules/Setup.bootstrap b/Modules/Setup.bootstrap
new file mode 100644
index 0000000..d543f08
--- /dev/null
+++ b/Modules/Setup.bootstrap
@@ -0,0 +1,34 @@
+# -*- makefile -*-
+
+# ---
+# Built-in modules required to get a functioning interpreter;
+# cannot be built as shared!
+
+# module C APIs are used in core
+atexit atexitmodule.c
+faulthandler faulthandler.c
+posix posixmodule.c
+_signal signalmodule.c
+_tracemalloc _tracemalloc.c
+
+# modules used by importlib, deepfreeze, freeze, runpy, and sysconfig
+_codecs _codecsmodule.c
+_collections _collectionsmodule.c
+errno errnomodule.c
+_io _io/_iomodule.c _io/iobase.c _io/fileio.c _io/bytesio.c _io/bufferedio.c _io/textio.c _io/stringio.c
+itertools itertoolsmodule.c
+_sre _sre.c
+_thread _threadmodule.c
+time timemodule.c
+_weakref _weakref.c
+
+# commonly used core modules
+_abc _abc.c
+_functools _functoolsmodule.c
+_locale _localemodule.c
+_operator _operator.c
+_stat _stat.c
+_symtable symtablemodule.c
+
+# for systems without $HOME env, used by site._getuserbase()
+pwd pwdmodule.c
diff --git a/Modules/Setup.stdlib.in b/Modules/Setup.stdlib.in
index 2e87b03..3b0d322 100644
--- a/Modules/Setup.stdlib.in
+++ b/Modules/Setup.stdlib.in
@@ -29,6 +29,9 @@
############################################################################
# Modules that should always be present (POSIX and Windows):
+# needs libm and on some platforms librt
+@MODULE__DATETIME_TRUE@_datetime _datetimemodule.c
+
# _decimal uses libmpdec
# either static libmpdec.a from Modules/_decimal/libmpdec or libmpdec.so
# with ./configure --with-system-libmpdec