[package]
name = "wasmtime-runtime"
version.workspace = true
authors.workspace = true
description = "Runtime library support for Wasmtime"
documentation = "https://docs.rs/wasmtime-runtime"
license = "Apache-2.0 WITH LLVM-exception"
categories = ["wasm"]
keywords = ["webassembly", "wasm"]
repository = "https://github.com/bytecodealliance/wasmtime"
edition.workspace = true

[dependencies]
wasmtime-wmemcheck = { workspace = true }
wasmtime-asm-macros = { workspace = true }
wasmtime-environ = { workspace = true }
wasmtime-fiber = { workspace = true, optional = true }
wasmtime-jit-debug = { workspace = true, features = ["gdb_jit_int"] }
wasmtime-versioned-export-macros = { workspace = true }
libc = { version = "0.2.112", default-features = false }
log = { workspace = true }
memoffset = "0.9.0"
indexmap = { workspace = true }
cfg-if = { workspace = true }
rand = { version = "0.8.3", features = ['small_rng'] }
anyhow = { workspace = true }
memfd = "0.6.2"
paste = "1.0.3"
encoding_rs = { version = "0.8.31", optional = true }
sptr = "0.3.2"
wasm-encoder = { workspace = true }

[target.'cfg(target_os = "macos")'.dependencies]
mach = "0.3.2"

[target.'cfg(unix)'.dependencies]
rustix = { workspace = true, features = ["mm"] }

[target.'cfg(target_os = "windows")'.dependencies.windows-sys]
workspace = true
features = [
  "Win32_Foundation",
  "Win32_System_Kernel",
  "Win32_System_Memory",
  "Win32_System_Diagnostics_Debug",
  "Win32_System_SystemInformation",
  "Win32_Storage_FileSystem",
  "Win32_Security",
]

[dev-dependencies]
once_cell = { workspace = true }
proptest = "1.0.0"

[build-dependencies]
cc = "1.0"
wasmtime-versioned-export-macros = { workspace = true }

[features]
async = ["wasmtime-fiber"]

# Enables support for the pooling instance allocator
pooling-allocator = []

component-model = ["wasmtime-environ/component-model", "dep:encoding_rs"]

wmemcheck = []
