Cargo Features

[dependencies]
wasmtime-cli = { version = "45.0.1", default-features = false, features = ["all-arch", "winch", "wmemcheck", "trace-log", "memory-protection-keys", "profile-pulley", "component-model-async", "rr", "gdbstub", "disable-logging", "wasi-nn", "wasi-tls", "wasi-threads", "wasi-http", "wasi-config", "wasi-keyvalue", "pooling-allocator", "backtrace", "component-model", "wat", "cache", "parallel-compilation", "logging", "demangle", "cranelift", "profiling", "coredump", "addr2line", "debug-builtins", "threads", "gc", "gc-drc", "gc-null", "gc-copying", "pulley", "stack-switching", "debug", "serve", "explore", "wast", "config", "compile", "run", "completion", "objdump", "hot-blocks", "wizer"] }

=============================================================================

Features for the Wasmtime CLI executable

Note that many of these features are inherited from Wasmtime itself or otherwise configure the wasmtime crate's execution. Features are provided as compile-time switches to disable functionality primarily if one is interested in configuring binary size and or exploring the binary size implications of various features. Most features are enabled by default but most embeddings likely won't need all features.

When adding or removing a feature, make sure to keep the C API in sync by modifying locations marked WASMTIME_FEATURE_LIST

default = addr2line, backtrace, cache, compile, completion, component-model, component-model-async, config, coredump, cranelift, debug, debug-builtins, demangle, explore, gc, gc-copying, gc-drc, gc-null, hot-blocks, logging, objdump, parallel-compilation, pooling-allocator, profiling, pulley, run, serve, stack-switching, threads, wasi-config, wasi-http, wasi-keyvalue, wasi-nn, wasi-threads, wasi-tls, wast, wat, winch, wizer

These default features are set whenever wasmtime-cli is added without default-features = false somewhere in the dependency tree.

Enables wrap_help of clap

all-arch

========================================
Off-by-default features

These features are off-by-default but may optionally be enabled.

Enables all-arch of wasmtime

depend again on wasmtime to activate its default features for tests

winch default

Enables winch of wasmtime

wmemcheck

Enables wmemcheck of wasmtime

trace-log

Enables trace-log of wasmtime

memory-protection-keys

Enables memory-protection-keys of wasmtime-cli-flags

profile-pulley

Enables profile-pulley of wasmtime

component-model-async default = component-model

Enables futures, component-model-async of wasmtime-cli-flags, p3 of optional wasmtime-wasi, optional wasmtime-wasi-http, and optional wasmtime-wasi-tls

rr = component-model, run

Enables rr of wasmtime and wasmtime-cli-flags

gdbstub = debug

Enabled in release builds. We cannot enable the built-in gdbstub component in the default build because the published-to-crates.io crates cannot build the artifact (a limitation caused by lack of artifact dependencies).

Enables wasmtime-internal-gdbstub-component-artifact

Affects common::RunCommon.gdbstub

disable-logging

This feature, when enabled, will statically compile out all logging statements throughout Wasmtime and its dependencies.

Enables max_level_off of log and tracing

wasi-nn default

======================================== On-by-default features

These features are all included in the default set above and this is the internal mapping for what they enable in Wasmtime itself.

Enables wasmtime-wasi-nn

wasi-tls default

Enables wasmtime-wasi-tls

wasi-threads default = threads

Enables wasmtime-wasi-threads

wasi-http default serve = component-model

Enables hyper and tokio, default-send-request of wasmtime-wasi-http

Affects common::HttpHooks

wasi-config default

Enables wasmtime-wasi-config

wasi-keyvalue default

Enables wasmtime-wasi-keyvalue

pooling-allocator default

Enables pooling-allocator of wasmtime and wasmtime-cli-flags

backtrace default

Enables backtrace of wasmtime

component-model default component-model-async debug rr? serve wasi-http

Enables component-model of wasmtime, wasmtime-cli-flags, optional wasmtime-wast, and optional wasmtime-wizer

wat default

Enables wat, wat of wasmtime

cache default config

Enables wasmtime-internal-cache, cache of wasmtime-cli-flags

parallel-compilation default

Enables parallel-compilation of wasmtime-cli-flags

logging default

Enables logging of wasmtime-cli-flags

demangle default

Enables demangle of wasmtime

cranelift default compile

Enables wasmtime-internal-cranelift, cranelift of wasmtime-cli-flags

profiling default

Enables call-hook and profiling of wasmtime

coredump default

Enables coredump of wasmtime-cli-flags

addr2line default

Enables addr2line of wasmtime

debug-builtins default

Enables debug-builtins of wasmtime

threads default wasi-threads

Enables threads of wasmtime-cli-flags

gc default gc-copying gc-drc gc-null

Enables gc of wasmtime and wasmtime-cli-flags

gc-drc default = gc

Enables gc-drc of wasmtime and wasmtime-cli-flags

gc-null default = gc

Enables gc-null of wasmtime and wasmtime-cli-flags

gc-copying default = gc

Enables gc-copying of wasmtime and wasmtime-cli-flags

pulley default

Enables pulley of wasmtime-cli-flags

stack-switching default

Enables stack-switching of wasmtime and wasmtime-cli-flags

debug default gdbstub? = component-model

Enables debug of wasmtime and wasmtime-cli-flags

serve default = component-model, wasi-http

CLI subcommands for the wasmtime executable. See wasmtime $cmd --help for more information on each subcommand.

Enables http and http-body-util, async of wasmtime-cli-flags, component-model-async and p2 of wasmtime-wasi-http

explore default

Enables tempfile and wasmtime-internal-explorer

wast default

Enables wasmtime-wast

config default = cache
compile default = cranelift
run default rr?

Enables wasmtime-internal-debugger and wasmtime-wasi, listenfd, tokio, and wasi-common, runtime and wave of wasmtime, async of wasmtime-cli-flags, p2 of optional wasmtime-wasi-http

completion default

Enables clap_complete

Affects wasmtime-cli::CompletionCommand

objdump default

Enables termcolor, capstone ^0.13.0, cranelift-codegen, gimli, and object, disas of pulley-interpreter

hot-blocks default

Enables capstone ^0.13.0, tempfile, and wasmprinter ^0.248.0

wizer default = wasmtime-wizer

Enables wasmtime-wasi, tokio and wasi-common, wave of wasmtime

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

wasmtime-wizer wizer
pulley-interpreter objdump