openvm-platform 2.0.1

OpenVM Rust platform definitions.
[package]
name = "openvm-platform"
description = "OpenVM Rust platform definitions."
version.workspace = true
authors.workspace = true
edition.workspace = true
rust-version.workspace = true
homepage.workspace = true
repository.workspace = true
license.workspace = true

[dependencies]
openvm-custom-insn.workspace = true
openvm-rv32im-guest.workspace = true

# 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]
critical-section = { version = "1.1.2", optional = true }
embedded-alloc = { version = "0.6.0", features = [
    "allocator_api",
], optional = true }
libm = { version = "0.2", optional = true }

[package.metadata.docs.rs]
rustdoc-args = ["--cfg", "docsrs"]
features = ["rust-runtime", "panic-handler", "export-libm", "export-pal-abi"]

[features]
default = []
entrypoint = []
export-libm = ["dep:libm"]
heap-embedded-alloc = [
    "dep:critical-section",
    "dep:embedded-alloc",
    "rust-runtime",
]
panic-handler = []
# Build a rust runtime
rust-runtime = ["export-libm"]
std = []