From f623e255ebeed07b2907e1b6866b342d6f0f57b0 Mon Sep 17 00:00:00 2001 From: midipix Date: Sun, 23 Dec 2018 19:53:06 -0500 Subject: project: added initial support of the 3.7.1 variant. --- project/variants/3.7.1/pyexts.h | 203 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 203 insertions(+) create mode 100644 project/variants/3.7.1/pyexts.h (limited to 'project/variants/3.7.1/pyexts.h') diff --git a/project/variants/3.7.1/pyexts.h b/project/variants/3.7.1/pyexts.h new file mode 100644 index 0000000..40b7aa8 --- /dev/null +++ b/project/variants/3.7.1/pyexts.h @@ -0,0 +1,203 @@ +/*******************************************************************/ +/* sbpython3: external configurable build project for Python-3.x. */ +/* Copyright (C) 2018 Z. Gilboa */ +/* Released under the Standard MIT License; see COPYING.SBPYTHON3.*/ +/*******************************************************************/ + +/*******************************************************************/ +/* pyexts.c: a simple development-time utility for generating */ +/* make rules for python's extension modules. The utility is */ +/* included with the sbpython3 project for reference only. */ +/* */ +/* cc -std=c99 -D_XOPEN_SOURCE=700 pyexts.c */ +/*******************************************************************/ + +#define PYEXT_LIST(...) (const char *[]){__VA_ARGS__,0} +#define PYEXT_SIMPLE(name,...) {name,PYEXT_LIST(__VA_ARGS__),0,0,0,0} + +#define PYEXT_COMMON(name,hvar,lvar,...) {name,PYEXT_LIST(__VA_ARGS__), \ + PYEXT_LIST(hvar),0, \ + PYEXT_LIST(lvar),0} + +#define PYEXT_ALTSTD(name,cstd,...) {name,PYEXT_LIST(__VA_ARGS__), \ + 0,PYEXT_LIST(cstd),0,0} + +struct pyext_meta { + const char * name; + const char ** srcs; + const char ** hdrs; + const char ** cstd; + const char ** vars; + const char ** deps; +}; + +static const struct pyext_meta pyexts[] = { + PYEXT_SIMPLE("_multibytecodec", "cjkcodecs/multibytecodec"), + PYEXT_SIMPLE("_codecs_cn", "cjkcodecs/_codecs_cn"), + PYEXT_SIMPLE("_codecs_hk", "cjkcodecs/_codecs_hk"), + PYEXT_SIMPLE("_codecs_jp", "cjkcodecs/_codecs_jp"), + PYEXT_SIMPLE("_codecs_kr", "cjkcodecs/_codecs_kr"), + PYEXT_SIMPLE("_codecs_tw", "cjkcodecs/_codecs_tw"), + PYEXT_SIMPLE("_codecs_iso2022", "cjkcodecs/_codecs_iso2022"), + + PYEXT_SIMPLE("_asyncio", "_asynciomodule"), + PYEXT_SIMPLE("_bisect", "_bisectmodule"), + PYEXT_SIMPLE("_contextvars", "_contextvarsmodule"), + PYEXT_SIMPLE("_crypt", "_cryptmodule"), + PYEXT_SIMPLE("_csv", "_csv"), + PYEXT_SIMPLE("_ctypes_test", "_ctypes/_ctypes_test"), + PYEXT_SIMPLE("_datetime", "_datetimemodule"), + PYEXT_SIMPLE("_elementtree", "_elementtree"), + PYEXT_SIMPLE("_heapq", "_heapqmodule"), + PYEXT_SIMPLE("_json", "_json"), + PYEXT_SIMPLE("_md5", "md5module"), + PYEXT_SIMPLE("_opcode", "_opcode"), + PYEXT_SIMPLE("_pickle", "_pickle"), + PYEXT_SIMPLE("_posixsubprocess", "_posixsubprocess"), + PYEXT_SIMPLE("_queue", "_queuemodule"), + PYEXT_SIMPLE("_random", "_randommodule"), + PYEXT_SIMPLE("_sha1", "sha1module"), + PYEXT_SIMPLE("_sha256", "sha256module"), + PYEXT_SIMPLE("_sha3", "_sha3/sha3module"), + PYEXT_SIMPLE("_sha512", "sha512module"), + PYEXT_SIMPLE("_socket", "socketmodule"), + PYEXT_SIMPLE("_struct", "_struct"), + PYEXT_SIMPLE("_testbuffer", "_testbuffer"), + PYEXT_SIMPLE("_testcapi", "_testcapimodule"), + PYEXT_SIMPLE("_testimportmultiple", "_testimportmultiple"), + PYEXT_SIMPLE("_testmultiphase", "_testmultiphase"), + + + + PYEXT_SIMPLE("array", "arraymodule"), + PYEXT_SIMPLE("audioop", "audioop"), + PYEXT_SIMPLE("fcntl", "fcntlmodule"), + PYEXT_SIMPLE("grp", "grpmodule"), + PYEXT_SIMPLE("mmap", "mmapmodule"), + PYEXT_SIMPLE("ossaudiodev", "ossaudiodev"), + PYEXT_SIMPLE("parser", "parsermodule"), + PYEXT_SIMPLE("resource", "resource"), + PYEXT_SIMPLE("select", "selectmodule"), + PYEXT_SIMPLE("spwd", "spwdmodule"), + PYEXT_SIMPLE("syslog", "syslogmodule"), + PYEXT_SIMPLE("termios", "termios"), + PYEXT_SIMPLE("unicodedata", "unicodedata"), + PYEXT_SIMPLE("xxlimited", "xxlimited"), + + PYEXT_SIMPLE("_blake2", + "_blake2/blake2module", + "_blake2/blake2b_impl", + "_blake2/blake2s_impl"), + + PYEXT_SIMPLE("_lsprof", + "_lsprof", + "rotatingtree"), + + PYEXT_SIMPLE("_multiprocessing", + "_multiprocessing/multiprocessing", + "_multiprocessing/semaphore"), + + PYEXT_SIMPLE("_xxtestfuzz", + "_xxtestfuzz/_xxtestfuzz", + "_xxtestfuzz/fuzzer"), + + PYEXT_SIMPLE("cmath", + "cmathmodule", + "_math"), + + PYEXT_SIMPLE("math", + "mathmodule", + "_math"), + + PYEXT_COMMON("_bz2",0,"-lbz2", + "_bz2module"), + + PYEXT_COMMON("_ctypes",0,"-lffi", + "_ctypes/_ctypes", + "_ctypes/callbacks", + "_ctypes/callproc", + "_ctypes/stgdict", + "_ctypes/cfield"), + + PYEXT_COMMON("_curses", + "$(CFLAGS_NCURSES)", + "$(LDFLAGS_NCURSES)", + "_cursesmodule"), + + PYEXT_COMMON("_curses_panel", + "$(CFLAGS_NCURSES)", + "$(LDFLAGS_NCURSES)", + "_curses_panel"), + + PYEXT_COMMON("_decimal", + "-I$(SOURCE_DIR)/Modules/_decimal/libmpdec -DUNIVERSAL", + 0, + "_decimal/_decimal", + "_decimal/libmpdec/basearith", + "_decimal/libmpdec/constants", + "_decimal/libmpdec/context", + "_decimal/libmpdec/convolute", + "_decimal/libmpdec/crt", + "_decimal/libmpdec/difradix2", + "_decimal/libmpdec/fnt", + "_decimal/libmpdec/fourstep", + "_decimal/libmpdec/io", + "_decimal/libmpdec/memory", + "_decimal/libmpdec/mpdecimal", + "_decimal/libmpdec/numbertheory", + "_decimal/libmpdec/sixstep", + "_decimal/libmpdec/transpose"), + + PYEXT_COMMON("_dbm", + "$(CFLAGS_DBM)", + "$(LDFLAGS_DBM)", + "_dbmmodule"), + + PYEXT_COMMON("_gdbm",0,"-lgdbm", + "_gdbmmodule"), + + PYEXT_COMMON("_hashlib",0,"-lssl -lcrypto", + "_hashopenssl"), + + PYEXT_COMMON("_lzma",0,"-llzma", + "_lzmamodule"), + + PYEXT_COMMON("_sqlite3", + "$(CFLAGS_SQLITE)", + "$(LDFLAGS_SQLITE)", + "_sqlite/cache", + "_sqlite/connection", + "_sqlite/cursor", + "_sqlite/microprotocols", + "_sqlite/module", + "_sqlite/prepare_protocol", + "_sqlite/row", + "_sqlite/statement", + "_sqlite/util"), + + PYEXT_COMMON("_ssl",0,"-lssl -lcrypto", + "_ssl"), + + PYEXT_COMMON("_tkinter", + "$(CFLAGS_TCLTK)", + "$(LDFLAGS_TCLTK)", + "_tkinter", + "tkappinit"), + + PYEXT_COMMON("_uuid",0,"-luuid", + "_uuidmodule"), + + PYEXT_COMMON("binascii",0,"-lz", + "binascii"), + + PYEXT_COMMON("pyexpat",0,"-lexpat", + "pyexpat"), + + PYEXT_COMMON("readline",0,"-lreadline", + "readline"), + + PYEXT_COMMON("zlib",0,"-lz", + "zlibmodule"), + + {0,0,0,0,0,0}, +}; -- cgit v1.2.3