Hey @Max_Desiatov and everyone,
I’m planning to submit a proposal for the Wasm multi-threading SDK project for GSoC this year, and I wanted to say hi and make sure my head is in the right place before I start drafting!
I've been poking around the compiler codebase on my Mac, specifically tracing how target triples get passed around. Following the thread from build-script down into targets.py, I noticed something interesting: right now, WebAssembly is just defined as a basic WASI = Platform("wasi", archs=["wasm32"]). It doesn't have the heavy custom overrides (like swift_flags or cmake_options) that the Android or Darwin subclasses use.
I'm assuming a big chunk of this project will involve expanding that—maybe creating a dedicated WASIPlatform subclass to properly inject the wasm32-unknown-wasip1-threads triple and handle the multi-threaded WASI-libc paths.
Before I get too deep into writing the proposal, I had two quick workflow questions:
- Testing: What is the standard way you all run the WASI test suite locally? I want to make sure I can establish a clean baseline on my machine before I start experimenting with changes.
- CMake: Are there any specific Wasm CMake flags or existing config files inside
swift_build_supportthat I should zero in on first to get the standard library building for this new triple?
Really excited to dive into this one. Thanks in advance for the help!
Best regards,
Saksham Gupta