* Tweak memfd-related features crates This commit changes the `memfd` feature for the `wasmtime-cli` crate from an always-on feature to a default-on feature which can be disabled at compile time. Additionally the `pooling-allocator` feature is also given similar treatment. Additionally some documentation was added for the `memfd` feature on the `wasmtime` crate. * Don't store `Arc<T>` in `InstanceAllocationRequest` Instead store `&Arc<T>` to avoid having the clone that lives in `InstanceAllocationRequest` not actually going anywhere. Otherwise all instance allocation requires an extra clone to create it for the request and an extra decrement when the request goes away. Internally clones are made as necessary when creating instances. * Enable the pooling allocator by default for `wasmtime-cli` While perhaps not the most useful option since the CLI doesn't have a great way to take advantage of this it probably makes sense to at least match the features of `wasmtime` itself. * Fix some lints and issues * More compile fixes
135 lines
3.5 KiB
TOML
135 lines
3.5 KiB
TOML
[package]
|
|
name = "wasmtime-cli"
|
|
version = "0.33.0"
|
|
authors = ["The Wasmtime Project Developers"]
|
|
description = "Command-line interface for Wasmtime"
|
|
license = "Apache-2.0 WITH LLVM-exception"
|
|
documentation = "https://bytecodealliance.github.io/wasmtime/cli.html"
|
|
categories = ["wasm"]
|
|
keywords = ["webassembly", "wasm"]
|
|
repository = "https://github.com/bytecodealliance/wasmtime"
|
|
readme = "README.md"
|
|
edition = "2018"
|
|
default-run = "wasmtime"
|
|
|
|
[lib]
|
|
doctest = false
|
|
|
|
[[bin]]
|
|
name = "wasmtime"
|
|
path = "src/bin/wasmtime.rs"
|
|
doc = false
|
|
|
|
[dependencies]
|
|
wasmtime = { path = "crates/wasmtime", version = "0.33.0", default-features = false, features = ['cache', 'cranelift'] }
|
|
wasmtime-cache = { path = "crates/cache", version = "=0.33.0" }
|
|
wasmtime-cranelift = { path = "crates/cranelift", version = "=0.33.0" }
|
|
wasmtime-environ = { path = "crates/environ", version = "=0.33.0" }
|
|
wasmtime-wast = { path = "crates/wast", version = "=0.33.0" }
|
|
wasmtime-wasi = { path = "crates/wasi", version = "0.33.0" }
|
|
wasmtime-wasi-crypto = { path = "crates/wasi-crypto", version = "0.33.0", optional = true }
|
|
wasmtime-wasi-nn = { path = "crates/wasi-nn", version = "0.33.0", optional = true }
|
|
structopt = { version = "0.3.5", features = ["color", "suggestions"] }
|
|
anyhow = "1.0.19"
|
|
target-lexicon = { version = "0.12.0", default-features = false }
|
|
pretty_env_logger = "0.4.0"
|
|
file-per-thread-logger = "0.1.1"
|
|
libc = "0.2.60"
|
|
rayon = "1.5.0"
|
|
humantime = "2.0.0"
|
|
wasmparser = "0.81.0"
|
|
lazy_static = "1.4.0"
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
rustix = "0.33.0"
|
|
|
|
[dev-dependencies]
|
|
# depend again on wasmtime to activate its default features for tests
|
|
wasmtime = { path = "crates/wasmtime", version = "0.33.0" }
|
|
env_logger = "0.8.1"
|
|
filecheck = "0.5.0"
|
|
more-asserts = "0.2.1"
|
|
tempfile = "3.1.0"
|
|
test-programs = { path = "crates/test-programs" }
|
|
wasmtime-runtime = { path = "crates/runtime" }
|
|
tokio = { version = "1.8.0", features = ["rt", "time", "macros", "rt-multi-thread"] }
|
|
tracing-subscriber = "0.3.1"
|
|
wast = "38.0.0"
|
|
criterion = "0.3.4"
|
|
num_cpus = "1.13.0"
|
|
winapi = { version = "0.3.9", features = ['memoryapi'] }
|
|
memchr = "2.4"
|
|
async-trait = "0.1"
|
|
wat = "1.0.40"
|
|
|
|
[build-dependencies]
|
|
anyhow = "1.0.19"
|
|
|
|
[profile.release.build-override]
|
|
opt-level = 0
|
|
|
|
[workspace]
|
|
resolver = '2'
|
|
members = [
|
|
"cranelift",
|
|
"cranelift/isle/fuzz",
|
|
"cranelift/isle/islec",
|
|
"cranelift/serde",
|
|
"crates/bench-api",
|
|
"crates/c-api",
|
|
"crates/misc/run-examples",
|
|
"examples/fib-debug/wasm",
|
|
"examples/wasi/wasm",
|
|
"examples/tokio/wasm",
|
|
"fuzz",
|
|
]
|
|
exclude = [
|
|
'crates/wasi-common/WASI/tools/witx-cli',
|
|
'docs/rust_wasi_markdown_parser'
|
|
]
|
|
|
|
[features]
|
|
default = [
|
|
"jitdump",
|
|
"wasmtime/wat",
|
|
"wasmtime/parallel-compilation",
|
|
"wasi-nn",
|
|
"memfd",
|
|
"pooling-allocator",
|
|
]
|
|
jitdump = ["wasmtime/jitdump"]
|
|
vtune = ["wasmtime/vtune"]
|
|
wasi-crypto = ["wasmtime-wasi-crypto"]
|
|
wasi-nn = ["wasmtime-wasi-nn"]
|
|
uffd = ["wasmtime/uffd"]
|
|
memfd = ["wasmtime/memfd"]
|
|
pooling-allocator = ["wasmtime/pooling-allocator"]
|
|
all-arch = ["wasmtime/all-arch"]
|
|
posix-signals-on-macos = ["wasmtime/posix-signals-on-macos"]
|
|
|
|
# Stub feature that does nothing, for Cargo-features compatibility: the new
|
|
# backend is the default now.
|
|
experimental_x64 = []
|
|
|
|
[badges]
|
|
maintenance = { status = "actively-developed" }
|
|
|
|
[[test]]
|
|
name = "host_segfault"
|
|
harness = false
|
|
|
|
[[example]]
|
|
name = "tokio"
|
|
required-features = ["wasmtime-wasi/tokio"]
|
|
|
|
[profile.dev.package.backtrace]
|
|
debug = false # FIXME(#1813)
|
|
|
|
[[bench]]
|
|
name = "instantiation"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "thread_eager_init"
|
|
harness = false
|