You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

312 lines
10 KiB

[package]
name = "wasmtime-cli"
version.workspace = true
authors.workspace = true
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.workspace = true
default-run = "wasmtime"
rust-version.workspace = true
[lib]
doctest = false
[[bin]]
name = "wasmtime"
path = "src/bin/wasmtime.rs"
doc = false
[dependencies]
wasmtime = { workspace = true, features = ['cache', 'cranelift'] }
wasmtime-cache = { workspace = true }
wasmtime-cli-flags = { workspace = true }
wasmtime-cranelift = { workspace = true }
wasmtime-environ = { workspace = true }
wasmtime-explorer = { workspace = true }
wasmtime-wast = { workspace = true }
wasmtime-wasi = { workspace = true, features = ["exit"] }
wasmtime-wasi-crypto = { workspace = true, optional = true }
wasmtime-wasi-nn = { workspace = true, optional = true }
wasmtime-wasi-threads = { workspace = true, optional = true }
wasmtime-wasi-http = { workspace = true, optional = true }
clap = { workspace = true, features = ["color", "suggestions", "derive"] }
anyhow = { workspace = true }
target-lexicon = { workspace = true }
humantime = "2.0.0"
once_cell = { workspace = true }
listenfd = "1.0.0"
wat = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
wasmparser = { workspace = true }
wasm-encoder = { workspace = true }
[target.'cfg(unix)'.dependencies]
rustix = { workspace = true, features = ["mm", "param"] }
[dev-dependencies]
# depend again on wasmtime to activate its default features for tests
wasmtime = { workspace = true, features = ['component-model', 'async', 'default', 'winch'] }
env_logger = { workspace = true }
log = { workspace = true }
filecheck = { workspace = true }
tempfile = { workspace = true }
test-programs = { path = "crates/test-programs" }
wasmtime-runtime = { workspace = true }
tokio = { version = "1.8.0", features = ["rt", "time", "macros", "rt-multi-thread"] }
wast = { workspace = true }
criterion = "0.4.0"
num_cpus = "1.13.0"
memchr = "2.4"
async-trait = { workspace = true }
wat = { workspace = true }
rayon = "1.5.0"
wasmtime-wast = { workspace = true, features = ['component-model'] }
wasmtime-component-util = { workspace = true }
component-macro-test = { path = "crates/misc/component-macro-test" }
component-test-util = { workspace = true }
bstr = "0.2.17"
libc = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
walkdir = { workspace = true }
[target.'cfg(windows)'.dev-dependencies]
windows-sys = { workspace = true, features = ["Win32_System_Memory"] }
[build-dependencies]
anyhow = { workspace = true }
[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/cli-flags",
"crates/environ/fuzz",
"crates/jit-icache-coherence",
"crates/test-programs/wasi-tests",
"crates/test-programs/wasi-http-tests",
"crates/test-programs/command-tests",
"crates/test-programs/reactor-tests",
"crates/wasi-preview1-component-adapter",
"crates/wasi-preview1-component-adapter/verify",
"crates/winch",
"examples/fib-debug/wasm",
"examples/wasi/wasm",
"examples/tokio/wasm",
"fuzz",
"winch",
"winch/codegen",
]
exclude = [
'crates/wasi-common/WASI/tools/witx-cli',
'docs/rust_wasi_markdown_parser'
]
[workspace.package]
version = "10.0.2"
authors = ["The Wasmtime Project Developers"]
edition = "2021"
rust-version = "1.66.0"
[workspace.dependencies]
wasmtime = { path = "crates/wasmtime", version = "10.0.2", default-features = false }
wasmtime-cache = { path = "crates/cache", version = "=10.0.2" }
wasmtime-cli-flags = { path = "crates/cli-flags", version = "=10.0.2" }
wasmtime-cranelift = { path = "crates/cranelift", version = "=10.0.2" }
wasmtime-cranelift-shared = { path = "crates/cranelift-shared", version = "=10.0.2" }
wasmtime-winch = { path = "crates/winch", version = "=10.0.2" }
wasmtime-environ = { path = "crates/environ", version = "=10.0.2" }
wasmtime-explorer = { path = "crates/explorer", version = "=10.0.2" }
wasmtime-fiber = { path = "crates/fiber", version = "=10.0.2" }
wasmtime-types = { path = "crates/types", version = "10.0.2" }
wasmtime-jit = { path = "crates/jit", version = "=10.0.2" }
wasmtime-jit-debug = { path = "crates/jit-debug", version = "=10.0.2" }
wasmtime-runtime = { path = "crates/runtime", version = "=10.0.2" }
wasmtime-wast = { path = "crates/wast", version = "=10.0.2" }
wasmtime-wasi = { path = "crates/wasi", version = "10.0.2" }
wasmtime-wasi-crypto = { path = "crates/wasi-crypto", version = "10.0.2" }
wasmtime-wasi-http = { path = "crates/wasi-http", version = "=10.0.2" }
wasmtime-wasi-nn = { path = "crates/wasi-nn", version = "10.0.2" }
wasmtime-wasi-threads = { path = "crates/wasi-threads", version = "10.0.2" }
wasmtime-component-util = { path = "crates/component-util", version = "=10.0.2" }
wasmtime-component-macro = { path = "crates/component-macro", version = "=10.0.2" }
wasmtime-asm-macros = { path = "crates/asm-macros", version = "=10.0.2" }
component-test-util = { path = "crates/misc/component-test-util" }
component-fuzz-util = { path = "crates/misc/component-fuzz-util" }
wiggle = { path = "crates/wiggle", version = "=10.0.2", default-features = false }
wiggle-macro = { path = "crates/wiggle/macro", version = "=10.0.2" }
wiggle-generate = { path = "crates/wiggle/generate", version = "=10.0.2" }
wasi-common = { path = "crates/wasi-common", version = "=10.0.2" }
wasi-tokio = { path = "crates/wasi-common/tokio", version = "=10.0.2" }
wasi-cap-std-sync = { path = "crates/wasi-common/cap-std-sync", version = "=10.0.2" }
wasmtime-fuzzing = { path = "crates/fuzzing" }
wasmtime-jit-icache-coherence = { path = "crates/jit-icache-coherence", version = "=10.0.2" }
wasmtime-wit-bindgen = { path = "crates/wit-bindgen", version = "=10.0.2" }
cranelift-wasm = { path = "cranelift/wasm", version = "0.97.2" }
cranelift-codegen = { path = "cranelift/codegen", version = "0.97.2" }
cranelift-frontend = { path = "cranelift/frontend", version = "0.97.2" }
cranelift-entity = { path = "cranelift/entity", version = "0.97.2" }
cranelift-native = { path = "cranelift/native", version = "0.97.2" }
cranelift-module = { path = "cranelift/module", version = "0.97.2" }
cranelift-interpreter = { path = "cranelift/interpreter", version = "0.97.2" }
cranelift-reader = { path = "cranelift/reader", version = "0.97.2" }
cranelift-filetests = { path = "cranelift/filetests" }
cranelift-object = { path = "cranelift/object", version = "0.97.2" }
cranelift-jit = { path = "cranelift/jit", version = "0.97.2" }
cranelift-fuzzgen = { path = "cranelift/fuzzgen" }
cranelift-bforest = { path = "cranelift/bforest", version = "0.97.2" }
cranelift-control = { path = "cranelift/control", version = "0.97.2" }
cranelift = { path = "cranelift/umbrella", version = "0.97.2" }
winch-codegen = { path = "winch/codegen", version = "=0.8.2" }
winch-filetests = { path = "winch/filetests" }
winch-test-macros = { path = "winch/test-macros" }
wasi-preview1-component-adapter = { path = "crates/wasi-preview1-component-adapter" }
byte-array-literals = { path = "crates/wasi-preview1-component-adapter/byte-array-literals" }
# Bytecode Alliance maintained dependencies:
# ---------------------------
regalloc2 = "0.9.1"
# cap-std family:
target-lexicon = { version = "0.12.3", default-features = false, features = ["std"] }
cap-std = "1.0.12"
cap-rand = { version = "1.0.12", features = ["small_rng"] }
cap-fs-ext = "1.0.12"
cap-time-ext = "1.0.0"
fs-set-times = "0.19.0"
system-interface = { version = "0.25.1", features = ["cap_std_impls"] }
io-lifetimes = { version = "1.0.0", default-features = false }
rustix = "0.37.13"
# wit-bindgen:
wit-bindgen = { version = "0.7.0", default-features = false }
# wasm-tools family:
wasmparser = "0.107.0"
wat = "1.0.66"
wast = "60.0.0"
wasmprinter = "0.2.59"
wasm-encoder = "0.29.0"
wasm-smith = "0.12.10"
wasm-mutate = "0.2.27"
wit-parser = "0.8.0"
wit-component = "0.11.0"
# Non-Bytecode Alliance maintained dependencies:
# --------------------------
object = { version = "0.30.3", default-features = false, features = ['read_core', 'elf', 'std'] }
gimli = { version = "0.27.0", default-features = false, features = ['read', 'std'] }
anyhow = "1.0.22"
windows-sys = "0.48.0"
env_logger = "0.10"
log = { version = "0.4.8", default-features = false }
clap = { version = "3.2.0", features = ["color", "suggestions", "derive"] }
hashbrown = "0.13.2"
capstone = "0.9.0"
once_cell = "1.12.0"
smallvec = { version = "1.6.1", features = ["union"] }
tracing = "0.1.26"
bitflags = "1.2"
thiserror = "1.0.15"
async-trait = "0.1.42"
heck = "0.4"
similar = "2.1.0"
toml = "0.5.9"
serde = "1.0.94"
serde_json = "1.0.80"
glob = "0.3.0"
libfuzzer-sys = "0.4.0"
walkdir = "2.3.3"
cfg-if = "1.0"
tempfile = "3.1.0"
filecheck = "0.5.0"
libc = "0.2.60"
file-per-thread-logger = "0.2.0"
[features]
default = [
"jitdump",
"wasmtime/wat",
"wasmtime/parallel-compilation",
"vtune",
"wasi-nn",
"wasi-threads",
"wasi-http",
"pooling-allocator",
]
jitdump = ["wasmtime/jitdump"]
vtune = ["wasmtime/vtune"]
wasi-crypto = ["dep:wasmtime-wasi-crypto"]
wasi-nn = ["dep:wasmtime-wasi-nn"]
wasi-threads = ["dep:wasmtime-wasi-threads"]
wasi-http = ["dep:wasmtime-wasi-http"]
pooling-allocator = ["wasmtime/pooling-allocator", "wasmtime-cli-flags/pooling-allocator"]
all-arch = ["wasmtime/all-arch"]
posix-signals-on-macos = ["wasmtime/posix-signals-on-macos"]
component-model = [
"wasmtime/component-model",
"wasmtime-wast/component-model",
"wasmtime-cli-flags/component-model"
]
winch = ["wasmtime/winch"]
[[test]]
name = "host_segfault"
harness = false
[[example]]
name = "tokio"
required-features = ["wasmtime-wasi/tokio"]
[[bench]]
name = "instantiation"
harness = false
[[bench]]
name = "thread_eager_init"
harness = false
[[bench]]
name = "trap"
harness = false
[[bench]]
name = "call"
harness = false
[[bench]]
name = "wasi"
harness = false
[profile.release.package.wasi-preview1-component-adapter]
opt-level = 's'
strip = 'debuginfo'
[profile.dev.package.wasi-preview1-component-adapter]
# Make dev look like a release build since this adapter module won't work with
# a debug build that uses data segments and such.
incremental = false
opt-level = 's'
# Omit assertions, which include failure messages which require string
# initializers.
debug-assertions = false
# Omit integer overflow checks, which include failure messages which require
# string initializers.
overflow-checks = false