• B
    Auto merge of #82451 - jyn514:defaults, r=Mark-Simulacrum · 361bfce3
    bors 提交于
    Cleanup option parsing and config.toml.example
    
    - Add an assertion that `link-shared = true` when `thin-lto = true`.
      Previously, link-shared would be silently overwritten.
    
    - Get rid of `Option<bool>` in bootstrap/config.rs. Set defaults
      immediately instead of delaying until later in bootstrap. This makes
      it easier to find what the default value is.
    
    - Remove redundant `config.x = false` when the default was already false
    - Set defaults for `bindir` in `default_opts()` instead of `parse()`
    - Update `download-ci-llvm = if-supported` option to match bootstrap.py
    - Remove redundant check for link_shared. Previously, it was checked twice.
    
    - Update various options in config.toml.example to their defaults.
      Previously, some options showed an example value instead of the
      default value.
    
    - Fix incorrect defaults in config.toml.example
      + `use-libcxx` defaults to false
      + Add missing `check-stage = 0`
      + Update several defaults to be conditional (e.g. `if incremental { 10 } else { 100 }`)
    
    - Remove redundant defaults in prose
    - Use the same comment for the default and target-dependent `musl-root`
    - Fix typos
    - Link to `cc_detect` for `cc` and `cxx`, since the logic is ... complicated.
    - Update more defaults to better reflect how they actually get set
    - Remove ignored `gpg-password-file` option
    
      This stopped being used in
      7704d35a,
      but was never removed from config.toml.
    
    - Remove unused flags from `config.toml`
        + Disallow `infodir` and `localstatedir` in `config.toml`
        + Allow the flags in `./configure`, but give a warning that they will be
          ignored.
        + Fix incorrect comment that `datadir` will be ignored.
    
        Example output:
    
        ```
        $ ./configure --set install.infodir=xxx
        configure: processing command line
        configure:
        configure: install.infodir      := xxx
        configure: build.configure-args := ['--set', 'install.infodir=xxx']
        warning: infodir will be ignored
        configure:
        configure: writing `config.toml` in current directory
        configure:
        configure: run `python /home/joshua/rustc3/x.py --help`
        configure:
        ```
    
    - Update CHANGELOG
    
    cc https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/bootstrap.20defaults
    361bfce3
config.toml.example 28.6 KB