about summary refs log tree commit diff
path: root/src/bootstrap/Cargo.lock
AgeCommit message (Collapse)AuthorLines
2025-09-03Reduce bootstrap's dependenciesDaniel Paoliello-32/+106
2025-08-28bootstrap: bump cc-rs to 1.2.28no92-2/+2
2025-08-14bootstrap: Remove dependency on xattrJosh Triplett-13/+2
Extracting the Rust tarballs doesn't require this.
2025-08-14bootstrap: Switch from fd-lock to native locking in stdJosh Triplett-12/+0
In the process, fix a race condition, by never truncating or writing to the file unless we currently hold the lock.
2025-08-14Rollup merge of #145261 - Kobzol:bootstrap-tracing, r=jieyouxuJakub Beránek-43/+25
Improve tracing in bootstrap I was annoyed that bootstrap had like 5 separate ways of debugging/tracing/profiling, and it was hard for me to understand how are individual steps executed. This PR tries to unify severla things behind `BOOTSTRAP_TRACING`, and improve tracing/profiling in general: - All generated tracing outputs are now stored in a single directory to make it easier to examine them, plus bootstrap prepares a `latest` symlink to the latest generated tracing output directory for convenience. - All executed spans are now logged automatically (without requiring usage of `#[tracing::instrument]`). - A custom span/event formatter was implemented, to provide domain-specific output (like location of executed commands or spans) and hopefully also to reduce visual clutter. - `tracing_forest` was removed. While it did some useful postprocessing, it didn't expose enough information for making the dynamic step spans work. - You can now explicitly log steps (`STEP=info`) and/or commands (`COMMAND=info`), to have more granular control over what gets logged. - `print-step-timings` also show when a step starts its execution (not just when it ends it), so that when some step fails in CI, we can actually see what step it was (before we would only see the end of the previous step). - The rustc-dev-guide page on debugging/profiling bootstrap was updated. There are still some things that work outside of tracing (`print-step-timings` and `dump-bootstrap-shims`), but I think that for now this improvement is good enough. I removed the `> step`, `< step` verbose output, because I found it unusable, as verbose bootstrap output also enables verbose Cargo output, and then you simply drown in too much data, and because I think that the new tracing system makes it obsolete (although it does require recompilation with the `tracing` feature). If you want to keep it, happy to revert 690c781475acb890f33d928186bdaea9ef179330. And the information about cached steps is now also shown in the Graphviz step dependency graph. We can modify the tracing output however we want, as we now implement it ourselves. Notably, we could also show exit logs for step spans, currently I only show enter spans. Maybe creating indents for each executed nested command is also not needed. Happy to hear feedback! Some further improvements could be to print step durations, if we decide to also log step exit events. We could also try to enable tracing in CI logs, but it might be too verbose. Best reviewed commit-by-commit. r? ``@jieyouxu`` CC ``@Shourya742``
2025-08-12Remove one dependency from tracing bootstrap buildJakub Beránek-130/+0
2025-08-11Replace `tracing_forest` with custom span formattingJakub Beránek-38/+150
2025-08-11Update `sysinfo` version to `0.37.0`Guillaume Gomez-2/+2
2025-07-11Update sysinfo version to `0.36.0`Guillaume Gomez-4/+4
2025-06-29Use `tracing-forest` instead of `tracing-tree` for bootstrap tracingJieyou Xu-23/+44
I find the `tracing-forest` output easier to comprehend.
2025-06-12Add support for snapshot tests with instaJakub Beránek-0/+36
2025-05-21Rollup merge of #140994 - onur-ozkan:cc2ar-removal, r=albertlarsan68Matthias Krüger-2/+2
replace `cc_detect::cc2ar` with `cc::try_get_archiver` ~~Awaiting new release of [cc](https://crates.io/crates/cc) version with https://github.com/rust-lang/cc-rs/pull/1456 to bump the version.~~ ~~Blocked by https://github.com/rust-lang/cc-rs/pull/1456.~~ Kind a self-explanatory. try-job: dist-android
2025-05-17bootstrap: bump windows tooklensy-62/+9
2025-05-16bump bootstrap cc-rs to `1.2.23`onur-ozkan-2/+2
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-05-14Update rustix to 1.0.7 for bootstrap王宇逸-2/+2
2025-05-10Update deps of bootstrap for Cygwin王宇逸-33/+13
2025-05-02Update sysinfo version to `0.35.0`Guillaume Gomez-15/+130
2025-04-20Move freshness test to bootstrapJakub Beránek-4/+79
2025-04-20Implement a new unified function for figuring out how if a set of paths have ↵Jakub Beránek-5/+5
been modified locally Also adds several git tests to make sure that the behavior works in common cases (PR CI, auto CI, local usage).
2025-03-28bootstrap: bump cc to 1.2.17 and cmake to 0.1.54Mads Marquart-4/+4
2025-02-23downgrade bootstrap `cc`onur-ozkan-2/+2
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-02-13Add export of bootstrap tracing to Chrome eventsJakub Beránek-0/+12
2025-01-21bump bootsrap windows to 0.57klensy-22/+3
2025-01-13bootstrap: add optional `tracing` cargo feature and optional `tracing*` deps许杰友 Jieyou Xu (Joe)-5/+191
2024-12-04Update sysinfo version to 0.33.0Guillaume Gomez-4/+4
2024-11-13Bump bootstrap depsclubby789-34/+34
2024-11-13Update bootstrap `cc`clubby789-3/+3
2024-09-27Bump `cc` and run `cargo update` for bootstrapTrevor Gross-50/+50
Bump `cc` to 1.1.22, which includes a caching fix. Also run `cargo update` which does a minor increment on a few dependencies.
2024-09-18Bump cc dependencyArtyom Tetyukhin-2/+11
2024-08-18Run `cargo update` with the new v2 resolverTrevor Gross-96/+111
v2 resolves some dependencies differently, and we adjusted some dependency versions. Run `cargo update` to make sure everything is in sync.
2024-08-01Update sysinfo version to 0.31.2Guillaume Gomez-29/+82
2024-07-14use std for file mtime and atime modificationsonur-ozkan-1/+0
Since 1.75 std provides an interface to set access and modified times on files. This change replaces the external dependency previously used for these operations with the corresponding std functions. Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-07-07bootstrap: once_cell::sync::Lazy -> std::sync::LazyLockPavel Grigorenko-1/+0
2024-06-15bump few depsklensy-21/+9
2024-05-18Update libc to 0.2.155Mads Marquart-2/+2
2024-05-06Update version of cc crate to v1.0.97James Farrell-2/+2
Reason: In order to build the Windows version of the Rust toolchain for the Android platform, the following patch to the cc is crate is required to avoid incorrectly determining that we are building with the Android NDK: https://github.com/rust-lang/cc-rs/commit/57853c4bf8a89a0f4c9137eb367ac580305c6919 This patch is present in version 1.0.80 and newer versions of the cc crate. The rustc source distribution currently has 3 different versions of cc in the vendor directory, only one of which has the necessary fix. We (the Android Rust toolchain) are currently maintaining local patches to upgrade the cc crate dependency versions, which we would like to upstream. Furthermore, beyond the specific reason, the cc crate in bootstrap is currently pinned at an old version due to problems in the past when trying to update it. It is worthwhile to figure out and resolve these problems so we can keep the dependency up-to-date. Other fixes: As of cc v1.0.78, object files are prefixed with a 16-character hash. Update src/bootstrap/src/core/build_steps/llvm.rs to account for this to avoid failures when building libunwind and libcrt. Note that while the hash prefix was introduced in v1.0.78, in order to determine the names of the object files without scanning the directory, we rely on the compile_intermediates method, which was introduced in cc v1.0.86 As of cc v1.0.86, compilation on MacOS uses the -mmacosx-version-min flag. A long-standing bug in the CMake rules for compiler-rt causes compilation to fail when this flag is specified. So we add a workaround to suppress this flag. Updating to cc v1.0.91 and newer requires fixes to bootstrap unit tests. The unit tests use targets named "A", "B", etc., which fail a validation check introduced in 1.0.91 of the cc crate.
2024-04-19bootstrap: don't use rayon for sysinfoklensy-27/+0
It's looks overkill to use rayon to collect cpu usage
2024-01-11bump bootstrap dependenciesonur-ozkan-158/+119
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-12-30bootstrap: bump fd-lockonur-ozkan-32/+32
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-12-25Update sysinfo version to 0.30.1Guillaume Gomez-2/+2
2023-12-21Update sysinfo version to 0.30.0Guillaume Gomez-5/+5
2023-12-16create helper fn `hex_encode` and remove `hex` dependencyonur-ozkan-7/+0
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-12-05Update bootstrap libc to 0.2.150Urgau-2/+2
Version 0.2.150 include support for the new check-cfg syntax
2023-11-07bump some depsklensy-36/+4
drop num_cpus from rust-installer as not used update rayon, rayon-core, which drops it's deps on num_cpus and crossbeam-channel (for bootstrap too) (https://github.com/rayon-rs/rayon/blob/v1.8.0/RELEASES.md) update erro, which drops errno-dragonfly (https://github.com/lambda-fairy/rust-errno/blob/5341791935df601306ffc57a665763c4ecd72755/CHANGELOG.md)
2023-10-30bootstrap: bump fd-lock, clap and windows.chenx97-72/+57
this also updates target-sensitive dependencies like rustix and libc.
2023-10-24remap cargo dependencies to /rust/depsPietro Albini-0/+10
2023-10-15bump bootstrap:clap_complete to `4.4.3`onur-ozkan-2/+2
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-09-01bump hermit-abi from yanked version(0.3.1) to 0.3.2onur-ozkan-3/+3
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-09-01bump pretty_assertions to 1.4onur-ozkan-36/+4
Removes the duplicated dependency(syn 1.0.102) from bootstrap dependency tree Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-08-14Upgrade Object and related depsdirreke-2/+2