-
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
Rework how bootstrap tools are built #58897
Conversation
(rust_highfive has picked a reviewer for you, use r? to override) |
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
51f085e
to
80750f5
Compare
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
80750f5
to
7b7fc8c
Compare
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
This avoids building compilers that we don't need -- most tools will work just fine with the downloaded compiler.
This allows us to e.g. test compiletest, including doctests, in stage 0 without building a fresh compiler and rustdoc.
7b7fc8c
to
03718ed
Compare
@bors: r+ |
📌 Commit 03718ed has been approved by |
⌛ Testing commit 03718ed with merge 50f6de0b0e2ba07a2d5a000b52edd6e248383db3... |
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
💔 Test failed - checks-travis |
@bors retry I hope the linker failure is a spurious problem... |
Rework how bootstrap tools are built This makes bootstrap tools buildable and testable in stage 0 with the downloaded bootstrap compiler, futhermore, it makes it such that they cannot be built in any other stage. Notably, this will also mean that compiletest may need to wait a cycle before it can use changes to `libtest`, as it no longer depends on the in-tree libtest.
☀️ Test successful - checks-travis, status-appveyor |
cmd.env("RUSTC_STAGE", compiler.stage.to_string()) | ||
.env("RUSTC_SYSROOT", self.sysroot(compiler)) | ||
// Note that this is *not* the sysroot_libdir because rustdoc must be linked | ||
// equivalently to rustc. | ||
.env("RUSTDOC_LIBDIR", self.rustc_libdir(compiler)) | ||
.env("CFG_RELEASE_CHANNEL", &self.config.channel) | ||
.env("RUSTDOC_REAL", self.rustdoc(host)) | ||
.env("RUSTDOC_REAL", self.rustdoc(compiler)) |
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.
Looks like this line fixed #58587. After it std is documented with rustdoc stage1 with stage1 libraries.
also speed up bootstrap a bit with upstream commit Upstream patch url: rust-lang/rust#58897 Bug: https://bugs.gentoo.org/683246 Package-Manager: Portage-2.3.62, Repoman-2.3.12 Signed-off-by: Georgy Yakovlev <[email protected]>
This makes bootstrap tools buildable and testable in stage 0 with the downloaded bootstrap compiler, futhermore, it makes it such that they cannot be built in any other stage.
Notably, this will also mean that compiletest may need to wait a cycle before it can use changes to
libtest
, as it no longer depends on the in-tree libtest.