Commit graph

4142 commits

Author SHA1 Message Date
bjorn3
6e6dad7013 Update crossbeam
This removes a lazy_static dependency edge
2022-12-04 14:22:20 +01:00
bjorn3
2c0ded77d9 Update rayon to 1.6
This removes an autocfg dependency edge
2022-12-04 14:22:14 +01:00
bjorn3
26b6b2ff56 Update pretty_assertions to 1.3
This replaces ansi_term with yansi which in turn removes a winapi
dependency edge
2022-12-04 14:22:03 +01:00
Joshua Nelson
a0e56154f3 Don't exit with an error if there are no changes to submodules 2022-12-03 10:34:26 -06:00
Matthias Krüger
3d64420fa9
Rollup merge of #104865 - pratushrai0309:bootstrap, r=jyn514
Don't overwrite local changes when updating submodules

Fixes https://github.com/rust-lang/rust/issues/103485
2022-11-30 19:53:17 +01:00
Joe Neeman
66180dfad8 Run patchelf also on rust-analyzer-proc-macro-srv. 2022-11-29 14:36:52 -06:00
Pratush Rai
d742407917 suggested changes 2022-11-27 22:23:16 +05:30
Matthias Krüger
e3165a3808
Rollup merge of #104944 - aDotInTheVoid:jsondoclint-unit-tests, r=jyn514
Support unit tests for jsondoclint

r? ````@ghost````
2022-11-27 16:03:09 +01:00
bors
5ac7e08aaf Auto merge of #103786 - tshepang:obsolete, r=jyn514
Don't build `compiler_builtins` with `-C panic=abort`
2022-11-27 07:12:30 +00:00
Pratush Rai
8d148988ca suggested changes 2022-11-27 10:05:19 +05:30
Joshua Nelson
c80b484eff Revert "Don't set is_preview for clippy and rustfmt"
This reverts commit fb3e724d76, which broke `rustup update` for anyone with clippy or rustfmt installed.
2022-11-26 15:24:46 -05:00
Nixon Enraght-Moony
4b2a1eb775 Support unit tests for jsondoclint 2022-11-26 15:32:49 +00:00
Matthias Krüger
c72db77ecb
Rollup merge of #104887 - aDotInTheVoid:rustbuild-json-doc-shared-assets, r=jyn514
rustbuild: Don't build doc::SharedAssets when building JSON docs.

Previously, running `./x doc library/core/ --json` on a plain build would panic bootstrap.

```
$ ./x doc library/core/ --json
Building rustbuild
    Blocking waiting for file lock on package cache
   Compiling bootstrap v0.0.0 (/home/nixon/dev/rust/rust/src/bootstrap)
    Finished dev [unoptimized] target(s) in 4.47s
thread 'main' panicked at 'fs::write(&version_info, &info) failed with No such file or directory (os error 2) ("/home/nixon/dev/rust/rust/build/x86_64-unknown-linux-gnu/doc/version_info.html")', doc.rs:410:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Build completed unsuccessfully in 0:00:04
```

Becuase the `SharedAssets` step assumes that the HTML out dir has been created. This isn't true for JSON.

The fix is to not build shared assets when doing a JSON doc build, as it doesn't need them.

r? ``@jyn514``

``@rustbot`` modify labels: +A-rustdoc-json
2022-11-25 18:35:42 +01:00
Matthias Krüger
287bb6d252
Rollup merge of #104853 - jyn514:sysroot-typo, r=RalfJung
Fix typo in miri sysroot

r? ``@RalfJung``
2022-11-25 18:35:41 +01:00
Tshepang Mbambo
b21674f3bd remove unused code 2022-11-25 16:28:18 +02:00
Tshepang Mbambo
c6ea362571 remove obsolete comment 2022-11-25 16:27:27 +02:00
Nixon Enraght-Moony
37b0a100aa rustbuild: Don't build doc::SharedAssets when building JSON docs. 2022-11-25 13:50:41 +00:00
Matthias Krüger
a9313e9077
Rollup merge of #103648 - jyn514:no-preview, r=Mark-Simulacrum
Don't set `is_preview` for clippy and rustfmt

