[package] name = "wasmtime" version = "0.31.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 = "2018" [package.metadata.docs.rs] rustdoc-args = ["--cfg", "nightlydoc"] [dependencies] wasmtime-runtime = { path = "../runtime", version = "=0.31.0" } wasmtime-environ = { path = "../environ", version = "=0.31.0" } wasmtime-jit = { path = "../jit", version = "=0.31.0" } wasmtime-cache = { path = "../cache", version = "=0.31.0", optional = true } wasmtime-fiber = { path = "../fiber", version = "=0.31.0", optional = true } wasmtime-cranelift = { path = "../cranelift", version = "=0.31.0", optional = true } target-lexicon = { version = "0.12.0", default-features = false } wasmparser = "0.81" anyhow = "1.0.19" region = "2.2.0" libc = "0.2" cfg-if = "1.0" backtrace = "0.3.61" rustc-demangle = "0.1.16" cpp_demangle = "0.3.2" log = "0.4.8" wat = { version = "1.0.36", 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 } [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'] # 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 userfaultfd support in the runtime's pooling allocator when building on Linux uffd = ["wasmtime-runtime/uffd"] # 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"]