[package]
name = "powdr-riscv"
build = "build.rs"
description = "powdr RISCV frontend"
version = { workspace = true }
edition = { workspace = true }
license = { workspace = true }
homepage = { workspace = true }
repository = { workspace = true }

[features]
default = []

# features below only affects tests
# not sure this is the best approach
plonky3 = ["powdr-pipeline/plonky3"]

[dependencies]
powdr-ast.workspace = true
powdr-isa-utils.workspace = true
powdr-executor.workspace = true
powdr-linker.workspace = true
powdr-number.workspace = true
powdr-parser.workspace = true
powdr-parser-util.workspace = true
powdr-pipeline.workspace = true
powdr-riscv-elf.workspace = true
powdr-riscv-types.workspace = true
powdr-riscv-executor.workspace = true
powdr-syscalls.workspace = true

gimli = "0.31"
goblin = "0.8"
lazy_static = "1.4.0"
itertools = "0.13"
log = "0.4.27"
raki = "0.1.4"
rand = "0.8"
serde_json = "1.0"
static_assertions = "1.1.0"
thiserror = "1.0"

[build-dependencies]
lalrpop = "^0.19"

[dev-dependencies]
powdr-number.workspace = true
powdr-backend.workspace = true

mktemp = "0.5.0"
test-log = "0.2.12"
env_logger = "0.10.0"
hex = "0.4.3"
criterion = { version = "0.4", features = ["html_reports"] }

serde = { version = "1.0", default-features = false, features = [
  "alloc",
  "derive",
  "rc",
] }
serde_cbor = "0.11.2"

[package.metadata.cargo-udeps.ignore]
development = ["env_logger"]

[[bench]]
name = "executor_benchmark"
harness = false

[lints]
workspace = true

[lib]
bench = false # See https://github.com/bheisler/criterion.rs/issues/458
