Make numerous improvements

- Python static hello world now 1.8mb
- Python static fully loaded now 10mb
- Python HTTPS client now uses MbedTLS
- Python REPL now completes import stmts
- Increase stack size for Python for now
- Begin synthesizing posixpath and ntpath
- Restore Python \N{UNICODE NAME} support
- Restore Python NFKD symbol normalization
- Add optimized code path for Intel SHA-NI
- Get more Python unit tests passing faster
- Get Python help() pagination working on NT
- Python hashlib now supports MbedTLS PBKDF2
- Make memcpy/memmove/memcmp/bcmp/etc. faster
- Add Mersenne Twister and Vigna to LIBC_RAND
- Provide privileged __printf() for error code
- Fix zipos opendir() so that it reports ENOTDIR
- Add basic chmod() implementation for Windows NT
- Add Cosmo's best functions to Python cosmo module
- Pin function trace indent depth to that of caller
- Show memory diagram on invalid access in MODE=dbg
- Differentiate stack overflow on crash in MODE=dbg
- Add stb_truetype and tools for analyzing font files
- Upgrade to UNICODE 13 and reduce its binary footprint
- COMPILE.COM now logs resource usage of build commands
- Start implementing basic poll() support on bare metal
- Set getauxval(AT_EXECFN) to GetModuleFileName() on NT
- Add descriptions to strerror() in non-TINY build modes
- Add COUNTBRANCH() macro to help with micro-optimizations
- Make error / backtrace / asan / memory code more unbreakable
- Add fast perfect C implementation of μ-Law and a-Law audio codecs
- Make strtol() functions consistent with other libc implementations
- Improve Linenoise implementation (see also github.com/jart/bestline)
- COMPILE.COM now suppresses stdout/stderr of successful build commands
This commit is contained in:
Justine Tunney 2021-09-27 22:58:51 -07:00
parent fa7b4f5bd1
commit 39bf41f4eb
806 changed files with 77494 additions and 63859 deletions

View file

