[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"] # Whether to enable a module cache. module-cache = ["dep:schnellru", "polkavm-common/blake3"] # Whether to enable a cross-platform, generic sandbox for the recompiler backend. # # This is required on non-Linux systems to use the recompiler. On Linux it is unnecessary. # This sandbox is EXPERIMENTAL and is not meant for production use. generic-sandbox = [] # Internal feature for testing. DO NOT USE. export-internals-for-testing = []