mirror of
https://github.com/python/cpython.git
synced 2024-11-24 10:24:35 +08:00
bpo-45548: Make Modules/Setup
easier to read (GH-29143)
This commit is contained in:
parent
098a33f6a6
commit
01cf4fb9c1
315
Modules/Setup
315
Modules/Setup
@ -62,9 +62,9 @@
|
||||
# *noconfig* has the same effect as *shared*.)
|
||||
#
|
||||
# NOTE: As a standard policy, as many modules as can be supported by a
|
||||
# platform should be present. The distribution comes with all modules
|
||||
# enabled that are supported by most platforms and don't require you
|
||||
# to ftp sources from elsewhere.
|
||||
# platform should be listed below. The distribution comes with all
|
||||
# modules enabled that are supported by most platforms and don't
|
||||
# require you to download sources from elsewhere.
|
||||
|
||||
|
||||
# Some special rules to define PYTHONPATH.
|
||||
@ -94,58 +94,40 @@ COREPYTHONPATH=$(DESTPATH)$(SITEPATH)$(TESTPATH)
|
||||
PYTHONPATH=$(COREPYTHONPATH)
|
||||
|
||||
|
||||
# The modules listed here can't be built as shared libraries for
|
||||
# various reasons; therefore they are listed here instead of in the
|
||||
# normal order.
|
||||
# ---
|
||||
# Built-in modules required to get a functioning interpreter;
|
||||
# cannot be built as shared!
|
||||
|
||||
# This only contains the minimal set of modules required to run the
|
||||
# setup.py script in the root of the Python source tree.
|
||||
|
||||
posix -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal posixmodule.c # posix (UNIX) system calls
|
||||
errno errnomodule.c # posix (UNIX) errno values
|
||||
pwd pwdmodule.c # this is needed to find out the user's home dir
|
||||
# if $HOME is not set
|
||||
_sre -DPy_BUILD_CORE_BUILTIN _sre.c # Fredrik Lundh's new regular expressions
|
||||
_codecs _codecsmodule.c # access to the builtin codecs and codec registry
|
||||
_weakref _weakref.c # weak references
|
||||
_functools -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal _functoolsmodule.c # Tools for working with functions and callable objects
|
||||
_operator -DPy_BUILD_CORE_BUILTIN _operator.c # operator.add() and similar goodies
|
||||
_collections _collectionsmodule.c # Container types
|
||||
_abc -DPy_BUILD_CORE_BUILTIN _abc.c # Abstract base classes
|
||||
itertools itertoolsmodule.c # Functions creating iterators for efficient looping
|
||||
atexit atexitmodule.c # Register functions to be run at interpreter-shutdown
|
||||
_signal -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal signalmodule.c
|
||||
_stat _stat.c # stat.h interface
|
||||
time -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal timemodule.c # -lm # time operations and variables
|
||||
_thread -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal _threadmodule.c # low-level threading interface
|
||||
|
||||
# access to ISO C locale support
|
||||
_locale -DPy_BUILD_CORE_BUILTIN _localemodule.c # -lintl
|
||||
|
||||
# Standard I/O baseline
|
||||
_collections _collectionsmodule.c
|
||||
_abc -DPy_BUILD_CORE_BUILTIN _abc.c
|
||||
_codecs _codecsmodule.c
|
||||
_functools -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal _functoolsmodule.c
|
||||
_io -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal -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
|
||||
|
||||
# faulthandler module
|
||||
_locale -DPy_BUILD_CORE_BUILTIN _localemodule.c # -lintl
|
||||
_operator -DPy_BUILD_CORE_BUILTIN _operator.c
|
||||
_signal -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal signalmodule.c
|
||||
_sre -DPy_BUILD_CORE_BUILTIN _sre.c
|
||||
_stat _stat.c
|
||||
_symtable symtablemodule.c # setup.py can't track the .h file that _symtable depends on.
|
||||
_thread -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal _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 -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal posixmodule.c
|
||||
pwd pwdmodule.c
|
||||
time -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal timemodule.c
|
||||
|
||||
# debug tool to trace memory blocks allocated by Python
|
||||
#
|
||||
# bpo-35053: The module must be builtin since _Py_NewReference()
|
||||
# can call _PyTraceMalloc_NewReference().
|
||||
_tracemalloc _tracemalloc.c
|
||||
|
||||
# ---
|
||||
# The rest of the modules listed in this file are all commented out by
|
||||
# default. Usually they can be detected and built as dynamically
|
||||
# loaded modules by the new setup.py script added in Python 2.1. If
|
||||
# you're on a platform that doesn't support dynamic loading, want to
|
||||
# compile modules statically into the Python binary, or need to
|
||||
# specify some odd set of compiler switches, you can uncomment the
|
||||
# appropriate lines below.
|
||||
|
||||
# ======================================================================
|
||||
|
||||
# The Python symtable module depends on .h files that setup.py doesn't track
|
||||
_symtable symtablemodule.c
|
||||
# loaded modules by setup.py. If you're on a platform that doesn't
|
||||
# support dynamic loading, want to compile modules statically into the
|
||||
# Python binary, or need to specify some odd set of compiler switches,
|
||||
# you can uncomment the appropriate lines below.
|
||||
|
||||
# Uncommenting the following line tells makesetup that all following
|
||||
# modules are to be built as shared libraries (see above for more
|
||||
@ -153,6 +135,76 @@ _symtable symtablemodule.c
|
||||
|
||||
#*shared*
|
||||
|
||||
# Modules that should always be present (non UNIX dependent):
|
||||
|
||||
#_asyncio _asynciomodule.c
|
||||
#_bisect _bisectmodule.c
|
||||
#_blake2 -DPy_BUILD_CORE_BUILTIN _blake2/blake2module.c _blake2/blake2b_impl.c _blake2/blake2s_impl.c
|
||||
#_codecs_cn cjkcodecs/_codecs_cn.c
|
||||
#_codecs_hk cjkcodecs/_codecs_hk.c
|
||||
#_codecs_iso2022 cjkcodecs/_codecs_iso2022.c
|
||||
#_codecs_jp cjkcodecs/_codecs_jp.c
|
||||
#_codecs_kr cjkcodecs/_codecs_kr.c
|
||||
#_codecs_tw cjkcodecs/_codecs_tw.c
|
||||
#_contextvars _contextvarsmodule.c
|
||||
#_csv _csv.c
|
||||
#_datetime _datetimemodule.c
|
||||
#_elementtree -DHAVE_EXPAT_CONFIG_H -DUSE_PYEXPAT_CAPI -I$(srcdir)/Modules/expat _elementtree.c
|
||||
#_heapq -DPy_BUILD_CORE_MODULE _heapqmodule.c
|
||||
#_json -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal _json.c
|
||||
#_lsprof _lsprof.c rotatingtree.c
|
||||
#_md5 -DPy_BUILD_CORE_BUILTIN md5module.c
|
||||
#_multibytecodec cjkcodecs/multibytecodec.c
|
||||
#_opcode _opcode.c
|
||||
#_pickle -DPy_BUILD_CORE_MODULE _pickle.c
|
||||
#_posixsubprocess -DPy_BUILD_CORE_BUILTIN _posixsubprocess.c
|
||||
#_queue -DPy_BUILD_CORE_MODULE _queuemodule.c
|
||||
#_random -DPy_BUILD_CORE_MODULE _randommodule.c
|
||||
#_sha1 -DPy_BUILD_CORE_BUILTIN sha1module.c
|
||||
#_sha256 -DPy_BUILD_CORE_BUILTIN sha256module.c
|
||||
#_sha512 -DPy_BUILD_CORE_BUILTIN sha512module.c
|
||||
#_sha3 -DPy_BUILD_CORE_BUILTIN _sha3/sha3module.c
|
||||
#_statistics _statisticsmodule.c
|
||||
#_struct -DPy_BUILD_CORE_MODULE _struct.c
|
||||
#_typing _typingmodule.c
|
||||
#_zoneinfo -DPy_BUILD_CORE_MODULE _zoneinfo.c
|
||||
#array -DPy_BUILD_CORE_MODULE arraymodule.c
|
||||
#audioop audioop.c
|
||||
#binascii -DPy_BUILD_CORE_MODULE binascii.c
|
||||
#cmath -DPy_BUILD_CORE_MODULE cmathmodule.c _math.c # -lm
|
||||
#math -DPy_BUILD_CORE_MODULE mathmodule.c _math.c # -lm
|
||||
#pyexpat -DHAVE_EXPAT_CONFIG_H -DXML_POOR_ENTROPY -DUSE_PYEXPAT_CAPI -I$(srcdir)/Modules/expat expat/xmlparse.c expat/xmlrole.c expat/xmltok.c pyexpat.c
|
||||
#unicodedata -DPy_BUILD_CORE_BUILTIN unicodedata.c
|
||||
|
||||
# Modules with some UNIX dependencies -- on by default:
|
||||
# (If you have a really backward UNIX, select and socket may not be
|
||||
# supported...)
|
||||
|
||||
#_socket socketmodule.c # socket(2)
|
||||
#fcntl fcntlmodule.c # fcntl(2) and ioctl(2)
|
||||
#grp grpmodule.c # grp(3)
|
||||
#mmap mmapmodule.c # Also works on win32.
|
||||
#ossaudiodev ossaudiodev.c
|
||||
#select selectmodule.c # select(2); not on ancient System V
|
||||
#spwd spwdmodule.c # spwd(3)
|
||||
#syslog syslogmodule.c
|
||||
|
||||
# Some more UNIX dependent modules -- off by default, since these
|
||||
# are not supported by all UNIX systems:
|
||||
|
||||
#_crypt _cryptmodule.c # -lcrypt # crypt(3); breaks many builds.
|
||||
#nis nismodule.c -lnsl # Sun yellow pages -- not everywhere
|
||||
#termios termios.c # Steen Lumholt's termios module
|
||||
#resource resource.c # Jeremy Hylton's rlimit interface
|
||||
|
||||
# Modules that require external libraries.
|
||||
|
||||
#_bz2 _bz2module.c -lbz2
|
||||
#_dbm _dbmmodule.c # -lndbm # dbm(3)
|
||||
#_gdbm -I/usr/local/include -L/usr/local/lib -lgdbm _gdbmmodule.c
|
||||
#_lzma _lzmamodule.c -llzma
|
||||
#zlib -I$(prefix)/include -L$(exec_prefix)/lib -lz zlibmodule.c
|
||||
|
||||
# GNU readline. Unlike previous Python incarnations, GNU readline is
|
||||
# now incorporated in an optional module, configured in the Setup file
|
||||
# instead of by a configure script switch. You may have to insert a
|
||||
@ -163,57 +215,11 @@ _symtable symtablemodule.c
|
||||
|
||||
#readline readline.c -lreadline -ltermcap
|
||||
|
||||
# Set OpenSSL when not using the system copy found by ./configure.
|
||||
#OPENSSL=/path/to/openssl/directory
|
||||
|
||||
# Modules that should always be present (non UNIX dependent):
|
||||
|
||||
#array -DPy_BUILD_CORE_MODULE arraymodule.c # array objects
|
||||
#cmath cmathmodule.c _math.c -DPy_BUILD_CORE_MODULE # -lm # complex math library functions
|
||||
#math mathmodule.c _math.c -DPy_BUILD_CORE_MODULE # -lm # math library functions, e.g. sin()
|
||||
#_contextvars _contextvarsmodule.c # Context Variables
|
||||
#_struct -DPy_BUILD_CORE_MODULE _struct.c # binary structure packing/unpacking
|
||||
#_testcapi _testcapimodule.c # Python C API test module; CANNOT be statically compiled!
|
||||
#_testinternalcapi _testinternalcapi.c -I$(srcdir)/Include/internal -DPy_BUILD_CORE_MODULE # Python internal C API test module
|
||||
#_random _randommodule.c -DPy_BUILD_CORE_MODULE # Random number generator
|
||||
#_elementtree -I$(srcdir)/Modules/expat -DHAVE_EXPAT_CONFIG_H -DUSE_PYEXPAT_CAPI _elementtree.c # elementtree accelerator
|
||||
#_pickle -DPy_BUILD_CORE_MODULE _pickle.c # pickle accelerator
|
||||
#_datetime _datetimemodule.c # datetime accelerator
|
||||
#_zoneinfo _zoneinfo.c -DPy_BUILD_CORE_MODULE # zoneinfo accelerator
|
||||
#_bisect _bisectmodule.c # Bisection algorithms
|
||||
#_heapq _heapqmodule.c -DPy_BUILD_CORE_MODULE # Heap queue algorithm
|
||||
#_asyncio _asynciomodule.c # Fast asyncio Future
|
||||
#_json -I$(srcdir)/Include/internal -DPy_BUILD_CORE_BUILTIN _json.c # _json speedups
|
||||
#_statistics _statisticsmodule.c # statistics accelerator
|
||||
#_typing _typingmodule.c # typing accelerator
|
||||
#_lsprof _lsprof.c rotatingtree.c # cProfile accelerators
|
||||
#_opcode _opcode.c
|
||||
#_queue _queuemodule.c -DPy_BUILD_CORE_MODULE
|
||||
|
||||
#unicodedata unicodedata.c -DPy_BUILD_CORE_BUILTIN # static Unicode character database
|
||||
|
||||
|
||||
# Modules with some UNIX dependencies -- on by default:
|
||||
# (If you have a really backward UNIX, select and socket may not be
|
||||
# supported...)
|
||||
|
||||
#fcntl fcntlmodule.c # fcntl(2) and ioctl(2)
|
||||
#spwd spwdmodule.c # spwd(3)
|
||||
#grp grpmodule.c # grp(3)
|
||||
#select selectmodule.c # select(2); not on ancient System V
|
||||
#ossaudiodev ossaudiodev.c
|
||||
|
||||
# Memory-mapped files (also works on Win32).
|
||||
#mmap mmapmodule.c
|
||||
|
||||
# CSV file helper
|
||||
#_csv _csv.c
|
||||
|
||||
# Socket module helper for socket(2)
|
||||
#_socket socketmodule.c
|
||||
|
||||
# Socket module helper for SSL support; you must comment out the other
|
||||
# socket line above, and edit the OPENSSL variable:
|
||||
# OPENSSL=/path/to/openssl/directory
|
||||
# _ssl _ssl.c \
|
||||
# To dynamically link OpenSSL:
|
||||
#_ssl _ssl.c \
|
||||
# -I$(OPENSSL)/include -L$(OPENSSL)/lib \
|
||||
# -lssl -lcrypto \
|
||||
# -DPy_BUILD_CORE_BUILTIN
|
||||
@ -223,7 +229,7 @@ _symtable symtablemodule.c
|
||||
# -DPy_BUILD_CORE_BUILTIN
|
||||
|
||||
# To statically link OpenSSL:
|
||||
# _ssl _ssl.c \
|
||||
#_ssl _ssl.c \
|
||||
# -I$(OPENSSL)/include -L$(OPENSSL)/lib \
|
||||
# -l:libssl.a -Wl,--exclude-libs,libssl.a \
|
||||
# -l:libcrypto.a -Wl,--exclude-libs,libcrypto.a \
|
||||
@ -233,52 +239,6 @@ _symtable symtablemodule.c
|
||||
# -l:libcrypto.a -Wl,--exclude-libs,libcrypto.a \
|
||||
# -DPy_BUILD_CORE_BUILTIN
|
||||
|
||||
# The crypt module is now disabled by default because it breaks builds
|
||||
# on many systems (where -lcrypt is needed), e.g. Linux (I believe).
|
||||
|
||||
#_crypt _cryptmodule.c # -lcrypt # crypt(3); needs -lcrypt on some systems
|
||||
|
||||
|
||||
# Some more UNIX dependent modules -- off by default, since these
|
||||
# are not supported by all UNIX systems:
|
||||
|
||||
#nis nismodule.c -lnsl # Sun yellow pages -- not everywhere
|
||||
#termios termios.c # Steen Lumholt's termios module
|
||||
#resource resource.c # Jeremy Hylton's rlimit interface
|
||||
|
||||
#_posixsubprocess -DPy_BUILD_CORE_BUILTIN _posixsubprocess.c # POSIX subprocess module helper
|
||||
|
||||
# Multimedia modules -- off by default.
|
||||
# These don't work for 64-bit platforms!!!
|
||||
# #993173 says audioop works on 64-bit platforms, though.
|
||||
# These represent audio samples or images as strings:
|
||||
|
||||
#audioop audioop.c # Operations on audio samples
|
||||
|
||||
|
||||
# Note that the _md5 and _sha modules are normally only built if the
|
||||
# system does not have the OpenSSL libs containing an optimized version.
|
||||
|
||||
# The _md5 module implements the RSA Data Security, Inc. MD5
|
||||
# Message-Digest Algorithm, described in RFC 1321.
|
||||
|
||||
#_md5 md5module.c -DPy_BUILD_CORE_BUILTIN
|
||||
|
||||
|
||||
# The _sha module implements the SHA checksum algorithms.
|
||||
# (NIST's Secure Hash Algorithms.)
|
||||
#_sha1 sha1module.c -DPy_BUILD_CORE_BUILTIN
|
||||
#_sha256 sha256module.c -DPy_BUILD_CORE_BUILTIN
|
||||
#_sha512 sha512module.c -DPy_BUILD_CORE_BUILTIN
|
||||
#_sha3 _sha3/sha3module.c -DPy_BUILD_CORE_BUILTIN
|
||||
|
||||
# _blake module
|
||||
#_blake2 _blake2/blake2module.c _blake2/blake2b_impl.c _blake2/blake2s_impl.c -DPy_BUILD_CORE_BUILTIN
|
||||
|
||||
# Compression
|
||||
#_bz2 _bz2module.c -lbz2
|
||||
#_lzma _lzmamodule.c -llzma
|
||||
|
||||
# The _tkinter module.
|
||||
#
|
||||
# The command for _tkinter is long and site specific. Please
|
||||
@ -322,75 +282,34 @@ _symtable symtablemodule.c
|
||||
# *** Always uncomment this; X11 libraries to link with:
|
||||
# -lX11
|
||||
|
||||
# Lance Ellinghaus's syslog module
|
||||
#syslog syslogmodule.c # syslog daemon interface
|
||||
|
||||
|
||||
# Curses support, requiring the System V version of curses, often
|
||||
# provided by the ncurses library. e.g. on Linux, link with -lncurses
|
||||
# instead of -lcurses).
|
||||
|
||||
#_curses _cursesmodule.c -lcurses -ltermcap -DPy_BUILD_CORE_MODULE
|
||||
#_curses -DPy_BUILD_CORE_MODULE -lcurses -ltermcap _cursesmodule.c
|
||||
|
||||
# Wrapper for the panel library that's part of ncurses and SYSV curses.
|
||||
#_curses_panel _curses_panel.c -lpanel -lncurses
|
||||
#_curses_panel -lpanel -lncurses _curses_panel.c
|
||||
|
||||
# Examples
|
||||
|
||||
# Modules that provide persistent dictionary-like semantics. You will
|
||||
# probably want to arrange for at least one of them to be available on
|
||||
# your machine, though none are defined by default because of library
|
||||
# dependencies. The Python module dbm/__init__.py provides an
|
||||
# implementation independent wrapper for these; dbm/dumb.py provides
|
||||
# similar functionality (but slower of course) implemented in Python.
|
||||
|
||||
#_dbm _dbmmodule.c # dbm(3) may require -lndbm or similar
|
||||
|
||||
# Anthony Baxter's gdbm module. GNU dbm(3) will require -lgdbm:
|
||||
|
||||
#_gdbm _gdbmmodule.c -I/usr/local/include -L/usr/local/lib -lgdbm
|
||||
|
||||
|
||||
# Helper module for various ascii-encoders
|
||||
#binascii binascii.c -DPy_BUILD_CORE_MODULE
|
||||
|
||||
# Andrew Kuchling's zlib module.
|
||||
# This require zlib 1.1.3 (or later).
|
||||
# See http://www.gzip.org/zlib/
|
||||
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
|
||||
|
||||
# Interface to the Expat XML parser
|
||||
# More information on Expat can be found at www.libexpat.org.
|
||||
#
|
||||
#pyexpat expat/xmlparse.c expat/xmlrole.c expat/xmltok.c pyexpat.c -I$(srcdir)/Modules/expat -DHAVE_EXPAT_CONFIG_H -DXML_POOR_ENTROPY -DUSE_PYEXPAT_CAPI
|
||||
|
||||
# Hye-Shik Chang's CJKCodecs
|
||||
|
||||
# multibytecodec is required for all the other CJK codec modules
|
||||
#_multibytecodec cjkcodecs/multibytecodec.c
|
||||
|
||||
#_codecs_cn cjkcodecs/_codecs_cn.c
|
||||
#_codecs_hk cjkcodecs/_codecs_hk.c
|
||||
#_codecs_iso2022 cjkcodecs/_codecs_iso2022.c
|
||||
#_codecs_jp cjkcodecs/_codecs_jp.c
|
||||
#_codecs_kr cjkcodecs/_codecs_kr.c
|
||||
#_codecs_tw cjkcodecs/_codecs_tw.c
|
||||
|
||||
# Example -- included for reference only:
|
||||
# xx xxmodule.c
|
||||
|
||||
# Another example -- the 'xxsubtype' module shows C-level subtyping in action
|
||||
xxsubtype xxsubtype.c
|
||||
|
||||
# Limited API examples
|
||||
#xx xxmodule.c
|
||||
#xxlimited xxlimited.c
|
||||
#xxlimited_35 xxlimited_35.c
|
||||
xxsubtype xxsubtype.c # Required for the test suite to pass!
|
||||
|
||||
# Testing
|
||||
|
||||
# For testing
|
||||
#_xxsubinterpreters _xxsubinterpretersmodule.c
|
||||
#_xxtestfuzz _xxtestfuzz/_xxtestfuzz.c _xxtestfuzz/fuzzer.c
|
||||
#_testbuffer _testbuffer.c
|
||||
#_testcapi _testcapimodule.c # CANNOT be statically compiled!
|
||||
#_testimportmultiple _testimportmultiple.c
|
||||
#_testinternalcapi -DPy_BUILD_CORE_MODULE -I$(srcdir)/Include/internal _testinternalcapi.c
|
||||
#_testmultiphase _testmultiphase.c
|
||||
|
||||
|
||||
# ---
|
||||
# Uncommenting the following line tells makesetup that all following modules
|
||||
# are not built (see above for more detail).
|
||||
#
|
||||
|
Loading…
Reference in New Issue
Block a user