-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Open
Labels
C-bugCategory: This is a bug.Category: This is a bug.O-iosOperating system: iOSOperating system: iOSO-macosOperating system: macOSOperating system: macOSO-tvosOperating system: tvOS (including simulator)Operating system: tvOS (including simulator)T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.
Description
rustc
reads the MACOSX_DEPLOYMENT_TARGET
environment variable (and similar other *_DEPLOYMENT_TARGET
variables), and uses that value to determine (probably amongst other things) certain options for LLVM and the linker.
However, it seems like this environment variable is not tracked as an external dependency, meaning that changing it does not cause rustc
/cargo
to rebuild the target, as is otherwise expected when changing environment variables that modify compilation.
E.g. running the following code:
cargo clean
MACOSX_DEPLOYMENT_TARGET=12.0 cargo build
MACOSX_DEPLOYMENT_TARGET=13.0 cargo build
I expected to see this happen: The project was built twice.
Instead, this happened: The project was built once, and then the cache was used the second time.
Meta
rustc --version --verbose
:
rustc 1.76.0-nightly (2f8d81f9d 2023-11-21)
binary: rustc
commit-hash: 2f8d81f9dbac6b8df982199f69da04a4c8357227
commit-date: 2023-11-21
host: aarch64-apple-darwin
release: 1.76.0-nightly
LLVM version: 17.0.5
leoyvens
Metadata
Metadata
Assignees
Labels
C-bugCategory: This is a bug.Category: This is a bug.O-iosOperating system: iOSOperating system: iOSO-macosOperating system: macOSOperating system: macOSO-tvosOperating system: tvOS (including simulator)Operating system: tvOS (including simulator)T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.