mirror of
https://github.com/lahfir/agent-desktop.git
synced 2026-08-07 14:40:05 +00:00
Workspace Cargo.toml gains [profile.release-ffi] inheriting from release with panic = "unwind". Cargo rejects per-package `panic` overrides (error: panic may not be specified in a package profile — verified experimentally), so a dedicated profile is the Cargo-supported path to build the cdylib with unwinding while the CLI stays on panic = "abort". crates/ffi/Cargo.toml gains: - publish = false — prevents accidental `cargo publish` of the cdylib crate until the distribution plan intentionally removes the guard. - libc = "0.2" under the macos target — Unit 11 uses pthread_main_np(). Both profiles coexist: - target/release/libagent_desktop_ffi.dylib 442 KB (panic=abort) - target/release-ffi/libagent_desktop_ffi.dylib 464 KB (panic=unwind) Size delta for unwind metadata (~22 KB, under the 500 KB risk budget). Prerequisite for Unit 1's panic-boundary macro.
31 lines
860 B
TOML
31 lines
860 B
TOML
[workspace]
|
|
members = ["crates/core", "crates/macos", "crates/windows", "crates/linux", "crates/ffi", "src"]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
edition = "2021"
|
|
rust-version = "1.78"
|
|
license = "Apache-2.0"
|
|
version = "0.1.11" # x-release-please-version
|
|
|
|
[workspace.dependencies]
|
|
clap = { version = "4.5", features = ["derive"] }
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
thiserror = "2.0"
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
base64 = "0.22"
|
|
rustc-hash = "2.1"
|
|
agent-desktop-core = { path = "crates/core" }
|
|
|
|
[profile.release]
|
|
opt-level = "z"
|
|
lto = true
|
|
codegen-units = 1
|
|
strip = true
|
|
panic = "abort"
|
|
|
|
[profile.release-ffi]
|
|
inherits = "release"
|
|
panic = "unwind"
|