GitXplorerGitXplorer
L

ocaml-wasmtime

public
34 stars
4 forks
3 issues

Commits

List of commits on branch main.
Verified
eaef08a114fc2ba5a87a812b42e5a2d5b8037a3b

Fix a typo.

LLaurentMazare committed 3 years ago
Unverified
49d3e35676d79d6573600fa4e9ff7460106341e3

Switch to using wasmtime 0.22 now that the opam package has been released.

LLaurentMazare committed 4 years ago
Unverified
ed324483278c684168eb6be69485502094905520

Add a reference to wasmtime 0.22

LLaurentMazare committed 4 years ago
Unverified
99aaf2d49688a1c7657d8b4613411f06105b6342

Handle returned references.

LLaurentMazare committed 4 years ago
Unverified
71333a5d532164890bde4ea3365a772eb48054e6

Add some preliminary support for extern-ref.

LLaurentMazare committed 4 years ago
Unverified
c09892105754d30d66aa2110c55dfcac69d26890

Avoid some double-free issue.

LLaurentMazare committed 4 years ago

README

The README file for this repository.

ocaml-wasmtime

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.

Installation

Using Opam

The simplest way to install this library is via opam, this installs both the C library and the OCcaml bindings.

opam install wasmtime

Building from source

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.