[package] name = "risc0-zkvm-platform" description = "RISC Zero zero-knowledge VM" version = { workspace = true } edition = { workspace = true } license = { workspace = true } homepage = { workspace = true } repository = { workspace = true } [dependencies] stability = "0.2" # This crate should have as few dependencies as possible so it can be # used as many places as possible to share the platform definitions. [target.'cfg(target_os = "zkvm")'.dependencies] bytemuck = { version = "1.13", optional = true } critical-section = { version = "1.1.2", optional = true } embedded-alloc = { version = "0.5.1", features = [ "allocator_api", ], optional = true } getrandom = { version = "0.2", features = ["custom"], optional = true } libm = { version = "0.2", optional = true } [package.metadata.docs.rs] rustdoc-args = ["--cfg", "docsrs"] features = [ "rust-runtime", "panic-handler", "entrypoint", "export-syscalls", "export-libm", "export-getrandom", "getrandom", "unstable", ] [features] default = [] entrypoint = [] # exports a `getrandom` implementation that panics export-getrandom = ["dep:bytemuck", "dep:getrandom"] export-libm = ["dep:libm"] export-syscalls = [] # exports a `getrandom` implementation that uses sys_random getrandom = ["export-getrandom"] heap-embedded-alloc = [ "dep:critical-section", "dep:embedded-alloc", "rust-runtime", ] panic-handler = [] # Build a rust runtime rust-runtime = ["export-libm", "export-syscalls"] # Enable the sys_getenv syscall. sys-getenv = [] # Enable the sys_argc and sys_argv syscalls. sys-args = [] unstable = []