about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2020-12-31Rollup merge of #80532 - tmiasko:rm;, r=Mark-SimulacrumDylan DPC-1/+1
remove unnecessary trailing semicolon from bootstrap
2020-12-31bootstrap: use the correct paths during ./x.py installPietro Albini-81/+45
2020-12-31bootstrap: change the dist outputs to GeneratedTarballPietro Albini-48/+64
The struct will allow to store more context on the generated tarballs.
2020-12-31bootstrap: never delete the tarball temporary directoryPietro Albini-9/+3
Files in the temporary directory are used by ./x.py install.
2020-12-31Auto merge of #80435 - pietroalbini:compression-formats, r=Mark-Simulacrumbors-6/+24
Only produce .xz tarballs on CI This PR adds a `./configure` option to choose which tarball compression formats to produce, and changes our CI configuration to only produce `.xz` tarballs. The release process will then recompress everything into `.gz` when producing a release. This will drastically reduce our storage costs for CI artifacts, as we'd stop storing the same data twice. **Stable, beta and nightly releases will not be affected by this at all.** Before landing this we'll need to increase the VM size of our release process, to recompress everything in a reasonable amount of time. r? `@Mark-Simulacrum`
2020-12-31bootstrap: clippy fixesMatthias Krüger-14/+18
addresses: clippy::or_fun_call clippy::single_char_add_str clippy::comparison_to_empty clippy::or_fun_call
2020-12-30Auto merge of #80530 - m-ou-se:rollup-zit69ko, r=m-ou-sebors-2/+4
Rollup of 9 pull requests Successful merges: - #78934 (refactor: removing library/alloc/src/vec/mod.rs ignore-tidy-filelength) - #79479 (Add `Iterator::intersperse`) - #80128 (Edit rustc_ast::ast::FieldPat docs) - #80424 (Don't give an error when creating a file for the first time) - #80458 (Some Promotion Refactoring) - #80488 (Do not create dangling &T in Weak<T>::drop) - #80491 (Miri: make size/align_of_val work for dangling raw ptrs) - #80495 (Rename kw::Invalid -> kw::Empty) - #80513 (Add regression test for #80062) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2020-12-30Rollup merge of #80424 - jyn514:bootstrap-cleanup, r=Mark-SimulacrumMara Bos-2/+4
Don't give an error when creating a file for the first time Previously, `os.remove` would always give a FileNotFound error the first time you called it, causing bootstrap to make unnecessary copies. This now only calls `remove()` if the file exists, avoiding the unnecessary error. This is a pretty small cleanup but I think it's useful. Taken from https://github.com/rust-lang/rust/pull/79540.
2020-12-30bootstrap: extract from any compression algorithm during distcheckPietro Albini-5/+2
2020-12-30Bump bootstrap compiler to 1.50 betaMark Rousskov-8/+2
2020-12-30Rollup merge of #80461 - rust-lang:tmandry-patch-1, r=Mark-SimulacrumYuki Okushi-1/+6
Add llvm-libunwind change to bootstrap CHANGELOG From #77703. This doesn't need a `changelog-seen` version bump because the old values aren't accepted anymore, meaning anyone who was using this had to change it already. r? ``@Mark-Simulacrum``
2020-12-30remove unnecessary trailing semicolon from bootstrapTomasz Miąsko-1/+1
2020-12-29Remove `compile-fail` test suiteVadim Petrochenkov-11/+1
2020-12-29bootstrap: add the dist.compression-formats optionPietro Albini-1/+22
The option allows to add or remove compression formats used while producing dist tarballs.
2020-12-28Add llvm-libunwind change to bootstrap CHANGELOGTyler Mandry-1/+6
From #77703.
2020-12-28Rollup merge of #80434 - pietroalbini:tarball-temp-dir, r=Mark-SimulacrumDylan DPC-1/+1
bootstrap: put the component name in the tarball temp dir path This should not matter right now, but if we ever parallelize rustbuild this will avoid tarball contents being merged together. r? `@Mark-Simulacrum`
2020-12-28Rollup merge of #80362 - jyn514:rustc-macros, r=ehussDylan DPC-6/+9
Document rustc_macros on nightly-rustc Fixes https://github.com/rust-lang/rust/issues/80345. ![image](https://user-images.githubusercontent.com/23638587/103113442-b7ba2d00-4628-11eb-8a4d-c542f2d170e1.png) ![image](https://user-images.githubusercontent.com/23638587/103113448-bc7ee100-4628-11eb-8657-2d72e88de656.png) r? ``@ehuss``
2020-12-28bootstrap: put the component name in the tarball temp dir pathPietro Albini-1/+1
This should not matter right now, but if we ever parallelize rustbuild this will avoid tarball contents being merged together.
2020-12-28Auto merge of #80397 - Mark-Simulacrum:fix-bare-tarball, r=pietroalbinibors-1/+7
Use package name for top-level directory in bare tarballs This fixes a bug introduced by #79788. r? `@pietroalbini`
2020-12-27Don't use `self.date` unconditionally for `program_out_of_date()`Joshua Nelson-10/+11
This avoids unnecessary cache invalidations for programs not affected by the stage0 version (which is everything except the stage0 compiler itself). The redundant invalidations weren't noticed until now because they only showed up on stage0 bumps, at which point people are used to rebuilding everything anyway. I noticed it because I wasn't adding `self.date` to the stamp file (because I didn't realize it was necessary). Rather than adding self.date I thought it was better to remove it from the cache key.
2020-12-27Don't give an error when creating a file for the first timeJoshua Nelson-2/+4
Previously, `os.remove` would always give a FileNotFound error the first time you called it, causing bootstrap to make unnecessary copies. This now only calls `remove()` if the file exists, avoiding the unnecessary error.
2020-12-27Auto merge of #80315 - tmiasko:ignore-proc-macros, r=Mark-Simulacrumbors-1/+15
Ignore proc-macros when assembling rustc libdir Fixes #80294.
2020-12-26Use package name for top-level directory in bare tarballsMark Rousskov-1/+7
This fixes a bug introduced by #79788.
2020-12-26Auto merge of #80316 - ehuss:rustdoc-index, r=Mark-Simulacrumbors-0/+2
Include rustdoc in the compiler docs index. This should help ensure that the index page at https://doc.rust-lang.org/nightly/nightly-rustc/ includes a link to the rustdoc docs as well. Fixes #80307
2020-12-24Document rustc_macros on nightly-rustcJoshua Nelson-6/+9
2020-12-23bootstrap: convert reproducible-artifacts to use TarballPietro Albini-41/+4
2020-12-23bootstrap: use the normal compiler to build stdPietro Albini-2/+1
2020-12-23bootstrap: avoid producing the rust tarball during dry runsPietro Albini-0/+5
2020-12-23bootstrap: convert rustc-src to use TarballPietro Albini-62/+45
2020-12-23bootstrap: convert rust to use TarballPietro Albini-63/+65
2020-12-23bootstrap: convert rust-src to use TarballPietro Albini-33/+28
2020-12-23bootstrap: convert rust-analyzer to use TarballPietro Albini-50/+15
2020-12-23bootstrap: convert rls to use TarballPietro Albini-50/+13
2020-12-23bootstrap: convert rustfmt to use TarballPietro Albini-49/+16
2020-12-23bootstrap: convert miri to use TarballPietro Albini-51/+14
2020-12-23bootstrap: simplify including licenses and readmes to tarballsPietro Albini-10/+10
2020-12-23bootstrap: convert clippy to use TarballPietro Albini-48/+19
2020-12-23bootstrap: convert cargo to use TarballPietro Albini-57/+44
2020-12-23bootstrap: convert rust-analysis to use TarballPietro Albini-36/+12
2020-12-23bootstrap: convert rustc-dev to use TarballPietro Albini-40/+16
2020-12-23bootstrap: convert rust-std to use TarballPietro Albini-30/+18
2020-12-23bootstrap: refactor showing the "dist" infoPietro Albini-23/+5
2020-12-23bootstrap: convert rustc to use TarballPietro Albini-52/+11
2020-12-23bootstrap: convert rust-mingw to use TarballPietro Albini-23/+5
2020-12-23bootstrap: convert rustc-docs to use TarballPietro Albini-34/+8
2020-12-23bootstrap: convert rust-docs to use TarballPietro Albini-41/+23
2020-12-23bootstrap: convert llvm-tools to use TarballPietro Albini-42/+21
2020-12-23bootstrap: convert build-manifest to use the new Tarball structPietro Albini-88/+146
2020-12-23Auto merge of #80262 - Mark-Simulacrum:pgo-rustc, r=pietroalbinibors-1/+122
Utilize PGO for rustc linux dist builds This implements support for applying PGO to the rustc compilation step (not standard library or any tooling, including rustdoc). Expanding PGO to more tools is not terribly difficult but will involve more work and greater CI time commitment. For the same reason of avoiding greater implementation time commitment, implementing for platforms outside of x86_64-unknown-linux-gnu is skipped. In practice it should be quite simple to extend over time to more platforms. The initial implementation is intentionally minimal here to avoid too much work investment before we start seeing wins for a subset of Rust users. The choice of workloads to profile here is somewhat arbitrary, but the general rationale was to aim for a small set that largely avoided time regressions on perf.rust-lang.org's full suite of crates. The set chosen is libcore, cargo (and its dependencies), and a few ad-hoc stress tests from perf.rlo. The stress tests are arguably the most controversial, but they benefit those cases (avoiding regressions) and do not really remove wins from other benchmarks. The primary next step after this PR lands is to implement support for PGO in LLVM. It is unclear whether we can afford a full LLVM rebuild in CI, though, so the approach taken there may need to be more staggered. rustc-only PGO seems well affordable on linux at least, giving us up to 20% wall time wins on some crates for 15 minutes of extra CI time (1 hour with this PR, up from 45 minutes). The PGO data is uploaded to allow others to reuse it if attempting to reproduce the CI build or potentially, in the future, on other platforms where an off-by-one strategy is used for dist builds at minimal performance cost. r? `@michaelwoerister` (but tell me if you don't want to / don't feel comfortable approving and we can find others)
2020-12-22Include rustdoc in the compiler docs index.Eric Huss-0/+2