about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2025-08-26bootstrap: Make `default_codegen_backend` return `&CodegenBackendKind` ↵Guillaume Gomez-12/+6
instead of an `Option`
2025-08-26bootstrap: error early if any `codegen-backends` is set to `[]`Guillaume Gomez-0/+4
2025-08-26Auto merge of #145886 - GuillaumeGomez:rollup-9qv7jhv, r=GuillaumeGomezbors-34/+88
Rollup of 11 pull requests Successful merges: - rust-lang/rust#144373 (remove deprecated Error::description in impls) - rust-lang/rust#144551 (Add aarch64_be-unknown-linux-musl target) - rust-lang/rust#145076 (Add new Tier-3 target: riscv64a23-unknown-linux-gnu) - rust-lang/rust#145481 (Add parentheses for closure when suggesting calling closure) - rust-lang/rust#145596 (Losslessly optimize PNG files) - rust-lang/rust#145615 (Fix doc of `std::os::windows::io::BorrowedSocket::borrow_raw`) - rust-lang/rust#145841 (Always build miri for the host in `x run miri`) - rust-lang/rust#145861 (bootstrap: vendor `clippy_test_deps` too) - rust-lang/rust#145863 (formatting_options: Make all methods `const`) - rust-lang/rust#145867 (cg_llvm: Assert that LLVM range-attribute values don't exceed 128 bits) - rust-lang/rust#145875 (Make bootstrap command caching opt-in) r? `@ghost` `@rustbot` modify labels: rollup
2025-08-26Rollup merge of #145875 - Kobzol:bootstrap-caching, r=jieyouxuGuillaume Gomez-17/+30
Make bootstrap command caching opt-in It was opt-out before, which was causing some really hard to debug issues. CC `@Shourya742` r? `@jieyouxu`
2025-08-26Rollup merge of #145861 - cuviper:vendor-clippy, r=KobzolGuillaume Gomez-0/+1
bootstrap: vendor `clippy_test_deps` too This internal crate explicitly separates itself from the `rustc` workspace, but it is needed for `./x test clippy` to work, including its dependencies when building from a vendored `rustc-src` tarball.
2025-08-26Rollup merge of #145841 - Kobzol:fix-miri-run, r=jieyouxuGuillaume Gomez-17/+56
Always build miri for the host in `x run miri` Previously we were building Miri for the passed `--target`, which was wrong. Fixes: https://github.com/rust-lang/rust/issues/145839 r? `@jieyouxu`
2025-08-26Rollup merge of #145076 - ZhongyaoChen:feature/add-tier3-riscv64a23-target, ↵Guillaume Gomez-0/+1
r=davidtwco Add new Tier-3 target: riscv64a23-unknown-linux-gnu MCP: [Tier 3 target proposal: riscv64a23-unknown-linux-gnu](https://github.com/rust-lang/compiler-team/issues/894) Changes: - add new target: riscv64a23-unknown-linux-gnu - add target page
2025-08-26Auto merge of #145874 - Kobzol:fix-dist-builds, r=jieyouxubors-31/+112
Remove unnecessary stage2 host builds from cross-compiled dist builders This is a repeated regression (https://github.com/rust-lang/rust/issues/138004, https://github.com/rust-lang/rust/issues/138123) that was reintroduced in https://github.com/rust-lang/rust/pull/145472. I thought that we have a test for it, but alas, the "correct" test required `--disable-docs`. I added the test in this PR, and re-added the `dist::Std` build optimization that solves this. r? `@jieyouxu`
2025-08-26Cache LLVM config invocationsJakub Beránek-6/+21
2025-08-26Make bootstrap command caching opt-inJakub Beránek-11/+9
It was too dangerous to cache by default, and was it causing real bugs.
2025-08-26Do not unnecessarily build stage2 host rustc in some dist buildersJakub Beránek-36/+34
2025-08-26Add snapshot test for cross-compiled dist without docsJakub Beránek-5/+88
2025-08-26Always build miri for the host in `x run miri`Jakub Beránek-17/+56
2025-08-26Rollup merge of #145845 - Kobzol:fix-distcheck, r=jieyouxuStuart Cook-20/+44
Make `x test distcheck` self-contained Before, the checked components were extracted under the checked out source root, which caused us to test some weird combination of tarball + checkout sources/aritfacts/configuration. Now `x test distcheck` works with an external temporary directory instead, which should make it self-contained. I also moved some config from the Dockerfile to the test itself, and fixed an issue in tidy that caused `x test tidy` to fail on tarball sources. I also removed `.args(&builder.config.configure_args)`, because it was passing all kinds of crap from the CI config to the distcheck step, which was making it less reproducible. Fixes: https://github.com/rust-lang/rust/issues/145183 r? ```@jieyouxu``` try-job: x86_64-gnu-distcheck
2025-08-25bootstrap: vendor `clippy_test_deps` tooJosh Stone-0/+1
This internal crate explicitly separates itself from the `rustc` workspace, but it is needed for `./x test clippy` to work, including its dependencies when building from a vendored `rustc-src` tarball.
2025-08-25Refactor *.optimized-compiler-builtins bootstrap optionsPaul Murphy-34/+66
Create a dedicated enum to abstract the different ways compiler-builtins can be configured. This also relaxes build.optimized-compiler-builtins to accept the path of a library to match the behavior of <target>.optimized-compiler-builtins override.
2025-08-25Allow linking a prebuilt optimized compiler-rt builtins libraryPaul Murphy-24/+43
Extend the <target>.optimized-compiler-builtins bootstrap option to accept a path to a prebuilt compiler-rt builtins library, and update compiler-builtins to enable optimized builtins without building compiler-rt builtins.
2025-08-25Auto merge of #145472 - Kobzol:bootstrap-dist, r=jieyouxubors-273/+607
Enforce in bootstrap that dist and install must have stage at least 1 This is a continuation of my efforts to fix staging in bootstrap after the stage0 redesign. This PR gets rid of all `compiler_for` usages in the `dist` steps :tada: The only remaining usages are in the `test` steps, which are my next goal, and which will be the final boss.. both because they are quite tricky, and because most of the the rest of the steps have been already fixed. The changes are relatively straightforward, `x dist` defaults to stage 2, so in that case we want to use a stage 1 build compiler for everything (except stdlib, but we usually use it even there because of uplifting). What I didn't fix yet are the docs steps, because they are *very* implicit right now, and fixing them deserves its own PR. The first commit reverts the tests that I accidentally removed in https://github.com/rust-lang/rust/pull/145340 :man_facepalming: I did it in this PR to avoid further git conflicts.. Best reviewed commit-by-commit. r? `@jieyouxu` try-job: dist-i686-linux try-job: dist-armhf-linux try-job: dist-x86_64-linux try-job: dist-x86_64-msvc try-job: dist-apple-various try-job: dist-x86_64-apple try-job: x86_64-msvc-2
2025-08-25Override `GITHUB_ACTIONS=0` for tidy testsJakub Beránek-1/+4
2025-08-25Do not forward CI configure arguments to `distcheck` buildsJakub Beránek-1/+5
2025-08-25Make `x test distcheck` more self-containedJakub Beránek-18/+35
2025-08-25Rollup merge of #145794 - he32:bootstrap-netbsd-fix, r=KobzolStuart Cook-1/+13
bootstrap.py: Improve CPU detection on NetBSD ...and add some adaptation of detection for some arm variants.
2025-08-24bootstrap.py: follow up more 'tidy' insistence (string quotes).Havard Eidnes-2/+2
2025-08-23bootstrap.py: follow up tidy output from CI.Havard Eidnes-2/+3
I thought tidy would be more allergic to 80-coloumn overflow, but so be it.
2025-08-23Rollup merge of #145774 - Shourya742:2025-08-23-remove-default-opts-method, ↵Samuel Tardieu-53/+0
r=Kobzol Remove default opts from config We forgot to remove this method in https://github.com/rust-lang/rust/pull/145352. This PR removes that. r? ```@Kobzol```
2025-08-23bootstrap.py: Improve CPU detection on NetBSD,Havard Eidnes-1/+12
...and add adaptation of detection for some arm variants.
2025-08-23Allow running rust-installer (and other tools) multiple times with the same ↵Jakub Beránek-0/+4
arguments
2025-08-23Use correct mode when printing a build message for std documentationJakub Beránek-1/+1
2025-08-23Handle uplifting in libstd dist stepJakub Beránek-12/+23
2025-08-23Fix install test on WindowsJakub Beránek-2/+3
2025-08-23Remove the `x dist rust-std` built optimization special-caseJakub Beránek-27/+24
2025-08-23Don't try to cross-document bootstrap toolsJakub Beránek-1/+1
2025-08-23Fix doc linkJakub Beránek-1/+1
2025-08-23Add change tracker entryJakub Beránek-2/+7
2025-08-23Fix staging in `x install`Jakub Beránek-81/+77
2025-08-23Forbid running install steps on stage 0Jakub Beránek-0/+4
2025-08-23Cleanup the last few dist stepsJakub Beránek-5/+26
2025-08-23Cleanup `dist::Bootstrap` and add a simple test for itJakub Beránek-2/+21
2025-08-23Remove `compiler_for` from `dist::Extended`Jakub Beránek-17/+21
2025-08-23Remove `compiler_for` from `dist::Rustfmt`Jakub Beránek-13/+13
2025-08-23Remove `compiler_for` from `dist::CraneliftCodegenBackend`Jakub Beránek-12/+7
2025-08-23Remove `compiler_for` from `dist::Miri`Jakub Beránek-12/+13
2025-08-23Remove `compiler_for` from `dist::Clippy`Jakub Beránek-13/+16
2025-08-23Add snapshot test for `x install`Jakub Beránek-0/+70
2025-08-23Remove `compiler_for` from `dist::RustAnalyzer`Jakub Beránek-12/+16
2025-08-23Remove `compiler_for` from `dist::Cargo`Jakub Beránek-5/+12
2025-08-23Refactor `Analysis` dist stepJakub Beránek-14/+18
2025-08-23Refactor `RustcDev` dist stepJakub Beránek-12/+25
2025-08-23Refactor `Std` dist stepJakub Beránek-33/+62
2025-08-23Refactor and document the `DebuggerScripts` dist stepJakub Beránek-12/+13