about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2024-12-04Rollup merge of #133817 - clubby789:bootstrap-eprintln, r=jieyouxuMatthias Krüger-140/+144
Use `eprintln` instead of `println` in bootstrap/compiletest/tidy A big unconditional CTRL-F replace to start with to check if there's anything that CI expects to be on stdout r? `@jieyouxu`
2024-12-03bootstrap: `println!` -> `eprintln!`clubby789-140/+144
2024-12-03Rollup merge of #133696 - RalfJung:const-hashmap, r=cuviperMatthias Krüger-0/+4
stabilize const_collections_with_hasher and build_hasher_default_const_new After a lot of preparatory work, finally we can stabilize creating `HashMap` in const context. :) FCP for const_collections_with_hasher passed in https://github.com/rust-lang/rust/issues/102575. Fixes https://github.com/rust-lang/rust/issues/102575. FCP for build_hasher_default_const_new passed in https://github.com/rust-lang/rust/issues/123197. Fixes https://github.com/rust-lang/rust/issues/123197. Cc `@Amanieu` Release notes: https://github.com/rust-lang/rust/issues/133347
2024-12-03Rollup merge of #133545 - clubby789:symbol-intern-lit, r=jieyouxuMatthias Krüger-0/+9
Lint against Symbol::intern on a string literal Disabled in tests where this doesn't make much sense
2024-12-03./x miri: fix sysroot buildRalf Jung-0/+4
2024-12-03Rollup merge of #132723 - jieyouxu:sysroot-dance-dance-revolution, r=onur-ozkanMatthias Krüger-45/+96
Unify `sysroot_target_{bin,lib}dir` handling Follow-up to https://github.com/rust-lang/rust/pull/131405#discussion_r1826558962 where `sysroot_target_bindir` had to do some dancing because the sysroot ensure logic embedded in `sysroot_target_libdir` returned `$sysroot/$relative_lib/rustlib/$target/lib` and not the `rustlib` parent `$sysroot/$relative_lib/rustlib/`. This PR pulls out the sysroot ensure logic into a helper, and return `$sysroot/$relative_lib/rustlib/` instead so `sysroot_target_bindir` doesn't have to do parent traversal from the path returned from `sysroot_target_libdir`, and also make them easier to follow in that they are now clearly closely related based on the common target sysroot ensure logic.
2024-12-02Rollup merge of #133705 - onur-ozkan:profiler-check, r=jieyouxuGuillaume Gomez-24/+51
add "profiler" and "optimized-compiler-builtins" option coverage for ci-rustc Adds "profiler" and "optimized-compiler-builtins" option coverage in CI-rustc config compatibility check. Resolves #133675
2024-12-02include LLDB and GDB visualizers in MSVC distributionWalnut-14/+14
2024-12-02add "optimized-compiler-builtins" option coverage for ci-rustconur-ozkan-6/+11
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-12-02Unify `sysroot_target_{bin,lib}dir` handlingJieyou Xu-45/+96
2024-12-01Rollup merge of #133712 - RalfJung:rust_analyzer_settings, r=jieyouxuJacob Pratt-0/+1
rust_analyzer_settings: force use of 'nightly' toolchain The cranelift folder contains a rust-toolchain file. That means when RA opens `compiler/rustc_codegen_cranelift/Cargo.toml`, it will try to use that toolchain or fail. (Maybe that toolchain gets auto-installed for others? On my system, it just fails, but I also run vscodium in a sandbox.) However, it shouldn't be necessary to use more than one toolchain for the rustc workspace. So we can set the `RUSTUP_TOOLCHAIN` variable on the server side to force the same toolchain to be used everywhere. Suggested by `@ChayimFriedman2` in https://github.com/rust-lang/rust-analyzer/issues/18585.
2024-12-01rust_analyzer_settings: force use of 'nightly' toolchainRalf Jung-0/+1
2024-12-01add "profiler" option coverage for ci-rustconur-ozkan-24/+46
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-12-01Auto merge of #132390 - RalfJung:diagnostics-root-dir, ↵bors-4/+9
r=albertlarsan68,weihanglo bootstrap: show diagnostics relative to rustc src dir Fixes https://github.com/rust-lang/rust/issues/128726 Depends on https://github.com/rust-lang/cargo/pull/14752 propagating to bootstrap cargo
2024-12-01fix cargo path logicRalf Jung-3/+4
2024-11-30Auto merge of #133684 - RalfJung:rollup-j2tmrg7, r=RalfJungbors-3/+1
Rollup of 6 pull requests Successful merges: - #131698 (use stores of the correct size to set discriminants) - #133571 (Mark visionOS as supporting `std`) - #133655 (Eliminate print_expr_maybe_paren function from pretty printers) - #133667 (Remove unused code) - #133670 (bump hashbrown version) - #133673 (replace hard coded error id with `ErrorKind::DirectoryNotEmpty`) r? `@ghost` `@rustbot` modify labels: rollup
2024-11-30Rollup merge of #133673 - onur-ozkan:windows-fixme, r=KobzolRalf Jung-3/+1
replace hard coded error id with `ErrorKind::DirectoryNotEmpty` Resolves an internal bootstrap FIXME.
2024-11-30Auto merge of #133659 - jieyouxu:rollup-576gh4p, r=jieyouxubors-3/+5
Rollup of 6 pull requests Successful merges: - #131551 (Support input/output in vector registers of PowerPC inline assembly) - #132515 (Fix and undeprecate home_dir()) - #132721 (CI: split x86_64-mingw job) - #133106 (changes old intrinsic declaration to new declaration) - #133496 (thread::available_parallelism for wasm32-wasip1-threads) - #133548 (Add `BTreeSet` entry APIs to match `HashSet`) r? `@ghost` `@rustbot` modify labels: rollup
2024-11-30replace hard coded error id with `ErrorKind::DirectoryNotEmpty`onur-ozkan-3/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-11-30bootstrap: show diagnostics relative to rustc src dirRalf Jung-1/+5
2024-11-30Rollup merge of #132721 - MarcoIeni:mingw-split, r=Kobzol许杰友 Jieyou Xu (Joe)-3/+5
CI: split x86_64-mingw job try-job: x86_64-mingw-1 try-job: x86_64-mingw-2
2024-11-30Rollup merge of #132750 - daltenty:daltenty/libs, r=jieyouxu许杰友 Jieyou Xu (Joe)-1/+1
[AIX] handle libunwind native_libs AIX should follow a similar path here to other libunwind platforms, with regards to system vs in-tree libunwind and the native lib search directories. Having the right native lib search directories here is also required to get the correct default library search paths, due to some quirks of the AIX linker.
2024-11-29Auto merge of #133533 - BoxyUwU:bump-boostrap, r=jieyouxu,Mark-Simulacrumbors-25/+25
Bump boostrap compiler to new beta Currently failing due to something about the const stability checks and `panic!`. I'm not sure why though since I wasn't able to see any PRs merged in the past few days that would result in a `cfg(bootstrap)` that shouldn't be removed. cc `@RalfJung` #131349
2024-11-29Cargo patchBoxy-2/+9
2024-11-29CI: split x86_64-mingw jobMarcoIeni-3/+5
2024-11-29Rollup merge of #133492 - MarcoIeni:bootstrap-path-check, r=onur-ozkanMatthias Krüger-5/+5
bootstrap: allow skipping steps with start of path
2024-11-29Rollup merge of #132782 - onur-ozkan:cleanup, r=jieyouxuMatthias Krüger-54/+24
improvements on initial sysroot and libdir finding logics Stabilized initial sysroot and libdir path resolution logic to work without dry-run conditions and utilized initial sysroot more broadly.
2024-11-28Implement lint against `Symbol::intern` on a string literalclubby789-0/+9
2024-11-28bootstrap: allow skipping steps with start of pathMarcoIeni-5/+5
2024-11-27print generated doc pathsonur-ozkan-1/+5
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-11-27clippy lintsBoxy-23/+16
2024-11-27Rollup merge of #133453 - ferrocene:check-license-metadata, r=KobzolMatthias Krüger-4/+35
Commit license-metadata.json to git and check it's correct in CI This PR adds `license-metadata.json` to the root of the git repo, and changes `mingw-check` to check that the file is still up-to-date. By committing this file, we remove the need for developers to a) have reuse installed or b) run an expensive ~90 second analysis of the files on disk when they want generate the COPYRIGHT.html files which depend on this license metadata. The file will need updating whenever `REUSE.toml` changes, or when git submodules are added, or when git submodules change their license information (as detected by REUSE). You can now run: * `./x run collect-license-metadata` to update the `./license-metadata.json` file * `./x test collect-license-metadata` to test the `./license-metadata.json` file for correctness The comparison is done with two `serde_json::Value` objects, so the map objects they contain should ignore differences in ordering.
2024-11-27Rollup merge of #132979 - onur-ozkan:skip-exact, r=jieyouxu,tgross35Matthias Krüger-7/+2
use `--exact` on `--skip` to avoid unintended substring matches Without the `--exact` flag, using `--skip tests/rustdoc` can unintentionally skip other tests that match as substrings such as `rustdoc-gui`, `rustdoc-js`, etc. For debugging, run: `./x.py --stage 2 test rustdoc-ui --skip tests/rustdoc` and `./x.py --stage 2 test rustdoc-ui --skip tests/rustdoc -- --exact` Resolves https://github.com/rust-lang/rust/issues/117721 try-job: x86_64-apple-1
2024-11-26don't pass every test arg to test-float-parseonur-ozkan-6/+2
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-11-25use ReadCache for archive loadingHenry Jiang-8/+8
2024-11-25generate-copyright: Use license-metadata.json from git.Jonathan Pallant-2/+1
2024-11-25collect-license-metadata: move JSON to root, and add a 'check' modeJonathan Pallant-2/+34
2024-11-24Auto merge of #133068 - jieyouxu:download-rustc-default-only-for-tools, ↵bors-5/+61
r=clubby789 Use `download-rustc=false` global default, `if-unchanged` for tools and library profiles, and make `rust.debug-assertions=true` inhibit downloading CI rustc - Use `download-rustc = false` as global default. - Use `download-rustc = 'if-unchanged'` for tools and library profiles. - Make `rust.debug-assertions = true` inhibit downloading CI rustc because alt rustc builds do not yet have rustc debug assertions enabled. Fixes #133132. cc discussions: https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/Bootstrap.20breakage compiler contributors poll: https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/.60download-rustc.20.3D.20'if-unchanged'.60.20for.20.60compiler.60.20profile.3F/near/481877253 library contributors poll: https://rust-lang.zulipchat.com/#narrow/channel/219381-t-libs/topic/.60download-rustc.20.3D.20.22if-unchanged.22.60.20default.20for.20libs.20profile.3F/near/482607011 cc https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/When.20is.20rustc.20built.20with.20debug.20assertions.3F cc `@MarcoIeni` since you're working on improving CI job times, sorry, this will definitely regress some CI job times because we're probably lying to ourselves that CI rustc had debug assertions for some time 😅 cc `@onur-ozkan` for FYI, but since you're on vacation (sorry for the ping), r? `@Kobzol` (I *think* you have a bit more context than other bootstrap reviewers?)
2024-11-23Vendor `trpl` crate so The Book tests work offlineChris Krycho-0/+1
Without this change: $ ./x test --set build.vendor=true src/doc/book # (lots of output) error: failed to select a version for the requirement `futures = "^0.3"` (locked to 0.3.30) candidate versions found which didn't match: 0.3.31, 0.3.27 location searched: directory source `/Users/chris/dev/rust-lang/rust/vendor` (which is replacing registry `crates-io`) required by package `trpl v0.2.0 (/Users/chris/dev/rust-lang/rust/src/doc/book/packages/trpl)` perhaps a crate was updated and forgotten to be re-vendored? Build completed unsuccessfully in 0:01:19 With this change: $ ./x test --set build.vendor=true src/doc/book # (lots of build output) Testing stage1 mdbook src/doc/book (aarch64-apple-darwin) finished in 86.949 seconds Build completed successfully in 0:04:05 # Conflicts: # src/bootstrap/src/core/build_steps/vendor.rs
2024-11-23bootstrap: add change tracker entryJieyou Xu-0/+5
2024-11-23Update bootstrap tests to support book dependenciesChris Krycho-1/+66
Since TRPL now depends on a `trpl` crate, the test needs to be able to build that crate to run mdbook against it, and also to invoke mdbook with `--library-path` in that case. Use the support for that flag added to `rustbook` in the previous change to invoke it with the path to the dependencies it will need to run `rustdoc` tests which reference `trpl`. Co-authored-by: Onur Özkan <onurozkan.dev@outlook.com>
2024-11-23bootstrap: make `rust.debug-assertions = true` inhibit downloading CI rustcJieyou Xu-4/+42
Warn if `rust.download-rustc = true` is used with `rust.debug-assertions` as alt CI rustc is not currently built with debug assertions (not to be confused with LLVM assertions).
2024-11-23bootstrap: revert `rust.download-rustc` global default to `false`Jieyou Xu-3/+16
And only default library and tools profile to `rust.download-rustc = "if-unchanged"`.
2024-11-23Auto merge of #132994 - clubby789:cc-bisect, r=Kobzolbors-158/+174
Update `cc` + bump bootstrap deps https://github.com/rust-lang/rust/pull/132556#issuecomment-2471741435 note: The compiler/library/tools cc bumps have been tested with a try job, the bootstrap changes have not
2024-11-22Rollup merge of #133215 - ehuss:fix-vendor-rustc-perf, r=kobzolMichael Goulet-22/+27
Fix missing submodule in `./x vendor` The `src/tools/rustc-perf` submodule is needed for vendoring because it is included in the vendor set. To test this: 1. Get a fresh clone of `rust-lang/rust` 2. `./x vendor`
2024-11-22Rollup merge of #133208 - ferrocene:split-copyright-html, r=KobzolMichael Goulet-1/+2
generate-copyright: Now generates a library file too. We only run reuse once, so the output has to be filtered to find only the files that are relevant to the library tree. Outputs COPYRIGHT.html and COPYRIGHT-library.html. The license-metadata.json file is also now in the tree. We need a CI tool to check that it's correct. r? kobzol Remaining steps: * [ ] Teach CI to double-check the license-metadata.json file is correct * [ ] Add the COPYRIGHT.html and COPYRIGHT-license.html to the releases
2024-11-21Keep list of submodules close to list of vendored workspacesEric Huss-24/+27
This moves the list of submodules needed to vendor close to the list of cargo workspaces with the intent to help ensure they keep up-to-date and in sync.
2024-11-21aix: fix archive formatHenry Jiang-15/+31
fmt fix cfg for windows remove unused imports address comments update libc to 0.2.164 fmt remove unused imports
2024-11-21generate-copyright: Now generates a library file too.Jonathan Pallant-1/+2
We only run reuse once, so the output has to be filtered to find only the files that are relevant to the library tree. Outputs build/COPYRIGHT.html and build/COPYRIGHT-library.html.
2024-11-19Fix missing submodule in `./x vendor`Eric Huss-1/+3
The `src/tools/rustc-perf` submodule is needed for vendoring because it is included in the vendor set.