about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2025-07-12fix span for deferred command executionbit-aloo-3/+10
2025-07-12clippy: fix test filtering when TESTNAME is emptyRalf Jung-2/+2
2025-07-12./x test miri: fix cleaning the miri_ui directoryRalf Jung-2/+7
2025-07-11Access `wasi_sdk_path` instead of reading environment variable in bootstrapJakub Beránek-1/+1
2025-07-11remove format short command and push format short command method inside ↵bit-aloo-27/+4
fingerprint impl
2025-07-11Use short command method directly from fingerprintbit-aloo-1/+1
2025-07-11Update description for flagbjorn3-1/+1
2025-07-11Update sysinfo version to `0.36.0`Guillaume Gomez-5/+5
2025-07-11Avoid building C++ for rustc_llvm with --compile-time-depsbjorn3-0/+3
This saves about 30s.
2025-07-11Add --compile-time-deps argument for x checkbjorn3-0/+34
This reduces the amount of time it takes to do the x check for rust-analyzer analysis from 12m16s to 3m34s when the bootstrap compiler is already downloaded.
2025-07-10Rollup merge of #143707 - Kobzol:bootstrap-std-check, r=jieyouxuTrevor Gross-7/+31
Fix `--skip-std-check-if-no-download-rustc` Since https://github.com/rust-lang/rust/pull/143048, we now explicitly set the build compiler for `check::Std`, which caused it to be built before we checked `--skip-std-check-if-no-download-rustc`. So I moved the check earlier to `make_run`, which resolves it. I also added a regression test for this. Sadly we can't really test for the positive case easily (when download-ci-rustc is enabled), but we can test the negative cases, where it is disabled. Fixes: https://github.com/rust-lang/rust/issues/143705 r? ```@RalfJung```
2025-07-10Auto merge of #143746 - matthiaskrgr:rollup-yaojj7t, r=matthiaskrgrbors-72/+174
Rollup of 9 pull requests Successful merges: - rust-lang/rust#143446 (use `--dynamic-list` for exporting executable symbols) - rust-lang/rust#143590 (Fix weird rustdoc output when single and glob reexport conflict on a name) - rust-lang/rust#143599 (emit `.att_syntax` when global/naked asm use that option) - rust-lang/rust#143615 (Fix handling of no_std targets in `doc::Std` step) - rust-lang/rust#143632 (fix: correct parameter names in LLVMRustBuildMinNum and LLVMRustBuildMaxNum FFI declarations) - rust-lang/rust#143640 (Constify `Fn*` traits) - rust-lang/rust#143651 (Win: Use exceptions with empty data for SEH panic exception copies instead of a new panic) - rust-lang/rust#143660 (Disable docs for `compiler-builtins` and `sysroot`) - rust-lang/rust#143665 ([rustdoc-json] Add tests for `#[doc(hidden)]` handling of items.) r? `@ghost` `@rustbot` modify labels: rollup
2025-07-10Rollup merge of #143660 - cuviper:lib-doc-false, r=tgross35Matthias Krüger-4/+0
Disable docs for `compiler-builtins` and `sysroot` Bootstrap already had a manual doc filter for the `sysroot` crate, but other library crates keep themselves out of the public docs by setting `[lib] doc = false` in their manifest. This seems like a better solution to hide `compiler-builtins` docs, and removes the `sysroot` hack too. Fixes rust-lang/rust#143215 (after backport) ```@rustbot``` label beta-nominated
2025-07-10Rollup merge of #143615 - Kobzol:doc-std, r=jieyouxuMatthias Krüger-68/+174
Fix handling of no_std targets in `doc::Std` step The previous logic was wrong for no_std targets, it just didn't do anything. The logic was added there because by default, the `Std` step would otherwise have a list of all std crates to check, but these would fail for no_std targets. What has to happen instead is to select the default set of packages to check/doc/build, which currently happens in the `std_cargo` function, but the `self.crates` list was overriding that. In general, using `crates: Vec<String>` in the `Std` steps is quite fishy, because it's difficult to distinguish between all crates (either they are all enumerated or `crates` is empty) and the default (e.g. `x <kind> [library]`) vs a subset (e.g. `x <kind> core`). I wanted to improve that using an enum that would distinguish these situations, avoid passing `-p` for all of the crates explicitly, and unify the selection of packages to compile/check/... in `std_cargo`, based on this enum. However, I found out from some other bootstrap comments that when you pass `-p` explicitly for all crates, cargo behaves differently (apparently for check it will also check targets/examples etc. with `-p`, but not without it). Furthermore, the doc step has a special case where it does not document the `sysroot` package. So as usually, unifying this logic would get into some edge cases... So instead I opted for a seemingly simpler solution, where I try to prefilter only two allowed crates (core and alloc) for no_std targets in the `std_crates_for_run_make` function. It's not perfect, but I think it's better than the status quo (words to live by when working on bootstrap...). Fixes [this Zulip topic](https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/docs.20for.20non-host.20targets.3F). r? `@jieyouxu`
2025-07-10Remove `min-specialization` feature from `WasmComponentLd`Jakub Beránek-1/+1
2025-07-10Auto merge of #143525 - Shourya742:2025-07-06-add-profiler, r=Kobzolbors-28/+218
Add profiler to bootstrap command This PR adds command profiling to the bootstrap command. It tracks the total execution time and records cache hits for each command. It also provides the ability to export execution result to a JSON file. Integrating this with Chrome tracing could further enhance observability. r? `@Kobzol`
2025-07-10enable report summary when BOOTSTRAP_PROFILE is setbit-aloo-2/+14
2025-07-10expose report summary via buildbit-aloo-1/+5
2025-07-10update streaming to record its execution via commandprofilerbit-aloo-5/+11
2025-07-10add commandProfiler to bootstrap execution contextbit-aloo-1/+154
2025-07-10change cachekey to CommandFingerprint and change related API's and add start ↵bit-aloo-19/+34
time to deferred execution
2025-07-10Clarify `get_tool_target_compiler`Jakub Beránek-3/+9
2025-07-10Rename `for_compiler` to `for_use_by_compiler`Jakub Beránek-12/+15
2025-07-10Rollup merge of #143398 - lolbinarycat:tidy-extra-checks-auto, r=KobzolTrevor Gross-1/+9
tidy: add support for `--extra-checks=auto:` feature in preparation for rust-lang/rust#142924 also heavily refactored the parsing of the `--extra-checks` argument to warn about improper usage. cc ```@GuillaumeGomez``` r? ```@Kobzol```
2025-07-10Fix `--skip-std-check-if-no-download-rustc`Jakub Beránek-7/+31
Since https://github.com/rust-lang/rust/pull/143048, we now explicitly set the build compiler for `check::Std`, which caused it to be built before we checked `--skip-std-check-if-no-download-rustc`. So I moved the check earlier to `make_run`, which resolves it. I also added a regression test for this. Sadly we can't really test for the positive case easily (when download-ci-rustc is enabled), but we can test the negative cases, where it is disabled.
2025-07-09bootstrap/miri: avoid rebuilds for test buildsRalf Jung-2/+8
2025-07-09Make `LlvmBitcodeLinker` a `ToolTarget` toolJakub Beránek-37/+49
2025-07-09Extend dist extended tools testJakub Beránek-5/+14
2025-07-09Make `LldWrapper` a `ToolTarget` toolJakub Beránek-50/+78
2025-07-09Make `WasmComponentLd` a `ToolTarget` toolJakub Beránek-16/+111
2025-07-09Port `RemoteTestServer` to `ToolTarget`Jakub Beránek-16/+21
2025-07-09Add `Mode::ToolTarget`Jakub Beránek-39/+104
2025-07-09Rename `compiler` to `build_compiler`Jakub Beránek-30/+31
2025-07-09Add doc cross-compilation testJakub Beránek-0/+16
2025-07-09Add `doc library` test for a no_std targetJakub Beránek-1/+17
2025-07-08Rollup merge of #143606 - lambdageek:configure-write-last-key, r=KobzolTrevor Gross-8/+18
configure.py: Write last key in each section The loop that writes the keys in each section of bootstrap.toml accumulates all the commented lines before a given key and emits them when it reaches the next key in the section. This ends up dropping lines accumulated for the last key Fixes rust-lang/rust#143605
2025-07-08Rollup merge of #142357 - Kobzol:simplify-llvm-bitcode-linker, r=jieyouxuTrevor Gross-30/+82
Simplify LLVM bitcode linker in bootstrap and add tests for it This PR tries to simplify the `LlvmBitcodeLinker` step a little bit, and add tests for it. It also adds tests for `LldWrapper`. r? `@jieyouxu`
2025-07-08Disable docs for `compiler-builtins` and `sysroot`Josh Stone-4/+0
Bootstrap already had a manual doc filter for the `sysroot` crate, but other library crates keep themselves out of the public docs by setting `[lib] doc = false` in their manifest. This seems like a better solution to hide `compiler-builtins` docs, and removes the `sysroot` hack too.
2025-07-08bootstrap: add change tracker entry for new --extra-checks=auto: featurebinarycat-0/+5
2025-07-08tidy: add `auto:` prefix to --extra-checks syntaxbinarycat-1/+4
currently this just uses a very simple extension-based heirustic.
2025-07-08SpellingAleksey Kliger-1/+1
2025-07-08Add cross-compilation tool testJakub Beránek-0/+29
2025-07-08Rewrite for clarityAleksey Kliger-12/+14
move common code to a helper function Co-Authored-By: Kobzol <berykubik@gmail.com>
2025-07-08Also test `LldWrapper` and remove `llvm-config` override from testsJakub Beránek-3/+10
2025-07-08Update llvm-bitcode-linker testsJakub Beránek-5/+35
2025-07-08Remove sysroot copy from `LlvmBitcodeLinker` stepJakub Beránek-20/+10
That step should be responsible for building the tool, not performing side-effects. Also, only copy the tool to the `self-contained` directory, not to the `rustlib/<target>/bin` directory.
2025-07-08Remove `extra_features` from `LlvmBitcodeLinker`Jakub Beránek-6/+2
It wasn't used anywhere.
2025-07-08update bootstrap mcp510 handlingRémy Rakic-16/+46
beta and stage1 need to use different flags (-C vs -Z) to be able to use the old and new `linker-features` and `link-self-contained` flags
2025-07-08use LLD by default on x64 regardless of channelRémy Rakic-7/+2
2025-07-08Fix handling of std crates for no_std targetsJakub Beránek-41/+106