about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2025-08-13Remove the `libgccjit.so.0` alias and only create the versioned library when ↵Jakub Beránek-17/+9
installing `libgccjit.so`
2025-08-13Make sure that we won't accidentally ship libgccjit.so in the dist componentJakub Beránek-1/+13
2025-08-13Install libgccjit into the compiler's sysroot when the GCC codegen backend ↵Jakub Beránek-55/+82
is enabled
2025-08-13Bless testsJakub Beránek-1/+7
2025-08-13Manually optimize steps performed by `x clippy ci`Jakub Beránek-25/+32
2025-08-13Only check rustc when linting rustc_codegen_gccJakub Beránek-8/+7
2025-08-13Add change tracker entryJakub Beránek-0/+5
2025-08-13Add more testsJakub Beránek-9/+83
2025-08-13Fix staging of linting toolsJakub Beránek-36/+38
2025-08-13Fix staging for `x clippy std`Jakub Beránek-56/+67
2025-08-13Add snapshot test for `x clippy std`Jakub Beránek-0/+17
2025-08-13Fix Clippy staging for compilerJakub Beránek-53/+84
2025-08-13Add snapshot test for `x clippy ci`Jakub Beránek-0/+57
2025-08-13Forbid running Clippy on stage 0Jakub Beránek-0/+4
2025-08-13Implement `clippy::CodegenGcc` as a separate stepJakub Beránek-7/+81
To correctly pass `RustcPrivateCompilers` to it and to avoid running it on `x clippy compiler`.
2025-08-13Prepare standard library for checking rustc in `prepare_compiler_for_check`Jakub Beránek-27/+23
2025-08-13Rollup merge of #145320 - Kobzol:fix-cranelift-codegen-dist, r=shepmasterJakub Beránek-1/+5
Allow cross-compiling the Cranelift dist component Should help unblock https://github.com/rust-lang/rust/pull/145252 (https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/macos-13.20shutting.20down/with/534032174).
2025-08-12Auto merge of #145295 - Kobzol:unify-stages, r=jieyouxubors-262/+237
Consolidate stage directories and group logs in bootstrap My post-stage-0-redesign bootstrap fixes aren't done yet, but I think that enough steps have been migrated to the new system that it makes sense to actually modify the directories on disk, and what gets printed when bootstrap runs, so that it actually corresponds to the new system. Before, the printed stages didn't always make sense. This PR: - Fixes the numbering of `stageN` directories in the build directory. It was not corresponding to the correct stages before; notice that I did not modify `bootstrap/README.md`, as it was essentially describing what happens after this PR (first commit). - Unifies all steps that output a build group to use the `Builder::msg` method. It's probably not the final stage, and some of the test steps might not be fully accurate yet, because I didn't fix test step numbering yet, but I think that it's a clear improvement from before, and now that everything uses the same method, we can easily make changes across the board, to ensure that it stays unified (second commit). r? `@jieyouxu` try-job: dist-x86_64-msvc try-job: dist-x86_64-linux
2025-08-12Allow cross-compiling the Cranelift dist componentJakub Beránek-1/+5
2025-08-12Add change tracker entryJakub Beránek-0/+5
2025-08-12Replace `stage0-tools-bin` with `stage1-tools-bin`Jakub Beránek-1/+1
2025-08-12Remove one dependency from tracing bootstrap buildJakub Beránek-131/+1
2025-08-12Resolve review remarksJakub Beránek-9/+5
2025-08-12Change format of messages in `Builder::fmt`Jakub Beránek-2/+3
2025-08-12Unify all groups in bootstrap to use `Builder::msg`Jakub Beránek-239/+206
2025-08-12Consolidate stageN directories in the build directoryJakub Beránek-18/+24
Now stageN-X corresponds to stage N X, as it should.
2025-08-12bootstrap: Only warn about `rust.debug-assertions` if downloading rustcZalathar-1/+1
2025-08-11Auto merge of #145254 - GuillaumeGomez:rollup-7bp43pv, r=GuillaumeGomezbors-3/+5
Rollup of 4 pull requests Successful merges: - rust-lang/rust#144966 ( Improve suggestion for "missing function argument" on multiline call) - rust-lang/rust#145111 (remove some unused private trait impls) - rust-lang/rust#145221 (Fix Cargo cross-compilation (take two)) - rust-lang/rust#145247 (Update `sysinfo` version to `0.37.0`) r? `@ghost` `@rustbot` modify labels: rollup
2025-08-11Print created location of executed commandsJakub Beránek-20/+57
2025-08-11Use `pretty_step_name` in `step_graph`Jakub Beránek-11/+5
2025-08-11Create tracing directory symlink even during dry runJakub Beránek-2/+14
2025-08-11Do not create a span for cached commandsJakub Beránek-3/+3
2025-08-11Always profile commands and generate Chrome profile when tracing is enabledJakub Beránek-56/+37
2025-08-11Correctly show executed command name in Chrome traceJakub Beránek-27/+54
2025-08-11Move tracing setup to the `tracing` moduleJakub Beránek-298/+304
2025-08-11Remove manual `#[instrument]` annotations on stepsJakub Beránek-161/+1
They could easily get out of sync and miss some fields. Now all steps are instrumented automatically.
2025-08-11Remove ad-hoc print of executed/cached steps in verbose modeJakub Beránek-4/+0
When verbose mode is enabled, it is very hard to see the actually executed steps.
2025-08-11Create a span for each executed stepJakub Beránek-28/+108
2025-08-11Replace `tracing_forest` with custom span formattingJakub Beránek-44/+338
2025-08-11Print step timings also when the stap starts to executeJakub Beránek-6/+18
So that it is easier to see which was the last started step when a failure happens on CI.
2025-08-11Use shorter command span labelJakub Beránek-1/+1
2025-08-11Store Chrome step trace into the tracing directoryJakub Beránek-14/+48
2025-08-11Store `latest` symlink to the latest tracing output directoryJakub Beránek-6/+15
2025-08-11Store bootstrap tracing outputs to a unified directoryJakub Beránek-28/+34
2025-08-11Auto merge of #145207 - Kobzol:codegen-backend-clif-dist, r=jieyouxubors-30/+35
Ship correct Cranelift library in its dist component The first commit adds a post-dist UI test to check that Cranelift can be used with the extracted dist x64 Linux archive. The original codegen copy logic in the Cranelift dist step was a bit redundant, and I didn't notice in https://github.com/rust-lang/rust/pull/144787 that it's copying the codegen backend from the build compiler's sysroot, rather than the target compiler's sysroot. The second commit modifies the logic to directly access the built codegen file (there is no need to search for it in the compiler's sysroot, in fact when you run just `x dist rustc_codegen_cranelift`, it shouldn't "taint" the sysroot with the codegen backend! Which it did before https://github.com/rust-lang/rust/pull/144787) and copy it to the tarball under a normalized name. Thus we get around any similar potential issues in the future, and make previously implicit logic more explicit. This also fixes running just `x dist rustc_codegen_cranelift` without enabling `cranelift` in `rust.codegen-backends`, which should have been enabled by https://github.com/rust-lang/rust/pull/144787, but it didn't work fully, because the dist step tried to copy the codegen backend from the compiler's sysroot, but it didn't contain the codegen backend if it was not enabled by `rust.codegen-backends`. Fixes: https://github.com/rust-lang/rust/issues/145201 try-job: dist-x86_64-linux
2025-08-11Rollup merge of #145247 - GuillaumeGomez:update-sysinfo, r=KobzolGuillaume Gomez-3/+3
Update `sysinfo` version to `0.37.0` Some small performance improvements and internal cleanups.
2025-08-11Rollup merge of #145221 - Kobzol:cargo-dist-fix-2, r=jieyouxuGuillaume Gomez-0/+2
Fix Cargo cross-compilation (take two) In https://github.com/rust-lang/rust/pull/145083, I fixed the case of manually invoking `x dist cargo`, but I realized that `x install` creates the `tool::Cargo` step through the `from_build_frompiler` constructor, which doesn't go through `get_tool_target_compiler`. So we just prepare both the host and target stdlibs directly before building Cargo. Ideally we would get rid of `from_build_compiler`, but that will require refactoring the dist and test steps, which is upcoming. Hopefully fixes https://github.com/rust-lang/rust/issues/145059 for good.
2025-08-11Update `sysinfo` version to `0.37.0`Guillaume Gomez-3/+3
2025-08-11Auto merge of #145011 - Kobzol:bootstrap-doc, r=jieyouxubors-239/+510
Enforce in bootstrap that doc must have stage at least 1 Following with the bootstrap cleanups, this time around `doc` steps. Should be pretty straightforward, because the supporting infrastructure was already there. The only thing I found a bit fishy is using `Mode::ToolBootstrap` as a "catch-all" mode for non-rustc-private steps in `tool_doc!`, but I don't think that we need to distinguish the tools in some special way when documenting them, apart from supporting `rustc_private`. Before, `x doc` more or less defaulted to what we call stage 2 now. Now it is properly stage 1, so e.g. `x doc compiler` documents the compiler using the stage0/beta rust(do)c. r? `@jieyouxu` try-job: dist-aarch64-msvc
2025-08-11Rollup merge of #145149 - ↵Stuart Cook-306/+439
Shourya742:2025-07-08-convert-config-method-invoke-inside-parse-functions, r=Kobzol Make config method invoke inside parse use dwn_ctx This PR is part of a series of config refactorings. It removes calls from config methods to solid functions defined in `config.rs`. After this, we will remove the default dependencies in the config. r? ```@Kobzol```