about summary refs log tree commit diff
path: root/src/bootstrap/defaults
AgeCommit message (Collapse)AuthorLines
2025-09-30Remove usage of `compiletest-use-stage0-libtest` from CIJakub Beránek-2/+0
2025-09-11Change the default value of `gcc.download-ci-gcc` to `true`Jakub Beránek-0/+4
2025-07-28bootstrap: enable tidy auto extra checks on tools profilebinarycat-0/+2
2025-07-07Disable download-rustc for library profilenora-1/+2
The feature currently completely breaks `x test`, core functionality of working on the standard library. Therefore it should be disabled by default until that problem is fixed. Having to wait a bit longer for a check build is nothing compared to completely mysterious build errors when testing.
2025-07-06Make default check stage be 1, and error out on checking with stage 0Jakub Beránek-1/+0
2025-07-01Do not enable LLD by default in the dist profileJakub Beránek-1/+0
2025-06-23Do not allow building anything on stage 0Jakub Beránek-1/+0
2025-06-03make library profile to use stage 1 on `x check`onur-ozkan-1/+2
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-05-30improve comments and docsonur-ozkan-3/+4
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-05-30update stage defaultsonur-ozkan-3/+3
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-05-12Silence warning in default compiler bootstrap settingsYotam Ofek-2/+0
2025-04-11Rollup merge of #139574 - onur-ozkan:better-channel-handling, r=onur-ozkanStuart Cook-1/+1
bootstrap: improve `channel` handling Fixes https://github.com/rust-lang/rust/issues/139569 See [this comment](https://github.com/rust-lang/rust/pull/139574#discussion_r2034611993) for the explanation of this bug.
2025-04-09set `rust.channel` to "auto-detect" for `dist` profileonur-ozkan-1/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-04-07enable in-tree std on some runnersonur-ozkan-0/+2
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-03-17change config.toml to bootstrap.toml for bootstrap modulebit-aloo-0/+0
2025-02-19set `build.test-stage = 2` for `tools` profileonur-ozkan-0/+2
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-01-19Add debug assertions to compiler profileNoratrieb-0/+2
Working on the compiler without debug assertions is not a very productive way to work on the compiler.
2024-11-23bootstrap: revert `rust.download-rustc` global default to `false`Jieyou Xu-1/+10
And only default library and tools profile to `rust.download-rustc = "if-unchanged"`.
2024-11-13disable precompiled rustc for "library" and "compiler" profilesonur-ozkan-0/+2
There is an ongoing discussion about this on Zulip and for now we want to keep these disabled. Zulip thread: 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 Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-11-13Reapply "Rollup merge of #132772 - onur-ozkan:download-rustc-default, ↵onur-ozkan-8/+1
r=jieyouxu" This reverts commit c0cee4e36b5f0964bdeb2ac12cfd9002addb51cc.
2024-11-10Revert "Rollup merge of #132772 - onur-ozkan:download-rustc-default, r=jieyouxu"Jieyou Xu-1/+8
This reverts commit c435fa8c4b55f0f8ef8e2e839ce7de960613267e, reversing changes made to 88acd493f9dbbc8228db2b123c9b4132a995de92. Seems to have unintentionally omitted commit hash leading to <https://github.com/rust-lang/rust/pull/132772>.
2024-11-08respect to global `download-rustc` default in non-dist profilesonur-ozkan-8/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-11-02make `download-rustc="if-unchanged"` default for library profileonur-ozkan-1/+4
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-09-10force ci-llvm by default on library and tools profilesonur-ozkan-2/+4
It's very rare for developers to need to modify LLVM, so "if-unchanged" isn't a good default since it fetches the LLVM submodule to track changes. Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-09-06Make `download-ci-llvm = true` check if CI llvm is availableUrgau-1/+2
and make it the default for the compiler profile, as to prevent unnecessarily checking out `src/llvm-project` with `"if-unchanged"`.
2024-07-18remove `debug-logging` default from tools profileonur-ozkan-4/+0
`debug-logging` conflicts with `download-rustc` option, and doesn't really make sense to enable it for a profile that is used for tool development. Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-06-28add `lld = true` to default dist profileonur-ozkan-0/+1
Make sure lld is enabled for dist profile unless it is explicitly disabled. Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-06-14Do not enable `llvm-bitcode-linker` in most default bootstrap profilesJakub Beránek-7/+1
2024-05-15Set `debuginfo-level = "line-tables-only"` for compiler profileJubilee Young-0/+2
This profile has only undergone minimal tweaks since it was originally drafted. I asked a number of compiler contributors and they said they set rust.debug explicitly. This was even true for one contributor that set `rust.debug` = false! Almost everyone seems slightly surprised that `rust.debug = true` is not the default. However, adding full debuginfo at this level costs multiple gigabytes! We can still get much better debuginfo by setting "line-tables-only" at the cost of only 150~200 MB.
2024-03-11Bootstrap: Add argument for building llvm bitcode linkerKjetil Kjeka-0/+8
2024-02-22set `llvm.assertions` to false in compiler profileonur-ozkan-3/+3
Having this set to true disrupts compiler development workflows for people who use `llvm.download-ci-llvm = true` because we don't provide ci-llvm on the `rustc-alt-builds` server. Therefore, it is kept off by default. Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-02-19Remove the "codegen" profile from bootstrapNilstrieb-28/+5
This profile originally made sense when download-ci-llvm = if-unchanged didn't exist and we had the bad tradeoff of "never modify or always compile". Thankfully, these grim times are over and we have discovered clean water, so the only differentiator between the two profiles is the codegen profile having LLVM assertions. Adding them doesn't cause that much of a slowdown, <10% on UI tests from an unscientific benchmark. It also had LLVM warnings when compiling, which makes sense for every compiler contributor brave enough to compile LLVM. The way I removed is by just issueing a nice error message. Given that everyone with this profile should be a contributor and not someone like a distro who is more upset when things break, this should be fine. If it isn't, we can always fall back to just letting codegen mean compiler.
2024-02-18Add `rust.frame-pointers` config optionNilstrieb-0/+6
This is very helpful for profiling. I've hacked this in many times, so let's add it properly.
2023-11-11merge `if-available` and `if-unchanged` for `download-ci-llvm`onur-ozkan-3/+3
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-11-08Fix issue #110087LuuuX-1/+1
Three tasks have been implemented here. Add a new `download-ci-llvm = if-unchange` option and enable if by default for `profile = codegen`. Include all build artifacts by traversing the llvm-project build output, Keep the downloadable llvm the same state as if you have just run a full source build. After selecting the codegen profile during ./x.py setup, the submodule will be automatically downloaded.
2023-06-29Set `channel = nightly` in dist profilejyn-0/+3
2023-06-26bootstrap: rename 'user' profile to 'dist'clubby789-0/+0
2023-06-10Improve documentation for `tools` profileZachary Whiteley-0/+2
Make the build process more beginner friendly: - Include information explaining that the stage2 toolchain should be used (and not the stage1 toolchain) due to the `download-rustc` setting. - Display a message when the user runs `x setup tools` explaining that they should use the stage2 toolchain.
2023-04-08Make "codegen" config.toml profile build llvmMatt Harding-0/+2
2023-03-27More config.toml.example cleanupsJoshua Nelson-1/+3
- Link to more documentation - Move `changelog-seen` into the "Global Settings" section - Update incorrect comments on `llvm.link-shared` and `rust.debug-assertions` - Use the correct default in the commented-out example more often - Clarify that `docs` and `compiler-docs` only control the default, they're not a hard-off switch. - Document `-vvv` and `local-rebuild` - Minor improvements to doc-comments in config.toml.example This also sets `download-rustc = false`; that was already the default, but it will be helpful in case the default changes (https://jyn.dev/2023/01/12/Bootstrapping-Rust-in-2023.html).
2023-03-21Rollup merge of #109124 - ferrocene:pa-compression-mode, r=Mark-Simulacrumnils-0/+4
Add `dist.compression-profile` option to control compression speed PR #108534 reduced the size of compressed archives, but (as expected) it also resulted in way longer compression times and memory usage during compression. It's desirable to keep status quo (smaller archives but more CI usage), but it should also be configurable so that downstream users don't have to waste that much time on CI. As a data point, this resulted in doubling the time of Ferrocene's dist jobs, and required us to increase the RAM allocation for one of such jobs. This PR adds a new `config.toml` setting, `dist.compression-profile`. The values can be: * `fast`: equivalent to the gzip and xz preset of "1" * `balanced`: equivalent to the gzip and xz preset of "6" (the CLI defaults as far as I'm aware) * `best`: equivalent to the gzip present of "9", and our custom xz profile The default has also been moved back to `balanced`, to try and avoid the compression time regression for downstream users. I don't feel too strongly on the default, and I'm open to changing it. Also, for the `best` profile the XZ settings do not match the "9" preset used by the CLI, and it might be confusing. Should we create a `custom-rustc-ci`/`ultra` profile for that? r? ``@Mark-Simulacrum``
2023-03-21change default to fast for everyone but the user profilePietro Albini-0/+4
2023-03-15add `enable-warnings` flag for llvmozkanonur-0/+2
Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-03-05Sync codegen defaults with compiler defaults and add a ping message so they ↵Joshua Nelson-0/+2
stay in sync
2023-01-26Add `rust.lto=off` to bootstrapclubby789-0/+4
2022-11-19Set `download-ci-llvm = "if-available"` by default when `channel = "dev"`Joshua Nelson-0/+4
See https://github.com/rust-lang/compiler-team/issues/566. The motivation for changing the default is to avoid downloading and building LLVM when someone runs `x build` before running `x setup`. The motivation for only doing it on `channel = "dev"` is to avoid breaking distros or users installing from source. It works because `dev` is also the default channel. The diff looks larger than it is; most of it is moving the `llvm` branch below the `rust` so `config.channel` is set.
2022-05-05Enable compiler-docs by default for `compiler`, `codegen`, and `tools` profiles.Joshua Nelson-0/+10
2021-12-09Default to `doc-stage = 2` for the tools profileJoshua Nelson-0/+4
This already enables `download-rustc`, so it's quick to build rustdoc, and this makes it less confusing when changes to rustdoc aren't reflected in the docs. Note that this uses 2 and not 1 because `download-rustc` only affects stage 2 runs.
2021-09-30bootstrap: Update comment (again) in config.library.tomlBen Reeves-1/+0
2021-09-30bootstrap: Update comment in config.library.toml.Ben Reeves-1/+1
Downloading LLVM from CI works for all platforms now.