Investigate wasm32-wasi
build support
#1966
Labels
A-build-target
Area: Support for builds of specific targets.
O-wasm-wasi
Target: Support for building the `wasm32-wasi` target.
S-speculative
Status: This is just an idea.
Investigate compiling Artichoke on the
wasm32-wasi
target. Such an artifact would be able to be run withwasmtime
[GitHub] orwasmer
[GitHub].Notes
Since Artichoke has C dependencies (mruby, oniguruma) and depends on the
cc
crate, it is necessary to provide a C (or soon C++) compiler that can targetwasm32-wasi
as well as a suitable libc and sysroot.wasi-sdk
provides these things and bundleswasi-libc
.Status
2022-07-23
Artichoke is not able to build for WASI. Per
WebAssembly/wasi-sdk
#Notable Limitations:Currently, Artichoke's configuration of mruby uses
setjmp
/longjmp
. After #1904 is merged, Artichoke's configuration of mruby will use C++ exceptions.The compilation errors look like:
There is an open RFC against wasi-sdk to add support for Wasm exceptions:
Build Steps
I'm not sure whether the wasi-sdk works on non-Linux environments. The below steps use Docker on macOS.
The text was updated successfully, but these errors were encountered: