OCaml WebAssembly runtime powered by wasmtime
This library let you run WebAssembly modules within OCaml with some
support for wasi for system calls.
It acts as a low-level and typesafe wrapper around the wasmtime C library,
only a subset of the functions are supported for now but it should be enough
to run some basic examples, see the tests
directory for details.
The simplest way to install this library is via opam, this installs both the C library and the OCcaml bindings.
opam install wasmtime
First the wasmtime C library has to be installed. This can either be done via opam.
opam install libwasmtime
Or this can be done manually.
- Download the wasmtime c-api library from the github repo.
- Uncompress the archive and set the
LIBWASTIME
environment variable to point at them.
wget https://github.com/bytecodealliance/wasmtime/releases/download/v0.22.0/wasmtime-v0.22.0-x86_64-linux-c-api.tar.xz
tar xf wasmtime-v0.22.0-x86_64-linux-c-api.tar.xz
export LIBWASTIME=$PWD/wasmtime-v0.22.0-x86_64-linux-c-api
Once the C library has been installed and the repo has been checked out, the examples can be run with dune.
dune runtest
This has been tested with wasmtime v0.21.0 and v0.22.0 on a linux platform.