1# -*- makefile -*- 2# 3# This file is autogenerated from Modules/Setup.stdlib.in. 4# 5 6# The file is not used by default yet. For testing do: 7# 8# ln -sfr Modules/Setup.stdlib Modules/Setup.local 9# 10 11# * @MODULE_{NAME}_TRUE@ is removed when configure detects all build 12# dependencies for a module. Otherwise the template variable is replaced 13# by a comment "#" and the module is skipped. 14# * Module lines without any compiler and linker flags automatically use 15# $(MODULE_{NAME}_CFLAGS) and $(MODULE_{NAME}_LDFLAGS). These flags are 16# generated by PY_STDLIB_MOD macro. 17# * All source files automatically depend on $(PYTHON_HEADERS) and 18# $(MODULE_{NAME}_DEPS). 19# 20# See Modules/Setup and Modules/makesetup 21# 22 23 24# Build modules statically or as shared extensions 25# *shared* / *static* 26*@MODULE_BUILDTYPE@* 27 28 29############################################################################ 30# Modules that should always be present (POSIX and Windows): 31@MODULE_ARRAY_TRUE@array arraymodule.c 32@MODULE__ASYNCIO_TRUE@_asyncio _asynciomodule.c 33@MODULE__BISECT_TRUE@_bisect _bisectmodule.c 34@MODULE__CONTEXTVARS_TRUE@_contextvars _contextvarsmodule.c 35@MODULE__CSV_TRUE@_csv _csv.c 36@MODULE__HEAPQ_TRUE@_heapq _heapqmodule.c 37@MODULE__JSON_TRUE@_json _json.c 38@MODULE__LSPROF_TRUE@_lsprof _lsprof.c rotatingtree.c 39@MODULE__OPCODE_TRUE@_opcode _opcode.c 40@MODULE__PICKLE_TRUE@_pickle _pickle.c 41@MODULE__QUEUE_TRUE@_queue _queuemodule.c 42@MODULE__RANDOM_TRUE@_random _randommodule.c 43@MODULE__STRUCT_TRUE@_struct _struct.c 44 45# build supports subinterpreters 46@MODULE__INTERPRETERS_TRUE@_interpreters _interpretersmodule.c 47@MODULE__INTERPCHANNELS_TRUE@_interpchannels _interpchannelsmodule.c 48@MODULE__INTERPQUEUES_TRUE@_interpqueues _interpqueuesmodule.c 49 50@MODULE__ZONEINFO_TRUE@_zoneinfo _zoneinfo.c 51 52# needs libm 53@MODULE_MATH_TRUE@math mathmodule.c 54@MODULE_CMATH_TRUE@cmath cmathmodule.c 55@MODULE__STATISTICS_TRUE@_statistics _statisticsmodule.c 56 57# needs libm and on some platforms librt 58@MODULE__DATETIME_TRUE@_datetime _datetimemodule.c 59 60# _decimal uses libmpdec 61# either static libmpdec.a from Modules/_decimal/libmpdec or libmpdec.so 62# with ./configure --with-system-libmpdec 63@MODULE__DECIMAL_TRUE@_decimal _decimal/_decimal.c 64 65# compression libs and binascii (optional CRC32 from zlib) 66# bindings need -lbz2, -lz, or -llzma, respectively 67@MODULE_BINASCII_TRUE@binascii binascii.c 68@MODULE__BZ2_TRUE@_bz2 _bz2module.c 69@MODULE__LZMA_TRUE@_lzma _lzmamodule.c 70@MODULE_ZLIB_TRUE@zlib zlibmodule.c 71 72# dbm/gdbm 73# dbm needs either libndbm, libgdbm_compat, or libdb 5.x 74@MODULE__DBM_TRUE@_dbm _dbmmodule.c 75# gdbm module needs -lgdbm 76@MODULE__GDBM_TRUE@_gdbm _gdbmmodule.c 77 78# needs -lreadline or -ledit, sometimes termcap, termlib, or tinfo 79@MODULE_READLINE_TRUE@readline readline.c 80 81# hashing builtins, can be disabled with --without-builtin-hashlib-hashes 82@MODULE__MD5_TRUE@_md5 md5module.c -I$(srcdir)/Modules/_hacl/include _hacl/Hacl_Hash_MD5.c -D_BSD_SOURCE -D_DEFAULT_SOURCE 83@MODULE__SHA1_TRUE@_sha1 sha1module.c -I$(srcdir)/Modules/_hacl/include _hacl/Hacl_Hash_SHA1.c -D_BSD_SOURCE -D_DEFAULT_SOURCE 84@MODULE__SHA2_TRUE@_sha2 sha2module.c -I$(srcdir)/Modules/_hacl/include Modules/_hacl/libHacl_Hash_SHA2.a 85@MODULE__SHA3_TRUE@_sha3 sha3module.c -I$(srcdir)/Modules/_hacl/include _hacl/Hacl_Hash_SHA3.c -D_BSD_SOURCE -D_DEFAULT_SOURCE 86@MODULE__BLAKE2_TRUE@_blake2 _blake2/blake2module.c _blake2/blake2b_impl.c _blake2/blake2s_impl.c 87 88############################################################################ 89# XML and text 90 91# pyexpat module uses libexpat 92# either static libexpat.a from Modules/expat or libexpat.so with 93# ./configure --with-system-expat 94@MODULE_PYEXPAT_TRUE@pyexpat pyexpat.c 95 96# _elementtree libexpat via CAPI hook in pyexpat. 97@MODULE__ELEMENTTREE_TRUE@_elementtree _elementtree.c 98 99@MODULE__CODECS_CN_TRUE@_codecs_cn cjkcodecs/_codecs_cn.c 100@MODULE__CODECS_HK_TRUE@_codecs_hk cjkcodecs/_codecs_hk.c 101@MODULE__CODECS_ISO2022_TRUE@_codecs_iso2022 cjkcodecs/_codecs_iso2022.c 102@MODULE__CODECS_JP_TRUE@_codecs_jp cjkcodecs/_codecs_jp.c 103@MODULE__CODECS_KR_TRUE@_codecs_kr cjkcodecs/_codecs_kr.c 104@MODULE__CODECS_TW_TRUE@_codecs_tw cjkcodecs/_codecs_tw.c 105@MODULE__MULTIBYTECODEC_TRUE@_multibytecodec cjkcodecs/multibytecodec.c 106@MODULE_UNICODEDATA_TRUE@unicodedata unicodedata.c 107 108############################################################################ 109# Modules with some UNIX dependencies 110# 111 112@MODULE_FCNTL_TRUE@fcntl fcntlmodule.c 113@MODULE_GRP_TRUE@grp grpmodule.c 114@MODULE_MMAP_TRUE@mmap mmapmodule.c 115# needs sys/soundcard.h or linux/soundcard.h (Linux, FreeBSD) 116@MODULE__POSIXSUBPROCESS_TRUE@_posixsubprocess _posixsubprocess.c 117@MODULE_RESOURCE_TRUE@resource resource.c 118@MODULE_SELECT_TRUE@select selectmodule.c 119@MODULE__SOCKET_TRUE@_socket socketmodule.c 120@MODULE_SYSLOG_TRUE@syslog syslogmodule.c 121@MODULE_TERMIOS_TRUE@termios termios.c 122 123# multiprocessing 124@MODULE__POSIXSHMEM_TRUE@_posixshmem _multiprocessing/posixshmem.c 125@MODULE__MULTIPROCESSING_TRUE@_multiprocessing _multiprocessing/multiprocessing.c _multiprocessing/semaphore.c 126 127 128############################################################################ 129# Modules with third party dependencies 130# 131 132# needs -lffi and -ldl 133@MODULE__CTYPES_TRUE@_ctypes _ctypes/_ctypes.c _ctypes/callbacks.c _ctypes/callproc.c _ctypes/stgdict.c _ctypes/cfield.c @MODULE__CTYPES_MALLOC_CLOSURE@ 134 135# needs -lncurses[w], sometimes -ltermcap/tinfo 136@MODULE__CURSES_TRUE@_curses _cursesmodule.c 137# needs -lncurses[w] and -lpanel[w] 138@MODULE__CURSES_PANEL_TRUE@_curses_panel _curses_panel.c 139 140@MODULE__SQLITE3_TRUE@_sqlite3 _sqlite/blob.c _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 141 142# needs -lssl and -lcrypt 143@MODULE__SSL_TRUE@_ssl _ssl.c 144# needs -lcrypt 145@MODULE__HASHLIB_TRUE@_hashlib _hashopenssl.c 146 147# Linux: -luuid, BSD/AIX: libc's uuid_create() 148@MODULE__UUID_TRUE@_uuid _uuidmodule.c 149 150@MODULE__TKINTER_TRUE@_tkinter _tkinter.c tkappinit.c 151 152############################################################################ 153# macOS specific modules 154 155# _scproxy needs SystemConfiguration and CoreFoundation framework 156@MODULE__SCPROXY_TRUE@_scproxy _scproxy.c 157 158 159############################################################################ 160# Test modules 161 162@MODULE_XXSUBTYPE_TRUE@xxsubtype xxsubtype.c 163@MODULE__XXTESTFUZZ_TRUE@_xxtestfuzz _xxtestfuzz/_xxtestfuzz.c _xxtestfuzz/fuzzer.c 164@MODULE__TESTBUFFER_TRUE@_testbuffer _testbuffer.c 165@MODULE__TESTINTERNALCAPI_TRUE@_testinternalcapi _testinternalcapi.c _testinternalcapi/test_lock.c _testinternalcapi/pytime.c _testinternalcapi/set.c _testinternalcapi/test_critical_sections.c 166@MODULE__TESTCAPI_TRUE@_testcapi _testcapimodule.c _testcapi/vectorcall.c _testcapi/heaptype.c _testcapi/abstract.c _testcapi/unicode.c _testcapi/dict.c _testcapi/set.c _testcapi/list.c _testcapi/tuple.c _testcapi/getargs.c _testcapi/datetime.c _testcapi/docstring.c _testcapi/mem.c _testcapi/watchers.c _testcapi/long.c _testcapi/float.c _testcapi/complex.c _testcapi/numbers.c _testcapi/structmember.c _testcapi/exceptions.c _testcapi/code.c _testcapi/buffer.c _testcapi/pyatomic.c _testcapi/run.c _testcapi/file.c _testcapi/codec.c _testcapi/immortal.c _testcapi/gc.c _testcapi/hash.c _testcapi/time.c _testcapi/bytes.c _testcapi/object.c _testcapi/monitoring.c 167@MODULE__TESTLIMITEDCAPI_TRUE@_testlimitedcapi _testlimitedcapi.c _testlimitedcapi/abstract.c _testlimitedcapi/bytearray.c _testlimitedcapi/bytes.c _testlimitedcapi/complex.c _testlimitedcapi/dict.c _testlimitedcapi/float.c _testlimitedcapi/heaptype_relative.c _testlimitedcapi/list.c _testlimitedcapi/long.c _testlimitedcapi/object.c _testlimitedcapi/pyos.c _testlimitedcapi/set.c _testlimitedcapi/sys.c _testlimitedcapi/tuple.c _testlimitedcapi/unicode.c _testlimitedcapi/vectorcall_limited.c 168@MODULE__TESTCLINIC_TRUE@_testclinic _testclinic.c 169@MODULE__TESTCLINIC_LIMITED_TRUE@_testclinic_limited _testclinic_limited.c 170 171# Some testing modules MUST be built as shared libraries. 172*shared* 173@MODULE__TESTIMPORTMULTIPLE_TRUE@_testimportmultiple _testimportmultiple.c 174@MODULE__TESTMULTIPHASE_TRUE@_testmultiphase _testmultiphase.c 175@MODULE__TESTSINGLEPHASE_TRUE@_testsinglephase _testsinglephase.c 176@MODULE__TESTEXTERNALINSPECTION_TRUE@_testexternalinspection _testexternalinspection.c 177@MODULE__CTYPES_TEST_TRUE@_ctypes_test _ctypes/_ctypes_test.c 178 179# Limited API template modules; must be built as shared modules. 180@MODULE_XXLIMITED_TRUE@xxlimited xxlimited.c 181@MODULE_XXLIMITED_35_TRUE@xxlimited_35 xxlimited_35.c 182