1[package] 2name = "wasmtime-cli" 3version.workspace = true 4authors.workspace = true 5description = "Command-line interface for Wasmtime" 6license = "Apache-2.0 WITH LLVM-exception" 7documentation = "https://bytecodealliance.github.io/wasmtime/cli.html" 8categories = ["wasm"] 9keywords = ["webassembly", "wasm"] 10repository = "https://github.com/bytecodealliance/wasmtime" 11readme = "README.md" 12edition.workspace = true 13default-run = "wasmtime" 14rust-version.workspace = true 15 16[package.metadata.binstall] 17pkg-url = "{repo}/releases/download/v{version}/wasmtime-v{version}-{target-arch}-{target-family}{archive-suffix}" 18bin-dir = "wasmtime-v{version}-{target-arch}-{target-family}/{bin}{binary-ext}" 19pkg-fmt = "txz" 20[package.metadata.binstall.overrides.x86_64-apple-darwin] 21pkg-url = "{repo}/releases/download/v{version}/wasmtime-v{version}-{target-arch}-macos{archive-suffix}" 22bin-dir = "wasmtime-v{version}-{target-arch}-macos/{bin}{binary-ext}" 23[package.metadata.binstall.overrides.aarch64-apple-darwin] 24pkg-url = "{repo}/releases/download/v{version}/wasmtime-v{version}-{target-arch}-macos{archive-suffix}" 25bin-dir = "wasmtime-v{version}-{target-arch}-macos/{bin}{binary-ext}" 26[package.metadata.binstall.overrides.x86_64-pc-windows-msvc] 27pkg-fmt = "zip" 28[package.metadata.binstall.overrides.x86_64-pc-windows-gnu] 29pkg-fmt = "zip" 30[package.metadata.binstall.overrides.x86_64-unknown-linux-musl] 31pkg-url = "{repo}/releases/download/v{version}/wasmtime-v{version}-{target-arch}-musl{archive-suffix}" 32bin-dir = "wasmtime-v{version}-{target-arch}-musl/{bin}{binary-ext}" 33 34[lints] 35workspace = true 36 37[lib] 38doctest = false 39 40[[bin]] 41name = "wasmtime" 42path = "src/bin/wasmtime.rs" 43doc = false 44 45[dependencies] 46wasmtime = { workspace = true, features = ['std'] } 47wasmtime-cache = { workspace = true, optional = true } 48wasmtime-cli-flags = { workspace = true } 49wasmtime-cranelift = { workspace = true, optional = true } 50wasmtime-environ = { workspace = true } 51wasmtime-explorer = { workspace = true, optional = true } 52wasmtime-wast = { workspace = true, optional = true } 53wasi-common = { workspace = true, default-features = true, features = ["exit", "tokio"], optional = true } 54wasmtime-wasi = { workspace = true, default-features = true, optional = true } 55wasmtime-wasi-nn = { workspace = true, optional = true } 56wasmtime-wasi-config = { workspace = true, optional = true } 57wasmtime-wasi-tls = { workspace = true, optional = true } 58wasmtime-wasi-keyvalue = { workspace = true, optional = true } 59wasmtime-wasi-threads = { workspace = true, optional = true } 60wasmtime-wasi-http = { workspace = true, optional = true } 61clap = { workspace = true } 62clap_complete = { workspace = true, optional = true } 63anyhow = { workspace = true, features = ['std'] } 64target-lexicon = { workspace = true } 65listenfd = { version = "1.0.0", optional = true } 66wat = { workspace = true, optional = true } 67serde = { workspace = true } 68serde_derive = { workspace = true } 69serde_json = { workspace = true } 70wasmparser = { workspace = true } 71tracing = { workspace = true } 72log = { workspace = true } 73tempfile = { workspace = true, optional = true } 74object = { workspace = true, optional = true } 75cranelift-codegen = { workspace = true, optional = true, features = ['disas'] } 76capstone = { workspace = true, optional = true } 77termcolor = { workspace = true, optional = true } 78gimli = { workspace = true, optional = true } 79pulley-interpreter = { workspace = true, optional = true } 80 81async-trait = { workspace = true } 82trait-variant = { workspace = true } 83bytes = { workspace = true } 84cfg-if = { workspace = true } 85tokio = { workspace = true, optional = true, features = [ "signal", "macros" ] } 86hyper = { workspace = true, optional = true } 87http = { workspace = true, optional = true } 88http-body-util = { workspace = true, optional = true } 89 90[target.'cfg(unix)'.dependencies] 91rustix = { workspace = true, features = ["mm", "process"] } 92 93[dev-dependencies] 94# depend again on wasmtime to activate its default features for tests 95wasmtime = { workspace = true, features = ['default', 'winch', 'pulley', 'all-arch', 'call-hook', 'memory-protection-keys'] } 96env_logger = { workspace = true } 97log = { workspace = true } 98filecheck = { workspace = true } 99tempfile = { workspace = true } 100tokio = { workspace = true, features = ["rt", "time", "macros", "rt-multi-thread"] } 101wast = { workspace = true } 102criterion = { workspace = true } 103num_cpus = "1.13.0" 104memchr = "2.4" 105async-trait = { workspace = true } 106trait-variant = { workspace = true } 107wat = { workspace = true } 108rayon = "1.5.0" 109wasmtime-wast = { workspace = true, features = ['component-model'] } 110wasmtime-component-util = { workspace = true } 111wasmtime-test-util = { workspace = true, features = ['wasmtime-wast', 'component'] } 112bstr = "1.6.0" 113libc = { workspace = true } 114serde = { workspace = true } 115serde_json = { workspace = true } 116walkdir = { workspace = true } 117test-programs-artifacts = { workspace = true } 118bytesize = "2.0.1" 119wit-component = { workspace = true } 120cranelift-filetests = { workspace = true } 121cranelift-codegen = { workspace = true, features = ["disas", "trace-log", "timing"] } 122cranelift-reader = { workspace = true } 123toml = { workspace = true } 124similar = { workspace = true } 125libtest-mimic = { workspace = true } 126capstone = { workspace = true } 127object = { workspace = true, features = ['std'] } 128wasmtime-test-macros = { path = "crates/test-macros" } 129pulley-interpreter = { workspace = true, features = ["disas"] } 130wasm-encoder = { workspace = true } 131cranelift-native = { workspace = true } 132 133[target.'cfg(windows)'.dev-dependencies] 134windows-sys = { workspace = true, features = ["Win32_System_Memory"] } 135 136[target.'cfg(unix)'.dev-dependencies] 137rustix = { workspace = true, features = ["param"] } 138 139[build-dependencies] 140anyhow = { workspace = true, features = ['std'] } 141 142[profile.release.build-override] 143opt-level = 0 144 145[workspace] 146resolver = '2' 147members = [ 148 "cranelift", 149 "cranelift/assembler-x64/fuzz", 150 "cranelift/isle/fuzz", 151 "cranelift/isle/islec", 152 "cranelift/isle/veri/veri_engine", 153 "cranelift/isle/veri/veri_ir", 154 "cranelift/serde", 155 "crates/bench-api", 156 "crates/c-api/artifact", 157 "crates/environ/fuzz", 158 "crates/test-programs", 159 "crates/wasi-preview1-component-adapter", 160 "crates/wasi-preview1-component-adapter/verify", 161 "crates/wasi-tls-nativetls", 162 "examples/fib-debug/wasm", 163 "examples/wasm", 164 "examples/tokio/wasm", 165 "examples/component/wasm", 166 "examples/min-platform", 167 "examples/min-platform/embedding", 168 "fuzz", 169 "winch/codegen", 170] 171exclude = [ 172 'docs/rust_wasi_markdown_parser', 173] 174 175[workspace.package] 176version = "35.0.0" 177authors = ["The Wasmtime Project Developers"] 178edition = "2024" 179# Wasmtime's current policy is that this number can be no larger than the 180# current stable release of Rust minus 2. 181rust-version = "1.85.0" 182 183[workspace.lints.rust] 184# Turn on some lints which are otherwise allow-by-default in rustc. 185unused_extern_crates = 'warn' 186trivial_numeric_casts = 'warn' 187unstable_features = 'warn' 188unused_import_braces = 'warn' 189unused-lifetimes = 'warn' 190unused-macro-rules = 'warn' 191 192# Don't warn about unknown cfgs for pulley 193[workspace.lints.rust.unexpected_cfgs] 194level = "warn" 195check-cfg = [ 196 'cfg(pulley_tail_calls)', 197 'cfg(pulley_assume_llvm_makes_tail_calls)', 198 'cfg(pulley_disable_interp_simd)', 199] 200 201[workspace.lints.clippy] 202# The default set of lints in Clippy is viewed as "too noisy" right now so 203# they're all turned off by default. Selective lints are then enabled below as 204# necessary. 205all = { level = 'allow', priority = -1 } 206clone_on_copy = 'warn' 207map_clone = 'warn' 208uninlined_format_args = 'warn' 209unnecessary_to_owned = 'warn' 210manual_strip = 'warn' 211useless_conversion = 'warn' 212unnecessary_mut_passed = 'warn' 213unnecessary_fallible_conversions = 'warn' 214unnecessary_cast = 'warn' 215allow_attributes_without_reason = 'warn' 216from_over_into = 'warn' 217redundant_field_names = 'warn' 218 219[workspace.dependencies] 220# Public crates related to Wasmtime. 221# 222# These crates are intended to be depended upon publicly to varying degrees. For 223# example `wasmtime` is very much intended to be used, as well as WASI crates 224# like `wasmtime-wasi`. Crates like `wasmtime-environ` are useful for ecosystem 225# tooling but aren't intended to be widely depended on. 226# 227# All of these crates are supported though in the sense that 228wasmtime = { path = "crates/wasmtime", version = "35.0.0", default-features = false } 229wasmtime-cli-flags = { path = "crates/cli-flags", version = "=35.0.0" } 230wasmtime-environ = { path = "crates/environ", version = "=35.0.0" } 231wasmtime-wasi = { path = "crates/wasi", version = "35.0.0", default-features = false } 232wasmtime-wasi-io = { path = "crates/wasi-io", version = "35.0.0", default-features = false } 233wasmtime-wasi-http = { path = "crates/wasi-http", version = "35.0.0", default-features = false } 234wasmtime-wasi-nn = { path = "crates/wasi-nn", version = "35.0.0" } 235wasmtime-wasi-config = { path = "crates/wasi-config", version = "35.0.0" } 236wasmtime-wasi-keyvalue = { path = "crates/wasi-keyvalue", version = "35.0.0" } 237wasmtime-wasi-threads = { path = "crates/wasi-threads", version = "35.0.0" } 238wasmtime-wasi-tls = { path = "crates/wasi-tls", version = "35.0.0" } 239wasmtime-wasi-tls-nativetls = { path = "crates/wasi-tls-nativetls", version = "35.0.0" } 240wasmtime-wast = { path = "crates/wast", version = "=35.0.0" } 241 242# Internal Wasmtime-specific crates. 243# 244# Note that all crates here are actually named `wasmtime-internal-*` as their 245# package name which is what will show up on crates.io. This is done to signal 246# that these are internal unsupported crates for external use. These exist as 247# part of the project organization of other public crates in Wasmtime and are 248# otherwise not supported in terms of CVEs for example. 249wasmtime-wmemcheck = { path = "crates/wmemcheck", version = "=35.0.0", package = 'wasmtime-internal-wmemcheck' } 250wasmtime-c-api-macros = { path = "crates/c-api-macros", version = "=35.0.0", package = 'wasmtime-internal-c-api-macros' } 251wasmtime-cache = { path = "crates/cache", version = "=35.0.0", package = 'wasmtime-internal-cache' } 252wasmtime-cranelift = { path = "crates/cranelift", version = "=35.0.0", package = 'wasmtime-internal-cranelift' } 253wasmtime-winch = { path = "crates/winch", version = "=35.0.0", package = 'wasmtime-internal-winch' } 254wasmtime-explorer = { path = "crates/explorer", version = "=35.0.0", package = 'wasmtime-internal-explorer' } 255wasmtime-fiber = { path = "crates/fiber", version = "=35.0.0", package = 'wasmtime-internal-fiber' } 256wasmtime-jit-debug = { path = "crates/jit-debug", version = "=35.0.0", package = 'wasmtime-internal-jit-debug' } 257wasmtime-component-util = { path = "crates/component-util", version = "=35.0.0", package = 'wasmtime-internal-component-util' } 258wasmtime-component-macro = { path = "crates/component-macro", version = "=35.0.0", package = 'wasmtime-internal-component-macro' } 259wasmtime-asm-macros = { path = "crates/asm-macros", version = "=35.0.0", package = 'wasmtime-internal-asm-macros' } 260wasmtime-versioned-export-macros = { path = "crates/versioned-export-macros", version = "=35.0.0", package = 'wasmtime-internal-versioned-export-macros' } 261wasmtime-slab = { path = "crates/slab", version = "=35.0.0", package = 'wasmtime-internal-slab' } 262wasmtime-jit-icache-coherence = { path = "crates/jit-icache-coherence", version = "=35.0.0", package = 'wasmtime-internal-jit-icache-coherence' } 263wasmtime-wit-bindgen = { path = "crates/wit-bindgen", version = "=35.0.0", package = 'wasmtime-internal-wit-bindgen' } 264wasmtime-math = { path = "crates/math", version = "=35.0.0", package = 'wasmtime-internal-math' } 265wasmtime-unwinder = { path = "crates/unwinder", version = "=35.0.0", package = 'wasmtime-internal-unwinder' } 266 267# Miscellaneous crates without a `wasmtime-*` prefix in their name but still 268# used in the `wasmtime-*` family of crates depending on various features/etc. 269wiggle = { path = "crates/wiggle", version = "=35.0.0", default-features = false } 270wiggle-macro = { path = "crates/wiggle/macro", version = "=35.0.0" } 271wiggle-generate = { path = "crates/wiggle/generate", version = "=35.0.0" } 272wasi-common = { path = "crates/wasi-common", version = "=35.0.0", default-features = false } 273pulley-interpreter = { path = 'pulley', version = "=35.0.0" } 274pulley-macros = { path = 'pulley/macros', version = "=35.0.0" } 275 276# Cranelift crates in this workspace 277cranelift-assembler-x64 = { path = "cranelift/assembler-x64", version = "0.122.0" } 278cranelift-codegen = { path = "cranelift/codegen", version = "0.122.0", default-features = false, features = ["std", "unwind"] } 279cranelift-frontend = { path = "cranelift/frontend", version = "0.122.0" } 280cranelift-entity = { path = "cranelift/entity", version = "0.122.0" } 281cranelift-native = { path = "cranelift/native", version = "0.122.0" } 282cranelift-module = { path = "cranelift/module", version = "0.122.0" } 283cranelift-interpreter = { path = "cranelift/interpreter", version = "0.122.0" } 284cranelift-reader = { path = "cranelift/reader", version = "0.122.0" } 285cranelift-filetests = { path = "cranelift/filetests" } 286cranelift-object = { path = "cranelift/object", version = "0.122.0" } 287cranelift-jit = { path = "cranelift/jit", version = "0.122.0" } 288cranelift-fuzzgen = { path = "cranelift/fuzzgen" } 289cranelift-bforest = { path = "cranelift/bforest", version = "0.122.0" } 290cranelift-bitset = { path = "cranelift/bitset", version = "0.122.0" } 291cranelift-control = { path = "cranelift/control", version = "0.122.0" } 292cranelift-srcgen = { path = "cranelift/srcgen", version = "0.122.0" } 293cranelift = { path = "cranelift/umbrella", version = "0.122.0" } 294 295# Winch crates in this workspace. 296winch-codegen = { path = "winch/codegen", version = "=35.0.0" } 297 298# Internal crates not published to crates.io used in testing, builds, etc 299wasi-preview1-component-adapter = { path = "crates/wasi-preview1-component-adapter" } 300wasmtime-fuzzing = { path = "crates/fuzzing" } 301test-programs-artifacts = { path = 'crates/test-programs/artifacts' } 302wasmtime-test-util = { path = "crates/test-util" } 303byte-array-literals = { path = "crates/wasi-preview1-component-adapter/byte-array-literals" } 304pulley-interpreter-fuzz = { path = 'pulley/fuzz' } 305 306# Bytecode Alliance maintained dependencies: 307# --------------------------- 308regalloc2 = "0.12.2" 309 310# cap-std family: 311target-lexicon = "0.13.0" 312cap-std = "3.4.4" 313cap-rand = { version = "3.4.4", features = ["small_rng"] } 314cap-fs-ext = "3.4.4" 315cap-net-ext = "3.4.4" 316cap-time-ext = "3.4.4" 317cap-tempfile = "3.4.4" 318fs-set-times = "0.20.1" 319system-interface = { version = "0.27.1", features = ["cap_std_impls"] } 320io-lifetimes = { version = "2.0.3", default-features = false } 321io-extras = "0.18.1" 322rustix = "1.0.3" 323# wit-bindgen: 324wit-bindgen = { version = "0.43.0", default-features = false } 325wit-bindgen-rust-macro = { version = "0.43.0", default-features = false } 326 327# wasm-tools family: 328wasmparser = { version = "0.235.0", default-features = false, features = ['simd'] } 329wat = "1.235.0" 330wast = "235.0.0" 331wasmprinter = "0.235.0" 332wasm-encoder = "0.235.0" 333wasm-smith = "0.235.0" 334wasm-mutate = "0.235.0" 335wit-parser = "0.235.0" 336wit-component = "0.235.0" 337wasm-wave = "0.235.0" 338 339# Non-Bytecode Alliance maintained dependencies: 340# -------------------------- 341arbitrary = "1.4.0" 342mutatis = "0.3.2" 343cc = "1.0" 344object = { version = "0.36.5", default-features = false, features = ['read_core', 'elf'] } 345gimli = { version = "0.31.0", default-features = false, features = ['read'] } 346addr2line = { version = "0.24.1", default-features = false } 347anyhow = { version = "1.0.93", default-features = false } 348windows-sys = "0.59.0" 349env_logger = "0.11.5" 350log = { version = "0.4.8", default-features = false } 351clap = { version = "4.5.17", default-features = false, features = ["std", "derive"] } 352clap_complete = "4.4.7" 353hashbrown = { version = "0.15", default-features = false } 354capstone = "0.13.0" 355smallvec = { version = "1.6.1", features = ["union"] } 356tracing = "0.1.26" 357bitflags = "2.0" 358thiserror = "2.0.12" 359async-trait = "0.1.71" 360trait-variant = "0.1.2" 361heck = "0.5" 362similar = "2.1.0" 363toml = "0.8.10" 364mach2 = "0.4.2" 365memfd = "0.6.2" 366psm = "0.1.11" 367proptest = "1.0.0" 368rand = { version = "0.8.3", features = ["small_rng"] } 369# serde and serde_derive must have the same version 370serde = { version = "1.0.215", default-features = false, features = ['alloc'] } 371serde_derive = "1.0.188" 372serde_json = "1.0.80" 373glob = "0.3.0" 374libfuzzer-sys = "0.4.8" 375walkdir = "2.3.3" 376cfg-if = "1.0" 377tempfile = "3.1.0" 378filecheck = "0.5.0" 379libc = { version = "0.2.112", default-features = true } 380file-per-thread-logger = "0.2.0" 381tokio = { version = "1.30.0", features = [ "rt", "time" ] } 382hyper = "1.0.1" 383http = "1.0.0" 384http-body = "1.0.0" 385http-body-util = "0.1.0" 386bytes = { version = "1.4", default-features = false } 387futures = { version = "0.3.27", default-features = false } 388indexmap = { version = "2.0.0", default-features = false } 389syn = "2.0.25" 390quote = "1.0" 391proc-macro2 = "1.0" 392test-log = { version = "0.2", default-features = false, features = ["trace"] } 393tracing-subscriber = { version = "0.3.1", default-features = false, features = ['fmt', 'env-filter', 'ansi', 'tracing-log'] } 394url = "2.3.1" 395postcard = { version = "1.0.8", default-features = false, features = ['alloc'] } 396criterion = { version = "0.5.0", default-features = false, features = ["html_reports", "rayon"] } 397rustc-hash = "2.0.0" 398libtest-mimic = "0.8.1" 399semver = { version = "1.0.17", default-features = false } 400ittapi = "0.4.0" 401libm = "0.2.7" 402tokio-rustls = "0.25.0" 403rustls = "0.22.0" 404tokio-native-tls = "0.3.1" 405native-tls = "0.2.11" 406webpki-roots = "0.26.0" 407itertools = "0.14.0" 408base64 = "0.22.1" 409termcolor = "1.4.1" 410 411# ============================================================================= 412# 413# Features for the Wasmtime CLI executable 414# 415# 416# Note that many of these features are inherited from Wasmtime itself or 417# otherwise configure the `wasmtime` crate's execution. Features are provided as 418# compile-time switches to disable functionality primarily if one is interested 419# in configuring binary size and or exploring the binary size implications of 420# various features. Most features are enabled by default but most embeddings 421# likely won't need all features. 422# 423# When adding or removing a feature, make sure to keep the C API in sync by 424# modifying locations marked WASMTIME_FEATURE_LIST 425[features] 426default = [ 427 # All subcommands are included by default. 428 "run", 429 "compile", 430 "explore", 431 "serve", 432 "wast", 433 "config", 434 "completion", 435 "objdump", 436 437 # On-by-default WASI features 438 "wasi-nn", 439 "wasi-threads", 440 "wasi-http", 441 "wasi-config", 442 "wasi-keyvalue", 443 "wasi-tls", 444 445 # Most features of Wasmtime are enabled by default. 446 "wat", 447 "parallel-compilation", 448 "pooling-allocator", 449 "cache", 450 "logging", 451 "demangle", 452 "cranelift", 453 "profiling", 454 "coredump", 455 "addr2line", 456 "debug-builtins", 457 "component-model", 458 "threads", 459 "gc", 460 "gc-drc", 461 "gc-null", 462 "stack-switching", 463 "winch", 464 "pulley", 465 466 # Enable some nice features of clap by default, but they come at a binary size 467 # cost, so allow disabling this through disabling of our own `default` 468 # feature. 469 "clap/default", 470 "clap/wrap_help", 471] 472 473# ======================================== 474# Off-by-default features 475# 476# These features are off-by-default but may optionally be enabled. 477all-arch = ["wasmtime/all-arch"] 478winch = ["wasmtime/winch"] 479wmemcheck = ["wasmtime/wmemcheck"] 480trace-log = ["wasmtime/trace-log"] 481memory-protection-keys = ["wasmtime-cli-flags/memory-protection-keys"] 482profile-pulley = ["wasmtime/profile-pulley"] 483component-model-async = ["wasmtime-cli-flags/component-model-async", "component-model"] 484 485# This feature, when enabled, will statically compile out all logging statements 486# throughout Wasmtime and its dependencies. 487disable-logging = ["log/max_level_off", "tracing/max_level_off"] 488 489# ======================================== 490# On-by-default features 491# 492# These features are all included in the `default` set above and this is 493# the internal mapping for what they enable in Wasmtime itself. 494wasi-nn = ["dep:wasmtime-wasi-nn"] 495wasi-tls = ["dep:wasmtime-wasi-tls"] 496wasi-threads = ["dep:wasmtime-wasi-threads", "threads"] 497wasi-http = ["component-model", "dep:wasmtime-wasi-http", "dep:tokio", "dep:hyper"] 498wasi-config = ["dep:wasmtime-wasi-config"] 499wasi-keyvalue = ["dep:wasmtime-wasi-keyvalue"] 500pooling-allocator = ["wasmtime/pooling-allocator", "wasmtime-cli-flags/pooling-allocator"] 501component-model = [ 502 "wasmtime/component-model", 503 "wasmtime-wast?/component-model", 504 "wasmtime-cli-flags/component-model" 505] 506wat = ["dep:wat", "wasmtime/wat"] 507cache = ["dep:wasmtime-cache", "wasmtime-cli-flags/cache"] 508parallel-compilation = ["wasmtime-cli-flags/parallel-compilation"] 509logging = ["wasmtime-cli-flags/logging"] 510demangle = ["wasmtime/demangle"] 511cranelift = ["wasmtime-cli-flags/cranelift", "dep:wasmtime-cranelift"] 512profiling = ["wasmtime/profiling", "wasmtime/call-hook"] 513coredump = ["wasmtime-cli-flags/coredump"] 514addr2line = ["wasmtime/addr2line"] 515debug-builtins = ["wasmtime/debug-builtins"] 516threads = ["wasmtime-cli-flags/threads"] 517gc = ["wasmtime-cli-flags/gc", "wasmtime/gc"] 518gc-drc = ["gc", "wasmtime/gc-drc", "wasmtime-cli-flags/gc-drc"] 519gc-null = ["gc", "wasmtime/gc-null", "wasmtime-cli-flags/gc-null"] 520pulley = ["wasmtime-cli-flags/pulley"] 521stack-switching = ["wasmtime/stack-switching", "wasmtime-cli-flags/stack-switching"] 522 523# CLI subcommands for the `wasmtime` executable. See `wasmtime $cmd --help` 524# for more information on each subcommand. 525serve = [ 526 "wasi-http", 527 "component-model", 528 "dep:http-body-util", 529 "dep:http", 530 "wasmtime-cli-flags/async", 531] 532explore = ["dep:wasmtime-explorer", "dep:tempfile"] 533wast = ["dep:wasmtime-wast"] 534config = ["cache"] 535compile = ["cranelift"] 536run = [ 537 "dep:wasmtime-wasi", 538 "wasmtime/runtime", 539 "wasmtime/wave", 540 "dep:listenfd", 541 "dep:wasi-common", 542 "dep:tokio", 543 "wasmtime-cli-flags/async", 544] 545completion = ["dep:clap_complete"] 546objdump = [ 547 'dep:object', 548 'dep:cranelift-codegen', 549 'dep:capstone', 550 'dep:termcolor', 551 'dep:gimli', 552 'pulley-interpreter/disas', 553] 554 555[[test]] 556name = "disas" 557harness = false 558 559[[test]] 560name = "wast" 561harness = false 562 563[[example]] 564name = "tokio" 565required-features = ["wasi-common/tokio"] 566 567[[bench]] 568name = "instantiation" 569harness = false 570 571[[bench]] 572name = "thread_eager_init" 573harness = false 574 575[[bench]] 576name = "trap" 577harness = false 578 579[[bench]] 580name = "call" 581harness = false 582 583[[bench]] 584name = "wasi" 585harness = false 586 587[profile.release.package.wasi-preview1-component-adapter] 588opt-level = 's' 589strip = 'debuginfo' 590 591[profile.dev.package.wasi-preview1-component-adapter] 592# Make dev look like a release build since this adapter module won't work with 593# a debug build that uses data segments and such. 594incremental = false 595opt-level = 's' 596# Omit assertions, which include failure messages which require string 597# initializers. 598debug-assertions = false 599# Omit integer overflow checks, which include failure messages which require 600# string initializers. 601overflow-checks = false 602 603# Same as `wasi-preview1-component-adapter` above 604[profile.dev.package.wit-bindgen] 605incremental = false 606debug-assertions = false 607overflow-checks = false 608opt-level = 's' 609 610[profile.profiling] 611inherits = "bench" 612debug = "line-tables-only" 613 614[profile.fastest-runtime] 615inherits = "release" 616codegen-units = 1 617lto = true 618