-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
rustbuild: Add a way to build all tools as part of 'x.py build' #42979
Conversation
This does not change what we install (as opposed to extended). This only causes all the tools to be built as part of './x.py build'. This is useful to check that all the tools compile fine, and will avoid some compilation during './x.py install' if it is enabled. Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
(rust_highfive has picked a reviewer for you, use r? to override) |
Some components are only built when they're being pulled in as dependencies with .stage(0) specified. They now can also be pulled in with build-all-tools, hence only build them as stage 0. Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Fixed the tidy issue. |
Hm sorry I think I've lost context in the meantime by why is it again that |
Well, running I tried to keep the diff minimal. I had to add the "only-stage" thing because otherwise the tools in stage2 would be pulled in by I hope that helps clarify things, and doesn't make it even more confuse. |
Hm ok. I'm wary of this because of how much default behavior it hardcodes into the step rules which seems very brittle and likely to not work into the future. It seems to me like the real solution here is to get In terms of future-proofing the logic that seems to me like the better option to solving this than hardcoding all of these tools at stage0? |
That would be a solution too indeed, but wouldn't that be a little "overkill"? |
I think it'd make more sense to just add dependency tracking to the dist steps. I don't think it'd be very hard to make something naive and coarse |
ping @Keruspe, just wanted to make sure this doesn't fall off your radar! |
Yeah sure, just haven't had time to look into it lately as I'm currently moving, but will try to make that happen early in the next cycle, for 1.21 |
ping @Keruspe, just another ping to make sure this isn't forgotten! |
☔ The latest upstream changes (presumably #43059) made this pull request unmergeable. Please resolve the merge conflicts. |
Ok I'm going to close this out of inactivity to help clear up the queue, but plese feel free to resubmit with a rebase! |
With these two patches and the feature turned on, running
./x.py install
after./x.py build
doesn't need to compile anything. Only the doc/dist/install steps are actually doing something.