about summary refs log tree commit diff
path: root/src/bootstrap/Cargo.toml
AgeCommit message (Collapse)AuthorLines
2023-12-21Update sysinfo version to 0.30.0Guillaume Gomez-1/+1
2023-12-16create helper fn `hex_encode` and remove `hex` dependencyonur-ozkan-1/+0
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-12-05Update bootstrap libc to 0.2.150Urgau-1/+1
Version 0.2.150 include support for the new check-cfg syntax
2023-10-30bootstrap: bump fd-lock, clap and windows.chenx97-3/+3
this also updates target-sensitive dependencies like rustix and libc.
2023-10-24remap cargo dependencies to /rust/depsPietro Albini-0/+1
2023-10-17move bootstrap utils into bootstrap/src/utils moduleonur-ozkan-5/+5
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-10-15bump bootstrap:clap_complete to `4.4.3`onur-ozkan-1/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-10-10move `features` above to appear before others sectionsonur-ozkan-3/+3
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-10-10sort/reorganize dependencies in bootstrap/Cargo.tomlonur-ozkan-9/+9
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-09-01bump pretty_assertions to 1.4onur-ozkan-1/+1
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-1/+1
2023-06-05bootstrap: remove dep `is-terminal`kadiwa-1/+0
2023-06-03only check when we specify rustc in config.tomlyukang-0/+1
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-20Auto merge of #111413 - workingjubilee:bump-object-0-31-1, r=MarkSimulacrumbors-1/+1
Bump object and thorin-dwp Required to fix watchOS breakage.
2023-05-14Make sure the build.rustc version is either the same or 1 apartyukang-0/+1
2023-05-10Bump object and thorin-dwpJubilee Young-1/+1
object -> 0.31.1 thorin-dwp -> 0.6.0 Required to fix watchOS breakage.
2023-05-10Generate shell completions for bootstrap with Clapclubby789-0/+1
2023-05-06Migrate bootstrap to Clap-based argumentsclubby789-1/+2
2023-04-12drop some windows featuresklensy-4/+0
2023-04-05Use the `junction` crate in bootstrap instead of manually creating the junctionThom Chiovoloni-0/+3
2023-04-01bootstrap replace atty with is-terminal, dedupe few depsklensy-1/+1
2023-03-21Auto merge of #108659 - ferrocene:pa-test-metrics, r=Mark-Simulacrumbors-0/+2
Include executed tests in the build metrics (and use a custom test display impl) The main goal of this PR is to include all tests executed in CI inside the build metrics JSON files. I need this for Ferrocene, and `@Mark-Simulacrum` expressed desire to have this as well to ensure all tests are executed at least once somewhere in CI. Unfortunately implementing this required rewriting inside of bootstrap all of the code to render the test output to console. libtest supports outputting JSON instead of raw text, which we can indeed use to populate the build metrics. Doing that suppresses the console output though, and compared to rustc and Cargo the console output is not included as a JSON field. Because of that, this PR had to reimplement both the "pretty" format (one test per line, with `rust.verbose-tests = true`), and the "terse" format (the wall of dots, with `rust.verbose-tests = false`). The current implementation should have the exact same output as libtest, except for the benchmark output. libtest's benchmark output is broken in the "terse" format, so since that's our default I slightly improved how it's rendered. Also, to bring parity with libtest I had to introduce support for coloring output from bootstrap, using the same dependencies `annotate-snippets` uses. It's now possible to use `builder.color_for_stdout(Color::Red, "text")` and `builder.color_for_stderr(Color::Green, "text")` across all of bootstrap, automatically respecting the `--color` flag and whether the stream is a terminal or not. I recommend reviewing the PR commit-by-commit. r? `@Mark-Simulacrum`
2023-03-20migrate compiler, bootstrap, and compiletest to windows-rsAndy Russell-11/+13
2023-03-13Don't use fd-lock on Solaris in bootstrapPetr Sumbera-1/+4
...as Solaris is missing flock() fixes #103630
2023-03-07switch to termcolorPietro Albini-1/+1
2023-03-02add a splash of colorPietro Albini-0/+2
2023-02-27Allow building serde and serde_derive in parallelbjorn3-1/+4
This reduces build time of bootstrap by ~6s
2023-01-03Add `build_helper` crate to share code between tidy and bootstrapNilstrieb-0/+1
2022-12-31Revert "Auto merge of #105058 - ↵Joshua Nelson-1/+0
Nilstrieb:no-merge-commits-for-you-only-bors-is-allowed-to-do-that, r=jyn514" This reverts commit 4839886f0abe208ab8f2bb73a3076a59fe2ab60c, reversing changes made to ce85c98575e3016cf2007d90a85be321e592aa96.
2022-12-30Add `build_helper` crate to share code between tidy and bootstrapNilstrieb-0/+1
2022-12-22Use LLVM_CMAKE_DIR for lld buildNikita Popov-5/+0
LLVM_CONFIG_PATH is no longer supported as of LLVM 16, switch to using the cmake module instead. We separately return the llvm-config and cmake directory paths, because llvm-config always refers to the host binary, while the cmake directory is for the target triple.
2022-12-04Update pretty_assertions to 1.3bjorn3-1/+1
This replaces ansi_term with yansi which in turn removes a winapi dependency edge
2022-11-23Bump `fd-lock` in `bootstrap` againMateusz Mikuła-1/+1
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-22Rollup merge of #104622 - nicholasbishop:bishop-uefi-clang, r=Mark-SimulacrumManish Goregaokar-0/+1
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-20dist: Ensure UEFI rlibs are all COFFNicholas Bishop-0/+1
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-16update ntapi dep to remove future-incompat warningklensy-1/+1
2022-11-05Update several crates for improved support of the new targetsMateusz Mikuła-1/+1
This helps with `*-windows-gnullvm` targets
2022-09-05Avoid UB in the Windows filesystem code in... bootstrap?Thom Chiovoloni-0/+1
2022-08-15Revert "Revert "Remove num_cpus dependency from bootstrap, build-manifest ↵The 8472-1/+0
and rustc_session"" This reverts commit 1ae4b258267462da0b1aae1badcf83578153c799.
2022-06-27Move locking from bootstrap.py to rust bootstrap, using fd-lockJosh Triplett-0/+1
2022-06-21Fully remove submodule handling from bootstrap.pyJoshua Nelson-0/+8
These submodules were previously updated in python because Cargo gives a hard error if toml files are missing from the workspace: ``` error: failed to load manifest for workspace member `/home/jnelson/rust-lang/rust/src/tools/rls` Caused by: failed to read `/home/jnelson/rust-lang/rust/src/tools/rls/Cargo.toml` Caused by: No such file or directory (os error 2) failed to run: /home/jnelson/rust-lang/rust/build/x86_64-unknown-linux-gnu/stage0/bin/cargo build --manifest-path /home/jnelson/rust-lang/rust/src/bootstrap/Cargo.toml ``` However, bootstrap doesn't actually need to be part of the workspace. Remove it so we can move submodule handling fully to Rust, avoiding duplicate code between Rust and Python. Note that this does break `cargo run`; it has to be `cd src/bootstrap && cargo run` now. Given that we're planning to make the main entrypoint a shell script (or rust binary), I think this is a good tradeoff for reduced complexity in bootstrap.py.
2022-06-19Auto merge of #97268 - jyn514:faster-assemble, r=Mark-Simulacrumbors-0/+1
Make "Assemble stage1 compiler" orders of magnitude faster (take 2) This used to take upwards of 5 seconds for me locally. I found that the culprit was copying the downloaded LLVM shared object: ``` [22:28:03] Install "/home/jnelson/rust-lang/rust/build/x86_64-unknown-linux-gnu/ci-llvm/lib/libLLVM-14-rust-1.62.0-nightly.so" to "/home/jnelson/rust-lang/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libLLVM-14-rust-1.62.0-nightly.so" [22:28:09] c Sysroot { compiler: Compiler { stage: 1, host: x86_64-unknown-linux-gnu(x86_64-unknown-linux-gnu) } } ``` It turned out that `install()` used full copies unconditionally. Change it to try using a hard-link before falling back to copying. - Panic if we generate a symbolic link in a tarball - Change install to use copy internally, like in my previous PR - Change copy to dereference symbolic links, which avoids the previous regression in #96803. I also took the liberty of fixing `x dist llvm-tools` to work even if you don't call `x build` previously.
2022-06-19Panic if `dist` generates a symbolic link in a generated tarballJoshua Nelson-0/+1
This avoids regressions in rustup-toolchain-install-master
2022-06-09Revert "Remove num_cpus dependency from bootstrap, build-manifest and ↵David Tolnay-0/+1
rustc_session" This reverts commit 2d854f9c340df887e30896f49270ae81feb3e227.
2022-06-07Add checksum verification for rustfmt downloadsJoshua Nelson-0/+2
2022-06-04bump sysinfo versionPietro Albini-1/+1
2022-05-02add build metrics, to gather ci stats from x.pyPietro Albini-0/+6
This tool will generate a JSON file with statistics about each individual step to disk. It will be used in rust-lang/rust's CI to replace the mix of scripts and log scraping we currently have to gather this data.
2022-04-24Use `build/tmp` instead of adding a dependency on `tempfile`.Joshua Nelson-1/+0
2022-04-24Move download-ci-llvm to rustbuildJoshua Nelson-0/+3
This attempts to keep the logic as close to the original python as possible. `probably_large` has been removed, since it was always `True`, and UTF-8 paths are no longer supported when patching files for NixOS. I can readd UTF-8 support if desired. Note that this required making `llvm_link_shared` computed on-demand, since we don't know whether it will be static or dynamic until we download LLVM from CI.