about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2019-10-31Rollup merge of #65274 - pietroalbini:ci-upload-toolstate, r=alexcrichtonMazdak Farrokhzad-0/+4
Upload toolstates.json to rust-lang-ci2 This PR does two things: * Following up with https://github.com/rust-lang/rust/pull/65202, it migrates deploying artifacts to CI in a script. Both uploading release artifacts and CPU stats were merged into the same script, designing it to be easily extended. * Uploads the toolstate JSON to `rust-lang-ci2` along with the release artifacts, both for Linux and Windows. This is needed because @RalfJung wants to stop shipping MIRI when its tests are failing, and the toolstate repo doesn't have entries for each commit. Having the toolstate data (just for that specific commit) on `rust-lang-ci2` will simplify the code a lot. r? @alexcrichton cc @RalfJung
2019-10-30ci: move toolstates.json to /tmp/toolstate/ and docker mount itPietro Albini-0/+4
Before this commit toolstates.json was stored in /tmp and it wasn't mounted outside the build container. That caused uploading the file in the upload-artifacts task to fail, as the file was missing on the host. Mounting /tmp/toolstates.json alone is not the best approach: if the file is missing when the container is started the Docker engine will create a *directory* named /tmp/toolstates.json. The Docker issue could be solved by pre-creating an empty file named /tmp/toolstates.json, but doing that could cause problems if bootstrap fails to generate the file and the toolstate scripts receive an empty JSON. The approach I took in this commit is to instead mount a /tmp/toolstate directory inside Docker, and create the toolstates.json file in it. That also required a small bootstrap change to ensure the directory is created if it's missing.
2019-10-29Rollup merge of #65920 - smaeul:patch/workspace-hack, r=alexcrichtonTyler Mandry-0/+1
Use rustc-workspace-hack for rustbook As rustbook now depends transitively on openssl, it needs access to the rustc-workspace-hack/all-static feature to pick up openssl-sys/vendored. This fixes the rust build with `all-static = true` on systems where openssl is not installed (e.g. when cross-compiling).
2019-10-29Rollup merge of #65843 - xen0n:mips64-musl-targets-with-ci, r=alexcrichtonTyler Mandry-0/+4
Enable dist for MIPS64 musl targets Continuing work in #63165, necessary libc changes are in place and published so here we go!
2019-10-29Rollup merge of #65832 - tlively:emscripten-exception-handling, r=alexcrichtonTyler Mandry-0/+4
Re-enable Emscripten's exception handling support Passes LLVM codegen and Emscripten link-time flags for exception handling if and only if the panic strategy is `unwind`. Sets the default panic strategy for Emscripten targets to `unwind`. Re-enables tests that depend on unwinding support for Emscripten, including `should_panic` tests. r? @alexcrichton
2019-10-28Use rustc-workspace-hack for rustbookSamuel Holland-0/+1
As rustbook now depends transitively on openssl, it needs access to the rustc-workspace-hack/all-static feature to pick up openssl-sys/vendored. This fixes the rust build with `all-static = true` on systems where openssl is not installed (e.g. when cross-compiling).
2019-10-26Auto merge of #65167 - hermitcore:rusty-hermit, r=alexcrichtonbors-1/+1
Redesign the interface to the unikernel HermitCore We are developing the unikernel HermitCore, where the kernel is written in Rust and is already part of the Rust Standard Library. The interface between the standard library and the kernel based on a small C library. With this pull request, we remove completely the dependency to C and use lld as linker. Currently, the kernel will be linked to the application as static library, which is published at https://github.com/hermitcore/libhermit-rs. We don’t longer support the C interface to the kernel. Consequently, we remove this part from the Rust Standard Library.
2019-10-26ci: add support for MIPS64 musl targetsWang Xuerui-0/+4
2019-10-26use plain cargo to install xargoRalf Jung-11/+1
2019-10-26bootstrap now takes care of installing xargoRalf Jung-4/+21
2019-10-25Re-enable Emscripten's exception handling supportThomas Lively-0/+4
Passes LLVM codegen and Emscripten link-time flags for exception handling if and only if the panic strategy is `unwind`. Sets the default panic strategy for Emscripten targets to `unwind`. Re-enables tests that depend on unwinding support for Emscripten, including `should_panic` tests.
2019-10-25Merge branch 'master' into rusty-hermit, resolve conflictsStefan Lankes-55/+143
2019-10-25Rollup merge of #65408 - guanqun:remove-rust-optimize, r=Mark-SimulacrumMazdak Farrokhzad-15/+15
reorder config.toml.example options and add one missing option r? @Mark-Simulacrum
2019-10-24reorder TomlTarget struct's fields based on the order in config.toml.exampleGuanqun Lu-2/+2
2019-10-24reorder Rust struct's fields based on the order in config.toml.exampleGuanqun Lu-5/+5
2019-10-24reorder Install struct's fields based on the order in config.toml.exampleGuanqun Lu-1/+1
2019-10-24reorder Build struct's fields based on the order in config.toml.exampleGuanqun Lu-4/+4
2019-10-24reorder Llvm struct's fields based on the order in config.toml.exampleGuanqun Lu-3/+3
2019-10-24Auto merge of #65474 - Mark-Simulacrum:rustc-dev-split, r=pietroalbinibors-55/+143
Split the rustc target libraries into separate rustc-dev component This is re-applies a squashed version of #64823 as well as including #65337 to fix bugs noted after merging the first PR. The second PR is confirmed as fixing windows-gnu, and presumably also fixes other platforms, such as musl (i.e. #65335 should be fixed); `RUSTUP_DIST_SERVER=https://dev-static.rust-lang.org rustup toolchain install nightly-2019-10-16` can be installed to confirm that this is indeed the case.
2019-10-22Merge branch 'master' into rusty-hermitStefan Lankes-99/+39
2019-10-22Auto merge of #65501 - alexcrichton:remove-emscripten-backend, r=Mark-Simulacrumbors-92/+34
Remove `src/llvm-emscripten` submodule With #65251 landed there's no need to build two LLVM backends and ship them with rustc, every target we have now uses the same LLVM backend! This removes the `src/llvm-emscripten` submodule and additionally removes all support from rustbuild for building the emscripten LLVM backend. Multiple codegen backend support is left in place for now, and this is intended to be an easy 10-15 minute win on CI times by avoiding having to build LLVM twice.
2019-10-21Remove `src/llvm-emscripten` submoduleAlex Crichton-92/+34
With #65251 landed there's no need to build two LLVM backends and ship them with rustc, every target we have now uses the same LLVM backend! This removes the `src/llvm-emscripten` submodule and additionally removes all support from rustbuild for building the emscripten LLVM backend. Multiple codegen backend support is left in place for now, and this is intended to be an easy 10-15 minute win on CI times by avoiding having to build LLVM twice.
2019-10-21Rollup merge of #65647 - nnethercote:rm-unnecessary-traits, r=CentrilMazdak Farrokhzad-1/+1
Remove unnecessary trait bounds and derivations This PR removes unnecessary trait bounds and derivations from many types. r? @nikomatsakis
2019-10-21Remove unnecessary `Hash` bounds from various types.Nicholas Nethercote-1/+1
2019-10-20Merge branch 'master' into rusty-hermitStefan Lankes-10/+12
2019-10-19adjust miri sysroot determinationRalf Jung-6/+4
2019-10-18Rollup merge of #65540 - guanqun:extend-t-macro, r=nikomatsakisTyler Mandry-1/+1
show up some extra info when t!() fails
2019-10-18Rollup merge of #65201 - tmiasko:no-bindings, r=rkruppeTyler Mandry-9/+1
Disable Go and OCaml bindings when building LLVM Instead of instaling OCaml bindings in a location where installation will not fail, don't build them in the first place.
2019-10-17show up some extra info when t!() failsGuanqun Lu-1/+1
2019-10-16Upgrade Emscripten targets to use upstream LLVM backendThomas Lively-2/+4
- Compatible with Emscripten 1.38.46-upstream or later upstream. - Refactors the Emscripten target spec to share code with other wasm targets. - Replaces the old incorrect wasm32 C call ABI with the correct one, preserving the old one as wasm32_bindgen_compat for wasm-bindgen compatibility. - Updates the varargs ABI used by Emscripten and deletes the old one. - Removes the obsolete wasm32-experimental-emscripten target. - Uses EMCC_CFLAGS on CI to avoid the timeout problems with #63649.
2019-10-15Package non-rust objectsJethro Beekman-22/+46
2019-10-15minimize the rust-std componentJosh Stone-33/+97
This splits out a rustc-dev component with the compiler crates, and keeps the status quo of default installed files on nightly. The default changing to not install compiler libraries by default is left for a future pull request. However, on stable and beta, this does remove the compiler libraries from the set of libraries installed by default, as they are never needed there (per our stability story, they "cannot" be used).
2019-10-12Revert "Auto merge of #64823 - cuviper:min-std, r=Mark-Simulacrum"Mark Rousskov-97/+33
This reverts commit 000d90b11f7be70ffb7812680f7abc6deb52ec88, reversing changes made to 898f36c83cc28d7921a1d7b3605323dc5cfcf533.
2019-10-10Auto merge of #64823 - cuviper:min-std, r=Mark-Simulacrumbors-33/+97
minimize the rust-std component This changes the `rust-std` dist component to only include the artifacts of compiling the `libstd` step, as listed in `.libstd.stamp`. This does include `test` and `proc-macro` as well. The remaining _unstable_ libraries that are built as part of `rustc` are packaged into a new `rustc-dev` component, intended for use in the development of closely related tools (clippy, miri, rls). Here are the component sizes from the [try build](https://dev-static.rust-lang.org/dist/2019-10-07/index.html): | Name | Size | --- | --- | rust-std-nightly-x86_64-unknown-linux-gnu.tar.gz | 23.94 MiB | rust-std-nightly-x86_64-unknown-linux-gnu.tar.xz | 17.4 MiB | rustc-dev-nightly-x86_64-unknown-linux-gnu.tar.gz | 182.03 MiB | rustc-dev-nightly-x86_64-unknown-linux-gnu.tar.xz | 157.91 MiB Fixes #61978 Fixes #62486
2019-10-10Auto merge of #65129 - andjo403:cargo_args, r=alexcrichtonbors-0/+10
make it possible to add args to cargo in x.py eg. make it easier to test -Ztimings for rustc cc https://github.com/rust-lang/rust/issues/65088
2019-10-09make it possible to add args to cargo in x.pyAndreas Jonson-0/+10
eg. make it easier to test -Ztimings for rustc
2019-10-08Disable Go and OCaml bindings when building LLVMTomasz Miąsko-9/+1
Instead of instaling OCaml bindings in a location where installation will not fail, don't build them in the first place.
2019-10-07add dist::RustcDev for unstable compiler librariesJosh Stone-58/+46
2019-10-07Use builder.compiler_for() to find the libstd stampJosh Stone-2/+2
2019-10-07[WIP] minimize the rust-std componentJosh Stone-2/+78
2019-10-06redesign of the interface to the unikernel HermitCoreStefan Lankes-1/+1
- the old interface between HermitCore and the Rust Standard Library based on a small C library (newlib) - remove this interface and call directly the unikernel - remove the dependency to the HermitCore linker - use rust-lld as linker
2019-10-05Revert "Auto merge of #63649 - tlively:emscripten-upstream-upgrade, ↵Tyler Mandry-4/+2
r=alexcrichton" This reverts commit 7870050796e5904a0fc85ecbe6fa6dde1cfe0c91, reversing changes made to 2e7244807a7878f6eca3eb7d97ae9b413aa49014.
2019-10-04Fix ABI, run and fix more tests, re-enable CI for PRsThomas Lively-2/+6
2019-10-04Upgrade Emscripten targets to use upstream LLVM backendThomas Lively-4/+2
- Refactors the Emscripten target spec to share code with other wasm targets. - Replaces the incorrect wasm32 C call ABI with the old asmjs version, which is correct for both wasm32 and JS. - Updates the varargs ABI used by Emscripten and deletes the old one. - Removes the obsolete wasm32-experimental-emscripten target. - Temporarily makes Emscripten targets use panic=abort by default because supporting unwinding will require an LLVM patch.
2019-10-02Replace mentions of IRC with DiscordBO41-3/+5
2019-09-25Switch version to 1.40Mark Rousskov-1/+1
2019-09-23rustbuild: Pass `-Zsave-analysis` during testsAlex Crichton-2/+1
This is needed to ensure that the crates during a normal build are shared with the crates during testing, otherwise they'll end up hasing differently and we'll recompile crates like `core` during tests.
2019-09-23No need to remove target-specific RUSTFLAGSAlex Crichton-5/+3
Turns out Cargo favors RUSTFLAGS!
2019-09-23Stylistic changesAlex Crichton-13/+7
2019-09-23Add some FIXME for future Cargo issuesAlex Crichton-0/+6