Commit Graph

5282 Commits

Author SHA1 Message Date
Xi Ruoyao 786e0bb1dc bootstrap: Move -Clto= setting from Rustc::run to rustc_cargo
It prevents a full rebuild of stage 1 compiler when issuing "x.py test"
with rust.lto != thin-local in config.toml.
2023-12-30 02:54:40 +08:00
bors 29abb90bbf Auto merge of #119373 - Kobzol:missing-tools-bootstrap, r=onur-ozkan
Remove usage of deprecated `missing-tools` bootstrap flag

This PR removes the usage of `--enable-missing-tools` in CI, as this config option is no longer used. It also removes `dist.missing-tools` config completely.

Let me know which commits should I remove (if any).

Fixes: https://github.com/rust-lang/rust/issues/79249

r? `@onur-ozkan`
2023-12-29 16:35:36 +00:00
Jakub Beránek fdeb8c5027 Remove is_optional_tool from ToolBuild 2023-12-28 20:23:16 +01:00
Jakub Beránek 0e7f9ec2ca Add change tracker entry 2023-12-28 20:23:12 +01:00
Jakub Beránek 8763f7ae7d Remove --enable-missing-tools from configure.py 2023-12-28 16:08:39 +01:00
onur-ozkan 12190e5dd2 utilize the unused llvm-tools option
This field was not functioning as described in its comment in `config.example.toml`.
Also, updated the default value to `true` to keep the bootstrapping behavior as it was before.

Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-12-28 17:27:59 +03:00
Guillaume Gomez 51dff45aa3 Update sysinfo version to 0.30.1 2023-12-25 22:44:49 +01:00
onur-ozkan c350d3c5dd bootstrap: use same make flags with rustdoc
Keeping same `MAKEFLAGS` and `MFLAGS` for rustdoc
should allow rustdoc to use the same jobserver.

Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-12-25 14:55:22 +03:00
Weihang Lo e6412f277a bootstrap: build doc for `cargo-util-schemas 2023-12-22 17:13:35 -05:00
Matthias Krüger 6516e595c0 Rollup merge of #119182 - GuillaumeGomez:update-sysinfo, r=onur-ozkan
Update sysinfo version to 0.30.0

Following last `sysinfo` update. Nothing much needs to be changed here apparently.

r? `@onur-ozkan`
2023-12-21 16:43:08 +01:00
Matthias Krüger c644d00285 Rollup merge of #119124 - onur-ozkan:help-118861, r=Mark-Simulacrum
don't build `rust-analyzer-proc-macro-srv` on def config

Should be very easy to understand when reviewing commit-by-commit.

Blocker for #118861
2023-12-21 16:43:07 +01:00
onur-ozkan 1f141dc0b8 add a new change in change-tracker
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-12-21 16:08:14 +03:00
Guillaume Gomez c3ede70d35 Update sysinfo version to 0.30.0 2023-12-21 12:17:49 +01:00
onur-ozkan 4ba1487e15 implement remapper for build paths
In config.toml we use `rust-analyzer-proc-macro-srv` for building `rust-analyzer-proc-macro-srv`,
however, when we attempt to build it from the terminal, this cannot be used because we need to
use the actual path, which is `proc-macro-srv-cli`. Remapping should end this confusion with
improving the development experience.

Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-12-19 18:28:41 +03:00
onur-ozkan 57bfbfa897 don't build rust-analyzer-proc-macro-srv on def config
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-12-19 18:09:46 +03:00
bors e719b6fc40 Auto merge of #118946 - onur-ozkan:fix-clean, r=clubby789
fix `x clean` for cross-compiled artifacts

```toml
build = "x86_64-unknown-linux-gnu"
host = ["arm-unknown-linux-gnueabihf"]
target = ["arm-unknown-linux-gnueabihf"]
```

On `x86_64-unknown-linux-gnu`, after cross-compiling with the sample configuration above, artifacts under `build/x86_64-unknown-linux-gnu` never gets cleaned with `x clean`. This PR fixes that.
2023-12-18 22:42:16 +00:00
bors 3a2aa5854c Auto merge of #119020 - onur-ozkan:remove-hex, r=albertlarsan68
remove `hex` dependency in bootstrap

First commit removes the `hex` dependency, as we can achieve the same output with the added function, which is very small and simple.

Second commit creates a test module for the helpers util and adds unit tests for multiple helper functions, including `hex_encode`.
2023-12-17 14:26:54 +00:00
onur-ozkan 81b98a0a13 expand helpers tests with new test module tests/helpers
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-12-17 10:31:04 +03:00
asquared31415 9341325c73 make x.py clippy download and use beta clippy 2023-12-16 15:24:59 -05:00
jyn 2979a2c72d use RUSTC_WRAPPER instead of RUSTC 2023-12-16 15:24:37 -05:00
jyn 336ed0ebc7 give a better error if renaming a temp file fails 2023-12-16 15:09:20 -05:00
onur-ozkan 3ea3c3885b create helper fn hex_encode and remove hex dependency
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-12-16 20:16:53 +03:00
jyn 0ffac661fa fix printing cargo args on --dry-run 2023-12-16 11:16:14 -05:00
bors 604f185fae Auto merge of #118936 - nikic:update-llvm-18, r=cuviper
Update to LLVM 17.0.6

This is a rebase on the final LLVM 17 release.

Includes the RISCV fix requested in https://github.com/rust-lang/llvm-project/pull/157 (and I think this is also the only change in this release that is relevant to rustc).

r? `@cuviper`

Fixes #117902
2023-12-15 02:15:55 +00:00
onur-ozkan bf0de6c679 fix x clean for cross-compiled artifacts
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-12-14 23:05:44 +03:00
Nikita Popov 5a8d6e784d Fix bootstrap test failures
There are a number of fixes here:
 * if-unchanged is supposed to be the default for channel=dev, but
   actually used different logic. Make sure it is the same.
 * If no llvm section was specified at all, different logic was
   also used. Go through the standard helper.
 * Some more assertions should depend on if_unchanged.
2023-12-14 15:52:47 +01:00
bors 529047cfc3 Auto merge of #118789 - jyn514:dry-run, r=onur-ozkan
fix --dry-run when the change-id warning is printed

previously:
```
Building bootstrap
   Compiling bootstrap v0.0.0 (/home/jyn/src/rust2/src/bootstrap)
    Finished dev [unoptimized] target(s) in 4.23s
