fuzz: improve wasm-spec-interpreter documentation, add library path (#4007)

The documentation for the `wasm-spec-interpreter` was not up-to-date,
causing some confusion on non-Ubuntu machines. This change adds the
correct dependencies to install and includes the `libgmp` path for
Fedora by default (i.e., `/lib64`).
This commit is contained in:
Andrew Brown
2022-04-11 07:07:58 -07:00
committed by GitHub
parent 1bf0c8c220
commit 0c7885cc05
3 changed files with 10 additions and 12 deletions

View File

@@ -15,25 +15,23 @@ This crate only builds in an environment with:
- `ocamlopt`, `ocamlbuild` (available with, e.g., `dnf install ocaml`)
- Linux tools (e.g. `ar`); currently it is easiest to build the static
libraries in a single environment but this could be fixed in the future (TODO)
Remember to retrieve the Wasm spec submodule:
```
git clone ... --recursive
```
- `libgmp`, for the OCaml `zarith` package
- `git` is used by `build.rs` to retrieve the repository containing the Wasm
spec interpreter; it is safe to completely remove `ocaml/spec` to get a new
copy
### Build
```
RUSTFLAGS=--cfg=fuzzing cargo build
cargo build --features build-libinterpret
```
Use `FFI_LIB_DIR=path/to/lib/...` to specify a different location for the static
library (this is mainly for debugging). If the `--cfg=fuzzing` configuration is
library (this is mainly for debugging). If the `build-libinterpret` feature is
not provided, this crate will build successfully but fail at runtime.
### Test
```
RUSTFLAGS=--cfg=fuzzing cargo test
cargo test --features build-libinterpret
```