Don't use the value of SDKROOT if it doesn't match the target.#1047
Merged
NobodyXu merged 5 commits intorust-lang:mainfrom May 6, 2024
Merged
Don't use the value of SDKROOT if it doesn't match the target.#1047NobodyXu merged 5 commits intorust-lang:mainfrom
NobodyXu merged 5 commits intorust-lang:mainfrom
Conversation
The SDKROOT environment variable can be problematic on Mac. In cases where you are compiling for multiple targets, SDKROOT cannot be right for all of them. Furthermore, the system Python interpreter sets SDKROOT to the MacOSX SDK if not already set. So, if you are using a Python script to run a build, and you need to build for multiple targets, the logic in the cc crate doesn't work. This is precisely what is happening with rustc itself, and so we can't upgrade the version of the cc crate used by the bootstrap code. (Unsetting SDKROOT doesn't work either because the custom clang build that rustc uses for CI depends on it being set)
Contributor
Author
|
For more information, see rust-lang/rust#122504 and rust-lang/rust#124565 |
NobodyXu
requested changes
May 2, 2024
madsmtm
approved these changes
May 5, 2024
Contributor
madsmtm
left a comment
There was a problem hiding this comment.
I think this makes sense to do
NobodyXu
reviewed
May 6, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The SDKROOT environment variable can be problematic on Mac. In cases where you are compiling for multiple targets, SDKROOT cannot be right for all of them. Furthermore, the system Python interpreter sets SDKROOT to the MacOSX SDK if not already set.
So, if you are using a Python script to run a build, and you need to build for multiple targets, the logic in the cc crate doesn't work. This is precisely what is happening with rustc itself, and so we can't upgrade the version of the cc crate used by the bootstrap code.
(Unsetting SDKROOT doesn't work either because the custom clang build that rustc uses for CI depends on it being set)