[package]
name = "polkavm"
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
rust-version.workspace = true
repository.workspace = true
readme = "../../README.md"
documentation = "https://docs.rs/polkavm"
description = "A fast and secure RISC-V based virtual machine"
[dependencies]
log = { workspace = true }
polkavm-assembler = { workspace = true, features = ["alloc"] }
polkavm-common = { workspace = true, features = ["alloc", "logging", "regmap", "unique-id"] }
schnellru = { workspace = true, optional = true }
[target.'cfg(all(not(miri), target_arch = "x86_64", target_os = "linux"))'.dependencies]
polkavm-linux-raw = { workspace = true, features = ["std"] }
[target.'cfg(all(not(miri), target_arch = "x86_64", any(target_os = "macos", target_os = "freebsd")))'.dependencies]
libc = { workspace = true }
[dev-dependencies]
env_logger = { workspace = true }
polkavm-common = { workspace = true, features = ["export-internals-for-testing"] }
polkavm-linker = { workspace = true }
image = { workspace = true, features = ["tga"] }
ruzstd = { workspace = true }
paste = { workspace = true }
[lints]
workspace = true
[features]
default = ["std"]
std = ["ruzstd/std"]
module-cache = ["dep:schnellru", "polkavm-common/blake3"]
generic-sandbox = []
export-internals-for-testing = []