about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2018-06-03Rollup merge of #51317 - oli-obk:incremental_all_the_way, r=Mark-SimulacrumMark Simulacrum-0/+5
Allow enabling incremental via config.toml r? @QuietMisdreavus
2018-06-03impl is_tool on Mode enumCollins Abitekaniza-7/+18
make is_tool inherent prop of mode fix errors from rebase resolve issues from review
2018-06-03command line args trump config.toml settingsOliver Schneider-1/+4
2018-06-03refactor mode to ToolRustc for Rls & RustfmtCollins Abitekaniza-2/+2
2018-06-03thread tool modes throughCollins Abitekaniza-16/+36
2018-06-03refactor, make requested changesCollins Abitekaniza-16/+15
2018-06-03refactor Mode enumCollins Abitekaniza-92/+99
2018-06-03Allow enabling incremental via config.tomlOliver Schneider-0/+2
2018-06-02Rollup merge of #51302 - Mark-Simulacrum:rustdoc-fast, r=QuietMisdreavusMark Simulacrum-2/+1
Permit building rustdoc without compiler artifacts None
2018-06-02Rustdoc itself no longer requires proc macros to buildMark Simulacrum-2/+1
This avoids a full compiler build in order to build and/or run tests for rustdoc.
2018-05-31Use builder.cargo() for cargo-vendor.Johannes Nixdorf-5/+8
This makes it go through boostrap/bin/rustc.rs, so it will use -crt-static if needed.
2018-05-31builder.cargo(): don't add "--target"/"--release" to cargo installJohannes Nixdorf-5/+10
This is required to use builder.cargo for cargo-vendor.
2018-05-31bootstrap: pass crt-static for the compiler host as wellJohannes Nixdorf-0/+13
2018-05-31bootstrap.py: respect crt-staticJohannes Nixdorf-3/+30
Bootstrap requires serde_derive, which needs proc-macro crate types, so it won't work with crt-static.
2018-05-30Run rustfmtSantiago Pastorino-738/+1127
2018-05-30Add compare-mode to x.pySantiago Pastorino-1/+14
2018-05-28Auto merge of #50892 - davidtwco:issue-50004, r=alexcrichtonbors-8/+84
Added rustdoc documentation to compiler docs. Fixes #50004. r? @alexcrichton (since you reviewed the last PR about compiler docs)
2018-05-24Rollup merge of #50864 - jakllsch:add-netbsd-arm-target-specs, r=alexcrichtonkennytm-0/+2
Add NetBSD/arm target specs
2018-05-23Rollup merge of #50961 - Zoxc:fix-filecheck, r=alexcrichtonkennytm-5/+13
Fix FileCheck finding with MSVC
2018-05-22build the 2018 editionsteveklabnik-0/+6
2018-05-22Fix FileCheck findingJohn Kåre Alsaker-5/+13
2018-05-20Added rustdoc documentation step outputting into compiler documentation.David Wood-8/+84
2018-05-19Auto merge of #50709 - alexcrichton:revert-musl, r=sfacklerbors-43/+3
Revert #50105 until regression is fixed Discovered at https://github.com/rust-lang/rust/pull/50105#issuecomment-388630750 it looks like this caused a regression with i686 musl, so let's revert in the meantime while a fix is worked out
2018-05-18Add armv6-unknown-netbsd-eabihf targetJonathan A. Kollasch-0/+1
2018-05-18Add armv7-unknown-netbsd-eabihf targetJonathan A. Kollasch-0/+1
2018-05-17Rollup merge of #50806 - oli-obk:gesundheit, r=ehussMark Simulacrum-29/+37
Add `bless` x.py subcommand for easy ui test replacement fixes #49815 r? @nikomatsakis
2018-05-17Revert "bootstrap.py: respect crt-static"Alex Crichton-30/+3
This reverts commit 5ecf29df052c7eca10fccc96f4179d338fe0014e.
2018-05-17Revert "bootstrap: pass crt-static for the compiler host as well"Alex Crichton-13/+0
This reverts commit ec2b861c2f8013e10ab1f6e01c9aed9ad1daaefe.
2018-05-17Auto merge of #50629 - Mark-Simulacrum:stage-step, r=alexcrichtonbors-8/+7
Switch to bootstrapping from 1.27 It's possible the Float trait could be removed from core, but I couldn't tell whether it was intended to be removed or not. @SimonSapin may be able to comment more here; we can presumably also do that in a follow up PR as this one is already quite large.
2018-05-17Remove MAKEFLAGS to prevent accidental inheritanceMark Simulacrum-5/+4
2018-05-17Fix rustc binary metadata overwriting librustc metadataMark Simulacrum-1/+1
In #49289, rustc was changed to emit metadata for binaries, which made it so that the librustc.rmeta file created when compiling librustc was overwritten by the rustc-main compilation. This commit renames the rustc-main binary to avoid this problem. https://github.com/rust-lang/cargo/issues/5524 has also been filed to see if Cargo can learn to warn on this situation instead of leaving it for the user to debug.
2018-05-17Rename rustdoc to use underscoresMark Simulacrum-1/+1
2018-05-17Switch to 1.26 bootstrap compilerMark Simulacrum-1/+1
2018-05-17Fix selftestsOliver Schneider-0/+1
2018-05-17Make `bless` a flag instead of a subcommandOliver Schneider-22/+11
2018-05-17Add `bless` x.py subcommand for easy ui test replacementOliver Schneider-29/+47
2018-05-17Rename trans to codegen everywhere.Irina Popa-14/+14
2018-05-17Rollup merge of #50789 - cuviper:bootstrap-metadata, r=alexcrichtonkennytm-1/+9
Ensure libraries built in stage0 have unique metadata Issue #50786 shows a case with local rebuild where the libraries built by stage0 had the same suffix as stage0's own, and were accidentally loaded by that stage0 rustc when compiling `librustc_trans`. Now we set `__CARGO_DEFAULT_LIB_METADATA` to "bootstrap" during stage0, rather than the release channel like usual, so the library suffix will always be completely distinct from the stage0 compiler.
2018-05-17Rollup merge of #50787 - ehuss:fix-run-make-wasm, r=alexcrichtonkennytm-4/+4
Fix run-make wasm tests Fixes #50711
2018-05-15Ensure libraries built in stage0 have unique metadataJosh Stone-1/+9
Issue #50786 shows a case with local rebuild where the libraries built by stage0 had the same suffix as stage0's own, and were accidentally loaded by that stage0 rustc when compiling `librustc_trans`. Now we set `__CARGO_DEFAULT_LIB_METADATA` to "bootstrap" during stage0, rather than the release channel like usual, so the library suffix will always be completely distinct from the stage0 compiler.
2018-05-15Fix run-make wasm testsEric Huss-4/+4
Fixes #50711
2018-05-15Don't inject clippy into the rls anymoreOliver Schneider-9/+0
2018-05-11Auto merge of #50105 - mixi:crt-included, r=alexcrichtonbors-3/+43
Use the correct crt*.o files when linking musl targets. This is supposed to support optionally using the system copy of musl libc instead of the included one if supported. This currently only affects the start files, which is enough to allow building rustc on musl targets. Most of the changes are analogous to crt-static. Excluding the start files is something musl based distributions usually patch into their copy of rustc: - https://github.com/alpinelinux/aports/blob/eb064c8/community/rust/musl-fix-linux_musl_base.patch - https://github.com/voidlinux/void-packages/blob/77400fc/srcpkgs/rust/patches/link-musl-dynamically.patch For third-party distributions that not yet carry those patches it would be nice if it was supported without the need to patch upstream sources. ## Reasons ### What breaks? Some start files were missed when originally writing the logic to swap in musl start files (gcc comes with its own start files, which are suppressed by -nostdlib, but not manually included later on). This caused #36710, which also affects rustc with the internal llvm copy or any other system libraries that need crtbegin/crtend. ### How is it fixed? The system linker already has all the logic to decide which start files to include, so we can just defer to it (except of course if it doesn't target musl). ### Why is it optional? In #40113 it was first tried to remove the start files, which broke compiling musl-targeting static binaries with a glibc-targeting compiler. This is why it eventually landed without removing the start files. Being an option side-steps the issue. ### Why are the start files still installed? This has the nice side-effect, that the produced rust-std-* binaries can still be used by on a glibc-targeting system with a rustc built against glibc. ## Does it work? With the following build script (using [musl-cross-make](https://github.com/richfelker/musl-cross-make)): https://shadowice.org/~mixi/rust-musl/build.sh, I was able to cross-compile a musl-host musl-targeting rustc on a glibc-based system. The resulting binaries are at https://shadowice.org/~mixi/rust-musl/binaries/. This also requires #50103 and #50104 (which are also applied to the branch the build script uses).
2018-05-10Auto merge of #50200 - alexcrichton:compile-with-clang, r=kennytmbors-12/+107
Compile LLVM with Clang on release builders Attempting to cache in on some rustc compile time wins mentioned in https://github.com/rust-lang/rust/issues/49879#issuecomment-383602941
2018-05-10Auto merge of #49729 - collin5:b48483, r=Mark-Simulacrumbors-15/+59
./x.py test should be able to run individual tests Allows user to be able to run individual tests by specifying filename i.e `./x.py test src/test/run-pass/foo.rs` Fixes #48483
2018-05-09ci: Compile LLVM with Clang 6.0.0Alex Crichton-12/+107
Currently on CI we predominately compile LLVM with the default system compiler which means gcc on Linux, some version of Clang on OSX, MSVC on Windows, and gcc on MinGW. This commit switches Linux, OSX, and Windows to all use Clang 6.0.0 to build LLVM (aka the C/C++ compiler as part of the bootstrap). This looks to generate faster code according to #49879 which translates to a faster rustc (as LLVM internally is faster) The major changes here were to the containers that build Linux releases, basically adding a new step that uses the previous gcc 4.8 compiler to compile the next Clang 6.0.0 compiler. Otherwise the OSX and Windows scripts have been updated to download precompiled versions of Clang 6 and configure the build to use them. Note that `cc` was updated here to fix using `clang-cl` with `cc-rs` on MSVC, as well as an update to `sccache` on Windows which was needed to correctly work with `clang-cl`. Finally the MinGW compiler is entirely left out here intentionally as it's currently thought that Clang can't generate C++ code for MinGW and we need to use gcc, but this should be verified eventually.
2018-05-09ignore test-args if user specifies suite_pathCollins Abitekaniza-5/+1
2018-05-07./x.py test should be able to run individual testsCollins Abitekaniza-15/+63
trim and pass relative test paths as test-args use collect for getting test_args move suite_path to ShouldRun and make Option append existing args to test_args use enum for PathSet handle Suites differently from Paths Error out if part of test suite but not file refactor, make requested changes
2018-05-07Auto merge of #50000 - michaelwoerister:cross-lang-lto, r=alexcrichtonbors-7/+43
Add some groundwork for cross-language LTO. Implements part of #49879: - Adds a `-Z cross-lang-lto` flag to rustc - Makes sure that bitcode is embedded in object files if the flag is set. This should already allow for using cross language LTO for staticlibs (where one has to invoke the linker manually anyway). However, `rustc` will not try to enable LTO for its own linker invocations yet. r? @alexcrichton
2018-05-06Auto merge of #50468 - nrc:test-rustfmt, r=alexcrichtonbors-0/+3
Pass a test directory to rustfmt Another attempt to fix the rustfmt tests. `RUSTFMT_TEST_DIR` is consumed by Rustfmt in the latext commit (thus the Rustfmt update) because we need a place to create temp files that won't be read-only. r? @alexcrichton