-
Notifications
You must be signed in to change notification settings - Fork 14k
Closed
Labels
C-enhancementCategory: An issue proposing an enhancement or a PR with one.Category: An issue proposing an enhancement or a PR with one.E-easyCall for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.Call for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Description
The compiler LLVM is rebuilt whenever the built version of LLVM doesn't have the right hash. (Previously it was rebuilt based on a special marker file, which was easier to work around.)
Lines 88 to 108 in f042687
| if done_stamp.exists() { | |
| if let Some(llvm_commit) = llvm_info.sha() { | |
| let done_contents = t!(fs::read(&done_stamp)); | |
| // If LLVM was already built previously and the submodule's commit didn't change | |
| // from the previous build, then no action is required. | |
| if done_contents == llvm_commit.as_bytes() { | |
| return build_llvm_config; | |
| } | |
| } else { | |
| builder.info( | |
| "Could not determine the LLVM submodule commit hash. \ | |
| Assuming that an LLVM rebuild is not necessary.", | |
| ); | |
| builder.info(&format!( | |
| "To force LLVM to rebuild, remove the file `{}`", | |
| done_stamp.display() | |
| )); | |
| return build_llvm_config; | |
| } | |
| } |
However, most of the time, having the latest LLVM version is not necessary, but makes rebuilding rustc after rebasing take significantly longer, which is a pain. It would be good to be able to disable this as an option in
x.py for convenience.
This issue has been assigned to @matthew-healy via this comment.
GuillaumeGomez
Metadata
Metadata
Assignees
Labels
C-enhancementCategory: An issue proposing an enhancement or a PR with one.Category: An issue proposing an enhancement or a PR with one.E-easyCall for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.Call for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)