@ -1,7 +1,137 @@
#include "third_party/python/repl.c"
#include "third_party/python/Include/yoink.h"
STATIC_YOINK("RunPythonModule");
PYTHON_YOINK("encodings");
PYTHON_YOINK("encodings.aliases");
PYTHON_YOINK("encodings.ascii");
PYTHON_YOINK("encodings.idna");
PYTHON_YOINK("encodings.latin_1");
PYTHON_YOINK("encodings.utf_8");
PYTHON_YOINK("encodings.utf_8_sig");
PYTHON_YOINK("encodings.utf_16");
PYTHON_YOINK("encodings.utf_16_be");
PYTHON_YOINK("encodings.utf_16_le");
PYTHON_YOINK("encodings.utf_32");
PYTHON_YOINK("encodings.utf_32_be");
PYTHON_YOINK("encodings.utf_32_le");
PYTHON_YOINK("encodings.uu_codec");
PYTHON_YOINK("encodings.undefined");
PYTHON_YOINK("encodings.hex_codec");
PYTHON_YOINK("encodings.base64_codec");
PYTHON_YOINK("encodings.unicode_escape");
PYTHON_YOINK("encodings.unicode_internal");
PYTHON_YOINK("encodings.raw_unicode_escape");
PYTHON_YOINK("encodings.zlib_codec");
PYTHON_YOINK("encodings.big5");
PYTHON_YOINK("encodings.big5hkscs");
PYTHON_YOINK("encodings.bz2_codec");
PYTHON_YOINK("encodings.charmap");
PYTHON_YOINK("encodings.cp037");
PYTHON_YOINK("encodings.cp1006");
PYTHON_YOINK("encodings.cp1026");
PYTHON_YOINK("encodings.cp1125");
PYTHON_YOINK("encodings.cp1140");
PYTHON_YOINK("encodings.cp1250");
PYTHON_YOINK("encodings.cp1251");
PYTHON_YOINK("encodings.cp1252");
PYTHON_YOINK("encodings.cp1253");
PYTHON_YOINK("encodings.cp1254");
PYTHON_YOINK("encodings.cp1255");
PYTHON_YOINK("encodings.cp1256");
PYTHON_YOINK("encodings.cp1257");
PYTHON_YOINK("encodings.cp1258");
PYTHON_YOINK("encodings.cp273");
PYTHON_YOINK("encodings.cp424");
PYTHON_YOINK("encodings.cp437");
PYTHON_YOINK("encodings.cp500");
PYTHON_YOINK("encodings.cp720");
PYTHON_YOINK("encodings.cp737");
PYTHON_YOINK("encodings.cp775");
PYTHON_YOINK("encodings.cp850");
PYTHON_YOINK("encodings.cp852");
PYTHON_YOINK("encodings.cp855");
PYTHON_YOINK("encodings.cp856");
PYTHON_YOINK("encodings.cp857");
PYTHON_YOINK("encodings.cp858");
PYTHON_YOINK("encodings.cp860");
PYTHON_YOINK("encodings.cp861");
PYTHON_YOINK("encodings.cp862");
PYTHON_YOINK("encodings.cp863");
PYTHON_YOINK("encodings.cp864");
PYTHON_YOINK("encodings.cp865");
PYTHON_YOINK("encodings.cp866");
PYTHON_YOINK("encodings.cp869");
PYTHON_YOINK("encodings.cp874");
PYTHON_YOINK("encodings.cp875");
PYTHON_YOINK("encodings.cp932");
PYTHON_YOINK("encodings.cp949");
PYTHON_YOINK("encodings.cp950");
PYTHON_YOINK("encodings.euc_jis_2004");
PYTHON_YOINK("encodings.euc_jisx0213");
PYTHON_YOINK("encodings.euc_jp");
PYTHON_YOINK("encodings.euc_kr");
PYTHON_YOINK("encodings.gb18030");
PYTHON_YOINK("encodings.gb2312");
PYTHON_YOINK("encodings.gbk");
PYTHON_YOINK("encodings.hp_roman8");
PYTHON_YOINK("encodings.hz");
PYTHON_YOINK("encodings.iso2022_jp");
PYTHON_YOINK("encodings.iso2022_jp_1");
PYTHON_YOINK("encodings.iso2022_jp_2");
PYTHON_YOINK("encodings.iso2022_jp_2004");
PYTHON_YOINK("encodings.iso2022_jp_3");
PYTHON_YOINK("encodings.iso2022_jp_ext");
PYTHON_YOINK("encodings.iso2022_kr");
PYTHON_YOINK("encodings.iso8859_1");
PYTHON_YOINK("encodings.iso8859_10");
PYTHON_YOINK("encodings.iso8859_11");
PYTHON_YOINK("encodings.iso8859_13");
PYTHON_YOINK("encodings.iso8859_14");
PYTHON_YOINK("encodings.iso8859_15");
PYTHON_YOINK("encodings.iso8859_16");
PYTHON_YOINK("encodings.iso8859_2");
PYTHON_YOINK("encodings.iso8859_3");
PYTHON_YOINK("encodings.iso8859_4");
PYTHON_YOINK("encodings.iso8859_5");
PYTHON_YOINK("encodings.iso8859_6");
PYTHON_YOINK("encodings.iso8859_7");
PYTHON_YOINK("encodings.iso8859_8");
PYTHON_YOINK("encodings.iso8859_9");
PYTHON_YOINK("encodings.johab");
PYTHON_YOINK("encodings.koi8_r");
PYTHON_YOINK("encodings.koi8_t");
PYTHON_YOINK("encodings.koi8_u");
PYTHON_YOINK("encodings.kz1048");
PYTHON_YOINK("encodings.mac_arabic");
PYTHON_YOINK("encodings.mac_centeuro");
PYTHON_YOINK("encodings.mac_croatian");
PYTHON_YOINK("encodings.mac_cyrillic");
PYTHON_YOINK("encodings.mac_farsi");
PYTHON_YOINK("encodings.mac_greek");
PYTHON_YOINK("encodings.mac_iceland");
PYTHON_YOINK("encodings.mac_latin2");
PYTHON_YOINK("encodings.mac_roman");
PYTHON_YOINK("encodings.mac_romanian");
PYTHON_YOINK("encodings.mac_turkish");
PYTHON_YOINK("encodings.palmos");
PYTHON_YOINK("encodings.ptcp154");
PYTHON_YOINK("encodings.punycode");
PYTHON_YOINK("encodings.quopri_codec");
PYTHON_YOINK("encodings.rot_13");
PYTHON_YOINK("encodings.shift_jis");
PYTHON_YOINK("encodings.shift_jis_2004");
PYTHON_YOINK("encodings.shift_jisx0213");
PYTHON_YOINK("encodings.tis_620");
PYTHON_YOINK("encodings.utf_7");
#ifndef TINY
PYTHON_YOINK("pydoc_data.topics");
#endif
/* todo(jart): delete nonessential yoinks */
STATIC_YOINK("_PyImport_Inittab__bisect");
STATIC_YOINK("_PyImport_Inittab__bz2");
STATIC_YOINK("_PyImport_Inittab__codecs_cn");
STATIC_YOINK("_PyImport_Inittab__codecs_hk");
STATIC_YOINK("_PyImport_Inittab__codecs_iso2022");
@ -14,17 +144,12 @@ STATIC_YOINK("_PyImport_Inittab__decimal");
STATIC_YOINK("_PyImport_Inittab__elementtree");
STATIC_YOINK("_PyImport_Inittab__json");
STATIC_YOINK("_PyImport_Inittab__lsprof");
STATIC_YOINK("_PyImport_Inittab__md5");
STATIC_YOINK("_PyImport_Inittab__multibytecodec");
STATIC_YOINK("_PyImport_Inittab__multiprocessing");
STATIC_YOINK("_PyImport_Inittab__opcode");
STATIC_YOINK("_PyImport_Inittab__pickle");
STATIC_YOINK("_PyImport_Inittab__posixsubprocess");
STATIC_YOINK("_PyImport_Inittab__random");
STATIC_YOINK("_PyImport_Inittab__sha1");
STATIC_YOINK("_PyImport_Inittab__sha256");
STATIC_YOINK("_PyImport_Inittab__sha3");
STATIC_YOINK("_PyImport_Inittab__sha512");
STATIC_YOINK("_PyImport_Inittab__socket");
STATIC_YOINK("_PyImport_Inittab__sqlite3");
STATIC_YOINK("_PyImport_Inittab__stat");
@ -53,7 +178,6 @@ STATIC_YOINK("_PyImport_Inittab_termios");
STATIC_YOINK("_PyImport_Inittab_time");
STATIC_YOINK("_PyImport_Inittab_unicodedata");
STATIC_YOINK("_PyImport_Inittab_zipimport");
STATIC_YOINK("_PyImport_Inittab_zlib");
PYTHON_YOINK("__future__");
PYTHON_YOINK("_bootlocale");
@ -350,129 +474,6 @@ PYTHON_YOINK("unittest.signals");
PYTHON_YOINK("unittest.suite");
PYTHON_YOINK("unittest.util");
PYTHON_YOINK("encodings");
PYTHON_YOINK("encodings.aliases");
PYTHON_YOINK("encodings.ascii");
PYTHON_YOINK("encodings.idna");
PYTHON_YOINK("encodings.latin_1");
PYTHON_YOINK("encodings.utf_8");
PYTHON_YOINK("encodings.utf_8_sig");
PYTHON_YOINK("encodings.utf_16");
PYTHON_YOINK("encodings.utf_16_be");
PYTHON_YOINK("encodings.utf_16_le");
PYTHON_YOINK("encodings.utf_32");
PYTHON_YOINK("encodings.utf_32_be");
PYTHON_YOINK("encodings.utf_32_le");
PYTHON_YOINK("encodings.uu_codec");
PYTHON_YOINK("encodings.undefined");
PYTHON_YOINK("encodings.hex_codec");
PYTHON_YOINK("encodings.base64_codec");
PYTHON_YOINK("encodings.unicode_escape");
PYTHON_YOINK("encodings.unicode_internal");
PYTHON_YOINK("encodings.raw_unicode_escape");
PYTHON_YOINK("encodings.zlib_codec");
PYTHON_YOINK("encodings.big5");
PYTHON_YOINK("encodings.big5hkscs");
PYTHON_YOINK("encodings.bz2_codec");
PYTHON_YOINK("encodings.charmap");
PYTHON_YOINK("encodings.cp037");
PYTHON_YOINK("encodings.cp1006");
PYTHON_YOINK("encodings.cp1026");
PYTHON_YOINK("encodings.cp1125");
PYTHON_YOINK("encodings.cp1140");
PYTHON_YOINK("encodings.cp1250");
PYTHON_YOINK("encodings.cp1251");
PYTHON_YOINK("encodings.cp1252");
PYTHON_YOINK("encodings.cp1253");
PYTHON_YOINK("encodings.cp1254");
PYTHON_YOINK("encodings.cp1255");
PYTHON_YOINK("encodings.cp1256");
PYTHON_YOINK("encodings.cp1257");
PYTHON_YOINK("encodings.cp1258");
PYTHON_YOINK("encodings.cp273");
PYTHON_YOINK("encodings.cp424");
PYTHON_YOINK("encodings.cp437");
PYTHON_YOINK("encodings.cp500");
PYTHON_YOINK("encodings.cp720");
PYTHON_YOINK("encodings.cp737");
PYTHON_YOINK("encodings.cp775");
PYTHON_YOINK("encodings.cp850");
PYTHON_YOINK("encodings.cp852");
PYTHON_YOINK("encodings.cp855");
PYTHON_YOINK("encodings.cp856");
PYTHON_YOINK("encodings.cp857");
PYTHON_YOINK("encodings.cp858");
PYTHON_YOINK("encodings.cp860");
PYTHON_YOINK("encodings.cp861");
PYTHON_YOINK("encodings.cp862");
PYTHON_YOINK("encodings.cp863");
PYTHON_YOINK("encodings.cp864");
PYTHON_YOINK("encodings.cp865");
PYTHON_YOINK("encodings.cp866");
PYTHON_YOINK("encodings.cp869");
PYTHON_YOINK("encodings.cp874");
PYTHON_YOINK("encodings.cp875");
PYTHON_YOINK("encodings.cp932");
PYTHON_YOINK("encodings.cp949");
PYTHON_YOINK("encodings.cp950");
PYTHON_YOINK("encodings.euc_jis_2004");
PYTHON_YOINK("encodings.euc_jisx0213");
PYTHON_YOINK("encodings.euc_jp");
PYTHON_YOINK("encodings.euc_kr");
PYTHON_YOINK("encodings.gb18030");
PYTHON_YOINK("encodings.gb2312");
PYTHON_YOINK("encodings.gbk");
PYTHON_YOINK("encodings.hp_roman8");
PYTHON_YOINK("encodings.hz");
PYTHON_YOINK("encodings.iso2022_jp");
PYTHON_YOINK("encodings.iso2022_jp_1");
PYTHON_YOINK("encodings.iso2022_jp_2");
PYTHON_YOINK("encodings.iso2022_jp_2004");
PYTHON_YOINK("encodings.iso2022_jp_3");
PYTHON_YOINK("encodings.iso2022_jp_ext");
PYTHON_YOINK("encodings.iso2022_kr");
PYTHON_YOINK("encodings.iso8859_1");
PYTHON_YOINK("encodings.iso8859_10");
PYTHON_YOINK("encodings.iso8859_11");
PYTHON_YOINK("encodings.iso8859_13");
PYTHON_YOINK("encodings.iso8859_14");
PYTHON_YOINK("encodings.iso8859_15");
PYTHON_YOINK("encodings.iso8859_16");
PYTHON_YOINK("encodings.iso8859_2");
PYTHON_YOINK("encodings.iso8859_3");
PYTHON_YOINK("encodings.iso8859_4");
PYTHON_YOINK("encodings.iso8859_5");
PYTHON_YOINK("encodings.iso8859_6");
PYTHON_YOINK("encodings.iso8859_7");
PYTHON_YOINK("encodings.iso8859_8");
PYTHON_YOINK("encodings.iso8859_9");
PYTHON_YOINK("encodings.johab");
PYTHON_YOINK("encodings.koi8_r");
PYTHON_YOINK("encodings.koi8_t");
PYTHON_YOINK("encodings.koi8_u");
PYTHON_YOINK("encodings.kz1048");
PYTHON_YOINK("encodings.mac_arabic");
PYTHON_YOINK("encodings.mac_centeuro");
PYTHON_YOINK("encodings.mac_croatian");
PYTHON_YOINK("encodings.mac_cyrillic");
PYTHON_YOINK("encodings.mac_farsi");
PYTHON_YOINK("encodings.mac_greek");
PYTHON_YOINK("encodings.mac_iceland");
PYTHON_YOINK("encodings.mac_latin2");
PYTHON_YOINK("encodings.mac_roman");
PYTHON_YOINK("encodings.mac_romanian");
PYTHON_YOINK("encodings.mac_turkish");
PYTHON_YOINK("encodings.palmos");
PYTHON_YOINK("encodings.ptcp154");
PYTHON_YOINK("encodings.punycode");
PYTHON_YOINK("encodings.quopri_codec");
PYTHON_YOINK("encodings.rot_13");
PYTHON_YOINK("encodings.shift_jis");
PYTHON_YOINK("encodings.shift_jis_2004");
PYTHON_YOINK("encodings.shift_jisx0213");
PYTHON_YOINK("encodings.tis_620");
PYTHON_YOINK("encodings.utf_7");
PYTHON_YOINK("smtpd");
PYTHON_YOINK("poplib");
PYTHON_YOINK("imaplib");