synth-cli 0.7.0

CLI for Synth, the WebAssembly-to-ARM Cortex-M AOT compiler
[package]
name = "synth-cli"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
keywords.workspace = true
categories.workspace = true
description = "CLI for Synth, the WebAssembly-to-ARM Cortex-M AOT compiler"

[[bin]]
name = "synth"
path = "src/main.rs"

[features]
default = ["riscv"]
awsm = ["synth-backend-awsm"]
wasker = ["synth-backend-wasker"]
riscv = ["synth-backend-riscv"]
verify = ["synth-verify"]
# Uncomment when loom crate is available:
# loom = ["dep:loom-opt"]

[dependencies]
# Path deps carry `version` so `cargo publish` rewrites them to the
# crates.io coordinate. Bumping the workspace version requires
# updating these in lockstep — see docs/release-process.md.
synth-core = { path = "../synth-core", version = "0.7.0" }
synth-frontend = { path = "../synth-frontend", version = "0.7.0" }
synth-synthesis = { path = "../synth-synthesis", version = "0.7.0" }
synth-backend = { path = "../synth-backend", version = "0.7.0" }

# Optional external backends
synth-backend-awsm = { path = "../synth-backend-awsm", version = "0.7.0", optional = true }
synth-backend-wasker = { path = "../synth-backend-wasker", version = "0.7.0", optional = true }
synth-backend-riscv = { path = "../synth-backend-riscv", version = "0.7.0", optional = true }

# Optional verification (requires z3)
synth-verify = { path = "../synth-verify", version = "0.7.0", optional = true, features = ["z3-solver", "arm"] }

# Optional PulseEngine WASM optimizer
# Uncomment when loom crate is available:
# loom-opt = { workspace = true, optional = true }

clap.workspace = true
anyhow.workspace = true
tracing.workspace = true
tracing-subscriber.workspace = true
serde_json.workspace = true
wat.workspace = true
wast.workspace = true