* Remove usage of `CompilationStrategy` from `Config` This commit removes the public API usage of the internal `CompilationStrategy` enumeration from the `Config` type in the `wasmtime` crate. To do this the `enum` was copied locally into the crate and renamed `Strategy`. The high-level description of this change is: * The `Config::strategy` method now takes a locally-defined `Strategy` enumeration instead of an internal type. * The contents of `Strategy` are always the same, not relying on Cargo features to indicate which variants are present. This avoids unnecessary downstream `#[cfg]`. * A `lightbeam` feature was added to the `wasmtime` crate itself to lightbeam compilation support. * The `Config::strategy` method is now fallible. It returns a runtime error if support for the selected strategy wasn't compiled in. * The `Strategy` enum is listed as `#[non_exhaustive]` so we can safely add variants over time to it. This reduces the public crate dependencies of the `wasmtime` crate itself, removing the need to reach into internal crates even more! cc #708 * Fix fuzz targets * Update nightly used to build releases * Run rustfmt
45 lines
1.2 KiB
TOML
45 lines
1.2 KiB
TOML
[package]
|
|
name = "wasmtime"
|
|
version = "0.7.0"
|
|
authors = ["The Wasmtime Project Developers"]
|
|
description = "High-level API to expose the Wasmtime runtime"
|
|
license = "Apache-2.0 WITH LLVM-exception"
|
|
repository = "https://github.com/bytecodealliance/wasmtime"
|
|
readme = "README.md"
|
|
edition = "2018"
|
|
|
|
[lib]
|
|
name = "wasmtime"
|
|
crate-type = ["lib", "staticlib", "cdylib"]
|
|
|
|
[dependencies]
|
|
wasmtime-runtime = { path = "../runtime" }
|
|
wasmtime-environ = { path = "../environ" }
|
|
wasmtime-jit = { path = "../jit" }
|
|
wasmparser = { version = "0.45.0", default-features = false }
|
|
target-lexicon = { version = "0.9.0", default-features = false }
|
|
anyhow = "1.0.19"
|
|
thiserror = "1.0.4"
|
|
region = "2.0.0"
|
|
|
|
[dev-dependencies]
|
|
# for wasmtime.rs
|
|
wasi-common = { path = "../wasi-common" }
|
|
docopt = "1.0.1"
|
|
serde = { "version" = "1.0.94", features = ["derive"] }
|
|
pretty_env_logger = "0.3.0"
|
|
wasmtime-wast = { path = "../wast" }
|
|
wasmtime-wasi = { path = "../wasi" }
|
|
rayon = "1.2.1"
|
|
file-per-thread-logger = "0.1.1"
|
|
wat = "1.0"
|
|
|
|
[badges]
|
|
maintenance = { status = "actively-developed" }
|
|
|
|
[features]
|
|
# Enables experimental support for the lightbeam codegen backend, an alternative
|
|
# to cranelift. Requires Nightly Rust currently, and this is not enabled by
|
|
# default.
|
|
lightbeam = ["wasmtime-jit/lightbeam"]
|