From 63b867bd2f25f1b79f940b2df8e8bbf3a0bf32d6 Mon Sep 17 00:00:00 2001 From: Gautham <41098605+ahgamut@users.noreply.github.com> Date: Thu, 26 Aug 2021 08:15:59 +0530 Subject: [PATCH] Added _multiprocessing to Python (#259) Also changed some PYTHON_YOINKs so that http.server would work in MODE=tiny. --- .../_multiprocessing/multiprocessing.h | 2 +- third_party/python/Modules/config.c | 2 + third_party/python/Programs/python.c | 67 ++++++++++--------- third_party/python/python.mk | 1 + 4 files changed, 38 insertions(+), 34 deletions(-) diff --git a/third_party/python/Modules/_multiprocessing/multiprocessing.h b/third_party/python/Modules/_multiprocessing/multiprocessing.h index ee480445c..16fc2e428 100644 --- a/third_party/python/Modules/_multiprocessing/multiprocessing.h +++ b/third_party/python/Modules/_multiprocessing/multiprocessing.h @@ -1,9 +1,9 @@ #ifndef MULTIPROCESSING_H #define MULTIPROCESSING_H #define PY_SSIZE_T_CLEAN +#include "third_party/python/Include/Python.h" #include "third_party/python/Include/pythread.h" #include "third_party/python/Include/structmember.h" -#include "third_party/python/pyconfig.h" /* clang-format off */ /* diff --git a/third_party/python/Modules/config.c b/third_party/python/Modules/config.c index 6804e7360..6e8f01c3a 100644 --- a/third_party/python/Modules/config.c +++ b/third_party/python/Modules/config.c @@ -70,6 +70,7 @@ PyObject* PyInit__csv(void); PyObject* PyInit__socket(void); PyObject* PyInit_resource(void); PyObject* PyInit__posixsubprocess(void); +PyObject* PyInit__multiprocessing(void); PyObject* PyInit__md5(void); PyObject* PyInit__sha1(void); PyObject* PyInit__sha256(void); @@ -144,6 +145,7 @@ struct _inittab _PyImport_Inittab[] = { {"_socket", PyInit__socket}, {"resource", PyInit_resource}, {"_posixsubprocess", PyInit__posixsubprocess}, + {"_multiprocessing", PyInit__multiprocessing}, {"_md5", PyInit__md5}, {"_sha1", PyInit__sha1}, {"_sha256", PyInit__sha256}, diff --git a/third_party/python/Programs/python.c b/third_party/python/Programs/python.c index 7505d04bb..4462630a2 100644 --- a/third_party/python/Programs/python.c +++ b/third_party/python/Programs/python.c @@ -235,6 +235,39 @@ PYTHON_YOINK(".python/http/cookiejar.py"); PYTHON_YOINK(".python/http/cookies.py"); PYTHON_YOINK(".python/http/server.py"); +STATIC_YOINK(".python/email/"); +PYTHON_YOINK(".python/email/__init__.py"); +PYTHON_YOINK(".python/email/_encoded_words.py"); +PYTHON_YOINK(".python/email/_header_value_parser.py"); +PYTHON_YOINK(".python/email/_parseaddr.py"); +PYTHON_YOINK(".python/email/_policybase.py"); +PYTHON_YOINK(".python/email/base64mime.py"); +PYTHON_YOINK(".python/email/charset.py"); +PYTHON_YOINK(".python/email/contentmanager.py"); +PYTHON_YOINK(".python/email/encoders.py"); +PYTHON_YOINK(".python/email/errors.py"); +PYTHON_YOINK(".python/email/feedparser.py"); +PYTHON_YOINK(".python/email/generator.py"); +PYTHON_YOINK(".python/email/header.py"); +PYTHON_YOINK(".python/email/headerregistry.py"); +PYTHON_YOINK(".python/email/iterators.py"); +PYTHON_YOINK(".python/email/message.py"); +STATIC_YOINK(".python/email/mime/"); +PYTHON_YOINK(".python/email/mime/__init__.py"); +PYTHON_YOINK(".python/email/mime/application.py"); +PYTHON_YOINK(".python/email/mime/audio.py"); +PYTHON_YOINK(".python/email/mime/base.py"); +PYTHON_YOINK(".python/email/mime/image.py"); +PYTHON_YOINK(".python/email/mime/message.py"); +PYTHON_YOINK(".python/email/mime/multipart.py"); +PYTHON_YOINK(".python/email/mime/nonmultipart.py"); +PYTHON_YOINK(".python/email/mime/text.py"); +PYTHON_YOINK(".python/email/parser.py"); +PYTHON_YOINK(".python/email/policy.py"); +PYTHON_YOINK(".python/email/quoprimime.py"); +PYTHON_YOINK(".python/email/utils.py"); +STATIC_YOINK(".python/email/architecture.rst"); + STATIC_YOINK(".python/importlib/"); PYTHON_YOINK(".python/importlib/__init__.py"); PYTHON_YOINK(".python/importlib/_bootstrap.py"); @@ -487,6 +520,7 @@ PYTHON_YOINK(".python/encodings/__init__.py"); PYTHON_YOINK(".python/encodings/aliases.py"); PYTHON_YOINK(".python/encodings/mbcs.py"); PYTHON_YOINK(".python/encodings/ascii.py"); +PYTHON_YOINK(".python/encodings/idna.py"); PYTHON_YOINK(".python/encodings/latin_1.py"); PYTHON_YOINK(".python/encodings/utf_8.py"); PYTHON_YOINK(".python/encodings/utf_8_sig.py"); @@ -559,7 +593,6 @@ PYTHON_YOINK(".python/encodings/gb2312.py"); PYTHON_YOINK(".python/encodings/gbk.py"); PYTHON_YOINK(".python/encodings/hp_roman8.py"); PYTHON_YOINK(".python/encodings/hz.py"); -PYTHON_YOINK(".python/encodings/idna.py"); PYTHON_YOINK(".python/encodings/iso2022_jp.py"); PYTHON_YOINK(".python/encodings/iso2022_jp_1.py"); PYTHON_YOINK(".python/encodings/iso2022_jp_2.py"); @@ -619,38 +652,6 @@ PYTHON_YOINK(".python/mailbox.py"); PYTHON_YOINK(".python/mailcap.py"); PYTHON_YOINK(".python/smtplib.py"); PYTHON_YOINK(".python/nntplib.py"); -STATIC_YOINK(".python/email/"); -PYTHON_YOINK(".python/email/__init__.py"); -PYTHON_YOINK(".python/email/_encoded_words.py"); -PYTHON_YOINK(".python/email/_header_value_parser.py"); -PYTHON_YOINK(".python/email/_parseaddr.py"); -PYTHON_YOINK(".python/email/_policybase.py"); -PYTHON_YOINK(".python/email/base64mime.py"); -PYTHON_YOINK(".python/email/charset.py"); -PYTHON_YOINK(".python/email/contentmanager.py"); -PYTHON_YOINK(".python/email/encoders.py"); -PYTHON_YOINK(".python/email/errors.py"); -PYTHON_YOINK(".python/email/feedparser.py"); -PYTHON_YOINK(".python/email/generator.py"); -PYTHON_YOINK(".python/email/header.py"); -PYTHON_YOINK(".python/email/headerregistry.py"); -PYTHON_YOINK(".python/email/iterators.py"); -PYTHON_YOINK(".python/email/message.py"); -STATIC_YOINK(".python/email/mime/"); -PYTHON_YOINK(".python/email/mime/__init__.py"); -PYTHON_YOINK(".python/email/mime/application.py"); -PYTHON_YOINK(".python/email/mime/audio.py"); -PYTHON_YOINK(".python/email/mime/base.py"); -PYTHON_YOINK(".python/email/mime/image.py"); -PYTHON_YOINK(".python/email/mime/message.py"); -PYTHON_YOINK(".python/email/mime/multipart.py"); -PYTHON_YOINK(".python/email/mime/nonmultipart.py"); -PYTHON_YOINK(".python/email/mime/text.py"); -PYTHON_YOINK(".python/email/parser.py"); -PYTHON_YOINK(".python/email/policy.py"); -PYTHON_YOINK(".python/email/quoprimime.py"); -PYTHON_YOINK(".python/email/utils.py"); -STATIC_YOINK(".python/email/architecture.rst"); #endif #ifdef WITH_THREAD diff --git a/third_party/python/python.mk b/third_party/python/python.mk index d5bd54975..dbe5d1d38 100644 --- a/third_party/python/python.mk +++ b/third_party/python/python.mk @@ -442,6 +442,7 @@ THIRD_PARTY_PYTHON_STAGE2_A_SRCS = \ third_party/python/Modules/_io/stringio.c \ third_party/python/Modules/_io/textio.c \ third_party/python/Modules/_json.c \ + third_party/python/Modules/_multiprocessing/multiprocessing.c \ third_party/python/Modules/_localemodule.c \ third_party/python/Modules/_lsprof.c \ third_party/python/Modules/_math.c \