summaryrefslogtreecommitdiff
path: root/project/pyexts.c
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2018-12-23 17:26:56 -0500
committermidipix <writeonce@midipix.org>2018-12-23 20:31:21 -0500
commitfeb6bdda2186ec0b0d1134b2da13732f35705557 (patch)
treefb45b57c6414308c132663cadeab3afa3f452a79 /project/pyexts.c
parent23670adefe79a809600afe9d6ba4e1266df59181 (diff)
downloadsbpython3-feb6bdda2186ec0b0d1134b2da13732f35705557.tar.bz2
sbpython3-feb6bdda2186ec0b0d1134b2da13732f35705557.tar.xz
project: support variant-specific header-, source-, and extension lists.
Diffstat (limited to 'project/pyexts.c')
-rw-r--r--project/pyexts.c182
1 files changed, 1 insertions, 181 deletions
diff --git a/project/pyexts.c b/project/pyexts.c
index 71bca45..97d1724 100644
--- a/project/pyexts.c
+++ b/project/pyexts.c
@@ -14,187 +14,7 @@
#include <stdio.h>
#include <string.h>
-
-#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("_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("_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("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("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},
-};
+#include "pyexts.h"
static void pyext_uppercase(char * buf, const char * name)
{