These have been shipped on stable for many years now and it would be very disruptive to ever remove them.
Remove the `-preview` suffix from their dist components.

Based on https://github.com/rust-lang/rust/pull/102565.
2022-11-25 10:44:37 +01:00
Pratush Rai
db760f6790 bootstrap 2022-11-25 10:52:22 +05:30
Joshua Nelson
99d080dc3c Fix typo in miri sysroot 2022-11-24 20:28:55 -05:00
Joshua Nelson
fb3e724d76 Don't set is_preview for clippy and rustfmt
These have been shipped on stable for many years now and it would be very disruptive to ever remove them.
Remove the `-preview` suffix from their dist components.
2022-11-24 20:22:08 -05:00
Dylan DPC
d3e9191875
Rollup merge of #104286 - ozkanonur:fix-doc-bootstrap-recompilation, r=jyn514
copy doc output files by format

This pr provides copying doc outputs by checking output format without removing output directory on each trigger.

Resolves #103785
2022-11-23 20:32:36 +05:30
Mateusz Mikuła
cd22ce6bd9 Bump fd-lock in bootstrap again
Followup to https://github.com/rust-lang/rust/pull/103778
Sorry for the quick succession but this fixes one more building issue for Tier 3 `windows-gnullvm` that I have previously missed, and it would be nice to have it in the release.
2022-11-23 00:12:57 +01:00
Manish Goregaokar
952d385121
Rollup merge of #104622 - nicholasbishop:bishop-uefi-clang, r=Mark-Simulacrum
Use clang for the UEFI targets

This fixes an issue where the C and asm sources built by compiler_builtins were being compiled as ELF objects instead of PE objects. This wasn't noticed before because it doesn't cause compiler_builtins or rustc to fail to build. You only see a failure when a program is built that references one of the symbols in an ELF object.

Compiling with clang fixes this because the cc crate converts the UEFI targets into Windows targets that clang understands, causing it to produce PE objects.

Also update compiler_builtins to 0.1.84 to pull in some necessary fixes for compiling the UEFI targets with clang.

Fixes https://github.com/rust-lang/rust/issues/104326
2022-11-22 01:26:08 -05:00
Matthias Krüger
5b9289215e
Rollup merge of #104628 - alex-pinkus:revert-android-ndk-upgrade, r=pietroalbini
Revert "Update CI to use Android NDK r25b"

