* Update WIT tooling used by Wasmtime This commit updates the WIT tooling, namely the wasm-tools family of crates, with recent updates. Notably: * bytecodealliance/wasm-tools#867 * bytecodealliance/wasm-tools#871 This updates index spaces in components and additionally bumps the minimum required version of the component binary format to be consumed by Wasmtime (because of the index space changes). Additionally WIT tooling now fully supports `use`. Note that WIT tooling doesn't, at this time, fully support packages and depending on remotely defined WIT packages. Currently WIT still needs to be vendored in the project. It's hoped that future work with `cargo component` and possible integration here could make the story about depending on remotely-defined WIT more ergonomic and streamlined. * Fix `bindgen!` codegen tests * Add a test for `use` paths an implement support * Update to crates.io versions of wasm-tools * Uncomment codegen tests
245 lines
8.0 KiB
TOML
245 lines
8.0 KiB
TOML
[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-wast = { workspace = true }
|
|
wasmtime-wasi = { workspace = true }
|
|
wasmtime-wasi-crypto = { workspace = true, optional = true }
|
|
wasmtime-wasi-nn = { workspace = true, optional = true }
|
|
clap = { workspace = true, features = ["color", "suggestions", "derive"] }
|
|
anyhow = { workspace = true }
|
|
target-lexicon = { workspace = true }
|
|
libc = "0.2.60"
|
|
humantime = "2.0.0"
|
|
once_cell = { workspace = true }
|
|
listenfd = "1.0.0"
|
|
wat = { workspace = true }
|
|
serde = "1.0.94"
|
|
serde_json = "1.0.26"
|
|
|
|
[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'] }
|
|
env_logger = { workspace = true }
|
|
log = { workspace = true }
|
|
filecheck = "0.5.0"
|
|
tempfile = "3.1.0"
|
|
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.3.4"
|
|
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"
|
|
|
|
[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/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 = "6.0.0"
|
|
authors = ["The Wasmtime Project Developers"]
|
|
edition = "2021"
|
|
rust-version = "1.66.0"
|
|
|
|
[workspace.dependencies]
|
|
wasmtime = { path = "crates/wasmtime", version = "6.0.0", default-features = false }
|
|
wasmtime-cache = { path = "crates/cache", version = "=6.0.0" }
|
|
wasmtime-cli-flags = { path = "crates/cli-flags", version = "=6.0.0" }
|
|
wasmtime-cranelift = { path = "crates/cranelift", version = "=6.0.0" }
|
|
wasmtime-environ = { path = "crates/environ", version = "=6.0.0" }
|
|
wasmtime-fiber = { path = "crates/fiber", version = "=6.0.0" }
|
|
wasmtime-types = { path = "crates/types", version = "6.0.0" }
|
|
wasmtime-jit = { path = "crates/jit", version = "=6.0.0" }
|
|
wasmtime-jit-debug = { path = "crates/jit-debug", version = "=6.0.0" }
|
|
wasmtime-runtime = { path = "crates/runtime", version = "=6.0.0" }
|
|
wasmtime-wast = { path = "crates/wast", version = "=6.0.0" }
|
|
wasmtime-wasi = { path = "crates/wasi", version = "6.0.0" }
|
|
wasmtime-wasi-crypto = { path = "crates/wasi-crypto", version = "6.0.0" }
|
|
wasmtime-wasi-nn = { path = "crates/wasi-nn", version = "6.0.0" }
|
|
wasmtime-component-util = { path = "crates/component-util", version = "=6.0.0" }
|
|
wasmtime-component-macro = { path = "crates/component-macro", version = "=6.0.0" }
|
|
wasmtime-asm-macros = { path = "crates/asm-macros", version = "=6.0.0" }
|
|
component-test-util = { path = "crates/misc/component-test-util" }
|
|
component-fuzz-util = { path = "crates/misc/component-fuzz-util" }
|
|
wiggle = { path = "crates/wiggle", version = "=6.0.0", default-features = false }
|
|
wiggle-macro = { path = "crates/wiggle/macro", version = "=6.0.0" }
|
|
wiggle-generate = { path = "crates/wiggle/generate", version = "=6.0.0" }
|
|
wasi-common = { path = "crates/wasi-common", version = "=6.0.0" }
|
|
wasi-tokio = { path = "crates/wasi-common/tokio", version = "=6.0.0" }
|
|
wasi-cap-std-sync = { path = "crates/wasi-common/cap-std-sync", version = "=6.0.0" }
|
|
wasmtime-fuzzing = { path = "crates/fuzzing" }
|
|
wasmtime-jit-icache-coherence = { path = "crates/jit-icache-coherence", version = "=6.0.0" }
|
|
wasmtime-wit-bindgen = { path = "crates/wit-bindgen", version = "=6.0.0" }
|
|
|
|
cranelift-wasm = { path = "cranelift/wasm", version = "0.93.0" }
|
|
cranelift-codegen = { path = "cranelift/codegen", version = "0.93.0" }
|
|
cranelift-frontend = { path = "cranelift/frontend", version = "0.93.0" }
|
|
cranelift-entity = { path = "cranelift/entity", version = "0.93.0" }
|
|
cranelift-native = { path = "cranelift/native", version = "0.93.0" }
|
|
cranelift-module = { path = "cranelift/module", version = "0.93.0" }
|
|
cranelift-interpreter = { path = "cranelift/interpreter", version = "0.93.0" }
|
|
cranelift-reader = { path = "cranelift/reader", version = "0.93.0" }
|
|
cranelift-filetests = { path = "cranelift/filetests" }
|
|
cranelift-object = { path = "cranelift/object", version = "0.93.0" }
|
|
cranelift-jit = { path = "cranelift/jit", version = "0.93.0" }
|
|
cranelift-preopt = { path = "cranelift/preopt", version = "0.93.0" }
|
|
cranelift-fuzzgen = { path = "cranelift/fuzzgen" }
|
|
cranelift-bforest = { path = "cranelift/bforest", version = "0.93.0" }
|
|
cranelift = { path = "cranelift/umbrella", version = "0.93.0" }
|
|
|
|
winch-codegen = { path = "winch/codegen", version = "=0.4.0" }
|
|
|
|
target-lexicon = { version = "0.12.3", default-features = false, features = ["std"] }
|
|
anyhow = "1.0.22"
|
|
wasmparser = "0.97.0"
|
|
wat = "1.0.53"
|
|
wast = "51.0.0"
|
|
wasmprinter = "0.2.46"
|
|
wasm-encoder = "0.21.0"
|
|
wasm-smith = "0.11.11"
|
|
wasm-mutate = "0.2.14"
|
|
wit-parser = "0.4"
|
|
windows-sys = "0.42.0"
|
|
env_logger = "0.9"
|
|
rustix = "0.36.0"
|
|
log = { version = "0.4.8", default-features = false }
|
|
object = { version = "0.29", default-features = false, features = ['read_core', 'elf', 'std'] }
|
|
gimli = { version = "0.26.0", default-features = false, features = ['read', 'std'] }
|
|
clap = { version = "3.2.0", features = ["color", "suggestions", "derive"] }
|
|
hashbrown = "0.12"
|
|
cap-std = "1.0.0"
|
|
cap-rand = "1.0.0"
|
|
capstone = "0.9.0"
|
|
once_cell = "1.12.0"
|
|
smallvec = { version = "1.6.1", features = ["union"] }
|
|
io-lifetimes = { version = "1.0.0", default-features = false }
|
|
tracing = "0.1.26"
|
|
bitflags = "1.2"
|
|
thiserror = "1.0.15"
|
|
async-trait = "0.1.42"
|
|
heck = "0.4"
|
|
|
|
[features]
|
|
default = [
|
|
"jitdump",
|
|
"wasmtime/wat",
|
|
"wasmtime/parallel-compilation",
|
|
"vtune",
|
|
"wasi-nn",
|
|
"pooling-allocator",
|
|
]
|
|
jitdump = ["wasmtime/jitdump"]
|
|
vtune = ["wasmtime/vtune"]
|
|
wasi-crypto = ["dep:wasmtime-wasi-crypto"]
|
|
wasi-nn = ["dep:wasmtime-wasi-nn"]
|
|
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"
|
|
]
|
|
|
|
# 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"]
|
|
|
|
[[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
|