about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2023-03-12create `config::tests::detect_src_and_out` test for bootstrapozkanonur-2/+33
Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-03-12Rollup merge of #109031 - thomcc:config-example-toml, r=ozkanonurMatthias Krüger-12/+12
Rename `config.toml.example` to `config.example.toml` This had bothered me for a while as it leads to bad (missing) syntax highlighting in most editors I've used, and `@jyn514` suggested I just make the change and that the compatibility concerns I had don't really matter. I suspect it will be a contentious one, so will not be offended if the outcome of this is to close the PR.
2023-03-12Prevent stable `libtest` from supporting `-Zunstable-options`Thom Chiovoloni-0/+6
2023-03-12Rollup merge of #108984 - Teapot4195:issue-106803-fix, r=ozkanonurMatthias Krüger-0/+2
bootstrap: document tidy Enable documentation of tidy, as suggested in #106803. Jyn mentioned they should probably be added to `doc.rust-lang.org`, how should that be done?
2023-03-11Rename `config.toml.example` to `config.example.toml`Thom Chiovoloni-12/+12
2023-03-10bootstrap: document tidyAlex Huang-0/+2
2023-03-10Rollup merge of #108963 - jhheider:fix-CI-non-git-builds, r=albertlarsan68Matthias Krüger-1/+1
only call git on git checkouts during bootstrap fixes https://github.com/rust-lang/rust/issues/108959
2023-03-09only call git on git checkoutsJacob Heider-1/+1
2023-03-09Rollup merge of #108778 - jyn514:quiet-fmt, r=albertlarsan68Matthias Krüger-1/+7
x fmt: Don't print all modified files if there's more than 10 This avoids spam for dozens of modified files. Fixes https://github.com/rust-lang/rust/issues/106920.
2023-03-09Don't print all modified files if there's more than 10Joshua Nelson-1/+7
This avoids spam for dozens of modified files.
2023-03-08Rollup merge of #108898 - ferrocene:pa-libc-check-cfg, r=Mark-SimulacrumMatthias Krüger-0/+9
Set `LIBC_CHECK_CFG=1` when building Rust code in bootstrap Downstream forks of the Rust compiler might want to use a custom `libc` to add support for targets that are not yet available upstream. Adding a patch to replace `libc` with a custom one would cause compilation errors though, because Cargo would interpret the custom `libc` as part of the workspace, and apply the check-cfg lints on it. Since https://github.com/rust-lang/libc/pull/3037, the `libc` build script emits check-cfg flags only when the `LIBC_CHECK_CFG` environment variable is set, so this PR allows the use of custom `libc`s.
2023-03-08set LIBC_CHECK_CFG=1 when building Rust code in bootstrapPietro Albini-0/+9
2023-03-08Auto merge of #108534 - Mark-Simulacrum:compression, r=pietroalbinibors-6/+57
Import rust-installer & adjust compression settings This brings in rust-lang/rust-installer#123, which enables a larger compression window (8 -> 64MB) amongst other changes to the xz compression settings. The net effect should be smaller compressed tarballs which will decrease bandwidth usage for static.rust-lang.org, download times, and decompression time. This comes at the cost of higher baseline requirements for running rustup to use these files, which we believe should be largely acceptable (running rustc is likely to use at least this much memory) but if we get specific reports we may explore options to decrease impact (e.g., using the gzip tarballs automatically in rustup). To simplify iteration on compression settings this also imports the rust-lang/rust-installer submodule, it is now hosted fully inside rust-lang/rust. Once we land this I'll file a followup to add a note to that repo and we can subsequently archive it. -- CI times for dist-x86_64-linux builds: * threads=6, master - 2h 50m * threads=1, new - 3h 40m * threads=6, new - 2h 50m
2023-03-07Rollup merge of #108866 - Kohei316:master, r=ozkanonurMatthias Krüger-2/+13
Force to use the stage 2 compiler when config.download_rustc is set Fixes #108768
2023-03-07Rollup merge of #108581 - jfgoog:include-mingw-linker, r=petrochenkovMatthias Krüger-2/+6
Add a new config flag, dist.include-mingw-linker. The flag controls whether to copy the linker, DLLs, and various libraries from MinGW into the rustc toolchain. It applies only when the host or target is pc-windows-gnu. The flag is true by default to preserve existing behavior.
2023-03-08Add force to use the stage 2 compiler in compiler_for when ↵morine0122-2/+13
config.download_rustc is set
2023-03-07Rollup merge of #108619 - jyn514:llvm-version-check, r=cuviperYuki Okushi-9/+1
Remove the option to disable `llvm-version-check` We don't support old versions of LLVM; there's no reason to have an easy way to force bootstrap to use them anyway. If someone really needs to use an unsupported version, they can modify bootstrap to change the version range. r? ``@cuviper`` on whether we want to do this or not, since you maintain rust on Fedora and touched this config last.
2023-03-07Add bootstrap support for rust-installerMark Rousskov-6/+57
2023-03-07switch to termcolorPietro Albini-47/+78
2023-03-06fix name of the field containing the ignore reasonPietro Albini-3/+3
2023-03-05Rollup merge of #108776 - jyn514:quiet-tidy, r=ozkanonurMatthias Krüger-2/+4
Make `x test tidy` less noisy Before: ``` Building tool tidy (stage0) Finished release [optimized + debuginfo] target(s) in 0.29s fmt check skip untracked path chrome_profiler.json during rustfmt invocations skip untracked path query_impl-default,args.mm_profdata during rustfmt invocations skip untracked path query_impl-llvm.txt during rustfmt invocations skip untracked path query_impl-mono_items.txt during rustfmt invocations skip untracked path query_impl-summarize.txt during rustfmt invocations skip untracked path rustc.svg during rustfmt invocations skip untracked path rustc_middle.mono_items.json during rustfmt invocations skip untracked path rustc_middle.mono_items.md during rustfmt invocations skip untracked path rustc_query_impl.mono_items-thread_local_attr.json during rustfmt invocations skip untracked path rustc_query_impl.mono_items-thread_local_macro.json during rustfmt invocations skip untracked path rustc_query_impl.mono_items.md during rustfmt invocations tidy check Found 505 error codes Highest error code: `E0793` * 397 features Ensuring the YAML anchors in the GitHub Actions config were expanded Building tool expand-yaml-anchors (stage0) Finished release [optimized + debuginfo] target(s) in 0.14s Build completed successfully in 0:00:54 ``` After: ``` Building tool tidy (stage0) Finished release [optimized + debuginfo] target(s) in 2.24s fmt check tidy check Ensuring the YAML anchors in the GitHub Actions config were expanded Building tool expand-yaml-anchors (stage0) Finished release [optimized + debuginfo] target(s) in 0.14s Build completed successfully in 0:00:04 ```
2023-03-05Rollup merge of #108773 - jyn514:faster-tidy-fmt, r=albertlarsan68Matthias Krüger-1/+5
x fmt: Only check modified files locally Previously, `x fmt` would only format modified files, while `x fmt .` and `x fmt --check` would still look at all files. After this change, `x fmt --check` only looks at modified files locally. I feel pretty confident in this change - other than https://github.com/rust-lang/rust/issues/106261, no one has reported bugs in `get_modified_rs_files` since it was added in https://github.com/rust-lang/rust/pull/105702. Combined with the changes in https://github.com/rust-lang/rust/pull/108772, this brings the time for me to run `x t tidy` with a hot FS cache down from 5 to 2 seconds (and moves the majority of the time spent back to `tidy check`, which means it can be sped up more in the future).
2023-03-05Make `x test tidy` less noisyJoshua Nelson-2/+4
Before: ``` Building tool tidy (stage0) Finished release [optimized + debuginfo] target(s) in 0.29s fmt check skip untracked path chrome_profiler.json during rustfmt invocations skip untracked path query_impl-default,args.mm_profdata during rustfmt invocations skip untracked path query_impl-llvm.txt during rustfmt invocations skip untracked path query_impl-mono_items.txt during rustfmt invocations skip untracked path query_impl-summarize.txt during rustfmt invocations skip untracked path rustc.svg during rustfmt invocations skip untracked path rustc_middle.mono_items.json during rustfmt invocations skip untracked path rustc_middle.mono_items.md during rustfmt invocations skip untracked path rustc_query_impl.mono_items-thread_local_attr.json during rustfmt invocations skip untracked path rustc_query_impl.mono_items-thread_local_macro.json during rustfmt invocations skip untracked path rustc_query_impl.mono_items.md during rustfmt invocations tidy check Found 505 error codes Highest error code: `E0793` * 397 features Ensuring the YAML anchors in the GitHub Actions config were expanded Building tool expand-yaml-anchors (stage0) Finished release [optimized + debuginfo] target(s) in 0.14s Build completed successfully in 0:00:54 ``` After: ``` Building tool tidy (stage0) Finished release [optimized + debuginfo] target(s) in 2.24s fmt check tidy check Ensuring the YAML anchors in the GitHub Actions config were expanded Building tool expand-yaml-anchors (stage0) Finished release [optimized + debuginfo] target(s) in 0.14s Build completed successfully in 0:00:04 ```
2023-03-05Remove the option to disable `llvm-version-check`Joshua Nelson-9/+1
We don't support old versions of LLVM; there's no reason to have an easy way to force bootstrap to use them anyway. If someone really needs to use an unsupported version, they can modify bootstrap to change the version range.
2023-03-05x fmt: Only check modified files locallyJoshua Nelson-1/+5
Previously, `x fmt` would only format modified files, while `x fmt .` and `x fmt --check` would still look at all files. After this change, `x fmt --check` only looks at modified files locally. I feel pretty confident in this change - other than https://github.com/rust-lang/rust/issues/106261, no one has reported bugs in `get_modified_rs_files` since it was added in https://github.com/rust-lang/rust/pull/105702.
2023-03-05Rollup merge of #108618 - KittyBorgX:master, r=Mark-SimulacrumMatthias Krüger-8/+8
Rename `src/etc/vscode_settings.json` to `rust_analyzer_settings.json` Fixes https://github.com/rust-lang/rust/issues/108614
2023-03-05Rollup merge of #108616 - jyn514:sync-codegen, r=albertlarsan68Matthias Krüger-0/+2
Sync codegen defaults with compiler defaults and add a ping message so they stay in sync Looks like this got missed in https://github.com/rust-lang/rust/pull/107241.
2023-03-05Rollup merge of #108613 - jyn514:rm-skip-rebuild, r=Mark-SimulacrumMatthias Krüger-31/+0
Remove `llvm.skip-rebuild` option This was added to in 2019 to speed up rebuild times when LLVM was modified. Now that download-ci-llvm exists, I don't think it makes sense to support an unsound option like this that can lead to miscompiles; and the code cleanup is nice too. r? `@Mark-Simulacrum` cc `@varkor` #65612
2023-03-05Sync codegen defaults with compiler defaults and add a ping message so they ↵Joshua Nelson-0/+2
stay in sync
2023-03-05Auto merge of #107723 - Kobzol:bootstrap-bolt, r=Mark-Simulacrumbors-42/+143
Apply BOLT optimizations without rebuilding LLVM This PR adds an explicit BOLT bootstrap step which applies BOLT on the fly when LLVM artifacts are copied to a sysroot (it only does this once per bootstrap invocation, the result is cached). This avoids one LLVM rebuild in the Linux CI dist build. r? `@jyn514`
2023-03-04Rollup merge of #108632 - Teapot4195:issue-108612-fix, r=ozkanonurMatthias Krüger-4/+18
Omit unchanged options from config.toml in `configure.py` Leaves section tags, but removes options that are unchanged. Change in `config.toml.example` is to prevent comments from sneaking in by being directly after a section tag closes #108612
2023-03-04Add comment on what libs should be in target_libsChris Denton-0/+3
2023-03-04Add check for dry runJakub Beránek-5/+1
2023-03-04Create BOLT build steps to avoid running BOLT multiple times on the same fileJakub Beránek-19/+127
2023-03-04Apply BOLT optimizations without rebuilding LLVMJakub Beránek-35/+32
2023-03-03./configure script should only show blocks (and associated comments) where ↵Alex Huang-4/+18
it is not default
2023-03-03change approach to prevent interleaving compiletest messagePietro Albini-6/+1
2023-03-03handle non-json output in stdoutPietro Albini-6/+13
2023-03-02Rollup merge of #108644 - KittyBorgX:hashmap-toml, r=albertlarsan68Matthias Krüger-0/+2
Allow setting hashmap toml values in `./configure` Fixes https://github.com/rust-lang/rust/issues/108621
2023-03-02do not use render_tests for clippyPietro Albini-1/+1
Behind the scenes Clippy uses compiletest-rs, which doesn't support the --json flag we added to Rust's compiletest.
2023-03-02avoid overlapping stderrPietro Albini-5/+11
2023-03-02switch all tests to use render_testsPietro Albini-23/+27
2023-03-02add support for benchmarksPietro Albini-4/+49
2023-03-02record tests in build metricsPietro Albini-5/+52
2023-03-02add a splash of colorPietro Albini-29/+82
2023-03-02add support for terse outputPietro Albini-7/+56
2023-03-02render compiletest output with render_testsPietro Albini-5/+224
2023-03-02Allow setting hashmap toml values in `./configure`KittyBorgX-0/+2
2023-03-02Auto merge of #107879 - icedrocket:update-llvm, r=cuviperbors-9/+17
Update LLVM submodule Fixes #105626
2023-03-01Rollup merge of #108394 - ferrocene:pa-open, r=ozkanonurDylan DPC-15/+20
Make `x doc --open` work on every book Before this PR, the `--open` flag had to be configured explicitly for every book, and most of them didn't configure it, resulting in the flag silently failing in all but two books. In this PR, the code to check for the `--open` flag is in the underlying `RustbookSrc` step rather than all the individual steps. This is done by passing the parent step as a field of `RustbookSrc`, so that we can check for the correct step in `maybe_open_in_browser`. This was part of a larger change that in the end wasn't worth it. Still, I think it could be useful as-is.