about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2025-09-27Auto merge of #146927 - Kobzol:install-clif, r=jieyouxubors-52/+63
Make it possible to `x install` Cranelift and LLVM bitcode linker It was not possible to install these before, as they were not in the install step description list. Fixes: https://github.com/rust-lang/rust/issues/140331 r? `@jieyouxu`
2025-09-27Auto merge of #146636 - Mark-Simulacrum:bootstrap-bump, r=jieyouxubors-4/+0
Bump bootstrap compiler to 1.91 beta https://forge.rust-lang.org/release/process.html#default-branch-bootstrap-update-tuesday
2025-09-26Apply cfg(bootstrap) replacementMark Rousskov-4/+0
2025-09-26Rollup merge of #146758 - mati865:amd64_mingw_no_rs_objects, r=petrochenkovMatthias Krüger-0/+2
Stop linking rs{begin,end} objects on x86_64-*-windows-gnu Until now, x86_64-pc-windows-gnu linked `rsbegin.o` and `rsend.o` just like i686-pc-windows-gnu, even though they were no-ops for it. This was likely done for the simplicity back when it was introduced. Today the things are different and these startup/end objects harm other features, like `build-std`. Given the demotion of i686-pc-windows-gnu from tier 1, there is no point in hurting x86_64-pc-windows-gnu, which remains a tier 1. The files are still shipped in case downstream crates expect them, as in case of the unmaintained `xargo`. Fixes https://github.com/rust-lang/rust/issues/146739
2025-09-26Auto merge of #146595 - Shourya742:make-cargo-test-work-for-self-test, r=Kobzolbors-394/+337
Make cargo test work for bootstrap self test This PR enables the bootstrap self-test to run via cargo test. I have removed the detect_src_and_out test for now, but it will be reintroduced in a follow-up PR where all bootstrap tests will be migrated to use testCtx. r? `@Kobzol` try-job: aarch64-apple
2025-09-26Rollup merge of #147038 - Kobzol:bootstrap-verbose-fn, r=jieyouxuMatthias Krüger-58/+46
Rename verbosity functions in bootstrap Just a small cleanup, these function names have been bothering me for a while. I realized that we can delete some of them outright, rather than just renaming them. r? ``@jieyouxu``
2025-09-26Rollup merge of #146994 - cuviper:clippy-ci-recursion, r=KobzolMatthias Krüger-0/+2
Add `clippy::unconditional_recursion` to `./x clippy ci` The clippy lint catches some things that rustc's equivalent builtin lint does not, for example rust-lang/rust#146940: error: function cannot return without recursing --> library/std/src/path.rs:3428:5 | 3428 | / fn eq(&self, other: &String) -> bool { 3429 | | self == &*other 3430 | | } | |_____^ | note: recursive call site --> library/std/src/path.rs:3429:9 | 3429 | self == &*other | ^^^^^^^^^^^^^^^ = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unconditional_recursion = note: requested on the command line with `-D clippy::unconditional-recursion`
2025-09-25Add `clippy::unconditional_recursion` to `./x clippy ci`Josh Stone-0/+2
The clippy lint catches some things that rustc's equivalent builtin lint does not, for example rust-lang/rust#146940: error: function cannot return without recursing --> library/std/src/path.rs:3428:5 | 3428 | / fn eq(&self, other: &String) -> bool { 3429 | | self == &*other 3430 | | } | |_____^ | note: recursive call site --> library/std/src/path.rs:3429:9 | 3429 | self == &*other | ^^^^^^^^^^^^^^^ = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unconditional_recursion = note: requested on the command line with `-D clippy::unconditional-recursion`
2025-09-25Rename `verbose` to `do_if_verbose`Jakub Beránek-37/+40
2025-09-25Remove `is_verbose_than` functionJakub Beránek-6/+1
2025-09-25Remove `verbose_than` functionJakub Beránek-15/+5
2025-09-25Make `cargo test` work againJakub Beránek-8/+30
2025-09-25Ensure that `--build-dir` is always specified in testsJakub Beránek-23/+4
2025-09-25bootstrap.py: Respect build.jobs while building bootstrap toolJ. Neuschäfer-0/+2
On resource-constrained systems, it is vital to respect the value of build.jobs, in order to avoid overwhelming the available memory.
2025-09-24Make install test target independentJakub Beránek-55/+61
2025-09-23Make it possible to `x install` Cranelift and LLVM bitcode linkerJakub Beránek-0/+5
2025-09-23move config check logic from get_toml to parse_innerbit-aloo-24/+23
2025-09-22add comment explaining the test_build_dirbit-aloo-0/+7
2025-09-22add check for toml filebit-aloo-10/+9
2025-09-22remove explicit target assignment in config during rustc initializationbit-aloo-15/+8
2025-09-21Add x86_64-unknown-motor (Motor OS) tier 3 targetU. Lasiotus-0/+5
Add the initial no-std Motor OS compiler target. Motor OS has been developed for several years in the open: https://github.com/moturus/motor-os. It has a more or less full implementation of Rust std library, as well as tokio/mio ports. Build instructions can be found here: https://github.com/moturus/motor-os/blob/main/docs/build.md. Signed-off-by: U. Lasiotus <lasiotus@motor-os.org>
2025-09-21remove prepare_test_specific_dir and update tests accordinglybit-aloo-89/+65
2025-09-21add explicit config assignment when running the test, as the src is assigned ↵bit-aloo-0/+9
to CARGO_MANIFEST_DIR, so the config actually use the <src>/bootstrap.toml and the /tmp/bootstrap.toml
2025-09-21initialize out with CARGO_TARGET_DIR and then go for manifest and then for ↵bit-aloo-8/+19
current
2025-09-21add dry_run flag in config builder and remove runtime test hacksbit-aloo-7/+15
2025-09-21remove create_config_without_ci_llvm_override duplicationbit-aloo-21/+19
2025-09-21rename config_toml to with_default_toml_configbit-aloo-18/+33
2025-09-21this is dicy, whether we have a method to explicitly enable_llvm_overridebit-aloo-0/+15
2025-09-21move most of the test to new testCtxbit-aloo-191/+152
2025-09-21allow symlinking during testbit-aloo-1/+1
2025-09-21remove using default toml config for test in get_toml, we handle it via ↵bit-aloo-4/+0
using the temp directory created via the testCtx
2025-09-21let verify method run in test settingsbit-aloo-1/+1
2025-09-21add an API in ConfigBuilder to point to config file for toml parsingbit-aloo-0/+8
2025-09-21walk up the ancestorsbit-aloo-6/+7
2025-09-21make cargo test work for bootstrap self testbit-aloo-73/+17
2025-09-20Rollup merge of #146774 - Kobzol:bootstrap-relative-path, r=jieyouxuMatthias Krüger-5/+17
Allow running `x <cmd> <path>` from a different directory Fixes: https://github.com/rust-lang/rust/issues/146772 r? ``@jieyouxu``
2025-09-20Auto merge of #146771 - Kobzol:download-ci-llvm-default-value, r=jieyouxubors-11/+4
Simplify default value of `download-ci-llvm` Just set it to true, rather than having different default values on CI and locally, and then only deny `true` on our own CI, not elsewhere. Closes: https://github.com/rust-lang/rust/issues/146768 r? `@jieyouxu`
2025-09-19Simplify default value of `download-ci-llvm`Jakub Beránek-11/+4
2025-09-19Stop linking rs{begin,end} on x86_64-*-windows-gnuMateusz Mikuła-0/+2
Until now, x86_64-pc-windows-gnu linked `rsbegin.o` and `rsend.o` just like i686-pc-windows-gnu, even though they were no-ops for it. This was likely done for the simplicity back when it was introduced. Today the things are different and these startup/end objects harm other features, like `build-std`. Given the demotion of i686-pc-windows-gnu from tier 1, there is no point in hurting x86_64-pc-windows-gnu, which remains a tier 1. The files are still shipped in case downstream crates expect them, as in case of the unmaintained `xargo`.
2025-09-19Allow running `x <cmd> <path>` from a different directoryJakub Beránek-5/+17
2025-09-18Allow windows resource compiler to be overriddenErick Tryzelaar-0/+14
It is now required to provide a resource compiler on windows when compiling rust. This allows toolchain builders to explicitly provide a path to an alternative, such as llvm-rc, instead of the one that's provided by the Windows SDK.
2025-09-17Rollup merge of #146654 - samueltardieu:issue142534, r=KobzolJana Dönszelmann-3/+3
Do not use `git -C dir` Older versions of git (≤ 1.8.5) do not support the `-C dir` global option. Use the `cwd` optional argument when using Python's `subprocess` functionality instead. Fix rust-lang/rust#142534
2025-09-17Rollup merge of #146598 - bjorn3:feature_llvm_enzyme, r=davidtwcoJana Dönszelmann-7/+3
Make llvm_enzyme a regular cargo feature This makes it clearer that it is set by the build system rather than by the rustc that compiles the current rustc. It also avoids bootstrap needing to pass `--check-cfg llvm_enzyme` to rustc.
2025-09-17Rollup merge of #146458 - Hayden602:bootstrap, r=KobzolJana Dönszelmann-1/+22
Add parallel-frontend-threads to bootstrap.toml and enable multi-threaded parallel compilation Add the option to use the parallel compiler when building Rust code in bootstrap.
2025-09-17Rollup merge of #145071 - cuviper:min-llvm-20, r=nikicStuart Cook-2/+2
Update the minimum external LLVM to 20 With this change, we'll have stable support for LLVM 20 and 21. For reference, the previous increase to LLVM 19 was rust-lang/rust#139275. cc ```@rust-lang/wg-llvm``` r? nikic
2025-09-16Do not use `git -C dir`Samuel Tardieu-3/+3
Older versions of git (≤ 1.8.5) do not support the `-C dir` global option. Use the `cwd` optional argument when using Python's `subprocess` functionality instead.
2025-09-16Update the minimum external LLVM to 20Josh Stone-2/+2
2025-09-16Rollup merge of #146611 - ↵Matthias Krüger-11/+98
lolbinarycat:bootstrap-toml-wrong-section-diagnostic, r=Kobzol bootstrap: emit hint if a config key is used in the wrong section based on discussion on rust-lang/rust#146591 now, if the user puts `build.download-rustc` in `bootstrap.toml`, they'll get a diagnostic: ``hint: try moving `download-rustc` to the `rust` section`` and if they nest things too much (`rust.rust.download-rustc`): ``hint: section name `rust` used as a key within a section`` if they specify a top-level key within a section (`rust.profile`): ``hint: try using `profile` as a top level key`` r? `@Kobzol`
2025-09-16bootstrap: emit hint if a config key is used in the wrong sectionbinarycat-11/+98
2025-09-16Add parallel-frontend-threads to bootstrap.toml and enable multi-threaded ↵Haidong Zhang-1/+22
parallel compilation