about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
diff options
context:
space:
mode:
authorYuki Okushi <jtitor@2k36.org>2021-08-02 11:03:23 +0900
committerGitHub <noreply@github.com>2021-08-02 11:03:23 +0900
commit46f01caab81a4e45b2f04a25c02b0e6c934bc1eb (patch)
tree8c374b2897ac552f8346a2fa55ad2c7f4a064dee /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
parentf386ae3533798b75122bbbf659d1ed10fc3aeff4 (diff)
parent69f712c088b16fa88672efa2d49fe2d6ea4ca06e (diff)
downloadrust-46f01caab81a4e45b2f04a25c02b0e6c934bc1eb.tar.gz
rust-46f01caab81a4e45b2f04a25c02b0e6c934bc1eb.zip
Rollup merge of #87282 - pietroalbini:refactor-extended, r=Mark-Simulacrum
Ensure `./x.py dist` adheres to `build.tools`

According to `config.toml.example`, the way to produce dist artifacts for both the compiler and a *subset* of tools would be to enable the extended build and manually specify the list of tools to build:

```toml
[build]
extended = true
tools = ["cargo", "rustfmt"]
```

This works as expected for `./x.py build` and `./x.py install`, but *not* for `./x.py dist`. Before this PR `./x.py dist` simply ignored the contents of `build.tools`, building just rustc/rustdoc if `build.extended = false` and all of the tools otherwise. This PR does two things:

* Changes `./x.py dist extended` to only build the tools defined in `build.tools`, if `build.tools` is not empty. The rest of the extended step was refactored to simplify the code.
* Changes how dist jobs for tools are gated: instead of `assert!(builder.config.extended)` to prevent tools from being built with `build.extended = false`, tools are simply built by default depending on `build.extended` and `build.tools`. This also enables to **explicitly** dist tools even with `build.extended = false`.

This PR is best reviewed commit-by-commit.

Fixes #86436
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions