[package] name = "risc0-circuit-rv32im" description = "RISC Zero circuit for rv32im" version = { workspace = true } edition = { workspace = true } license = { workspace = true } homepage = { workspace = true } repository = { workspace = true } [dependencies] anyhow = { version = "1.0", default-features = false } risc0-binfmt = { workspace = true } risc0-core = { workspace = true } risc0-zkp = { workspace = true } risc0-zkvm-platform = { workspace = true } serde = { version = "1.0", default-features = false, features = [ "derive", "alloc", ] } tracing = { version = "0.1", default-features = false, features = [ "attributes", ] } [target.'cfg(any(target_os="macos", target_os="ios"))'.dependencies] metal = { workspace = true } [target.'cfg(not(target_os = "zkvm"))'.dependencies] bytemuck = { version = "1.13", optional = true } cfg-if = { version = "1.0", optional = true } crossbeam = { version = "0.8", optional = true } crypto-bigint = { version = "0.5", default-features = false, optional = true } cust = { version = "0.3", optional = true } derive-debug = { version = "0.1", optional = true } lazy-regex = { version = "3.2", optional = true } rand = { version = "0.8", optional = true } rayon = { version = "1.5", optional = true } risc0-circuit-rv32im-sys = { workspace = true, optional = true } risc0-sys = { workspace = true, optional = true } sha2 = { version = "0.10", default-features = false, optional = true } [dev-dependencies] test-log = { version = "0.2", default-features = false, features = ["trace"] } [features] cuda = [ "dep:cust", "prove", "risc0-circuit-rv32im-sys/cuda", "risc0-sys?/cuda", "risc0-zkp/cuda", "std", ] default = ["prove"] metal = ["prove"] prove = [ "dep:bytemuck", "dep:cfg-if", "dep:crossbeam", "dep:crypto-bigint", "dep:derive-debug", "dep:lazy-regex", "dep:rand", "dep:rayon", "dep:risc0-sys", "dep:sha2", "risc0-core/perf", "risc0-zkp/prove", "risc0-circuit-rv32im-sys", "std", ] std = ["risc0-zkp/std", "serde/std"]