◐ Shell
reader mode source ↗
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
File filter
Conversations
Jump to
Diff view
Apply and reload
Show whitespace
Diff view
Apply and reload
1 change: 1 addition & 0 deletions .github/workflows/posix-deps-apt.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ apt-get update

apt-get -yq install \
build-essential \
ccache \
gdb \
lcov \
Expand Down
107 changes: 52 additions & 55 deletions Modules/Setup
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@
#
# <name> = <value>
#
# which defines a Make variable definition inserted into Makefile.in
#
# The build process works like this:
#
Expand All @@ -65,6 +67,11 @@
# 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.
Expand Down Expand Up @@ -103,12 +110,12 @@ _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 # -lintl
_operator _operator.c
_signal signalmodule.c
_sre _sre.c
_stat _stat.c
_symtable symtablemodule.c # setup.py can't track the .h file that _symtable depends on.
_thread _threadmodule.c
_tracemalloc _tracemalloc.c # See bpo-35053 as to why this is built in.
_weakref _weakref.c
Expand All @@ -129,47 +136,30 @@ time timemodule.c
# Python binary, or need to specify some odd set of compiler switches,
# you can uncomment the appropriate lines below.

# To enable all modules for testing, run
# sed -n -E 's/^#([a-z_\*].*)$/\1/p' Modules/Setup > Modules/Setup.local

# Uncommenting the following line tells makesetup that all following
# modules are to be built as shared libraries (see above for more
# detail; also note that *static* or *disabled* cancels this effect):

#*shared*

# Modules that should always be present (non UNIX dependent):

#_asyncio _asynciomodule.c
#_bisect _bisectmodule.c
#_blake2 _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
# UNIVERSAL: let mpdecimal.h detect settings
#_decimal -DUNIVERSAL -I$(srcdir)/Modules/_decimal/libmpdec _decimal/_decimal.c _decimal/libmpdec/basearith.c _decimal/libmpdec/constants.c _decimal/libmpdec/context.c _decimal/libmpdec/convolute.c _decimal/libmpdec/crt.c _decimal/libmpdec/difradix2.c _decimal/libmpdec/fnt.c _decimal/libmpdec/fourstep.c _decimal/libmpdec/io.c _decimal/libmpdec/mpalloc.c _decimal/libmpdec/mpdecimal.c _decimal/libmpdec/numbertheory.c _decimal/libmpdec/sixstep.c _decimal/libmpdec/transpose.c
#_elementtree -I$(srcdir)/Modules/expat _elementtree.c
#_heapq _heapqmodule.c
#_json _json.c
#_lsprof _lsprof.c rotatingtree.c
#_md5 md5module.c
#_multibytecodec cjkcodecs/multibytecodec.c
#_multiprocessing -I$(srcdir)/Modules/_multiprocessing _multiprocessing/multiprocessing.c _multiprocessing/semaphore.c
#_opcode _opcode.c
#_pickle _pickle.c
#_posixsubprocess _posixsubprocess.c
#_queue _queuemodule.c
#_random _randommodule.c
#_sha1 sha1module.c
#_sha256 sha256module.c
#_sha512 sha512module.c
#_sha3 _sha3/sha3module.c
#_statistics _statisticsmodule.c
#_struct _struct.c
#_typing _typingmodule.c
Expand All @@ -179,53 +169,65 @@ time timemodule.c
#binascii binascii.c
#cmath cmathmodule.c
#math mathmodule.c
#pyexpat -I$(srcdir)/Modules/expat expat/xmlparse.c expat/xmlrole.c expat/xmltok.c pyexpat.c
#unicodedata unicodedata.c

# Modules with some UNIX dependencies -- on by default:
# (If you have a really backward UNIX, select and socket may not be
# supported...)

#_posixshmem -I$(srcdir)/Modules/_multiprocessing _multiprocessing/posixshmem.c -lrt
#_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 -I/usr/include/tirpc -lnsl -ltirpc # 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
#_ctypes _ctypes/_ctypes.c _ctypes/callbacks.c _ctypes/callproc.c _ctypes/stgdict.c _ctypes/cfield.c -ldl -lffi -DHAVE_FFI_PREP_CIF_VAR -DHAVE_FFI_PREP_CLOSURE_LOC -DHAVE_FFI_CLOSURE_ALLOC
# _dbm _dbmmodule.c # -lndbm # dbm(3)
#_gdbm _gdbmmodule.c -lgdbm
#_lzma _lzmamodule.c -llzma
#_sqlite3 _sqlite/connection.c _sqlite/cursor.c _sqlite/microprotocols.c _sqlite/module.c _sqlite/prepare_protocol.c _sqlite/row.c _sqlite/statement.c _sqlite/util.c -lsqlite3
#_uuid _uuidmodule.c -luuid
#zlib zlibmodule.c -lz

# 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
# -L option pointing to the directory where libreadline.* lives,
# and you may have to change -ltermcap to -ltermlib or perhaps remove
# it, depending on your system -- see the GNU readline instructions.
# It's okay for this to be a shared library, too.

#readline readline.c -lreadline -ltermcap

# To dynamically link OpenSSL:
#_ssl _ssl.c $(OPENSSL_INCLUDES) $(OPENSSL_LDFLAGS) $(OPENSSL_LIBS)
#_hashlib _hashopenssl.c $(OPENSSL_INCLUDES) $(OPENSSL_LDFLAGS) -lcrypto

Expand Down Expand Up @@ -277,13 +279,8 @@ time timemodule.c
# *** Always uncomment this; X11 libraries to link with:
# -lX11

# 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 -lcurses -lcursesw -ltermcap _cursesmodule.c

# Wrapper for the panel library that's part of ncurses and SYSV curses.
#_curses_panel -lpanel -lncurses _curses_panel.c

# macOS specific modules
Expand Down
18 changes: 17 additions & 1 deletion configure
Original file line number Diff line number Diff line change
Expand Up @@ -17288,7 +17288,23 @@ do
done


SRCDIRS="Parser Objects Python Modules Modules/_io Programs"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for build directories" >&5
$as_echo_n "checking for build directories... " >&6; }
for dir in $SRCDIRS; do
Expand Down
Toggle all file notes Toggle all file annotations