[package] name = "wasmtime" version = "0.37.0" authors = ["The Wasmtime Project Developers"] description = "High-level API to expose the Wasmtime runtime" documentation = "https://docs.rs/wasmtime" license = "Apache-2.0 WITH LLVM-exception" repository = "https://github.com/bytecodealliance/wasmtime" readme = "README.md" edition = "2021" [package.metadata.docs.rs] rustdoc-args = ["--cfg", "nightlydoc"] [dependencies] wasmtime-runtime = { path = "../runtime", version = "=0.37.0" } wasmtime-environ = { path = "../environ", version = "=0.37.0" } wasmtime-jit = { path = "../jit", version = "=0.37.0" } wasmtime-cache = { path = "../cache", version = "=0.37.0", optional = true } wasmtime-fiber = { path = "../fiber", version = "=0.37.0", optional = true } wasmtime-cranelift = { path = "../cranelift", version = "=0.37.0", optional = true } target-lexicon = { version = "0.12.0", default-features = false } wasmparser = "0.84.0" anyhow = "1.0.19" region = "2.2.0" libc = "0.2" cfg-if = "1.0" backtrace = { version = "0.3.61", optional = true } log = "0.4.8" wat = { version = "1.0.42", optional = true } serde = { version = "1.0.94", features = ["derive"] } bincode = "1.2.1" indexmap = "1.6" paste = "1.0.3" psm = "0.1.11" lazy_static = "1.4" rayon = { version = "1.0", optional = true } object = { version = "0.27", default-features = false, features = ['read_core', 'elf'] } async-trait = { version = "0.1.51", optional = true } once_cell = "1.9" [target.'cfg(target_os = "windows")'.dependencies] winapi = "0.3.7" [dev-dependencies] tempfile = "3.0" wasmtime-wasi = { path = "../wasi" } wasi-cap-std-sync = { path = "../wasi-common/cap-std-sync" } [badges] maintenance = { status = "actively-developed" } [features] default = [ 'async', 'cache', 'wat', 'jitdump', 'parallel-compilation', 'cranelift', 'pooling-allocator', 'memory-init-cow', 'vtune', 'wasm-backtrace', ] # An on-by-default feature enabling runtime compilation of WebAssembly modules # with the Cranelift compiler. Cranelift is the default compilation backend of # Wasmtime. If disabled then WebAssembly modules can only be created from # precompiled WebAssembly modules. cranelift = ["wasmtime-cranelift"] # Enables support for the `perf` jitdump profiler jitdump = ["wasmtime-jit/jitdump"] # Enables support for the `VTune` profiler vtune = ["wasmtime-jit/vtune"] # Enables parallel compilation of WebAssembly code. parallel-compilation = ["rayon"] # Enables support for automatic cache configuration to be enabled in `Config`. cache = ["wasmtime-cache"] # Enables support for "async stores" as well as defining host functions as # `async fn` and calling functions asynchronously. async = ["wasmtime-fiber", "wasmtime-runtime/async", "async-trait"] # Enables support for the pooling instance allocation strategy pooling-allocator = ["wasmtime-runtime/pooling-allocator"] # Enables support for all architectures in Cranelift, allowing # cross-compilation using the `wasmtime` crate's API, notably the # `Engine::precompile_module` function. all-arch = ["wasmtime-cranelift/all-arch"] # Enables trap handling using POSIX signals instead of Mach exceptions on MacOS. # It is useful for applications that do not bind their own exception ports and # need portable signal handling. posix-signals-on-macos = ["wasmtime-runtime/posix-signals-on-macos"] # Enables, on supported platforms, the usage of copy-on-write initialization of # compatible linear memories. For more information see the documentation of # `Config::memory_init_cow`. # # Enabling this feature has no effect on unsupported platforms. memory-init-cow = ["wasmtime-runtime/memory-init-cow"] # Enables runtime support necessary to capture backtraces of WebAssembly code # that is running. # # This is enabled by default. wasm-backtrace = ["wasmtime-runtime/wasm-backtrace", "backtrace"]