about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
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
2023-07-14Rollup merge of #113640 - jyn514:nodejs-defaults, r=GuillaumeGomezMatthias Krüger-43/+39
Make `nodejs` control the default for RustdocJs tests instead of a hard-off switch If someone says `x test rustdoc-js-std` explicitly on the command line, it's because they want to run the tests. Give an error instead of doing nothing and reporting success. Before: ``` ; x t rustdoc-js No nodejs found, skipping "tests/rustdoc-js" tests Build completed successfully in 0:00:00 ``` After: ``` ; x t rustdoc-js thread 'main' panicked at 'need nodejs to run js-doc-test suite', test.rs:1566:13 Build completed unsuccessfully in 0:00:00 ``` I recommend viewing the diff with whitespace changes disabled. r? ````@GuillaumeGomez````
2023-07-13Auto merge of #113637 - Mark-Simulacrum:bootstrap-bump, r=ozkanonurbors-3/+9
Bump bootstrap to 1.72 beta
2023-07-13Rollup merge of #113616 - edg-l:fix_bootstrap, r=albertlarsan68Matthias Krüger-1/+1
Fix bootstrap.py uname error The x.py script fails with `ValueError: too many values to unpack (expected 3)` when uname -smp gives more than 3 words The error I got: ``` ❯ ./x check Traceback (most recent call last): File "/data1/edgar/rust/x.py", line 50, in <module> bootstrap.main() File "/data1/edgar/rust/src/bootstrap/bootstrap.py", line 1113, in main bootstrap(args) File "/data1/edgar/rust/src/bootstrap/bootstrap.py", line 1070, in bootstrap build = RustBuild(config_toml, args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/data1/edgar/rust/src/bootstrap/bootstrap.py", line 505, in __init__ self.build = args.build or self.build_triple() ^^^^^^^^^^^^^^^^^^^ File "/data1/edgar/rust/src/bootstrap/bootstrap.py", line 976, in build_triple return config or default_build_triple(self.verbose) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/data1/edgar/rust/src/bootstrap/bootstrap.py", line 259, in default_build_triple kernel, cputype, processor = uname.decode(default_encoding).split() ^^^^^^^^^^^^^^^^^^^^^^^^^^ ValueError: too many values to unpack (expected 3) ``` This is because ``` ❯ uname -smp Linux x86_64 AMD Ryzen 7 5800X 8-Core Processor ``` Returns more than 3 space separated words.
2023-07-13Support `x suggest` with build-metricsjyn-8/+9
2023-07-13Remove unnecessary `Builder::new_standalone` functionjyn-23/+9
2023-07-13Rename `detail_exit_macro` to `exit`jyn-35/+35
`detail` and `macro` weren't adding any info.
2023-07-13Make `nodejs` control the default for RustdocJs tests instead of a hard-off ↵jyn-43/+39
switch If someone says `x test rustdoc-js-std` explicitly on the command line, it's because they want to run the tests. Give an error instead of doing nothing and reporting success.
2023-07-12Re-format let-else per rustfmt updateMark Rousskov-3/+9
2023-07-12Auto merge of #113214 - GuillaumeGomez:try-run-fix, r=ozkanonur,jyn514bors-27/+22
Don't fail early if `try_run` returns an error Fixes https://github.com/rust-lang/rust/issues/113208. Follow-up of #112962. r? `@jyn514`
2023-07-12Fix bootstrap.py uname error.Edgar Luque-1/+1
The x.py script fails with `ValueError: too many values to unpack (expected 3)` when uname -smp gives more than 3 words
2023-07-11Rollup merge of #113579 - ekusiadadus:master, r=albertlarsan68Jubilee-5/+1
Revert "fix: :bug: etc/bash_complettion -> src/etc/... to avoid copy … ## why - [x] revert my broken PR https://github.com/rust-lang/rust/pull/110906 This reverts commit 08ce68b6a6bad360e9c3611ad60cf6598401f878.
2023-07-11Rollup merge of #113373 - jyn514:download-rustc-fixes, r=albertlarsan68Jubilee-22/+63
various download-rustc fixes separated out from https://github.com/rust-lang/rust/pull/112143 because it keeps getting stuck in limbo. best reviewed commit-by-commit
2023-07-11Move `ci_rustc_dir` to Config and use it consistentlyjyn-8/+9
2023-07-12Revert "fix: :bug: etc/bash_complettion -> src/etc/... to avoid copy error"ekusiadadus-5/+1
This reverts commit 08ce68b6a6bad360e9c3611ad60cf6598401f878.
2023-07-11Don't fail early if `try_run` returns an errorGuillaume Gomez-27/+22
2023-07-11Rollup merge of #113551 - jyn514:dry-run-exclude, r=ozkanonurMatthias Krüger-3/+7
bootstrap: Don't print "Skipping" twice Bootstrap executes itself twice: once with DryRun::SelfCheck and DryRun::Disabled. Change it not to print the "Skipping" message if SelfCheck is enabled. See https://github.com/rust-lang/rust/actions/runs/5503931599/jobs/10029625567?pr=113514#step:24:772.
2023-07-10Don't print "Skipping" twicejyn-3/+7
Bootstrap executes itself twice: once with DryRun::SelfCheck and DryRun::Disabled. Change it not to print the "Skipping" message if SelfCheck is enabled. See https://github.com/rust-lang/rust/actions/runs/5503931599/jobs/10029625567?pr=113514#step:24:772.
2023-07-09Auto merge of #113341 - Kobzol:stage0-sysroot, r=Mark-Simulacrumbors-0/+43
Copy stage0 `rustc` binaries to `stage0-sysroot` This is basically a revival of https://github.com/rust-lang/rust/pull/101711 and https://github.com/rust-lang/rust/pull/107956, with an added check that the full sysroot will only be created if the original rustc comes from `stage0/bin`. What is/should be tested: - [x] `rustup toolchain link stage0` (new libstd is used correctly) - [x] `python3 x.py fmt dist --stage 0` - [x] Custom rustc/cargo in `config.toml` (in this case this logic is ignored) - [x] Perfbot (try perf run has succeeded) - [x] Real use case (https://github.com/rust-lang/backtrace-rs/pull/542) (Hopefully) fixes: https://github.com/rust-lang/rust/issues/101691 This is not the "end all, be all" solution to this problem, but as long as it resolves the basic use-case, and doesn't break perfbot, I say ship it. This code will probably be nuked anyway Soon™ because of the stage redesign.
2023-07-09Rollup merge of #113273 - hi-rustin:rustin-patch-opt-level, r=KobzolMatthias Krüger-14/+64
Use String or Int to set the opt level Address https://github.com/rust-lang/rust/pull/112756/files#r1249345725 Use String or Int to set the opt level. r? ``@jyn514``