[workspace]
members = ["cargo:."]

# Config for 'dist'
[dist]
# The preferred dist version to use in CI (Cargo.toml SemVer syntax)
cargo-dist-version = "0.31.0"
# CI backends to support
ci = "github"
# The installers to generate for each app
installers = ["shell"]
# Skip checking whether the specified configuration files are up to date.
# The release.yml is hand-edited to add a `test-unit` gate (v1.4.5) that
# blocks the GitHub Release on failing unit tests; without this allow-dirty
# entry, cargo-dist refuses to run with
# "release.yml has out of date contents and needs to be regenerated".
# See .github/workflows/release.yml for the HAND-WRITTEN ADDITION banner.
# The "ci" magic string means "don't check/regenerate ci scripts (release.yml)".
allow-dirty = ["ci"]
# Target platforms to build apps for (Rust target-triple syntax)
# Note: x86_64-apple-darwin removed - ort crate doesn't provide prebuilt binaries for legacy Intel Macs
# Note: x86_64-pc-windows-msvc removed - ort crate has MSVC linker compatibility issues
# Note: aarch64-unknown-linux-gnu removed - complex C++ linker dependencies causing cross-compilation errors
targets = [
    "aarch64-apple-darwin",
    "x86_64-unknown-linux-gnu",
]

# Custom runners for Linux to support glibc 2.38+ required by ort (ONNX Runtime)
# Note: ubuntu-24.04 provides glibc 2.39 - binaries require Ubuntu 24.04+, Debian 13+, or equivalent
[dist.github-custom-runners]
x86_64-unknown-linux-gnu = "ubuntu-24.04"
