about summary refs log tree commit diff
path: root/src/bootstrap/lib.rs
AgeCommit message (Collapse)AuthorLines
2023-10-17move bootstrap utils into bootstrap/src/utils moduleonur-ozkan-1862/+0
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-10-14Rollup merge of #116577 - onur-ozkan:add-safety-block-on-unsafe, r=clubby789Matthias Krüger-0/+4
add `SAFETY` block on the usage of unsafe `getuid` We pointed out this unsafe usage in #109859, and as a result, we received a fix PR #116476. However, it's important to note that the `libc::getuid()` never actually fails. This PR aims to clarify its safety.
2023-10-09add `SAFETY` block on usage of unsafe `getuid`onur-ozkan-0/+4
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-10-08Bump to latest betaMark Rousskov-11/+2
2023-10-02Auto merge of #115898 - onur-ozkan:config-change-tracking, r=Mark-Simulacrumbors-1/+22
bootstrap major change detection implementation The use of `changelog-seen` and `bootstrap/CHANGELOG.md` has not been functional in any way for many years. We often do major/breaking changes but never update the changelog file or the `changelog-seen`. This is an alternative method for tracking major or breaking changes and informing developers when such changes occur. Example output when bootstrap detects a major change: ![image](https://github.com/rust-lang/rust/assets/39852038/ee802dfa-a02b-488b-a433-f853ce079b8a)
2023-10-01implement major change tracking for the bootstrap configurationonur-ozkan-1/+22
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-09-21added support for GNU/HurdSamuel Thibault-1/+3
2023-09-17Auto merge of #115514 - onur-ozkan:bootstrap-codebase-improvements, ↵bors-5/+6
r=albertlarsan68 optimize and cleanup bootstrap source I suggest reviewing this commit by commit.
2023-09-17micro-level optimizations for bootstraponur-ozkan-5/+6
Overall optimizations for bootstrap on conditions, assertions, trait implementations, etc. Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-09-06fix log formatting in bootstrapGoldstein-1/+1
2023-08-14add a csky-unknown-linux-gnuabiv2 targetDirreke-1/+1
2023-08-08Rollup merge of #113480 - Sword-Destiny:master, r=petrochenkovMatthias Krüger-1/+1
add aarch64-unknown-teeos target TEEOS is a mini os run in TrustZone, for trusted/security apps. The libc of TEEOS is a part of musl. The kernel of TEEOS is micro kernel. This MR is to add a target for teeos. MRs for libc and rust-std are in progress. Compiler team MCP: [MCP](https://github.com/rust-lang/compiler-team/issues/652)
2023-07-31Remove BOLT from bootstrapJakub Beránek-1/+0
2023-07-30bootstrap: inline format!() argsMatthias Krüger-25/+23
2023-07-26add aarch64-unknown-teeos target天命剑主-1/+1
Signed-off-by: 袁浩 <yuanhao34@huawei.com>
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-23Fix test panics for submodule of book is not updatedyukang-5/+1
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-15Rollup merge of #113643 - jyn514:try-run, r=ozkanonurjyn-4/+29
bootstrap: Clean up try_run r? `@ozkanonur` since you reviewed `@GuillaumeGomez's` PR i recommend reviewing commit-by-commit
2023-07-15Rollup merge of #113644 - jyn514:bootstrap-cleanups, r=albertlarsan68Matthias Krüger-5/+5
misc bootstrap cleanups - rename `detail_exit_macro` to `exit` - remove unnecessary `Builder::new_standalone` function - support `x suggest` with build-metrics
2023-07-15Replace `builder::try_run_quiet` with `run_quiet_delaying_failure`jyn-3/+12
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-1/+1
2023-07-15Deduplicate `Builder::try_run` and mark `Config::try_run` as deprecatedjyn-1/+17
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-14Add `track_caller` to builder.msgjyn-0/+7
this makes the panics on nested GHA groups more useful
2023-07-14Add must_use to `msg_` functionsjyn-0/+6
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-14bootstrap: update defaults for `compiler` and `library` aliasesLukas Markeffsky-0/+1
2023-07-13Support `x suggest` with build-metricsjyn-1/+1
2023-07-13Rename `detail_exit_macro` to `exit`jyn-4/+4
`detail` and `macro` weren't adding any info.
2023-07-11Rollup merge of #113373 - jyn514:download-rustc-fixes, r=albertlarsan68Jubilee-5/+0
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-5/+0
2023-07-05Fix submodule handling when the current branch is named after a tagjyn-0/+3
If: 1. The current branch has the same name as git tag, and 2. The current branch is set to track a remote other than `origin`, and 3. We try to update a submodule then we'll get the following error: ``` ; x c Updating submodule src/doc/reference remote: Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 fatal: 'personal' does not appear to be a git repository fatal: Could not read from remote repository. ``` The problem is that 1. causes `git symbolic-ref --short HEAD` to try and disambiguate the branch from the tag using `heads/branch-name`, which breaks a previous workaround for a bug in `git submodule update` that uses the wrong remote. Adapt the workaround to strip `heads/` from the output.
2023-07-01Use RustOptimize to set optimizehi-rustin-1/+1
Signed-off-by: hi-rustin <rustin.liu@gmail.com>
2023-06-25Switch some more Steps to `builder.msg`jyn-0/+9
In particular, this hides compiletest suites under a dropdown - some builders are configured with `verbose-tests`, which makes the suites take up many thousands of lines. before: ``` Documenting stage1 cargo (x86_64-unknown-linux-gnu) Check compiletest suite=rustdoc-js mode=js-doc-test (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu) ``` after: ``` ::group::Documenting stage1 cargo (x86_64-unknown-linux-gnu) ::group::Testing stage1 compiletest suite=rustdoc-js mode=js-doc-test (x86_64-unknown-linux-gnu) ```
2023-06-23Make `try_run` return a `Result<(), ()>` instead of a booleanGuillaume Gomez-6/+8
2023-06-12add support for blessing panic=abort mir-opt testsPietro Albini-0/+1
2023-06-12return dummy cc and friends during dry runsPietro Albini-0/+18
Some targets are added to these hashmaps at runtime, and are not present during dry runs. To avoid errors, this commit changes all the related functions to always return empty strings/paths during dry runs.
2023-06-12allow mutating the c compilers detected by bootstrapPietro Albini-24/+24
This will be needed to create synthetic targets in future commits.
2023-06-07Auto merge of #111495 - Kobzol:dist-tests, r=Mark-Simulacrumbors-2/+7
Run tests on PGO/LTO/BOLT optimized dist artifacts This PR adds baisc tests for the optimized dist builds on x64 Linux and Windows. A subset of the test suite is run, so it's not perfect, but it's better than the status quo (which is basically no testing at all, apart from the perf bot on Linux). r? `@ghost`
2023-06-05Test the PGO/BOLT/LTO optimized x64 Linux compiler on CIJakub Beránek-2/+7
2023-06-04Don't double-print status messages in GHAjyn-1/+0
Before: ``` Building stage0 tool jsondocck (x86_64-unknown-linux-gnu) Building stage0 tool jsondocck (x86_64-unknown-linux-gnu) Downloading crates ... ``` After: ``` Building stage0 tool jsondocck (x86_64-unknown-linux-gnu) Downloading crates ... ```
2023-05-31Fix the progress message for `x doc rustc`jyn-4/+4
This makes it more clear that we're using stage 0 *to document* rustc, not that we're documenting stage0 rustc itself. It also fixes a bug in `msg_sysroot_tool` that would print `Docing`, and removes the `Debug` impl for `Kind` to make sure it doesn't happen again. Before: ``` Documenting stage0 compiler {rustc-main} (aarch64-apple-darwin) ``` After: ``` Documenting compiler {rustc-main} (stage0 -> stage1, aarch64-apple-darwin) ```
2023-05-31Rollup merge of #112084 - ozkanonur:improvements, r=clubby789Matthias Krüger-15/+4
enhancements on build_helper utilization and rustdoc-gui-test This change provides codebase improvements, resolves `FIXME` in `rustdoc-gui-test` and makes `rustdoc-gui` test able to find local `node_modules` directory outside of the source root.
2023-05-30create `build_helper/src/util` modozkanonur-15/+4
Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-05-29Extend `msg` and `description` to work with any subcommandjyn-2/+2
Previously `description` only supported `Testing` and `Benchmarking`, and `msg` gave weird results for `doc` (it would say `Docing`).
2023-05-27Revert "Rollup merge of #111538 - ↵Mark Rousskov-1/+0
chenyukang:yukang-fix-110067-version-issue, r=jyn514" This reverts commit 9267843e72c8692f934c2ef5505c8a7496c0f06e, reversing changes made to e52fbff5e8c2de7ba085ef84d7d50500b695d521. This breaks our ability to bump the src/version where we're bootstrapping with an older compiler than usual (according to version number). It's not clear whether the intended use case has a clean solution given this constraint, so reverting for now - we can reland with a fix of some kind implemented.
2023-05-25Generate docs for bootstrap itselfjyn-0/+4
This verifies the intra-doc links are correct, and hopefully makes things easier for new contributors.
2023-05-20Read beta version from the version file ...liushuyu-6/+27
... if building from a source tarball
2023-05-14fixyukang-0/+1
2023-05-06Migrate bootstrap to Clap-based argumentsclubby789-2/+2