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