# Copyright 2024 RustFS Team # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # RustFS Cargo configuration # NOTE: `--cfg tokio_unstable` is deliberately NOT set here. # # It used to be a global `[build] rustflags` entry so that the (default-off) # `dial9` telemetry feature could compile. That made every build depend on # Tokio's unstable, non-semver API, and it broke silently whenever a caller # exported their own RUSTFLAGS — an environment RUSTFLAGS replaces the value # from this file rather than appending to it. # # The flag is now scoped to telemetry builds, which opt in explicitly: # # make build-profiling # RUSTFLAGS="--cfg tokio_unstable" cargo build --features dial9 # # `crates/obs/build.rs` fails the compile if the `dial9` feature is on without # the flag, so the two can no longer drift apart unnoticed. # # For CPU profiling, add `-C force-frame-pointers=yes` to that RUSTFLAGS value.