* Move spec interpreter fuzzing behind a Cargo feature Building the spec interpreter requires a local installation of Ocaml and now libgmp which isn't always available, so this enables the ability to disable building the spec interpreter by using `cargo +nightly fuzz build --no-default-features`. The spec interpreter is still built by default but if fuzzers are being built locally and the spec interpreter isn't needed then this should enable it to be relatively easily opted-out of. * Tweak manifest directives
46 lines
1.5 KiB
TOML
46 lines
1.5 KiB
TOML
[package]
|
|
authors = ["The Wasmtime Project Developers"]
|
|
description = "Fuzzing infrastructure for Wasmtime"
|
|
edition = "2018"
|
|
name = "wasmtime-fuzzing"
|
|
publish = false
|
|
version = "0.19.0"
|
|
license = "Apache-2.0 WITH LLVM-exception"
|
|
|
|
[dependencies]
|
|
anyhow = "1.0.22"
|
|
arbitrary = { version = "1.1.0", features = ["derive"] }
|
|
env_logger = "0.8.1"
|
|
log = "0.4.8"
|
|
rayon = "1.2.1"
|
|
target-lexicon = "0.12.3"
|
|
tempfile = "3.3.0"
|
|
wasmparser = "0.83.0"
|
|
wasmprinter = "0.2.32"
|
|
wasmtime = { path = "../wasmtime" }
|
|
wasmtime-wast = { path = "../wast" }
|
|
wasm-encoder = "0.10.0"
|
|
wasm-smith = "0.9.0"
|
|
wasm-mutate = "0.2"
|
|
wasm-spec-interpreter = { path = "./wasm-spec-interpreter", optional = true }
|
|
wasmi = "0.7.0"
|
|
|
|
# We rely on precompiled v8 binaries, but rusty-v8 doesn't have a precompiled
|
|
# binary for MinGW which is built on our CI. It does have one for Windows-msvc,
|
|
# though, so we could use that if we wanted. For now though just simplify a bit
|
|
# and don't depend on this on Windows. The same applies on s390x.
|
|
[target.'cfg(not(any(windows, target_arch = "s390x")))'.dependencies]
|
|
v8 = "0.33"
|
|
|
|
[dev-dependencies]
|
|
wat = "1.0.37"
|
|
|
|
# Only enable the `build-libinterpret` feature when fuzzing is enabled, enabling
|
|
# commands like `cargo test --workspace` or similar to not need an ocaml
|
|
# installation and only fuzzers need it by default.
|
|
[target.'cfg(fuzzing)'.dependencies]
|
|
wasm-spec-interpreter = { path = "./wasm-spec-interpreter", optional = true, features = ['build-libinterpret'] }
|
|
|
|
[features]
|
|
fuzz-spec-interpreter = ['wasm-spec-interpreter']
|