[package]
name = "wasmer-compiler"
description = "Base compiler abstraction for Wasmer WebAssembly runtime"
categories = ["wasm", "no-std"]
keywords = ["wasm", "webassembly", "compiler"]
readme = "README.md"
authors.workspace = true
edition.workspace = true
homepage.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
version.workspace = true
[dependencies]
wasmer-types = { path = "../types", version = "=4.3.5", default-features = false }
wasmer-object = { path = "../object", version = "=4.3.5", optional = true }
wasmparser = { workspace = true, optional = true, default-features = false }
enumset.workspace = true
hashbrown = { version = "0.11", optional = true }
serde = { version = "1.0", features = ["derive"], optional = true }
thiserror = "1.0"
serde_bytes = { version = "0.11", optional = true }
smallvec = "1.6"
xxhash-rust = { version = "0.8.10", features = ["xxh64"] }
backtrace = "0.3"
memmap2 = "0.5"
more-asserts = "0.2"
lazy_static = "1.4"
cfg-if = "1.0"
leb128 = "0.2"
enum-iterator = "0.7.0"
bytes = "1.0"
self_cell = "1.0"
rkyv = { workspace = true }
shared-buffer = { workspace = true }
libc.workspace = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
wasmer-vm = { path = "../vm", version = "=4.3.5" }
region = { version = "3.0" }
[target.'cfg(target_os = "windows")'.dependencies]
winapi = { version = "0.3", features = ["winnt", "impl-default"] }
[features]
default = ["std"]
translator = ["wasmparser"]
compiler = ["translator"]
wasmer-artifact-load = []
wasmer-artifact-create = []
static-artifact-load = []
static-artifact-create = ["wasmer-object"]
std = ["wasmer-types/std"]
core = ["hashbrown", "wasmer-types/core"]
enable-serde = ["serde", "serde_bytes", "wasmer-types/enable-serde"]
[badges]
maintenance = { status = "experimental" }
[package.metadata.docs.rs]
features = [
"static-artifact-create",
"static-artifact-load",
"wasmer-artifact-create",
"wasmer-artifact-load",
]
rustc-args = ["--cfg", "docsrs"]