diff --git a/config.toml.example b/config.toml.example index 33ad9147ce059..5054a8f44b971 100644 --- a/config.toml.example +++ b/config.toml.example @@ -279,6 +279,9 @@ # Whether or not `panic!`s generate backtraces (RUST_BACKTRACE) #backtrace = true +# Whether to always use incremental compilation when building rustc +#incremental = false + # Build rustc with experimental parallelization #experimental-parallel-queries = false diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs index 9840682d1379b..47feb8a8ab66d 100644 --- a/src/bootstrap/config.rs +++ b/src/bootstrap/config.rs @@ -303,6 +303,7 @@ struct Rust { dist_src: Option, quiet_tests: Option, test_miri: Option, + incremental: Option, save_toolstates: Option, codegen_backends: Option>, codegen_backends_dir: Option, @@ -529,6 +530,10 @@ impl Config { set(&mut config.rust_dist_src, rust.dist_src); set(&mut config.quiet_tests, rust.quiet_tests); set(&mut config.test_miri, rust.test_miri); + // in the case "false" is set explicitly, do not overwrite the command line args + if let Some(true) = rust.incremental { + config.incremental = true; + } set(&mut config.wasm_syscall, rust.wasm_syscall); set(&mut config.lld_enabled, rust.lld); config.rustc_parallel_queries = rust.experimental_parallel_queries.unwrap_or(false);