Files
veilid/Cargo.toml
T
2026-09-07 17:59:34 -04:00

243 lines
5.4 KiB
TOML

[workspace]
members = [
"veilid-tools",
"veilid-core-optimized",
"veilid-core",
"veilid-core/examples/basic",
"veilid-core/examples/private_route",
"veilid-server",
"veilid-cli",
"veilid-flutter/rust",
"veilid-wasm",
"veilid-remote-api",
]
resolver = "2"
[workspace.package]
repository = "https://gitlab.com/veilid/veilid"
authors = ["Veilid Team <contact@veilid.com>"]
license = "MPL-2.0"
edition = "2021"
rust-version = "1.89.0"
# [patch.crates-io]
# For local development
# keyring-manager = { path = "../keyring-manager" }
# keyvaluedb = { path = "../keyvaluedb/keyvaluedb" }
# keyvaluedb-memorydb = { path = "../keyvaluedb/keyvaluedb-memorydb" }
# keyvaluedb-sqlite = { path = "../keyvaluedb/keyvaluedb-sqlite" }
# keyvaluedb-web = { path = "../keyvaluedb/keyvaluedb-web" }
# Speed by default: every native binary (veilid-server, veilid-flutter) ships this.
[profile.release]
opt-level = 3
lto = true
panic = "abort"
codegen-units = 1
# The wasm targets build with `--profile size`: what a browser downloads. Crypto and the
# hot path stay at full opt. A package override reaches only that package's own code:
# generic and #[inline] code is compiled where it is instantiated, which is why
# veilid-core-optimized exists and is listed too.
[profile.size]
inherits = "release"
opt-level = "z"
[profile.size.package.veilid-core-optimized]
opt-level = 3
[profile.size.package.curve25519-dalek]
opt-level = 3
[profile.size.package.ed25519-dalek]
opt-level = 3
[profile.size.package.x25519-dalek]
opt-level = 3
[profile.size.package.chacha20poly1305]
opt-level = 3
[profile.size.package.chacha20]
opt-level = 3
[profile.size.package.poly1305]
opt-level = 3
[profile.size.package.blake3]
opt-level = 3
[profile.size.package.blake2]
opt-level = 3
[profile.size.package.sha2]
opt-level = 3
[profile.size.package.argon2]
opt-level = 3
[profile.size.package.cipher]
opt-level = 3
[profile.size.package.digest]
opt-level = 3
[profile.size.package.crypto-common]
opt-level = 3
[profile.size.package.generic-array]
opt-level = 3
[profile.size.package.hpke]
opt-level = 3
[profile.size.package.hkdf]
opt-level = 3
[profile.size.package.hmac]
opt-level = 3
[profile.dev.package.backtrace]
opt-level = 3
[profile.dev.package.veilid-core-optimized]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.argon2]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.ed25519-dalek]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.x25519-dalek]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.curve25519-dalek]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.chacha20poly1305]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.blake3]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.chacha20]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.sha2]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.poly1305]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.cipher]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.crypto-common]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.generic-array]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.capnp]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.data-encoding]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.lz4_flex]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.signature]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.digest]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.hpke]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.hkdf]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.hmac]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.inout]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.aead]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.universal-hash]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.typenum]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.subtle]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.zeroize]
opt-level = 3
overflow-checks = false
debug-assertions = false
[profile.dev.package.block-buffer]
opt-level = 3
overflow-checks = false
debug-assertions = false
[workspace.lints.clippy]
all = { level = "deny", priority = -1 }
must_use_candidate = "deny"
large_futures = "deny"
large_stack_arrays = "deny"
large_stack_frames = "deny"
large_types_passed_by_value = "deny"
unused_async = "deny"
ptr_cast_constness = "deny"
comparison_chain = "allow"
upper_case_acronyms = "allow"
needless_range_loop = "allow"
mutable_key_type = "allow" # Until this is merged (NodeRef is safe to hash/eq): https://github.com/rust-lang/rust-clippy/pull/15844
[workspace.lints.rust]
unused_must_use = "deny"
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tokio_unstable)'] }