17db96d56Sopenharmony_ci# -*- makefile -*- 27db96d56Sopenharmony_ci# 37db96d56Sopenharmony_ci# This file is autogenerated from Modules/Setup.stdlib.in. 47db96d56Sopenharmony_ci# 57db96d56Sopenharmony_ci 67db96d56Sopenharmony_ci# The file is not used by default yet. For testing do: 77db96d56Sopenharmony_ci# 87db96d56Sopenharmony_ci# ln -sfr Modules/Setup.stdlib Modules/Setup.local 97db96d56Sopenharmony_ci# 107db96d56Sopenharmony_ci 117db96d56Sopenharmony_ci# * @MODULE_{NAME}_TRUE@ is removed when configure detects all build 127db96d56Sopenharmony_ci# dependencies for a module. Otherwise the template variable is replaced 137db96d56Sopenharmony_ci# by a comment "#" and the module is skipped. 147db96d56Sopenharmony_ci# * Module lines without any compiler and linker flags automatically use 157db96d56Sopenharmony_ci# $(MODULE_{NAME}_CFLAGS) and $(MODULE_{NAME}_LDFLAGS). These flags are 167db96d56Sopenharmony_ci# generated by PY_STDLIB_MOD macro. 177db96d56Sopenharmony_ci# * All source files automatically depend on $(PYTHON_HEADERS) and 187db96d56Sopenharmony_ci# $(MODULE_{NAME}_DEPS). 197db96d56Sopenharmony_ci# 207db96d56Sopenharmony_ci# See Modules/Setup and Modules/makesetup 217db96d56Sopenharmony_ci# 227db96d56Sopenharmony_ci 237db96d56Sopenharmony_ci 247db96d56Sopenharmony_ci# Build modules statically or as shared extensions 257db96d56Sopenharmony_ci# *shared* / *static* 267db96d56Sopenharmony_ci*@MODULE_BUILDTYPE@* 277db96d56Sopenharmony_ci 287db96d56Sopenharmony_ci 297db96d56Sopenharmony_ci############################################################################ 307db96d56Sopenharmony_ci# Modules that should always be present (POSIX and Windows): 317db96d56Sopenharmony_ci@MODULE_ARRAY_TRUE@array arraymodule.c 327db96d56Sopenharmony_ci@MODULE__ASYNCIO_TRUE@_asyncio _asynciomodule.c 337db96d56Sopenharmony_ci@MODULE__BISECT_TRUE@_bisect _bisectmodule.c 347db96d56Sopenharmony_ci@MODULE__CONTEXTVARS_TRUE@_contextvars _contextvarsmodule.c 357db96d56Sopenharmony_ci@MODULE__CSV_TRUE@_csv _csv.c 367db96d56Sopenharmony_ci@MODULE__HEAPQ_TRUE@_heapq _heapqmodule.c 377db96d56Sopenharmony_ci@MODULE__JSON_TRUE@_json _json.c 387db96d56Sopenharmony_ci@MODULE__LSPROF_TRUE@_lsprof _lsprof.c rotatingtree.c 397db96d56Sopenharmony_ci@MODULE__OPCODE_TRUE@_opcode _opcode.c 407db96d56Sopenharmony_ci@MODULE__PICKLE_TRUE@_pickle _pickle.c 417db96d56Sopenharmony_ci@MODULE__QUEUE_TRUE@_queue _queuemodule.c 427db96d56Sopenharmony_ci@MODULE__RANDOM_TRUE@_random _randommodule.c 437db96d56Sopenharmony_ci@MODULE__STRUCT_TRUE@_struct _struct.c 447db96d56Sopenharmony_ci@MODULE__TYPING_TRUE@_typing _typingmodule.c 457db96d56Sopenharmony_ci@MODULE__XXSUBINTERPRETERS_TRUE@_xxsubinterpreters _xxsubinterpretersmodule.c 467db96d56Sopenharmony_ci@MODULE__ZONEINFO_TRUE@_zoneinfo _zoneinfo.c 477db96d56Sopenharmony_ci 487db96d56Sopenharmony_ci# needs libm 497db96d56Sopenharmony_ci@MODULE_AUDIOOP_TRUE@audioop audioop.c 507db96d56Sopenharmony_ci@MODULE_MATH_TRUE@math mathmodule.c 517db96d56Sopenharmony_ci@MODULE_CMATH_TRUE@cmath cmathmodule.c 527db96d56Sopenharmony_ci@MODULE__STATISTICS_TRUE@_statistics _statisticsmodule.c 537db96d56Sopenharmony_ci 547db96d56Sopenharmony_ci# needs libm and on some platforms librt 557db96d56Sopenharmony_ci@MODULE__DATETIME_TRUE@_datetime _datetimemodule.c 567db96d56Sopenharmony_ci 577db96d56Sopenharmony_ci# _decimal uses libmpdec 587db96d56Sopenharmony_ci# either static libmpdec.a from Modules/_decimal/libmpdec or libmpdec.so 597db96d56Sopenharmony_ci# with ./configure --with-system-libmpdec 607db96d56Sopenharmony_ci@MODULE__DECIMAL_TRUE@_decimal _decimal/_decimal.c 617db96d56Sopenharmony_ci 627db96d56Sopenharmony_ci# compression libs and binascii (optional CRC32 from zlib) 637db96d56Sopenharmony_ci# bindings need -lbz2, -lz, or -llzma, respectively 647db96d56Sopenharmony_ci@MODULE_BINASCII_TRUE@binascii binascii.c 657db96d56Sopenharmony_ci@MODULE__BZ2_TRUE@_bz2 _bz2module.c 667db96d56Sopenharmony_ci@MODULE__LZMA_TRUE@_lzma _lzmamodule.c 677db96d56Sopenharmony_ci@MODULE_ZLIB_TRUE@zlib zlibmodule.c 687db96d56Sopenharmony_ci 697db96d56Sopenharmony_ci# dbm/gdbm 707db96d56Sopenharmony_ci# dbm needs either libndbm, libgdbm_compat, or libdb 5.x 717db96d56Sopenharmony_ci#@MODULE__DBM_TRUE@_dbm _dbmmodule.c 727db96d56Sopenharmony_ci# gdbm module needs -lgdbm 737db96d56Sopenharmony_ci@MODULE__GDBM_TRUE@_gdbm _gdbmmodule.c 747db96d56Sopenharmony_ci 757db96d56Sopenharmony_ci# needs -lreadline or -leditline, sometimes termcap, termlib, or tinfo 767db96d56Sopenharmony_ci#@MODULE_READLINE_TRUE@readline readline.c 777db96d56Sopenharmony_ci 787db96d56Sopenharmony_ci# hashing builtins, can be disabled with --without-builtin-hashlib-hashes 797db96d56Sopenharmony_ci@MODULE__MD5_TRUE@_md5 md5module.c 807db96d56Sopenharmony_ci@MODULE__SHA1_TRUE@_sha1 sha1module.c 817db96d56Sopenharmony_ci@MODULE__SHA256_TRUE@_sha256 sha256module.c 827db96d56Sopenharmony_ci@MODULE__SHA512_TRUE@_sha512 sha512module.c 837db96d56Sopenharmony_ci@MODULE__SHA3_TRUE@_sha3 _sha3/sha3module.c 847db96d56Sopenharmony_ci@MODULE__BLAKE2_TRUE@_blake2 _blake2/blake2module.c _blake2/blake2b_impl.c _blake2/blake2s_impl.c 857db96d56Sopenharmony_ci 867db96d56Sopenharmony_ci############################################################################ 877db96d56Sopenharmony_ci# XML and text 887db96d56Sopenharmony_ci 897db96d56Sopenharmony_ci# pyexpat module uses libexpat 907db96d56Sopenharmony_ci# either static libexpat.a from Modules/expat or libexpat.so with 917db96d56Sopenharmony_ci# ./configure --with-system-expat 927db96d56Sopenharmony_ci@MODULE_PYEXPAT_TRUE@pyexpat pyexpat.c 937db96d56Sopenharmony_ci 947db96d56Sopenharmony_ci# _elementtree libexpat via CAPI hook in pyexpat. 957db96d56Sopenharmony_ci@MODULE__ELEMENTTREE_TRUE@_elementtree _elementtree.c 967db96d56Sopenharmony_ci 977db96d56Sopenharmony_ci@MODULE__CODECS_CN_TRUE@_codecs_cn cjkcodecs/_codecs_cn.c 987db96d56Sopenharmony_ci@MODULE__CODECS_HK_TRUE@_codecs_hk cjkcodecs/_codecs_hk.c 997db96d56Sopenharmony_ci@MODULE__CODECS_ISO2022_TRUE@_codecs_iso2022 cjkcodecs/_codecs_iso2022.c 1007db96d56Sopenharmony_ci@MODULE__CODECS_JP_TRUE@_codecs_jp cjkcodecs/_codecs_jp.c 1017db96d56Sopenharmony_ci@MODULE__CODECS_KR_TRUE@_codecs_kr cjkcodecs/_codecs_kr.c 1027db96d56Sopenharmony_ci@MODULE__CODECS_TW_TRUE@_codecs_tw cjkcodecs/_codecs_tw.c 1037db96d56Sopenharmony_ci@MODULE__MULTIBYTECODEC_TRUE@_multibytecodec cjkcodecs/multibytecodec.c 1047db96d56Sopenharmony_ci@MODULE_UNICODEDATA_TRUE@unicodedata unicodedata.c 1057db96d56Sopenharmony_ci 1067db96d56Sopenharmony_ci############################################################################ 1077db96d56Sopenharmony_ci# Modules with some UNIX dependencies 1087db96d56Sopenharmony_ci# 1097db96d56Sopenharmony_ci 1107db96d56Sopenharmony_ci# needs -lcrypt on some systems 1117db96d56Sopenharmony_ci@MODULE__CRYPT_TRUE@_crypt _cryptmodule.c 1127db96d56Sopenharmony_ci@MODULE_FCNTL_TRUE@fcntl fcntlmodule.c 1137db96d56Sopenharmony_ci@MODULE_GRP_TRUE@grp grpmodule.c 1147db96d56Sopenharmony_ci@MODULE_MMAP_TRUE@mmap mmapmodule.c 1157db96d56Sopenharmony_ci# FreeBSD: nis/yp APIs are in libc 1167db96d56Sopenharmony_ci# Linux: glibc has deprecated SUN RPC, APIs are in libnsl and libtirpc (bpo-32521) 1177db96d56Sopenharmony_ci@MODULE_NIS_TRUE@nis nismodule.c 1187db96d56Sopenharmony_ci# needs sys/soundcard.h or linux/soundcard.h (Linux, FreeBSD) 1197db96d56Sopenharmony_ci@MODULE_OSSAUDIODEV_TRUE@ossaudiodev ossaudiodev.c 1207db96d56Sopenharmony_ci@MODULE__POSIXSUBPROCESS_TRUE@_posixsubprocess _posixsubprocess.c 1217db96d56Sopenharmony_ci@MODULE_RESOURCE_TRUE@resource resource.c 1227db96d56Sopenharmony_ci@MODULE_SELECT_TRUE@select selectmodule.c 1237db96d56Sopenharmony_ci@MODULE__SOCKET_TRUE@_socket socketmodule.c 1247db96d56Sopenharmony_ci# AIX has shadow passwords, but does not provide getspent API 1257db96d56Sopenharmony_ci@MODULE_SPWD_TRUE@spwd spwdmodule.c 1267db96d56Sopenharmony_ci@MODULE_SYSLOG_TRUE@syslog syslogmodule.c 1277db96d56Sopenharmony_ci@MODULE_TERMIOS_TRUE@termios termios.c 1287db96d56Sopenharmony_ci 1297db96d56Sopenharmony_ci# multiprocessing 1307db96d56Sopenharmony_ci@MODULE__POSIXSHMEM_TRUE@_posixshmem _multiprocessing/posixshmem.c 1317db96d56Sopenharmony_ci@MODULE__MULTIPROCESSING_TRUE@_multiprocessing _multiprocessing/multiprocessing.c _multiprocessing/semaphore.c 1327db96d56Sopenharmony_ci 1337db96d56Sopenharmony_ci 1347db96d56Sopenharmony_ci############################################################################ 1357db96d56Sopenharmony_ci# Modules with third party dependencies 1367db96d56Sopenharmony_ci# 1377db96d56Sopenharmony_ci 1387db96d56Sopenharmony_ci# needs -lffi and -ldl 1397db96d56Sopenharmony_ci#@MODULE__CTYPES_TRUE@_ctypes _ctypes/_ctypes.c _ctypes/callbacks.c _ctypes/callproc.c _ctypes/stgdict.c _ctypes/cfield.c 1407db96d56Sopenharmony_ci 1417db96d56Sopenharmony_ci# needs -lncurses, -lncursesw or -lcurses, sometimes -ltermcap 1427db96d56Sopenharmony_ci#@MODULE__CURSES_TRUE@_curses _cursesmodule.c 1437db96d56Sopenharmony_ci# needs -lncurses and -lpanel 1447db96d56Sopenharmony_ci#@MODULE__CURSES_PANEL_TRUE@_curses_panel _curses_panel.c 1457db96d56Sopenharmony_ci 1467db96d56Sopenharmony_ci@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 1477db96d56Sopenharmony_ci 1487db96d56Sopenharmony_ci# needs -lssl and -lcrypt 1497db96d56Sopenharmony_ci@MODULE__SSL_TRUE@_ssl _ssl.c 1507db96d56Sopenharmony_ci# needs -lcrypt 1517db96d56Sopenharmony_ci@MODULE__HASHLIB_TRUE@_hashlib _hashopenssl.c 1527db96d56Sopenharmony_ci 1537db96d56Sopenharmony_ci# Linux: -luuid, BSD/AIX: libc's uuid_create() 1547db96d56Sopenharmony_ci@MODULE__UUID_TRUE@_uuid _uuidmodule.c 1557db96d56Sopenharmony_ci 1567db96d56Sopenharmony_ci@MODULE__TKINTER_TRUE@_tkinter _tkinter.c tkappinit.c 1577db96d56Sopenharmony_ci 1587db96d56Sopenharmony_ci############################################################################ 1597db96d56Sopenharmony_ci# macOS specific modules 1607db96d56Sopenharmony_ci 1617db96d56Sopenharmony_ci# _scproxy needs SystemConfiguration and CoreFoundation framework 1627db96d56Sopenharmony_ci@MODULE__SCPROXY_TRUE@_scproxy _scproxy.c 1637db96d56Sopenharmony_ci 1647db96d56Sopenharmony_ci 1657db96d56Sopenharmony_ci############################################################################ 1667db96d56Sopenharmony_ci# Test modules 1677db96d56Sopenharmony_ci 1687db96d56Sopenharmony_ci@MODULE__XXTESTFUZZ_TRUE@_xxtestfuzz _xxtestfuzz/_xxtestfuzz.c _xxtestfuzz/fuzzer.c 1697db96d56Sopenharmony_ci@MODULE__TESTBUFFER_TRUE@_testbuffer _testbuffer.c 1707db96d56Sopenharmony_ci@MODULE__TESTINTERNALCAPI_TRUE@_testinternalcapi _testinternalcapi.c 1717db96d56Sopenharmony_ci@MODULE__TESTCAPI_TRUE@_testcapi _testcapimodule.c 1727db96d56Sopenharmony_ci@MODULE__TESTCLINIC_TRUE@_testclinic _testclinic.c 1737db96d56Sopenharmony_ci 1747db96d56Sopenharmony_ci# Some testing modules MUST be built as shared libraries. 1757db96d56Sopenharmony_ci*shared* 1767db96d56Sopenharmony_ci@MODULE__TESTIMPORTMULTIPLE_TRUE@_testimportmultiple _testimportmultiple.c 1777db96d56Sopenharmony_ci@MODULE__TESTMULTIPHASE_TRUE@_testmultiphase _testmultiphase.c 1787db96d56Sopenharmony_ci@MODULE__CTYPES_TEST_TRUE@_ctypes_test _ctypes/_ctypes_test.c 1797db96d56Sopenharmony_ci 1807db96d56Sopenharmony_ci# Limited API template modules; must be built as shared modules. 1817db96d56Sopenharmony_ci@MODULE_XXLIMITED_TRUE@xxlimited xxlimited.c 1827db96d56Sopenharmony_ci@MODULE_XXLIMITED_35_TRUE@xxlimited_35 xxlimited_35.c 183