* Preserve bundle compiler flags commit commit is a follow-up to https://github.com/zed-industries/zed/pull/63432 Linux bundling script had custom `RUSTFLAGS` set which eradicated prior config. Moved all flags into `.cargo/bundle-config.toml` instead. * Trim audio features and compress resources commit removes unused `rodio` features and enables resource compression The win from the latter seems not that large, so can revert if needed, but seemed very easy to enable. With compiler wrappers disabled, `cargo clean --target-dir target/binary-size-split-build` and `cargo build --locked -p zed`: Before: 135.6s wall, 1569.8s CPU, zed binary 1175563800 bytes After: 130.5s wall (-3.8%), 1488.7s CPU (-5.2%), zed binary 1171527064 bytes (-0.3%, -4.0MB) With `ZED_BUNDLE=true CXXFLAGS=-stdlib=libc++` and `cargo --config .cargo/bundle-config.toml build --locked --release -p zed -p cli --target aarch64-apple-darwin`: Before: 369.4s wall, 3861.6s CPU, zed binary 381662328 bytes After: 369.4s wall (+0.01%), 3866.1s CPU (+0.1%), zed binary 377836968 bytes (-1.0%, -3.8MB) Release Notes: - N/A
25 lines
1.1 KiB
TOML
25 lines
1.1 KiB
TOML
[target.'cfg(all())']
|
|
# v0 mangling scheme provides more detailed backtraces around closures
|
|
rustflags = ["-C", "symbol-mangling-version=v0", "--cfg", "tokio_unstable"]
|
|
|
|
[alias]
|
|
xtask = "run --package xtask --"
|
|
perf-test = ["test", "--profile", "release-fast", "--lib", "--bins", "--tests", "--all-features", "--config", "target.'cfg(true)'.runner='cargo run -p perf --release'", "--config", "target.'cfg(true)'.rustflags=[\"--cfg\", \"perf_enabled\"]"]
|
|
# Keep similar flags here to share some ccache
|
|
perf-compare = ["run", "--profile", "release-fast", "-p", "perf", "--config", "target.'cfg(true)'.rustflags=[\"--cfg\", \"perf_enabled\"]", "--", "compare"]
|
|
|
|
[target.'cfg(target_os = "windows")']
|
|
rustflags = [
|
|
"--cfg",
|
|
"windows_slim_errors", # This cfg will reduce the size of `windows::core::Error` from 16 bytes to 4 bytes
|
|
"-C",
|
|
"target-feature=+crt-static", # This fixes the linking issue when compiling livekit on Windows
|
|
]
|
|
|
|
# We need lld to link libwebrtc.a successfully on aarch64-linux
|
|
[target.aarch64-unknown-linux-gnu]
|
|
rustflags = ["-C", "link-arg=-fuse-ld=lld"]
|
|
|
|
[env]
|
|
MACOSX_DEPLOYMENT_TARGET = "10.15.7"
|