thread 'main' panicked at src/bin/main.rs:147:17:
fs::write(warned_id_path, latest_change_id.to_string()) failed with No such file or directory (os error 2)
```
2023-12-14 13:30:48 +00:00
bors 2862500152 Auto merge of #118919 - matthiaskrgr:rollup-02udckl, r=matthiaskrgr
Rollup of 4 pull requests

Successful merges:

 - #118759 (Support bare unit structs in destructuring assignments)
 - #118871 (Coroutine variant fields can be uninitialized)
 - #118883 (Change a typo mistake in the-doc-attribute.md)
 - #118906 (Fix LLD thread flags in bootstrap on Windows)

r? `@ghost`
`@rustbot` modify labels: rollup
2023-12-13 17:45:17 +00:00
Jakub Beránek 066e6ffa02 Fix LLD thread flag selection for Windows targets 2023-12-13 07:47:46 +01:00
Jakub Beránek c5208518fa Add TargetSelection::is_windows method 2023-12-13 07:47:25 +01:00
David Tolnay b30e94b7bb Unbreak non-unix non-windows bootstrap 2023-12-12 13:11:39 -08:00
bors 5b8bc568d2 Auto merge of #118817 - lnicola:sync-from-ra, r=lnicola
Subtree update of `rust-analyzer`

r? `@ghost`
2023-12-12 08:22:37 +00:00
Laurențiu Nicola ce8d5fba85 Add rust_analyzer to EXTRA_CHECK_CFGS 2023-12-12 08:16:34 +02:00
onur-ozkan 2de3cf8d6b sort dump files at the end of bootstrap
To ensure deterministic results we must sort the dump lines.
This is necessary because the order of rustc invocations different
almost all the time.

Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-12-11 14:26:19 +03:00
onur-ozkan 9eeb265f7c update auto completions
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-12-11 14:26:11 +03:00
onur-ozkan f2feed1095 Dump command invocations from bootstrap shims
When making changes to the bootstrap that shouldn't change its behavior,
this feature will help developers perform comparisons to check whether the
bootstrap behavior has changed or not.

This can also be used for different purposes. For example, allowing CI to
dump the shims and upload them so that developers can download them and compare
with their local dump to see if CI affects the bootstrap unexpectedly. Or, make CI
perform comparisons on specific bootstrap tests to check for behavior changes between
the master and PR branches.

Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-12-11 14:25:19 +03:00
Jakub Beránek 3157f2121e Revert "Use MCP510"
This reverts commit 40c3d351ad. The option was dogfooded for using lld with MCP510 , but it broke testing with LLD, because we don't pass `-Zunstable-options` on enough places.
2023-12-10 23:22:20 +01:00
Jakub Beránek f1c5558edc Add ChangeInfo record 2023-12-10 20:45:07 +01:00
Jakub Beránek ccbd88dc83 Remove unused run_dsymutil and gpg_password_file config values 2023-12-10 20:45:07 +01:00
Jakub Beránek 6badc0d840 Destructure TOML configs
This will allow us to check if all values are used
2023-12-10 20:45:07 +01:00
Jakub Beránek 53031b264e Review fixes 2023-12-10 13:06:05 +01:00
Jakub Beránek 4750e9de47 Produce an explicit error when using a self-contained lld, but we don't add it to sysroot 2023-12-10 11:21:36 +01:00
Jakub Beránek ea769dbeb7 Add change tracker entry 2023-12-10 11:21:35 +01:00
Jakub Beránek cbfe6327a1 Do not invoke external lld to figure out thread flags in self-contained mode 2023-12-10 11:21:35 +01:00
Jakub Beránek 40c3d351ad Use MCP510 2023-12-10 11:21:35 +01:00
Jakub Beránek 48c1607bc6 Introduce LldMode and generalize parsing of use-lld 2023-12-10 11:21:35 +01:00
Jakub Beránek d9f9e67bc1 Refactor rust(do)c linker flags 2023-12-10 11:21:33 +01:00
Jakub Beránek b3c9ffdc77 Add is_msvc function 2023-12-10 11:20:49 +01:00
bors f7253f2317 Auto merge of #118787 - GuillaumeGomez:rollup-fj5wr3q, r=GuillaumeGomez
Rollup of 5 pull requests

Successful merges:

 - #117966 (add safe compilation options)
 - #118747 (Remove extra check cfg handled by libc directly)
 - #118774 (add test for inductive cycle hangs)
 - #118775 (chore: add test case for type with generic)
 - #118782 (use `&` instead of start-process in x.ps1)

r? `@ghost`
`@rustbot` modify labels: rollup
2023-12-10 01:02:42 +00:00
bors 8cd8d31369 Auto merge of #118069 - onur-ozkan:bypass_bootstrap_lock, r=Mark-Simulacrum
allow bypassing the build directory lock

As bootstrap locks its entire build directory, parallel bootstrapping for anything becomes impossible. This change enables developers to bypass the locking mechanism (with `--bypass-bootstrap-lock` flag) when it is unnecessary for their specific use case.

more context: https://rust-lang.zulipchat.com/#narrow/stream/326414-t-infra.2Fbootstrap/topic/Build.20.28miri.3F.29.20sysroots.20in.20parallel

cc `@saethlin`
2023-12-09 23:02:05 +00:00