about summary refs log tree commit diff
path: root/src/bootstrap/defaults
AgeCommit message (Collapse)AuthorLines
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.
2021-04-25Set `backtrace-on-ice` by default for compiler and codegen profilesJoshua Nelson-0/+4
If there's an ICE while bootstrapping, it's most likely because of a change to the compiler.
2021-04-05Add config file for tools enabling stage1 downloads by defaultJoshua Nelson-2/+17
Otherwise no one will be able to find the setting.
2020-10-13Implement "if-available" option for download-ci-llvmAntoine Martin-0/+10
2020-10-04Rename bootstrap/defaults/{config.toml.PROFILE => config.PROFILE.toml}Thom Chiovoloni-0/+0
2020-09-27reduce overlong lineTshepang Lekhonkhobe-1/+2
2020-09-20Add sample defaults for config.tomlJoshua Nelson-0/+51
- Allow including defaults in `src/bootstrap/defaults` using `profile = "..."` - Add default config files - Combine config files using the merge dependency. - Add comments to default config files - Add a README asking to open an issue if the defaults are bad - Give a loud error if trying to merge `.target`, since it's not currently supported - Use an exhaustive match - Use `<none>` in config.toml.example to avoid confusion - Fix bugs in `Merge` derives Previously, it would completely ignore the profile defaults if there were any settings in `config.toml`. I sent an email to the `merge` maintainer asking them to make the behavior in this commit the default. This introduces a new dependency on `merge` that hasn't yet been vetted. I want to improve the output when `include = "x"` isn't found: ``` thread 'main' panicked at 'fs::read_to_string(&file) failed with No such file or directory (os error 2) ("configuration file did not exist")', src/bootstrap/config.rs:522:28 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace failed to run: /home/joshua/rustc/build/bootstrap/debug/bootstrap test tidy Build completed unsuccessfully in 0:00:00 ``` However that seems like it could be fixed in a follow-up.