[package]
authors.workspace = true
description = "Fuzzing infrastructure for Wasmtime"
edition.workspace = true
rust-version.workspace = true
name = "wasmtime-fuzzing"
publish = false
version = "0.0.0"
license = "Apache-2.0 WITH LLVM-exception"
[lints]
workspace = true
[build-dependencies]
wasmtime-test-util = { workspace = true, features = ['wast'] }
[dependencies]
anyhow = { workspace = true }
arbitrary = { workspace = true, features = ["derive"] }
env_logger = { workspace = true }
log = { workspace = true }
mutatis = { workspace = true }
rayon = "1.2.1"
smallvec = { workspace = true }
target-lexicon = { workspace = true }
tempfile = "3.3.0"
wasmparser = { workspace = true }
wasmprinter = { workspace = true }
wasmtime-wast = { workspace = true, features = ['component-model'] }
wasmtime = { workspace = true, features = ['default', 'winch'] }
wasm-encoder = { workspace = true }
wasm-smith = { workspace = true, features = ['serde'] }
wasm-mutate = { workspace = true }
wasm-spec-interpreter = { path = "./wasm-spec-interpreter", optional = true }
wasmi = { version = "0.43.1", default-features = false, features = ["std", "simd"] }
futures = { workspace = true }
wasmtime-test-util = { workspace = true, features = ['wast', 'component-fuzz', 'component'] }
serde_json = { workspace = true }
serde = { workspace = true }
[dependencies.wasmtime-cli-flags]
workspace = true
features = [
'async',
'component-model',
'component-model-async',
'cranelift',
'gc',
'gc-drc',
'gc-null',
'memory-protection-keys',
'pooling-allocator',
'pulley',
'threads',
'parallel-compilation',
]
[target.'cfg(not(any(windows, target_arch = "s390x", target_arch = "riscv64")))'.dependencies]
v8 = "137.2.0"
[dev-dependencies]
wat = { workspace = true }
rand = { version = "0.8.0", features = ["small_rng"] }
[target.'cfg(fuzzing)'.dependencies]
wasm-spec-interpreter = { path = "./wasm-spec-interpreter", optional = true, features = ['build-libinterpret'] }
[features]
fuzz-spec-interpreter = ['dep:wasm-spec-interpreter']
fuzz-pcc = []