| # These defaults are meant for contributors to the compiler who do not modify codegen or LLVM | |
| [build] | |
| # Contributors working on the compiler will probably expect compiler docs to be generated. | |
| compiler-docs = true | |
| [rust] | |
| # This enables `RUSTC_LOG=debug`, avoiding confusing situations | |
| # where adding `debug!()` appears to do nothing. | |
| # However, it makes running the compiler slightly slower. | |
| debug-logging = true | |
| # Enables debug assertions, which guard from many mistakes when working on the compiler. | |
| debug-assertions = true | |
| # Get actually-useful information from backtraces, profiling, etc. with minimal added bytes | |
| debuginfo-level = "line-tables-only" | |
| # This greatly increases the speed of rebuilds, especially when there are only minor changes. However, it makes the initial build slightly slower. | |
| incremental = true | |
| # Print backtrace on internal compiler errors during bootstrap | |
| backtrace-on-ice = true | |
| # Make the compiler and standard library faster to build, at the expense of a ~20% runtime slowdown. | |
| 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 `main` commit. | |
| download-rustc = false | |
| [llvm] | |
| # Having this set to true disrupts compiler development workflows for people who use `llvm.download-ci-llvm = true` | |
| # because we don't provide ci-llvm on the `rustc-alt-builds` server. Therefore, it is kept off by default. | |
| assertions = false | |
| # Will download LLVM from CI if available on your platform. | |
| # If you intend to modify `src/llvm-project`, use `"if-unchanged"` or `false` instead. | |
| download-ci-llvm = true |