-
Notifications
You must be signed in to change notification settings - Fork 12.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Require all paths passed to ShouldRun::paths
to exist on disk
#95906
Conversation
(rust-highfive has picked a reviewer for you, use r? to override) |
99985f9
to
507b798
Compare
@rustbot label -S-waiting-on-review +S-waiting-on-author |
507b798
to
0990851
Compare
@rustbot ready |
@@ -234,7 +234,7 @@ install!((self, builder, _config), | |||
}).expect("missing analysis"); | |||
install_sh(builder, "analysis", self.compiler.stage, Some(self.target), &tarball); | |||
}; | |||
Rustc, "src/librustc", true, only_hosts: true, { | |||
Rustc, path = "compiler/rustc", true, only_hosts: true, { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
x.py install is a bit of a mess I guess between paths and aliases. My tendency is to move towards the dist tarball names for simplicity (and maybe just universally support any of them; I suspect it might not be that hard with the relatively uniform tarball generation work @pietroalbini did a while back).
Can be a future PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, my impression is that x.py install
isn't a super well trodden path in general - not sure who's using it. I can look into cleaning it up sometime in the next few weeks, I've been meaning to write up instructions for how to port a new architecture anyway and I suspect this will come up as part of the work. Leaving it be for now.
@bors delegate+ r=me with changes made |
✌️ @jyn514 can now approve this pull request |
This has two benefits: 1. There is a clearer mental model of how bootstrap works. Steps correspond to paths on disk unless it's strictly impossible for them to do so (e.g. dist components). 2. Bootstrap has better checks for internal consistency. This caught several issues: - `src/sanitizers` doesn't exist; I changed it to just be a `sanitizers` alias. - `src/tools/lld` doesn't exist; I removed it, since `lld` alone already works. - `src/llvm` doesn't exist; removed it since `llvm` and `src/llvm-project` both work. - `src/lldb_batchmode.py` doesn't exist, it was moved to `src/etc`. - `install` was still using `src/librustc` instead of `compiler/rustc`. - None of the tools in `dist` / `install` allowed using `src/tools/X` to build them. This might be intentional - I can change them to aliases if you like.
0990851
to
0db70ca
Compare
@bors r=Mark-Simulacrum |
📌 Commit 0db70ca has been approved by |
…Simulacrum Require all paths passed to `ShouldRun::paths` to exist on disk This has two benefits: 1. There is a clearer mental model of how bootstrap works. Steps correspond to paths on disk unless it's strictly impossible for them to do so (e.g. dist components). 2. Bootstrap has better checks for internal consistency. This caught several issues: - `src/sanitizers` doesn't exist; I changed it to just be a `sanitizers` alias. - `src/tools/lld` doesn't exist; I removed it, since `lld` alone already works. - `src/llvm` doesn't exist; removed it since `llvm` and `src/llvm-project` both work. - `src/lldb_batchmode.py` doesn't exist, it was moved to `src/etc`. - `install` was still using `src/librustc` instead of `compiler/rustc`. - None of the tools in `dist` / `install` allowed using `src/tools/X` to build them. This might be intentional - I can change them to aliases if you like. Builds on rust-lang#95901 and should not be merged before.
…Simulacrum Require all paths passed to `ShouldRun::paths` to exist on disk This has two benefits: 1. There is a clearer mental model of how bootstrap works. Steps correspond to paths on disk unless it's strictly impossible for them to do so (e.g. dist components). 2. Bootstrap has better checks for internal consistency. This caught several issues: - `src/sanitizers` doesn't exist; I changed it to just be a `sanitizers` alias. - `src/tools/lld` doesn't exist; I removed it, since `lld` alone already works. - `src/llvm` doesn't exist; removed it since `llvm` and `src/llvm-project` both work. - `src/lldb_batchmode.py` doesn't exist, it was moved to `src/etc`. - `install` was still using `src/librustc` instead of `compiler/rustc`. - None of the tools in `dist` / `install` allowed using `src/tools/X` to build them. This might be intentional - I can change them to aliases if you like. Builds on rust-lang#95901 and should not be merged before.
☀️ Test successful - checks-actions |
Finished benchmarking commit (0516711): comparison url. Summary:
If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf.
@rustbot label: -perf-regression Footnotes |
This has two benefits:
src/sanitizers
doesn't exist; I changed it to just be asanitizers
alias.src/tools/lld
doesn't exist; I removed it, sincelld
alone already works.src/llvm
doesn't exist; removed it sincellvm
andsrc/llvm-project
both work.src/lldb_batchmode.py
doesn't exist, it was moved tosrc/etc
.install
was still usingsrc/librustc
instead ofcompiler/rustc
.dist
/install
allowed usingsrc/tools/X
to build them. This might be intentional - I can change them to aliases if you like.Builds on #95901 and should not be merged before.