gh-101538: Add experimental wasi-threads build#101537
gh-101538: Add experimental wasi-threads build#101537brettcannon merged 9 commits intopython:mainfrom
Conversation
|
Most changes to Python require a NEWS entry. Please add it using the blurb_it web app or the blurb command-line tool. |
|
Most changes to Python require a NEWS entry. Please add it using the blurb_it web app or the blurb command-line tool. |
|
Would you mind adding the news entry as the bot suggests? |
|
Most changes to Python require a NEWS entry. Please add it using the blurb_it web app or the blurb command-line tool. |
eg. ``` autoconf export WASI_SDK_PATH=/opt/wasi-sdk-19.5g0236e959edbc ./Tools/wasm/wasm_build.py wasi-threads build ~/git/toywasm/b.thread/toywasm --wasi --wasi-dir . --wasi-dir ~/git/garbage/py/th2 -- builddir/wasi-threads/python.wasm ~/git/garbage/py/th2/thread.py ``` * I used an unreleased version of wasi-sdk * I used toywasm to test because wasmtime doesn't have necessary functionality yet.
thank you. done. |
``` docker run --rm -v $(pwd):/src quay.io/tiran/cpython_autoconf:269 ```
|
No need to rebase and force-push; everything will be squashed into a single commit while merging anyway. |
ok. i was not aware of the policy. thank you. |
It is documented in the devguide: https://devguide.python.org/getting-started/pull-request-lifecycle/#submitting |
ok. i was aware of the doc. but apparently i haven't read it carefully enough. thank you for pointing out. |
|
As I rejected the feature request I am also unfortunately rejecting this PR. |
|
FYI in case this PR gets re-opened (instead of a new one) when WASI threads goes stable, I was able to build with WASI SDK 20 and this PR. |
|
@yamt I got tacit approval to turn this on as long as it is clearly marked as experimental. Did you want to refresh this PR as necessary? |
|
@yamt, I marked our Autoconf conversation as resolved and also took the liberty to apply a small Autoconf style change. Hope you don't mind. |
thank you. |
|
AFAICS, we can land this now, @brettcannon. I'll wait a couple of days to give you a chance to look over it before merging :) |
|
It's experimental (and even undocumented ATM 😅), so I'm good with it. |
|
@yamt Thanks! I will update https://github.com/brettcannon/cpython-wasi-build probably in the next week or so to start producing a threaded build for WASI on top of the "normal" build w/o threads. |
Co-authored-by: Brett Cannon <brett@python.org> Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
|
@Yhg1s is it okay to backport this to 3.12? |
|
Yes, this is fine for 3.12 (if it gets into RC1, scheduled for 2 weeks from now). |
|
Thanks @yamt for the PR, and @brettcannon for merging it 🌮🎉.. I'm working now to backport this PR to: 3.12. |
|
GH-106834 is a backport of this pull request to the 3.12 branch. |
(cherry picked from commit d8f87cd) Co-authored-by: YAMAMOTO Takashi <yamamoto@midokura.com> Co-authored-by: Brett Cannon <brett@python.org> Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
eg.
I used an unreleased version of wasi-sdk
I used toywasm to test because wasmtime doesn't have
necessary functionality yet.