diff --git a/config.toml.example b/config.toml.example index 848147c2974c1..d6a5c5a3b92a4 100644 --- a/config.toml.example +++ b/config.toml.example @@ -258,10 +258,9 @@ [rust] # Whether or not to optimize the compiler and standard library. -# -# Note: the slowness of the non optimized compiler compiling itself usually -# outweighs the time gains in not doing optimizations, therefore a -# full bootstrap takes much more time with `optimize` set to false. +# WARNING: Building with optimize = false is NOT SUPPORTED. Due to bootstrapping, +# building without optimizations takes much longer than optimizing. Further, some platforms +# fail to build without this optimization (c.f. #65352). #optimize = true # Indicates that the build should be configured for debugging Rust. A @@ -341,6 +340,9 @@ # nightly features #channel = "dev" +# The root location of the MUSL installation directory. +#musl-root = "..." + # By default the `rustc` executable is built with `-Wl,-rpath` flags on Unix # platforms to ensure that the compiler is usable by default from the build # directory (as it links to a number of dynamic libraries). This may not be diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs index 52b5cd888df9c..ef6253903e97c 100644 --- a/src/bootstrap/config.rs +++ b/src/bootstrap/config.rs @@ -200,16 +200,15 @@ struct Build { target: Vec, cargo: Option, rustc: Option, - low_priority: Option, - compiler_docs: Option, docs: Option, + compiler_docs: Option, submodules: Option, fast_submodules: Option, gdb: Option, - locked_deps: Option, - vendor: Option, nodejs: Option, python: Option, + locked_deps: Option, + vendor: Option, full_bootstrap: Option, extended: Option, tools: Option>, @@ -217,6 +216,7 @@ struct Build { sanitizers: Option, profiler: Option, cargo_native_static: Option, + low_priority: Option, configure_args: Option>, local_rebuild: Option, print_step_timings: Option, @@ -228,11 +228,11 @@ struct Build { struct Install { prefix: Option, sysconfdir: Option, - datadir: Option, docdir: Option, bindir: Option, libdir: Option, mandir: Option, + datadir: Option, // standard paths, currently unused infodir: Option, @@ -243,14 +243,14 @@ struct Install { #[derive(Deserialize, Default)] #[serde(deny_unknown_fields, rename_all = "kebab-case")] struct Llvm { - ccache: Option, - ninja: Option, - assertions: Option, optimize: Option, thin_lto: Option, release_debuginfo: Option, + assertions: Option, + ccache: Option, version_check: Option, static_libstdcpp: Option, + ninja: Option, targets: Option, experimental_targets: Option, link_jobs: Option, @@ -293,6 +293,7 @@ impl Default for StringOrBool { #[serde(deny_unknown_fields, rename_all = "kebab-case")] struct Rust { optimize: Option, + debug: Option, codegen_units: Option, codegen_units_std: Option, debug_assertions: Option, @@ -301,25 +302,24 @@ struct Rust { debuginfo_level_std: Option, debuginfo_level_tools: Option, debuginfo_level_tests: Option, - parallel_compiler: Option, backtrace: Option, + incremental: Option, + parallel_compiler: Option, default_linker: Option, channel: Option, musl_root: Option, rpath: Option, + verbose_tests: Option, optimize_tests: Option, codegen_tests: Option, ignore_git: Option, - debug: Option, dist_src: Option, - verbose_tests: Option, - incremental: Option, save_toolstates: Option, codegen_backends: Option>, codegen_backends_dir: Option, lld: Option, - lldb: Option, llvm_tools: Option, + lldb: Option, deny_warnings: Option, backtrace_on_ice: Option, verify_llvm_ir: Option, @@ -333,13 +333,13 @@ struct Rust { #[derive(Deserialize, Default)] #[serde(deny_unknown_fields, rename_all = "kebab-case")] struct TomlTarget { - llvm_config: Option, - llvm_filecheck: Option, cc: Option, cxx: Option, ar: Option, ranlib: Option, linker: Option, + llvm_config: Option, + llvm_filecheck: Option, android_ndk: Option, crt_static: Option, musl_root: Option,