about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2025-02-24add `tool::Cargofmt` binary to target sysrootonur-ozkan-2/+8
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-02-24add `tool::CargoClippy` binary to target sysrootonur-ozkan-2/+7
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-02-24use stage 2 on cargo and clippy tests when possibleonur-ozkan-6/+32
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-02-24add coverage for explicit stage fieldsonur-ozkan-0/+57
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-02-24add explicit stage fields to `Config`onur-ozkan-0/+10
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-02-23Auto merge of #137497 - tgross35:rollup-1oeclrr, r=tgross35bors-0/+7
Rollup of 8 pull requests Successful merges: - #136439 (Misc. `rustc_codegen_ssa` cleanups 🧹) - #136543 (intrinsics: unify rint, roundeven, nearbyint in a single round_ties_even intrinsic) - #136637 (Add binary_format to rustc target specs) - #137099 (Fix rustdoc test directives that were accidentally ignored 🧐) - #137297 (Update `compiler-builtins` to 0.1.147) - #137451 (FIx `sym` -> `syn` typo in tail-expr-drop-order type opt-out) - #137452 (bootstrap: add module docs for core:metadata) - #137483 (rename sub_ptr to offset_from_unsigned) r? `@ghost` `@rustbot` modify labels: rollup
2025-02-23Auto merge of #137476 - onur-ozkan:137469, r=jieyouxubors-47/+14
avoid `compiler_for` for dist tools and force the current compiler Using `compiler_for` in dist steps was causing to install stage1 tools into the dist tarballs, which doesn't match with the stage2 compiler. Fixes https://github.com/rust-lang/rust/issues/137469
2025-02-23Rollup merge of #137452 - ↵Trevor Gross-0/+7
Shourya742:2025-02-23-add-module-level-doc-for-core-metadata, r=Kobzol bootstrap: add module docs for core:metadata Add module doc for bootstrap:core:metadata
2025-02-23configure.py: don't instruct user to run nonexistent programнаб-1/+1
$ ./configure configure: processing command line configure: configure: build.configure-args := [] configure: profile := dist configure: configure: writing `config.toml` in current directory configure: configure: run `python /mnt/filling/store/nabijaczleweli/code/rust/x.py --help` This is naturally not valid since I don't have a "python" executable (and this will hopefully become more and more true as Python 2 dies out). ./configure knows this since it does try python3 "$@", then python2.7 &c. After, this now says configure: run `python3 /mnt/filling/store/nabijaczleweli/code/rust/x.py --help` which is possible, and corresponds to the interpreter actually running.
2025-02-23bootstrap: remove redundant `to_path_buf()`许杰友 Jieyou Xu (Joe)-1/+1
2025-02-23bootstrap: remove `--build-base` and use `--build-root` and ↵许杰友 Jieyou Xu (Joe)-1/+5
`--build-test-suite-root` instead
2025-02-23add FIXME note on `Builder::compiler_for`onur-ozkan-0/+3
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-02-23avoid `compiler_for` for dist tools and force the current compileronur-ozkan-47/+11
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-02-23Auto merge of #137237 - cuviper:stage0, r=Mark-Simulacrumbors-35/+22
Master bootstrap update https://forge.rust-lang.org/release/process.html#master-bootstrap-update-tuesday r? `@Mark-Simulacrum`
2025-02-23Auto merge of #137466 - jhpratt:rollup-spyi02y, r=jhprattbors-0/+18
Rollup of 9 pull requests Successful merges: - #135354 ([Debuginfo] Add MSVC Synthetic and Summary providers to LLDB) - #136826 (Replace mem::zeroed with mem::MaybeUninit::uninit for large struct in Unix) - #137194 (More const {} init in thread_local) - #137334 (Greatly simplify lifetime captures in edition 2024) - #137382 (bootstrap: add doc for vendor build step) - #137423 (Improve a bit HIR pretty printer) - #137435 (Fix "missing match arm body" suggestion involving `!`) - #137448 (Fix bugs due to unhandled `ControlFlow` in compiler) - #137458 (Fix missing self subst when rendering `impl Fn*<T>` with no output type) r? `@ghost` `@rustbot` modify labels: rollup
2025-02-23Rollup merge of #137382 - Shourya742:2025-02-21-add-vendor-step-doc, r=KobzolJacob Pratt-0/+18
bootstrap: add doc for vendor build step This PR adds docs for vendor build step.
2025-02-23downgrade bootstrap `cc`onur-ozkan-3/+5
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-02-23Auto merge of #137215 - onur-ozkan:rustc-tool-build-stages, r=jieyouxu,Kobzolbors-263/+316
stabilize stage management for rustc tools https://github.com/rust-lang/rust/pull/135990 got out of control due to excessive complexity. This PR aims to achieve the same goal with a simpler approach, likely through multiple smaller PRs. I will keep the other one read-only and open as a reference for future work. This work stabilizes the staging logic for `ToolRustc` programs, so you no longer need to handle build and target compilers separately in steps. Previously, most tools didn't do this correctly, which was causing the compiler to be built twice (e.g., `x test cargo --stage 1` would compile the stage 2 compiler before, but now it only compiles the stage 1 compiler). I also tried to document how we should write `ToolRustc` steps as they are quite different and require more attention than other tools. Next goal is to stabilize how stages are handled for the rustc itself. Currently, `x build --stage 1` builds the stage 1 compiler which is fine, but `x build compiler --stage 1` builds stage 2 compiler. ~~for now, r? ghost~~
2025-02-23bootstrap: add module docs for core:metadatabit-aloo-0/+7
2025-02-22Auto merge of #137420 - matthiaskrgr:rollup-rr0q37f, r=matthiaskrgrbors-0/+8
Rollup of 9 pull requests Successful merges: - #136910 (Implement feature `isolate_most_least_significant_one` for integer types) - #137183 (Prune dead regionck code) - #137333 (Use `edition = "2024"` in the compiler (redux)) - #137356 (Ferris 🦀 Identifier naming conventions) - #137362 (Add build step log for `run-make-support`) - #137377 (Always allow reusing cratenum in CrateLoader::load) - #137388 (Fix(lib/fs/tests): Disable rename POSIX semantics FS tests under Windows 7) - #137410 (Use StableHasher + Hash64 for dep_tracking_hash) - #137413 (jubilee cleared out the review queue) r? `@ghost` `@rustbot` modify labels: rollup
2025-02-22Rollup merge of #137362 - Kobzol:run-make-support-bootstrap, r=jieyouxuMatthias Krüger-0/+8
Add build step log for `run-make-support` I was always confused about what is being built, since nothing was printed in the log :) r? ``@jieyouxu``
2025-02-22Auto merge of #136428 - EnzymeAD:enable-autodiff, r=oli-obkbors-12/+19
test building enzyme in CI 1) This PR fixes a significant compile-time regression, by only running the expensive autodiff pipeline, if the users pass the newly introduced Enable value to the `-Zautodiff=` flag. It updates the test(s) accordingly. It gives a nice error if users forget that. 2) It fixes macos support by explicitly linking against the Enzyme build folder. This doesn't cover CI macos yet. 3) It fixes the issue that setting ENZYME_RUNPASS was ignored by enzyme and in fact did not schedule enzyme's opt pass. 4) It also re-enables support for various other values for the autodiff flag, which were ignored since the refactor. 5) I merged some improvements to Enzyme core, which means we do not longer depend on LLVM being build with the Plugin Interface enabled. 6) Unrelated to other fixes, this changes `rustc_autodiff` to `EncodeCrossCrate::Yes`. It is not enough on it's own to enable usage of Enzyme in libraries, but it is for sure a piece of the fixes needed to get this to work. try-job: x86_64-gnu r? `@oli-obk` Tracking: - https://github.com/rust-lang/rust/issues/124509
2025-02-21update enzyme submodule and usersManuel Drehwald-5/+2
2025-02-21fix build regressionsManuel Drehwald-7/+17
2025-02-22bootstrap: pass `--src-root` and `--src-test-suite-root` instead of `--src-base`许杰友 Jieyou Xu (Joe)-1/+3
2025-02-21bootstrap: add doc for vendor build stepbit-aloo-0/+18
2025-02-21Add build step log for `run-make-support`Jakub Beránek-0/+8
I was always confused about what is being built, since nothing was printed in the log :)
2025-02-20Rollup merge of #137340 - Kobzol:bootstrap-dir-check, r=onur-ozkanJubilee-1/+12
Add a notice about missing GCC sources into source tarballs I didn't use `.gitkeep`, because that would be a hidden file that might not be noticed, whereas we want to let people inspecting the archive know why the sources are missing. Inspired by https://github.com/rust-lang/rust/issues/137332. r? `@onur-ozkan`
2025-02-20Rollup merge of #137338 - onur-ozkan:137332, r=KobzolJubilee-1/+5
skip submodule updating logics on tarballs Running submodule logic on tarballs isn't necessary since git isn't available there. Fixes #137332
2025-02-20Add a notice about missing GCC sources in source tarballsJakub Beránek-0/+11
2025-02-20skip submodule updating logics on tarballsonur-ozkan-1/+5
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-02-20Improve error message when a submodule directory is missing completelyJakub Beránek-1/+1
2025-02-19Rollup merge of #127793 - ChaiTRex:zed_support, r=KobzolMatthias Krüger-39/+65
Added project-specific Zed IDE settings This repository currently has project-specific VS Code IDE settings in `.vscode` and `compiler/rustc_codegen_cranelift/.vscode`. Now there are equivalent project-specific Zed IDE settings alongside those. This fixes `rust-analyzer` not being able to properly handle this project. Note that: 1. The contents of `src/tools/rust-analyzer/.vscode` could not be translated to Zed, as they aren't basic IDE settings. 2. One of the VS Code settings in `.vscode` has no corresponding setting in Zed, and so this has been noted like this: ```json "_settings_only_in_vs_code_not_yet_in_zed": { "git.detectSubmodulesLimit": 20 }, ```
2025-02-19print warning and help messagesonur-ozkan-0/+10
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-02-19add change-entry for tools profile updateonur-ozkan-0/+5
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-02-19set `build.test-stage = 2` for `tools` profileonur-ozkan-0/+2
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-02-18Rollup merge of #137191 - ehuss:update-mdbook, r=jieyouxuMatthias Krüger-15/+0
Update mdbook and move error_index_generator This moves error_index_generator to the rustbook workspace so that it can share the dependency with mdbook. I had forgotten that error_index_generator is using mdbook. This includes a corresponding update to mdbook which avoids a regression in error_index_generator. Closes https://github.com/rust-lang/rust/issues/137052
2025-02-18fix `clippy::len-zero`Josh Stone-1/+1
2025-02-18fix `clippy::doc-overindented-list-items`Josh Stone-4/+4
2025-02-18fix `clippy::double-ended-iterator-last`Josh Stone-1/+1
2025-02-18fix `clippy::unneeded-struct-pattern`Josh Stone-13/+13
2025-02-18update `STAGE0_MISSING_TARGETS`Josh Stone-4/+0
2025-02-18update `cfg(bootstrap)`Josh Stone-12/+3
2025-02-18fix rust-analyzer testsonur-ozkan-0/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-02-18fix cargo testsonur-ozkan-1/+3
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-02-18add test coverage for `tool::get_tool_rustc_compiler`onur-ozkan-0/+30
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-02-18adapt tool module to `ToolBuildResult`onur-ozkan-179/+189
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-02-18document tool implementationsonur-ozkan-0/+18
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-02-18remove manually handled stage offsonur-ozkan-49/+24
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-02-18return `ToolBuildResult` to utilize them from callersonur-ozkan-85/+66
Signed-off-by: onur-ozkan <work@onurozkan.dev>