mirror of
https://github.com/rust-lang/rust.git
synced 2025-04-16 05:56:56 +00:00
bootstrap: revert rust.download-rustc
global default to false
And only default library and tools profile to `rust.download-rustc = "if-unchanged"`.
This commit is contained in:
parent
5d3c6ee9b3
commit
aafd56b87a
@ -496,15 +496,18 @@
|
||||
#
|
||||
#debug = false
|
||||
|
||||
# Whether to download the stage 1 and 2 compilers from CI.
|
||||
# This is useful if you are working on tools, doc-comments, or library (you will be able to build
|
||||
# the standard library without needing to build the compiler).
|
||||
# Whether to download the stage 1 and 2 compilers from CI. This is useful if you
|
||||
# are working on tools, doc-comments, or library (you will be able to build the
|
||||
# standard library without needing to build the compiler).
|
||||
#
|
||||
# Set this to "if-unchanged" if you are working on `src/tools`, `tests` or `library` (on CI, `library`
|
||||
# changes triggers in-tree compiler build) to speed up the build process.
|
||||
# Set this to "if-unchanged" if you are working on `src/tools`, `tests` or
|
||||
# `library` (on CI, `library` changes triggers in-tree compiler build) to speed
|
||||
# up the build process if you don't need to build a compiler from the latest
|
||||
# commit from `master`.
|
||||
#
|
||||
# Set this to `true` to always download or `false` to always use the in-tree compiler.
|
||||
#download-rustc = "if-unchanged"
|
||||
# Set this to `true` to always download or `false` to always use the in-tree
|
||||
# compiler.
|
||||
#download-rustc = false
|
||||
|
||||
# Number of codegen units to use for each compiler invocation. A value of 0
|
||||
# means "the number of cores on this machine", and 1+ is passed through to the
|
||||
|
@ -19,6 +19,9 @@ lto = "off"
|
||||
# Forces frame pointers to be used with `-Cforce-frame-pointers`.
|
||||
# This can be helpful for profiling at a small performance cost.
|
||||
frame-pointers = true
|
||||
# Compiler contributors often want to build rustc even without any changes to
|
||||
# e.g. check that it builds locally and check the baseline behavior of a
|
||||
# compiler built from latest `master` commit.
|
||||
download-rustc = false
|
||||
|
||||
[llvm]
|
||||
|
@ -16,6 +16,7 @@ download-ci-llvm = false
|
||||
# We have several defaults in bootstrap that depend on whether the channel is `dev` (e.g. `omit-git-hash` and `download-ci-llvm`).
|
||||
# Make sure they don't get set when installing from source.
|
||||
channel = "nightly"
|
||||
# Never download a rustc, distributions must build a fresh compiler.
|
||||
download-rustc = false
|
||||
lld = true
|
||||
# Build the llvm-bitcode-linker
|
||||
|
@ -10,7 +10,9 @@ bench-stage = 0
|
||||
incremental = true
|
||||
# Make the compiler and standard library faster to build, at the expense of a ~20% runtime slowdown.
|
||||
lto = "off"
|
||||
download-rustc = false
|
||||
# Download rustc by default for library profile if compiler-affecting
|
||||
# directories are not modified. For CI this is disabled.
|
||||
download-rustc = "if-unchanged"
|
||||
|
||||
[llvm]
|
||||
# Will download LLVM from CI if available on your platform.
|
||||
|
@ -3,6 +3,9 @@
|
||||
[rust]
|
||||
# This greatly increases the speed of rebuilds, especially when there are only minor changes. However, it makes the initial build slightly slower.
|
||||
incremental = true
|
||||
# Most commonly, tools contributors do not need to modify the compiler, so
|
||||
# downloading a CI rustc is a good default for tools profile.
|
||||
download-rustc = "if-unchanged"
|
||||
|
||||
[build]
|
||||
# Document with the in-tree rustdoc by default, since `download-rustc` makes it quick to compile.
|
||||
|
@ -2786,8 +2786,12 @@ impl Config {
|
||||
|
||||
// If `download-rustc` is not set, default to rebuilding.
|
||||
let if_unchanged = match download_rustc {
|
||||
None => self.rust_info.is_managed_git_subrepository(),
|
||||
Some(StringOrBool::Bool(false)) => return None,
|
||||
// Globally default for `download-rustc` to `false`, because some contributors don't use
|
||||
// profiles for reasons such as:
|
||||
// - They need to seemlessly switch between compiler/library work.
|
||||
// - They don't want to use compiler profile because they need to override too many
|
||||
// things and it's easier to not use a profile.
|
||||
None | Some(StringOrBool::Bool(false)) => return None,
|
||||
Some(StringOrBool::Bool(true)) => false,
|
||||
Some(StringOrBool::String(s)) if s == "if-unchanged" => {
|
||||
if !self.rust_info.is_managed_git_subrepository() {
|
||||
|
Loading…
Reference in New Issue
Block a user