This reverts commit bf7f1ca316 (pull request #102332).

The relevant discussion can be found in #103673, where it was agreed that more time is needed to warn the community of the upcoming breakage.

This PR is for the `master` branch, where a conflict was recently introduced due to 6d8160261f. The conflict is in `cc_detect.rs`, where the code that corrects the target triple was moved to a new function called `ndk_compiler()`. This puts the old logic in the `ndk_compiler` function, and assumes that it works properly in the other location where that code is being called. I would appreciate review from ``@pietroalbini`` to understand how we can test that the reverted logic is also suitable for the additional use case (seems to be related to setting `cc` and `cxx`). I've confirmed already that with these changes I can compile for `armv7-linux-androideabi`, `aarch64-linux-android`, `i686-linux-android`, and `x86_64-linux-android` using `x.py`.

A separate revert for the `beta` branch will be required, since the original change has already made it to beta. The beta revert is available at 3fa0d94674, but I'm not sure of the process for staging that PR.
2022-11-21 14:11:12 +01:00
Matthias Krüger
7a10c4aea2
Rollup merge of #104487 - klensy:ntapi, r=Mark-Simulacrum
update ntapi dep to remove future-incompat warning

This fixes warning https://github.com/rust-lang-ci/rust/actions/runs/3477235400/jobs/5813202075#step:25:217
`warning: the following packages contain code that will be rejected by a future version of Rust: ntapi v0.3.7`

by upgrading `sysinfo` version (https://github.com/GuillaumeGomez/sysinfo/blob/master/CHANGELOG.md#0267)

There was some breaking changes in `sysinfo`:
* 0.25.0 (System::refresh_cpu behaviour changed: it only computes CPU usage and doesn't retrieve CPU frequency.) not affected?
* 0.26.0 (Switch memory unit from kilobytes to bytes) fixed.
2022-11-20 23:50:27 +01:00
Nicholas Bishop
60546088bc dist: Ensure UEFI rlibs are all COFF
If clang isn't the C compiler used for the UEFI targets, or if the wrong
`--target` is passed to clang, we will get ELF objects in some
rlibs. This will cause problems at link time when trying to compile a
UEFI program that uses any of those objects. Add a check to the dist
step for UEFI targets that reads each rlib with the `object` crate and
fails with an error if any non-COFF objects are found.
2022-11-20 20:25:22 +00:00
Matthias Krüger
c5f92ce2a0
Rollup merge of #104611 - notriddle:notriddle/scrape-examples-button, r=GuillaumeGomez
rustdoc: use real buttons for scrape examples controls

This makes the expand and switch controls keyboard-accessible.

Preview: https://notriddle.com/notriddle-rustdoc-demos/scrape-examples-button/test_dingus/fn.test.html
2022-11-20 18:21:49 +01:00
ozkanonur
7e28df9561 refactor doc copying process
Signed-off-by: ozkanonur <work@onurozkan.dev>
2022-11-20 15:51:50 +03:00
Alex Pinkus
6f1c7b2470 Revert "Update CI to use Android NDK r25b"
This reverts commit bf7f1ca316.
2022-11-19 18:48:26 -08:00
Michael Howell
aa5a0c0d88 rustdoc: add test case for scraped example expand GUI 2022-11-19 17:42:07 -07:00
Matthias Krüger
d6298d3dc8
Rollup merge of #104076 - ozkanonur:fix-ci-rustc-sysroot, r=jyn514
fix sysroot issue which appears for ci downloaded rustc

Currently when compiler is downloaded rather than compiled, sysroot is being `ci-rustc-sysroot` because of 7eef946fc0/src/bootstrap/compile.rs (L1125-L1131) this.

And rustdoc is overriding the downloaded one at the end of the process.

With the condition I add, we simply check if the current compiler stage is target build stage, if so use the proper sysroot instead of `ci-rustc-sysroot`.

Resolves #103206
2022-11-19 15:35:20 +01:00
Matthias Krüger
4451e2881f
Rollup merge of #103969 - ferrocene:pa-download-rustc-ui-tests, r=jyn514
Partial support for running UI tests with `download-rustc`

Right now trying to run UI tests with `download-rustc` results in a bunch of test failures, requiring someone who wants to only work on tests to also build the full compiler. This PR **partially** addresses the problem by solving a lot of the errors (but not all).

* This installs the `rust-src` component on CI toolchains, since the test output depends on whether the standard library source code is installed; We can't just symlink the current source because the `rustc-dev` component already includes the compiler sources, but not the library sources, and mixing things is worse IMO.
* This ensures the `$SRC_DIR` normalization done by compiletest correctly handles the source code added above.
* This unconditionally sets `remap-prefix` to the prefix used in the downloaded toolchain, to ensure compiletest normalizes it.
2022-11-19 15:35:19 +01:00
Pietro Albini
00ec6797a3
fmt 2022-11-17 09:56:59 +01:00
Pietro Albini
6d8160261f
set correct default value for cc and cxx on android 2022-11-17 09:37:39 +01:00
klensy
658586c74a update ntapi dep to remove future-incompat warning 2022-11-16 14:49:54 +03:00
Pietro Albini
470423c3d2
normalize download-rustc's prefix when running compiletests 2022-11-16 10:07:42 +01:00
Pietro Albini
80d535966c
normalize source paths from sysroot in compiletest 2022-11-16 10:01:07 +01:00
bors
96ddd32c4b Auto merge of #104387 - Manishearth:rollup-9e551p5, r=Manishearth
Rollup of 9 pull requests

Successful merges:

 - #103709 (ci: Upgrade dist-x86_64-netbsd to NetBSD 9.0)
 - #103744 (Upgrade cc for working is_flag_supported on cross-compiles)
 - #104105 (llvm: dwo only emitted when object code emitted)
 - #104158 (Return .efi extension for EFI executable)
 - #104181 (Add a few known-bug tests)
 - #104266 (Regression test for coercion of mut-ref to dyn-star)
 - #104300 (Document `Path::parent` behavior around relative paths)
 - #104304 (Enable profiler in dist-s390x-linux)
 - #104362 (Add `delay_span_bug` to `AttrWrapper::take_for_recovery`)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-11-14 06:30:18 +00:00
Joshua Nelson
fb471de5a9 Make all download functions need only Config, not Builder
This also adds a new `mod download` instead of scattering the download code
across `config.rs` and `native.rs`.
2022-11-13 21:56:52 -05:00
Manish Goregaokar
7c67cb2300
Rollup merge of #104158 - Ayush1325:executable, r=Mark-Simulacrum
Return .efi extension for EFI executable

Originally part of https://github.com/rust-lang/rust/pull/100316

Signed-off-by: Ayush Singh <ayushsingh1325@gmail.com>
2022-11-13 21:49:25 -05:00
bors
7b513af6c4 Auto merge of #103894 - mati865:gnullvm-libunwind-changes, r=thomcc
Change the way libunwind is linked for *-windows-gnullvm targets

I have no idea why previous way works for `x86_64-fortanix-unknown-sgx` (assuming it actually works...) but not for `gnullvm`. It fails when linking libtest during Rust build (unless somebody adds `RUSTFLAGS='-Clinkarg=-lunwind'`).
Also fixes exception handling on AArch64.
2022-11-13 21:12:48 +00:00
ozkanonur
0a275abec6 copy doc output files by format r=ozkanonur
Signed-off-by: ozkanonur <work@onurozkan.dev>
2022-11-13 21:30:36 +03:00
ozkanonur
654a4e81a5 check if current stage is target build stage r=ozkanonur
Signed-off-by: ozkanonur <work@onurozkan.dev>
2022-11-13 01:10:22 +03:00
Joshua Nelson
24378885c8 Print "Checking/Building ..." message even when --dry-run is passed
This makes it a lot easier to understand what commands will be run without
having to parse the `-vv` output, which isn't meant to be user facing.
2022-11-12 15:38:01 -06:00
Joshua Nelson
34972c512b Distinguish --dry-run from the automatic dry run check 2022-11-12 15:37:58 -06:00
Dylan DPC
378112034e
Rollup merge of #104245 - kubycsolutions:master, r=jyn514
Reduce default configuration's dependency upon static libstdcpp library (#103606)

Fixes #103606

Remove default dependency on static libstdcpp except during dist llvm builds (where we want static libraries so `libLLVM.so` is self-contained).
2022-11-11 20:51:42 +05:30
kubycsolutions
b8edf0213e Avoid runtime dependency on static libstdc++
Usually, we do want to use the static C++ library when building rustc_llvm, but do not want to have that dependency at compiler runtime. Change the defaults to Make It So.
2022-11-10 19:37:09 -05:00
Michael Goulet
7124590dcc
Rollup merge of #104046 - RalfJung:run-miri-run, r=oli-obk
bootstrap: add support for running Miri on a file

This enables:
```
./x.py run src/tools/miri --stage 0 --args src/tools/miri/tests/pass/hello.rs
```
That can be super helpful for debugging.

Also avoid sharing the Miri sysroot dir with a system-wide (rustup-managed) installation of Miri.

Fixes https://github.com/rust-lang/rust/issues/76666
2022-11-09 21:53:35 -08:00
Manish Goregaokar
83e73e013d
Rollup merge of #103778 - mati865:update-deps, r=Mark-Simulacrum
Update several crates for improved support of the new targets

This helps with `*-windows-gnullvm` targets by reducing amount of patching.
2022-11-08 21:03:54 -05:00