about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2023-07-28Change LLVM BOLT flagsJakub Beránek-0/+2
2023-07-27Update the minimum external LLVM to 15Josh Stone-2/+2
2023-07-27Auto merge of #113298 - tgross35:update-bless-envs, r=oli-obkbors-18/+7
Unite bless environment variables under `RUST_BLESS` Currently, Clippy and Miri both use an environment variable to indicate that output should be blessed, but they use different variable names. In order to improve consistency, this patch applies the following changes: - Rename the variable `MIRI_BLESS` (as used in the Miri subtree) to `RUST_BLESS` - Rename the variable `BLESS` (as used in the Clippy subtree) to `RUST_BLESS` - Move emitting `RUST_BLESS` into `prepare_cargo_test` so it is always available (I need this for a WIP PR) --- I prefer something like `RUST_BLESS` to `BLESS` just for a lower chance of conflict (not super common but other tools [do use `BLESS`](https://grep.app/search?q=%22BLESS%22&case=true&words=true&filter[lang][0]=Text&filter[lang][1]=Rust&filter[lang][2]=Python&filter[lang][3]=C%2B%2B&filter[lang][4]=Markdown&filter[lang][5]=C&filter[lang][6]=JSON)), but I can change it to whatever is preferred. Original discussion: https://rust-lang.zulipchat.com/#narrow/stream/257328-clippy/topic/BLESS.20env.20var.3A.20rename.20to.20CLIPPY_BLESS r? `@oli-obk` cc `@flip1995`
2023-07-26Unite bless environment variables under `RUSTC_BLESS`Trevor Gross-18/+7
Currently, Clippy, Miri, Rustfmt, and rustc all use an environment variable to indicate that output should be blessed, but they use different variable names. In order to improve consistency, this patch applies the following changes: - Emit `RUSTC_BLESS` within `prepare_cargo_test` so it is always available - Change usage of `MIRI_BLESS` in the Miri subtree to use `RUSTC_BLESS` - Change usage of `BLESS` in the Clippy subtree to `RUSTC_BLESS` - Change usage of `BLESS` in the Rustfmt subtree to `RUSTC_BLESS` - Adjust the blessable test in `rustc_errors` to use this same convention - Update documentation where applicable Any tools that uses `RUSTC_BLESS` should check that it is set to any value other than `"0"`.
2023-07-26Rollup merge of #113996 - inferiorhumanorgans:dragonfly-cmake-system-name, ↵Matthias Krüger-1/+8
r=ozkanonur Define CMAKE_SYSTEM_NAME on a cross build targeting DragonFly. Without `CMAKE_SYSTEM_NAME` set to the target a cross compile will generally fail. Related to #109170.
2023-07-26add aarch64-unknown-teeos target天命剑主-1/+1
Signed-off-by: 袁浩 <yuanhao34@huawei.com>
2023-07-26Auto merge of #114054 - oli-obk:cleanups, r=estebankbors-0/+4
Split some functions with many arguments into builder pattern functions r? `@estebank` This doesn't resolve all of the ones in rustc, mostly because I need to do other cleanups in order to be able to use some builder derives from crates.io Works around https://github.com/rust-lang/rust/issues/90672 by making `x test rustfmt --bless` format itself instead of testing that it is formatted
2023-07-26Make `x test src/tools/rustfmt --bless` format rustfmt with the freshly ↵Oli Scherer-0/+4
built in-tree version
2023-07-25Auto merge of #114027 - arlosi:update-cargo, r=ehussbors-49/+0
Update cargo 8 commits in 1b15556767f4b78a64e868eedf4073c423f02b93..7ac9416d82cd4fc5e707c9ec3574d22dff6466e5 2023-07-18 14:44:47 +0000 to 2023-07-24 14:29:38 +0000 - fix(cargo-credential): should enable feature `serde/derive` (rust-lang/cargo#12396) - fix: encode URL params correctly for SourceId in Cargo.lock (rust-lang/cargo#12280) - docs: format config override caveat as a note (rust-lang/cargo#12392) - credential provider implementation (rust-lang/cargo#12334) - feat(crates-io): expose HTTP headers and Error type (rust-lang/cargo#12310) - chore: Don't update test data (rust-lang/cargo#12380) - fix: only skip mtime check on `~/.cargo/{git,registry}` (rust-lang/cargo#12369) - Update docs for artifact JSON debuginfo levels. (rust-lang/cargo#12376) Since rust-lang/cargo#12334 makes built-in credential providers part of the cargo binary, it's no longer needed to build them in bootstrap.
2023-07-25Allow using external builds of the compiler-rt profile libJosh Stone-6/+28
This changes the bootstrap config `target.*.profiler` from a plain bool to also allow a string, which will be used as a path to the pre-built profiling runtime for that target. Then `profiler_builtins/build.rs` reads that in a `LLVM_PROFILER_RT_LIB` environment variable.
2023-07-25Remove credential providers from bootstrapArlo Siemsen-49/+0
since they are now built-in to the Cargo binary
2023-07-24bootstrap: Define CMake platform if DragonFly.Alex Zepeda-1/+8
CMAKE_SYSTEM_NAME is defined on a cross build if the target is recognized. Without this explicit definition cmake will assume that we're building for the host platform which can bring in unwanted compiler and linker flags. Also, add a warning on cross builds with unknown target to aid in cross builds for future platforms.
2023-07-24bootstrap: Don't bundle musl on UnikraftMartin Kröning-2/+2
Signed-off-by: Martin Kröning <martin.kroening@eonerc.rwth-aachen.de>
2023-07-24compiler: Add `x86_64-unikraft-linux-musl` targetMartin Kröning-0/+2
Signed-off-by: Martin Kröning <martin.kroening@eonerc.rwth-aachen.de>
2023-07-23Auto merge of #113965 - chenyukang:yukang-fix-113963-panic, r=ozkanonurbors-9/+19
Fix test panics for submodule of book is not updated Fixes #113963
2023-07-23Fix test panics for submodule of book is not updatedyukang-9/+19
2023-07-22Fix rustc-args passing issue in bootstrapyukang-0/+7
2023-07-20etc: add `RUSTC_BOOTSTRAP` to rust-analyzer configMichael Howell-0/+1
Fixes the problem reported in https://github.com/rust-lang/rust/issues/112391#issuecomment-1597224941
2023-07-20Rollup merge of #113800 - oli-obk:gha_ci_cycle, r=jyn514Matthias Krüger-1/+2
Avoid another gha group nesting fixes https://github.com/rust-lang/rust/issues/113798 (`x test error_index_generator` did not work locally anymore) r? ``@jyn514``
2023-07-20Avoid another gha group nestingOli Scherer-1/+2
2023-07-20Rollup merge of #113710 - loongarch-rs:fix-rpath, r=clubby789Matthias Krüger-2/+3
Fix rpath for libdir is specified ## What does this PR try to resolve? When building the Rust toolchain with `--libdir=lib64`, the executable tools such as `rustc` cannot find shared libraries. ```bash ./configure --prefix=/ --libdir=lib64 DESTDIR=/tmp/rust ./x.py install ``` ``` $ /tmp/rust/bin/rustc rustc: error while loading shared libraries: librustc_driver-13f1fd1bc7f7000d.so: cannot open shared object file: No such file or directory ``` This issue is caused by the link args `-Wl,rpath` being different from `--libdir`. ``` $ readelf -d /tmp/rust/bin/rustc | grep RUNPATH 0x000000000000001d (RUNPATH) Library runpath: [$ORIGIN/../lib] ``` ## How to resolve? When setting the rpath, get it from sysroot libdir relative path. After this patch: ``` $ readelf -d /tmp/rust/bin/rustc | grep RUNPATH 0x000000000000001d (RUNPATH) Library runpath: [$ORIGIN/../lib64] ```
2023-07-18support for mips32r6 as a target_arch valuechenx97-2/+6
2023-07-18support for mips64r6 as a target_arch valuechenx97-1/+2
2023-07-18Auto merge of #113061 - Amanieu:x86_64-ohos, r=compiler-errorsbors-0/+3
Add x86_64-unknown-linux-ohos target This complements the existing `aarch64-unknown-linux-ohos` and `armv7-unknown-linux-ohos` targets. This should be covered by the existing MCP (https://github.com/rust-lang/compiler-team/issues/568), but I can also create a new MCP if that is preferred.
2023-07-17bootstrap: use git merge-base for LLVM CI download logicRalf Jung-1/+8
2023-07-15Rollup merge of #113731 - jyn514:ci-env, r=ozkanonurjyn-10/+0
Remove unused `bootstrap::util::CiEnv` enum the right one is `build_helper::CiEnv`; this one wasn't even used.
2023-07-15Rollup merge of #113643 - jyn514:try-run, r=ozkanonurjyn-80/+76
bootstrap: Clean up try_run r? `@ozkanonur` since you reviewed `@GuillaumeGomez's` PR i recommend reviewing commit-by-commit
2023-07-15Rollup merge of #113683 - ozkanonur:polished, r=jyn514Matthias Krüger-13/+1
remove outdated `FIXME`s in bootstrap internals self-explanatory
2023-07-15Rollup merge of #113644 - jyn514:bootstrap-cleanups, r=albertlarsan68Matthias Krüger-66/+52
misc bootstrap cleanups - rename `detail_exit_macro` to `exit` - remove unnecessary `Builder::new_standalone` function - support `x suggest` with build-metrics
2023-07-15Remove unused `bootstrap::util::CiEnv` enumjyn-10/+0
the right one is `build_helper::CiEnv`; this one wasn't even used.
2023-07-15Replace `builder::try_run_quiet` with `run_quiet_delaying_failure`jyn-17/+13
It was only used when a `builder` is available, and I want to encourage using the version that supports `--no-fail-fast`.
2023-07-15Rename `Builder::try_run` to `run_delaying_failure`jyn-16/+16
2023-07-15Deduplicate `Builder::try_run` and mark `Config::try_run` as deprecatedjyn-63/+63
This does three things: 1. Remove `forward!(Build, fn try_run())`. Having `try_run` behave differently as a free function than an associated function is confusing, and `Builder::try_run` is a very desirable name. 2. Move `test::try_run` and `run::try_run` to `Builder::try_run`. These functions are different than `Config::try_run` - they delay the failure and print it out at the end of the build. 3. Mark `Config::try_run` as deprecated to encourage people to use `Builder::try_run` instead.
2023-07-15Fix rpath for libdir is specifiedWANG Rui-2/+3
Signed-off-by: WANG Rui <wangrui@loongson.cn>
2023-07-14fix another nesting issuejyn-4/+4
2023-07-14fix another GHA log panicjyn-0/+3
2023-07-14add a couple more groupsjyn-7/+12
- group rustdoc-js-std - group rust-installer/test.sh
2023-07-14Add `track_caller` to builder.msgjyn-0/+8
this makes the panics on nested GHA groups more useful
2023-07-14put configure behind a groupjyn-1/+5
2023-07-14don't print download progress in CIjyn-3/+8
2023-07-14Add must_use to `msg_` functionsjyn-45/+67
This caught several places which weren't waiting until the command finished to drop the Group. I also took the liberty of calling `msg_sysroot_tool` from `run_cargo_test` to reduce code duplication and make errors like this less likely in the future.
2023-07-14Add GHA log groups for tool testsjyn-0/+20
2023-07-14Make sure toolstates.json ends in a newlinejyn-1/+4
This avoids the following broken logging in CI: ``` {"book":"test-pass","reference":"test-pass","rustbook":"test-fail","rust-by-example":"test-pass","nomicon":"test-pass","embedded-book":"test-pass","edition-guide":"test-pass"}::group::Building bootstrap ```
2023-07-14fix nested GHA groups (redux)jyn-10/+6
2023-07-14Don't checkout the LLVM submodule in `x dist --dry-run`jyn-1/+3
We don't actually need it and it's quite slow.
2023-07-14Don't nest GHA groups in `check::Std`jyn-0/+1
2023-07-14Add even more GHA log groupsjyn-15/+45
This also adds a dynamic check that we don't emit nested groups, since GHA currently doesn't support them.
2023-07-14Fix `x suggest --run`jyn-3/+2
i broke this in the previous commit; and metrics never worked until i switched from `execute_cli` to build
2023-07-14remove outdated FIXMEs on bootstrapozkanonur-13/+1
Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-07-14bootstrap: update defaults for `compiler` and `library` aliasesLukas Markeffsky-86/+114