summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2018-12-18 04:07:08 -0500
committermidipix <writeonce@midipix.org>2018-12-18 20:38:42 -0500
commit1fbb0e1e49ae6fc44e51d66fc2c239b9e0ee2423 (patch)
treef674fb70b387f6b6d282457101fe3f97c12f52ae
parent9ef55b152c6b36e21a969b16477586a11eac87c5 (diff)
downloadsbpython3-1fbb0e1e49ae6fc44e51d66fc2c239b9e0ee2423.tar.bz2
sbpython3-1fbb0e1e49ae6fc44e51d66fc2c239b9e0ee2423.tar.xz
project: added rules and definitions for building a static python utility.
-rw-r--r--profiles/linkage/inittab.h78
-rw-r--r--profiles/linkage/static.h71
-rw-r--r--project/extras.mk11
3 files changed, 155 insertions, 5 deletions
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)\"