about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2020-03-24Auto merge of #70190 - pietroalbini:gha, r=Mark-Simulacrumbors-0/+103
Add GitHub Actions configuration This PR adds the GitHub Actions configuration to the rust-lang/rust repository. The configuration will be run in parallel with Azure Pipelines until the evaluation finishes: the infrastructure team will then decide whether to switch. Since GitHub Actions doesn't currently have any way to include pieces of configuration, this also adds the `src/tools/expand-yaml-anchors` tool, which serves as a sort of templating system. Otherwise the configuration is a mostly straight port from the Azure Pipelines configuration (thanks to all the PRs opened in the past). There are still a few small things I need to fix before we can land this, but it's mostly complete and ready for an initial review. r? @Mark-Simulacrum
2020-03-24bootstrap: remove default and only_host from expand-yaml-anchorsPietro Albini-2/+0
2020-03-24ci: add github actions configurationPietro Albini-0/+105
2020-03-24Auto merge of #70163 - nikic:llvm-10-preparation, r=cuviperbors-0/+2
Prepare for LLVM 10 upgrade This is #67759 minus the submodule update. * Fix two compatibility issues in the rustllvm wrapper. * Update data layout strings in tests. * Fix LLVM version comparison (this become a problem because the major version has two digits now). r? @cuviper
2020-03-23Rollup merge of #69494 - GuillaumeGomez:stabilize-crate-version, ↵Mazdak Farrokhzad-6/+6
r=ehuss,aleksator,ollie27 Stabilize --crate-version option in rustdoc I don't see any reason to not stabilize it anymore, so let's go! cc @kinnison @ehuss r? @ollie27
2020-03-23Rollup merge of #70123 - cuviper:library-path, r=Mark-SimulacrumMazdak Farrokhzad-45/+57
Ensure LLVM is in the link path for rustc tools The build script for `rustc_llvm` outputs LLVM information in `cargo:rustc-link-lib` and `cargo:rustc-link-search` so the compiler can be linked correctly. However, while the lib is carried along in metadata, the search paths are not. So when cargo is invoked again later for rustc _tools_, they'll also try to link with LLVM, but the necessary paths may be left out. Rustbuild can use the environment to set the LLVM link path for tools -- `LIB` for MSVC toolchains and `LIBRARY_PATH` for everyone else. Fixes #68714.
2020-03-21Add missing -Z unstable-options flagAlex Tokarev-1/+6
2020-03-21Remove CARGO_BUILD_TARGET from bootstrap.pylzutao-0/+4
2020-03-19Remove trailing newline from llvm-config outputNikita Popov-0/+2
2020-03-19Avoid llvm-config in more situations, like bootstrap test runsJosh Stone-8/+19
2020-03-19Rollup merge of #69443 - ehuss:tidy-license, r=skade,Mark-SimulacrumMazdak Farrokhzad-3/+0
tidy: Better license checks. This implements some improvements to the license checks in tidy: * Use `cargo_metadata` instead of parsing vendored crates. This allows license checks to run without vendoring enabled, and allows the checks to run on PR builds. * Check for stale entries. * Check that the licenses for exceptions are what we think they are. * Verify exceptions do not leak into the runtime. Closes #62618 Closes #62619 Closes #63238 (I think) There are some substantive changes here. The follow licenses have changed from the original comments: * openssl BSD+advertising clause to Apache-2.0 * pest MPL2 to MIT/Apache-2.0 * smallvec MPL2 to MIT/Apache-2.0 * clippy lints MPL2 to MIT OR Apache-2.0
2020-03-18Revert "Fix missing libLLVM.so in stage0 sysroot."Josh Stone-38/+0
This reverts commit 8b9c5396ca574fad9cc7b51d16c8c96e0ae74632.
2020-03-18Ensure LLVM is in the link path for rustc toolsJosh Stone-2/+41
2020-03-18Rename add_lib_path to add_dylib_pathJosh Stone-6/+6
2020-03-18Tidy: fix running rustfmt twiceEric Huss-0/+3
2020-03-17Rollup merge of #69735 - tmiasko:bootstrap-sanitizers-hash, r=Mark-SimulacrumMazdak Farrokhzad-31/+67
bootstrap: Use hash to determine if sanitizers needs to be rebuilt * Rebuild sanitizers runtimes when LLVM submodule commit changes. * When rebuilding LLVM / sanitizers, remove the stamp file before starting the build process to invalidate previous build output.
2020-03-17Rollup merge of #70029 - jonas-schievink:bootstrap, r=CentrilMazdak Farrokhzad-9/+3
Bump the bootstrap compiler
2020-03-16Rollup merge of #69964 - ollie27:ci_nodejs, r=Mark-Simulacrum,GuillaumeGomezDylan DPC-3/+5
Add Node.js to PR CI image This should allow the `rustdoc-js` and `rustdoc-js-std` test suites to run automatically on PRs.
2020-03-15Bump the bootstrap compilerJonas Schievink-9/+3
2020-03-13Allow `rustdoc-js` and `rustdoc-js-std` to use none default build dir locationOliver Middleton-3/+5
2020-03-12tidy: Use cargo_metadata for license checks.Eric Huss-3/+0
2020-03-12Rollup merge of #69705 - ehuss:toolstate-remove-redundant-beta, ↵Mazdak Farrokhzad-33/+22
r=Mark-Simulacrum Toolstate: remove redundant beta-week check. I made a bit of a mistake in #69624. The "beta regression" doesn't need to be checked twice. I also rolled up #69693 to avoid merge conflicts.
2020-03-11Rollup merge of #69603 - chrissimpkins:tidy-docs-update, r=petrochenkovMazdak Farrokhzad-1/+8
tidy: replace `make check` with `./x.py test` in documentation This PR includes a minor documentation update for tidy. It replaces the `make check` approach with `./x.py test` and describes how to execute the tidy checks (only) with ~~`./x.py test src/tools/tidy`~~ `./x.py test tidy`.
2020-03-09remove trailing whitespace (tidy)Chris Simpkins-1/+1
2020-03-09Add documentation of tool testing with x.py scriptChris Simpkins-2/+6
2020-03-09add documentation of x.py tool testingChris Simpkins-0/+3
2020-03-08Rollup merge of #69631 - RalfJung:rust-src, r=Mark-SimulacrumMazdak Farrokhzad-2/+0
remove non-sysroot sources from rust-src component See https://github.com/rust-lang/rust/pull/69592#discussion_r386238725: these were likely added in https://github.com/rust-lang/rust/pull/58269 for the sake of compiler plugins, but those are being entirely phased out, so there is no good reason to ship these sources. OTOH, @eddyb [wrote](https://github.com/rust-lang/rust/pull/58269#issuecomment-463408918) > Yeah, my question is why librustc_plugin specifically? Everything else makes sense. So maybe there is some good reason to keep these? Then we should have a comment explaining that reason. Cc @eddyb @taeguk @Mark-Simulacrum
2020-03-06fix various typosMatthias Krüger-2/+2
2020-03-05bootstrap: Use hash to determine if sanitizers needs to be rebuiltTomasz Miąsko-31/+67
* Rebuild sanitizers runtimes when LLVM submodule commit changes. * When rebuilding LLVM / sanitizers, remove the stamp file before starting the build process to invalidate previous build output.
2020-03-04Further clarifications and comments on toolstate operation.Eric Huss-4/+12
2020-03-04more toolstate commentsRalf Jung-3/+5
2020-03-04Toolstate: remove redundant beta-week check.Eric Huss-30/+9
2020-03-04Auto merge of #69636 - RalfJung:miri, r=nikomatsakisbors-1/+1
update miri Let's make that toolstate green again. :D This bumps serde in the lockfile, so r? @oli-obk Fixes https://github.com/rust-lang/rust/issues/69462
2020-03-04point cargo-miri to the right xargo binaryRalf Jung-1/+1
2020-03-02Toolstate: don't duplicate nightly tool list.Eric Huss-1/+1
2020-03-02Rollup merge of #69624 - ehuss:toolstate-beta-regress, r=Mark-SimulacrumDylan DPC-63/+133
Toolstate: Don't block beta week on already broken tools. This changes it so that tools are allowed to be broken entering the beta week if they are already broken. This restores the original behavior before the changes in #69332. Closes #68458
2020-03-02remove non-sysroot sources from rust-src componentRalf Jung-2/+0
2020-03-01Toolstate: Don't block beta week on already broken tools.Eric Huss-63/+133
2020-03-01Rollup merge of #69549 - mati865:mingw, r=kennytmYuki Okushi-1/+8
Improve MinGW detection when cross compiling Official mingw-w64 builds, MSYS2 and LLVM MinGW provide both `gcc.exe` and `$ARCH-w64-mingw32-gcc.exe` so they should not regress but I included CI changes to verify it though `@bors try` (I don't have permission). This change will come handy when cross compiling from Linux or Cygwin since they use `gcc` as native compiler and `$ARCH-w64-mingw32-gcc.exe` for MinGW. This means users will no longer have to override the linker.
2020-03-01Rollup merge of #69397 - tmiasko:llvm-version-suffix, r=nagisaYuki Okushi-6/+2
bootstrap: Remove commit hash from LLVM version suffix to avoid rebuilds The custom LLVM version suffix was introduced to avoid unintentional library names conflicts. By default it included the LLVM submodule commit hash. Changing the version suffix requires the complete LLVM rebuild, and since then every change to the submodules required it as well. Remove the commit hash from version suffix to avoid complete rebuilds, while leaving the `rust` string, the release number and release channel to disambiguate the library name. Context: version suffix was introduced by #59173 as solution to #59034. Resolves #68715.
2020-02-29Make it build againVadim Petrochenkov-1/+1
2020-02-29Update src/bootstrap/dist.rsMateusz Mikuła-1/+1
Co-Authored-By: kennytm <kennytm@gmail.com>
2020-02-28Fix no_std detection for target triplesAndre Richter-1/+1
The current check for wether a target is no_std or not is matching for the string "-none-" in a target triple. This doesn't work for triples that end in "-none", like "aarch64-unknown-none". Fix this by matching for "-none" instead. I checked for all the current target triples containing "none", and this should not generate any false positives. This fixes an issue encountered in https://github.com/rust-lang/rust/pull/68334
2020-02-28Improve MinGW detection when cross compilingMateusz Mikuła-1/+8
2020-02-27Ignore untracked paths when running `rustfmt` on repository.Felix S. Klock II-1/+12
2020-02-26Stabilize --crate-version option in rustdocGuillaume Gomez-5/+0
2020-02-26Rollup merge of #69381 - QuiltOS:no-std-from-config, r=Mark-SimulacrumDylan DPC-7/+17
Allow getting `no_std` from the config file Currently, it is only set correctly in the sanity checking implicit default fallback code. Having a config file at all will for force `no_std = false`.
2020-02-24bootstrap: Further centralize target defaulting logic.John Ericson-7/+16
Background: targets can be specied with or without config files; unneccessarily differences in the logic between those cases has caused a) the bug I tried to fix in the previous commit, b) the bug I introduced in the previous commit. The solution is to make the code paths the same as much as possible. 1. Targets are now not created from the `default` method. (I would both remove the impl if this was a public library, but just wrap it for convience becaues it's not.) Instead, there is a `from_triple` method which does the defaulting. 2. Besides the sanity checking, use the new method in the code reading config files. Now `no_std` is overriden iff set explicitly just like the other fields which are optional in the TOML AST type. 3. In sanity checking, just populate the map for all targets no matter what. That way do don't duplicate logic trying to be clever and remember which targets have "non standard" overrides. Sanity checking is back to just sanity checking, and out of the game of trying to default too.
2020-02-23bootstrap: Remove commit hash from LLVM version suffix to avoid rebuildsTomasz Miąsko-6/+2
The custom LLVM version suffix was introduced to avoid unintentional library names conflicts. By default it included the LLVM submodule commit hash. Changing the version suffix requires the complete LLVM rebuild, and since then every change to the submodules required it as well. Remove the commit hash from version suffix to avoid complete rebuilds, while leaving the `rust` string, the release number and release channel to disambiguate the library name.
2020-02-22Allow getting `no_std` from the config fileJohn Ericson-3/+4
Currently, it is only set correctly in the sanity checking implicit default fallback code. Having a config file at all will for force `no_std = false`.