#run-time #wasm3 #driver #build #api #c-wasm3

sys no-std wasm-embedded-rt-wasm3

Embedded WASM C/wasm3 runtime library

5 releases (3 breaking)

0.4.0 Nov 26, 2022
0.3.1 Jan 4, 2022
0.3.0 Jan 4, 2022
0.2.1 Dec 19, 2021
0.1.0 Dec 18, 2021

#861 in WebAssembly


Used in wasm-embedded-rt

MPL-2.0 license

72KB
1.5K SLoC

C 1K SLoC // 0.1% comments Rust 563 SLoC // 0.1% comments

Embedded WASM WASM3 Runtime

A WASM3 runtime based on the embedded-wasm spec. This implements the WITX API for drivers matching the C driver interface included in the spec.

Status

WIP. Extremely alpha, expect changes and breakages while we develop the ecosystem.

ci Crates.io Docs.rs

Usage

The runtime library is primarily built using cmake, though it is relatively straightforward to port this to other mechanisms.

  • mkdir build && cd build to create a build directory
  • cmake .. to setup the build
    • Add -DWASME_SPEC_DIR=something to use a local source for the spec headers
    • Use -DWASME_BUILD_WASM3=off to disable building wasm3 (you will need to provide wasm3 headers via -DWASME_WASM3_DIR=something)
  • make -j to build the library

A cargo based build for rust is also provided to simplify integration with rust components.

Dependencies

~0.4–2.9MB
~58K SLoC