Cargo Book says:
[target.'cfg(...)']
# Similar for the $triple configuration, but using the `cfg` syntax.
# If several `cfg` and $triple targets are candidates, then the rustflags
# are concatenated. The `cfg` syntax only applies to rustflags, and not to
# linker.
In my Cargo.toml I added a feature:
[features]
featureA = [...]
In my .cargo/config I added:
[target.aarch64-unknown-none]
linker = "ld.lld"
rustflags = [
"-C", "link-arg=-Tlink.ld",
"-C", "panic=abort"
]
[target.'cfg(feature = "featureA")']
rustflags = [
"-C", "target-cpu=cortex-a72",
"-C", "lto=yes"
]
[build]
target = "aarch64-unknown-none"
And I build all as
cargo xbuild --release --features featureA
Rust flags from [target.'cfg(feature = "featureA")']
are not applied. Maybe it's because of [build]
specifying the exact target? How to properly make config and run cargo build
so that rustflags are concatenated from target triple and selected features?