From 1fbb0e1e49ae6fc44e51d66fc2c239b9e0ee2423 Mon Sep 17 00:00:00 2001 From: midipix Date: Tue, 18 Dec 2018 04:07:08 -0500 Subject: project: added rules and definitions for building a static python utility. --- profiles/linkage/inittab.h | 78 +++++++++++++++++++++++++++++++++++++++++++--- profiles/linkage/static.h | 71 +++++++++++++++++++++++++++++++++++++++++ project/extras.mk | 11 +++++++ 3 files changed, 155 insertions(+), 5 deletions(-) create mode 100644 profiles/linkage/static.h diff --git a/profiles/linkage/inittab.h b/profiles/linkage/inittab.h index f3c4208..d49c4cb 100644 --- a/profiles/linkage/inittab.h +++ b/profiles/linkage/inittab.h @@ -86,10 +86,78 @@ PY_INIT_FUNC(zipimport); {"zipimport", PyInit_zipimport} -#define PY_IMPORT_INITTAB_ANYOS_CORE - - -#define PY_IMPORT_INITTAB_ANYOS_AUDIO - +#define PY_IMPORT_INITTAB_ANYOS_CORE \ + {"_asyncio", PyInit__asyncio}, \ + {"_bisect", PyInit__bisect}, \ + {"_blake2", PyInit__blake2}, \ + {"_bz2", PyInit__bz2}, \ + {"_codecs_cn", PyInit__codecs_cn}, \ + {"_codecs_hk", PyInit__codecs_hk}, \ + {"_codecs_iso2022", PyInit__codecs_iso2022}, \ + {"_codecs_jp", PyInit__codecs_jp}, \ + {"_codecs_kr", PyInit__codecs_kr}, \ + {"_codecs_tw", PyInit__codecs_tw}, \ + {"_crypt", PyInit__crypt}, \ + {"_csv", PyInit__csv}, \ + {"_ctypes", PyInit__ctypes}, \ + {"_ctypes_test", PyInit__ctypes_test}, \ + {"_curses", PyInit__curses}, \ + {"_curses_panel", PyInit__curses_panel}, \ + {"_datetime", PyInit__datetime}, \ + {"_dbm", PyInit__dbm}, \ + {"_decimal", PyInit__decimal}, \ + {"_elementtree", PyInit__elementtree}, \ + {"_gdbm", PyInit__gdbm}, \ + {"_hashlib", PyInit__hashlib}, \ + {"_heapq", PyInit__heapq}, \ + {"_json", PyInit__json}, \ + {"_lsprof", PyInit__lsprof}, \ + {"_lzma", PyInit__lzma}, \ + {"_md5", PyInit__md5}, \ + {"_multibytecodec", PyInit__multibytecodec}, \ + {"_multiprocessing", PyInit__multiprocessing}, \ + {"_opcode", PyInit__opcode}, \ + {"_pickle", PyInit__pickle}, \ + {"_posixsubprocess", PyInit__posixsubprocess}, \ + {"_random", PyInit__random}, \ + {"_sha1", PyInit__sha1}, \ + {"_sha256", PyInit__sha256}, \ + {"_sha3", PyInit__sha3}, \ + {"_sha512", PyInit__sha512}, \ + {"_socket", PyInit__socket}, \ + {"_sqlite3", PyInit__sqlite3}, \ + {"_ssl", PyInit__ssl}, \ + {"_struct", PyInit__struct}, \ + {"_testbuffer", PyInit__testbuffer}, \ + {"_testcapi", PyInit__testcapi}, \ + {"_testimportmultiple", PyInit__testimportmultiple}, \ + {"_testmultiphase", PyInit__testmultiphase}, \ + {"array", PyInit_array}, \ + {"binascii", PyInit_binascii}, \ + {"cmath", PyInit_cmath}, \ + {"fcntl", PyInit_fcntl}, \ + {"grp", PyInit_grp}, \ + {"math", PyInit_math}, \ + {"mmap", PyInit_mmap}, \ + {"parser", PyInit_parser}, \ + {"pyexpat", PyInit_pyexpat}, \ + {"readline", PyInit_readline}, \ + {"resource", PyInit_resource}, \ + {"select", PyInit_select}, \ + {"spwd", PyInit_spwd}, \ + {"syslog", PyInit_syslog}, \ + {"termios", PyInit_termios}, \ + {"unicodedata", PyInit_unicodedata}, \ + {"xxlimited", PyInit_xxlimited}, \ + {"zlib", PyInit_zlib} + + +#define PY_IMPORT_INITTAB_ANYOS_AUDIO \ + {"audioop", PyInit_audioop}, \ + {"ossaudiodev", PyInit_ossaudiodev} + + +#define PY_IMPORT_INITTAB_ANYOS_TCLTK \ + {"_tkinter", PyInit__tkinter} #endif diff --git a/profiles/linkage/static.h b/profiles/linkage/static.h new file mode 100644 index 0000000..1290a95 --- /dev/null +++ b/profiles/linkage/static.h @@ -0,0 +1,71 @@ +#ifndef PY_LINKAGE_STATIC_H +#define PY_LINKAGE_STATIC_H + +PY_INIT_FUNC(_asyncio); +PY_INIT_FUNC(_bisect); +PY_INIT_FUNC(_blake2); +PY_INIT_FUNC(_bz2); +PY_INIT_FUNC(_codecs_cn); +PY_INIT_FUNC(_codecs_hk); +PY_INIT_FUNC(_codecs_iso2022); +PY_INIT_FUNC(_codecs_jp); +PY_INIT_FUNC(_codecs_kr); +PY_INIT_FUNC(_codecs_tw); +PY_INIT_FUNC(_crypt); +PY_INIT_FUNC(_csv); +PY_INIT_FUNC(_ctypes); +PY_INIT_FUNC(_ctypes_test); +PY_INIT_FUNC(_curses); +PY_INIT_FUNC(_curses_panel); +PY_INIT_FUNC(_datetime); +PY_INIT_FUNC(_dbm); +PY_INIT_FUNC(_decimal); +PY_INIT_FUNC(_elementtree); +PY_INIT_FUNC(_gdbm); +PY_INIT_FUNC(_hashlib); +PY_INIT_FUNC(_heapq); +PY_INIT_FUNC(_json); +PY_INIT_FUNC(_lsprof); +PY_INIT_FUNC(_lzma); +PY_INIT_FUNC(_md5); +PY_INIT_FUNC(_multibytecodec); +PY_INIT_FUNC(_multiprocessing); +PY_INIT_FUNC(_opcode); +PY_INIT_FUNC(_pickle); +PY_INIT_FUNC(_posixsubprocess); +PY_INIT_FUNC(_random); +PY_INIT_FUNC(_sha1); +PY_INIT_FUNC(_sha256); +PY_INIT_FUNC(_sha3); +PY_INIT_FUNC(_sha512); +PY_INIT_FUNC(_socket); +PY_INIT_FUNC(_sqlite3); +PY_INIT_FUNC(_ssl); +PY_INIT_FUNC(_struct); +PY_INIT_FUNC(_testbuffer); +PY_INIT_FUNC(_testcapi); +PY_INIT_FUNC(_testimportmultiple); +PY_INIT_FUNC(_testmultiphase); +PY_INIT_FUNC(_tkinter); +PY_INIT_FUNC(array); +PY_INIT_FUNC(audioop); +PY_INIT_FUNC(binascii); +PY_INIT_FUNC(cmath); +PY_INIT_FUNC(fcntl); +PY_INIT_FUNC(grp); +PY_INIT_FUNC(math); +PY_INIT_FUNC(mmap); +PY_INIT_FUNC(ossaudiodev); +PY_INIT_FUNC(parser); +PY_INIT_FUNC(pyexpat); +PY_INIT_FUNC(readline); +PY_INIT_FUNC(resource); +PY_INIT_FUNC(select); +PY_INIT_FUNC(spwd); +PY_INIT_FUNC(syslog); +PY_INIT_FUNC(termios); +PY_INIT_FUNC(unicodedata); +PY_INIT_FUNC(xxlimited); +PY_INIT_FUNC(zlib); + +#endif diff --git a/project/extras.mk b/project/extras.mk index 0a48a8a..7ad2cc8 100644 --- a/project/extras.mk +++ b/project/extras.mk @@ -19,6 +19,17 @@ LDFLAGS_CONFIG += -Wl,-rpath -Wl,$(LIBDIR) ifeq ($(ALL_STATIC),yes) CFLAGS_STATIC += -DPY_ALL_STATIC + + LDFLAGS_STATIC += $(PYEXT_STATIC) + + LDFLAGS_STATIC += $(LDFLAGS_PYEXT_STATIC) + + LDFLAGS_STATIC += $(LDFLAGS_NCURSES_STATIC) + LDFLAGS_STATIC += $(LDFLAGS_SQLITE_STATIC) + LDFLAGS_STATIC += $(LDFLAGS_EXPAT_STATIC) + LDFLAGS_STATIC += $(LDFLAGS_DBM_STATIC) + + LDFLAGS_STATIC += $(LDFLAGS_PYEXT_STATIC) else COMMON_SRCS += $(DYNLOAD_SRCS) CFLAGS_CONFIG += -DHAVE_DYNAMIC_LOADING -DSOABI=\"$(PYTHON_SOABI)\" -- cgit v1.2.3