about summary refs log tree commit diff
path: root/config.toml.example
AgeCommit message (Collapse)AuthorLines
2020-07-28Auto merge of #73964 - jyn514:sane-defaults, r=Mark-Simulacrumbors-1/+4
Improve defaults in x.py - Make the default stage dependent on the subcommand - Don't build stage1 rustc artifacts with x.py build --stage 1. If this is what you want, use x.py build --stage 2 instead, which gives you a working libstd. - Change default debuginfo when debug = true from 2 to 1 I tried to fix CI to use `--stage 2` everywhere it currently has no stage, but I might have missed a spot. This does not update much of the documentation - most of it is in https://github.com/rust-lang/rustc-dev-guide/ or https://github.com/rust-lang/rust-forge and will need a separate PR. See individual commits for a detailed rationale of each change. See also the MCP: https://github.com/rust-lang/compiler-team/issues/326 r? @Mark-Simulacrum , but anyone is free to give an opinion.
2020-07-27Change debuginfo to default to 1 if `debug = true` is setJoshua Nelson-1/+4
From [a conversation in discord](https://discordapp.com/channels/442252698964721669/443151243398086667/719200989269327882): > Linking seems to consume all available RAM, leading to the OS to swap memory to disk and slowing down everything in the process Compiling itself doesn't seem to take up as much RAM, and I'm only looking to check whether a minimal testcase can be compiled by rustc, where the runtime performance isn't much of an issue > do you have debug = true or debuginfo-level = 2 in config.toml? > if so I think that results in over 2GB of debuginfo nowadays and is likely the culprit > which might mean we're giving out bad advice :( Anecdotally, this sped up my stage 1 build from 15 to 10 minutes. This still adds line numbers, it only removes variable and type information. - Improve wording for debuginfo description Co-authored-by: Teymour Aldridge <42674621+teymour-aldridge@users.noreply.github.com>
2020-07-26config.toml.example: Update remap-debuginfo doc to be more general & accurateXimin Luo-2/+1
2020-07-14bootstrap: Improve wording on docs for `verbose-tests`Joshua Nelson-2/+1
2020-07-05Explain effects of debugging options from config.tomlTomasz Miąsko-2/+6
Co-authored-by: Teymour Aldridge <42674621+teymour-aldridge@users.noreply.github.com>
2020-06-30Auto merge of #73456 - tmiasko:musl-libdir, r=Mark-Simulacrumbors-3/+6
bootstrap: Configurable musl libdir Make it possible to customize the location of musl libdir using musl-libdir in config.toml, e.g., to use lib64 instead of lib.
2020-06-24fixTshepang Lekhonkhobe-1/+1
See https://github.com/rust-lang/rust/pull/73538/commits/b65ea1bef1391a3af9118884952718fc905f8e02#r444376289
2020-06-23place non-obvious defaults on a separate lineTshepang Lekhonkhobe-10/+30
See https://github.com/rust-lang/rust/pull/73538#discussion_r443809593 for the motivation
2020-06-22be more consistent with "defaults" placementTshepang Lekhonkhobe-16/+7
2020-06-20explain the logic a bitTshepang Lekhonkhobe-4/+11
2020-06-20examples should be of type boolTshepang Lekhonkhobe-2/+2
2020-06-18bootstrap: Configurable musl libdirTomasz Miąsko-3/+6
Make it possible to customize the location of musl libdir using musl-libdir in config.toml, e.g., to use lib64 instead of lib.
2020-06-16Ensure profiling runtime for -Zinstrument-coverageRich Kadel-1/+2
If config.toml `profiler = false`, the test/mir-opt/instrument_coverage test is ignored. Otherwise, this patch ensures the profiler_runtime is loaded when -Zinstrument-coverage is enabled. Confirmed that this works for MacOS.
2020-06-09[AVR] Add AVR platform supportJake Goulding-1/+1
2020-05-20Show default values for debug-assertions & debug-assertions-stdTomasz Miąsko-2/+2
2020-05-15Rollup merge of #72146 - Mark-Simulacrum:separate-std-asserts, r=alexcrichtonDylan DPC-0/+4
Provide separate option for std debug asserts On local one-off benchmarking of libcore metadata-only, debug asserts in std are a significant hit (15s to 20s). Provide an option for compiler developers to disable them. A build with a nightly compiler is around 10s, for reference.
2020-05-12Provide separate option for std debug assertsMark Rousskov-0/+4
2020-05-10remove lldb package from bootstrap, config and build-manifestRalf Jung-4/+0
it's not been built since a long time ago
2020-05-08x.py: allow configuring the build directoryJoshua Nelson-0/+4
This allows configuring the directory for build artifacts, instead of having it always be ./build. This means you can set it to a constant location, letting you reuse the same cache while working in several different directories. The configuration lives in config.toml under build.build-dir. By default, it keeps the existing default of ./build, but it can be configured to any relative or absolute path. Additionally, it allows making outputs relative to the root of the git repository using $ROOT.
2020-04-13Auto merge of #70882 - tmiasko:llvm-version-suffix, r=Mark-Simulacrumbors-2/+3
Make LLVM version suffix independent of rustc version on dev channel Remove rustc version from LLVM version suffix on dev channel, avoiding the need for full rebuilds when switching between branches with different LLVM submodule & rustc version. Note: To avoid full rebuild, on subsequent LLVM submodule update, copy the current value of `LLVM_VERSION_SUFFIX` from `build/*/llvm/build/CMakeCache.txt`, to `version-suffix` in `config.toml`.
2020-04-10Enforce Python 3 as much as possibleGuillaume Gomez-4/+2
2020-04-07Make LLVM version suffix independent of rustc version on dev channelTomasz Miąsko-2/+3
Remove rustc version from LLVM version suffix on dev channel, avoiding the need for full rebuilds when moving between commits with different LLVM submodule & rustc version.
2020-03-06fix various typosMatthias Krüger-1/+1
2020-02-11Rollup merge of #68824 - ajpaverd:cfguard-rustbuild, r=Mark-SimulacrumDylan DPC-0/+4
Enable Control Flow Guard in rustbuild Now that Rust supports Control Flow Guard (#68180), add a config.toml option to build the standard library with CFG enabled. r? @nagisa
2020-02-10Enable Control Flow Guard in rustbuildAndrew Paverd-0/+4
2020-02-09More commentsJohn Kåre Alsaker-0/+3
2020-02-09Add some commentsJohn Kåre Alsaker-0/+2
2020-01-29Add an option to use LLD to link the compiler on Windows platformsJohn Kåre Alsaker-0/+5
2020-01-11Clarify the relationship between `extended` and `tools` in `config.toml`varkor-5/+7
2020-01-03Rollup merge of #67636 - semarie:bootstrap-rustfmt, r=Mark-SimulacrumYuki Okushi-0/+4
allow rustfmt key in [build] section Permit using `rustfmt` in `config.toml`. It will allow to not download `rustfmt` binary, which is not possible for at least some tiers-3 platforms. Fixes: #67624 r? @Mark-Simulacrum
2020-01-02bootstrap: Allow for setting the ThinLTO import limit used for compiler the ↵Michael Woerister-0/+7
compiler.
2019-12-27add comment for rustfmt in config.toml.exampleSebastien Marie-0/+4
2019-12-26Document LLVM skip-rebuild config.toml optionMatthew Healy-0/+6
2019-12-11rustc: Link LLVM directly into rustc againAlex Crichton-3/+0
This commit builds on #65501 continue to simplify the build system and compiler now that we no longer have multiple LLVM backends to ship by default. Here this switches the compiler back to what it once was long long ago, which is linking LLVM directly to the compiler rather than dynamically loading it at runtime. The `codegen-backends` directory of the sysroot no longer exists and all relevant support in the build system is removed. Note that `rustc` still supports a dynamically loaded codegen backend as it did previously, it just no longer supports dynamically loaded codegen backends in its own sysroot. Additionally as part of this the `librustc_codegen_llvm` crate now once again explicitly depends on all of its crates instead of implicitly loading them through the sysroot. This involved filling out its `Cargo.toml` and deleting all the now-unnecessary `extern crate` annotations in the header of the crate. (this in turn required adding a number of imports for names of macros too). The end results of this change are: * Rustbuild's build process for the compiler as all the "oh don't forget the codegen backend" checks can be easily removed. * Building `rustc_codegen_llvm` is much simpler since it's simply another compiler crate. * Managing the dependencies of `rustc_codegen_llvm` is much simpler since it's "just another `Cargo.toml` to edit" * The build process should be a smidge faster because there's more parallelism in the main rustc build step rather than splitting `librustc_codegen_llvm` out to its own step. * The compiler is expected to be slightly faster by default because the codegen backend does not need to be dynamically loaded. * Disabling LLVM as part of rustbuild is still supported, supporting multiple codegen backends is still supported, and dynamic loading of a codegen backend is still supported.
2019-10-25Rollup merge of #65408 - guanqun:remove-rust-optimize, r=Mark-SimulacrumMazdak Farrokhzad-4/+6
reorder config.toml.example options and add one missing option r? @Mark-Simulacrum
2019-10-24add the missing rust.musl-root option in config.toml.exampleGuanqun Lu-0/+3
2019-10-24add a WARNING to rust.optimize option in config.toml.exampleGuanqun Lu-4/+3
2019-10-21Remove `src/llvm-emscripten` submoduleAlex Crichton-4/+1
With #65251 landed there's no need to build two LLVM backends and ship them with rustc, every target we have now uses the same LLVM backend! This removes the `src/llvm-emscripten` submodule and additionally removes all support from rustbuild for building the emscripten LLVM backend. Multiple codegen backend support is left in place for now, and this is intended to be an easy 10-15 minute win on CI times by avoiding having to build LLVM twice.
2019-10-16Upgrade Emscripten targets to use upstream LLVM backendThomas Lively-0/+1
- Compatible with Emscripten 1.38.46-upstream or later upstream. - Refactors the Emscripten target spec to share code with other wasm targets. - Replaces the old incorrect wasm32 C call ABI with the correct one, preserving the old one as wasm32_bindgen_compat for wasm-bindgen compatibility. - Updates the varargs ABI used by Emscripten and deletes the old one. - Removes the obsolete wasm32-experimental-emscripten target. - Uses EMCC_CFLAGS on CI to avoid the timeout problems with #63649.
2019-10-05Revert "Auto merge of #63649 - tlively:emscripten-upstream-upgrade, ↵Tyler Mandry-1/+0
r=alexcrichton" This reverts commit 7870050796e5904a0fc85ecbe6fa6dde1cfe0c91, reversing changes made to 2e7244807a7878f6eca3eb7d97ae9b413aa49014.
2019-10-04Upgrade Emscripten targets to use upstream LLVM backendThomas Lively-0/+1
- Refactors the Emscripten target spec to share code with other wasm targets. - Replaces the incorrect wasm32 C call ABI with the old asmjs version, which is correct for both wasm32 and JS. - Updates the varargs ABI used by Emscripten and deletes the old one. - Removes the obsolete wasm32-experimental-emscripten target. - Temporarily makes Emscripten targets use panic=abort by default because supporting unwinding will require an LLVM patch.
2019-09-09Fix typo in config.toml.exampleLukas-1/+1
2019-08-28std: Remove the `wasm_syscall` featureAlex Crichton-5/+0
This commit removes the `wasm_syscall` feature from the wasm32-unknown-unknown build of the standard library. This feature was originally intended to allow an opt-in way to interact with the operating system in a posix-like way but it was never stabilized. Nowadays with the advent of the `wasm32-wasi` target that should entirely replace the intentions of the `wasm_syscall` feature.
2019-08-16add git keyword to submodule optionJustin Restivo-2/+2
2019-08-08remove test-miri from config.toml.exampleRalf Jung-4/+0
2019-08-02rustbuild: WebAssembly is no longer an experimental LLVM backendSam Elliott-4/+3
2019-08-02rustbuild: RISC-V is no longer an experimental LLVM targetSam Elliott-3/+3
This commit moves RISC-V from the experimental LLVM targets to the regular LLVM targets. RISC-V was made non-experimental in https://reviews.llvm.org/rL366399 I have also sorted the list of LLVM targets, and changed the code around setting llvm_exp_targets (and its default) to match the code setting llvm_targets (and its default), ensuring future changes to the defaults, as LLVM targets become stable, affect as few places as possible.
2019-05-24Address review commentsVadim Petrochenkov-1/+2
2019-05-24rustbuild: Untie `debuginfo-level-tests` from `debuginfo-level`Vadim Petrochenkov-3/+5
2019-05-24rustbuild: Simplify debuginfo configurationVadim Petrochenkov-14/+16