summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2018-06-01Update version to 1.26.2Mark Simulacrum-1/+1
2018-05-25Bump for 1.26.1Mark Simulacrum-1/+1
2018-04-20Add docs for the test crate with the std docsOliver Middleton-1/+4
If the compiler docs aren't going to include the test crate then it may as well be included with std.
2018-04-17Don't inject clippy into rls on stable/betaOliver Schneider-1/+2
2018-04-01Rollup merge of #49549 - Mark-Simulacrum:bootstrap-cleanup, r=alexcrichtonMark Simulacrum-1/+1
Remove filetime dep from build_helper r? @alexcrichton
2018-04-01Remove filetime dep from build_helperMark Simulacrum-1/+1
2018-04-01Auto merge of #49530 - petrhosek:empty-extra-flags, r=cramertjbors-1/+3
Only include space in RUSTFLAGS extra flags if not empty When the RUSTFLAGS_STAGE_{1,2} is not set, including a space means the string will always be non-empty and RUSTFLAGS will be always be reset which breaks other ways of setting these such as through config in CARGO_HOME.
2018-03-30Only include space in RUSTFLAGS extra flags if not emptyPetr Hosek-1/+3
When the RUSTFLAGS_STAGE_{1,2} is not set, including a space means the string will always be non-empty and RUSTFLAGS will be always be reset which breaks other ways of setting these such as through config in CARGO_HOME.
2018-03-30Handle fast-submodules option correctlyPetr Hosek-1/+5
This option was introduced in 72cb109bec8, but it uses two different spellings (fast-submodule vs fast-submodules) and isn't handled by Rust bootstrap which means that any attempt to set this flag fails.
2018-03-28rustbuild: Don't leak file handles when creating junctions on WindowsOliver Middleton-2/+5
This fixes building the compiler docs because stage1-rustc\x86_64-pc-windows-msvc\doc is used twice which doesn't work if we still have a handle from the first time.
2018-03-26rustbuild: Fail the build if we build Cargo twiceAlex Crichton-49/+152
This commit updates the `ToolBuild` step to stream Cargo's JSON messages, parse them, and record all libraries built. If we build anything twice (aka Cargo) it'll most likely happen due to dependencies being recompiled which is caught by this check.
2018-03-25rustbuild: Disable docs on cross-compiled buildsAlex Crichton-6/+9
This commit disables building documentation on cross-compiled compilers, for example ARM/MIPS/PowerPC/etc. Currently I believe we're not getting much use out of these documentation artifacts and they often take 10-15 minutes total to build as it requires building rustdoc/rustbook and then also generating all the documentation, especially for the reference and the book itself. In an effort to cut down on the amount of work that we're doing on dist CI builders in light of recent timeouts this was some relatively low hanging fruit to cut which in theory won't have much impact on the ecosystem in the hopes that the documentation isn't used too heavily anyway. While initial analysis in #48827 showed only shaving 5 minutes off local builds the same 5 minute conclusion was drawn from #48826 which ended up having nearly a half-hour impact on the bots. In that sense I'm hoping that we can land this and test out what happens on CI to see how it affects timing. Note that all tier 1 platforms, Windows, Mac, and Linux, will continue to generate documentation.
2018-03-26Auto merge of #49341 - alexcrichton:more-balance, r=kennytmbors-0/+7
appveyor: Move run-pass-fulldeps to extra builders We've made headway towards splitting the test suite across two appveyor builders and this moves one more tests suite between builders. The last [failed build][fail] had its longest running test suite and I've moved that to the secondary builder. cc #48844 [fail]: https://ci.appveyor.com/project/rust-lang/rust/build/1.0.6782
2018-03-24appveyor: Move run-pass-fulldeps to extra buildersAlex Crichton-0/+7
We've made headway towards splitting the test suite across two appveyor builders and this moves one more tests suite between builders. The last [failed build][fail] had its longest running test suite and I've moved that to the secondary builder. cc #48844 [fail]: https://ci.appveyor.com/project/rust-lang/rust/build/1.0.6782
2018-03-25Rollup merge of #49290 - cuviper:unextended-dist-rustfmt, r=nikomatsakiskennytm-1/+0
Allow installing rustfmt without config.extended This assertion was preventing `./x.py install rustfmt` if attempted without an "extended" build configuration, but it actually builds and installs just fine.
2018-03-25Rollup merge of #49193 - davidtwco:issue-29893, r=alexcrichtonkennytm-44/+200
Host compiler documentation Fixes #29893. Rust Central Station PR: rust-lang/rust-central-station#40 r? @alexcrichton
2018-03-25Rollup merge of #49120 - Zoxc:parallel-ci, r=alexcrichtonkennytm-0/+1
Add a CI job for parallel rustc using x.py check r? @alexcrichton
2018-03-25Rollup merge of #49089 - alexcrichton:fix-timings, r=Mark-Simulacrumkennytm-54/+60
rustbuild: Tweak where timing information goes This commit tweaks where timing and step information is printed out as part of the build, ensuring that we do it as close to the location where work happens as possible. In rustbuild various functions may perform long blocking work as dependencies are assembled, so if we print out timing information early on we may accidentally time more than just the step we were intending to time!
2018-03-23Auto merge of #49311 - SimonSapin:bootstrap-vs-rustflags-the-return, ↵bors-0/+6
r=Mark-Simulacrum Use the same RUSTFLAGS for building and testing `bootstrap` This avoids recompiling the whole dependency graph twice for every `./x.py test` run. Fixes #49215
2018-03-23Use the same RUSTFLAGS for building and testing `bootstrap`Simon Sapin-0/+6
Fixes #49215
2018-03-22Allow installing rustfmt without config.extendedJosh Stone-1/+0
This assertion was preventing `./x.py install rustfmt` if attempted without an "extended" build configuration, but it actually builds and installs just fine.
2018-03-22Remove std/test documentation from compiler docs.David Wood-14/+6
2018-03-22rustc: Add a `#[wasm_custom_section]` attributeAlex Crichton-8/+14
This commit is an implementation of adding custom sections to wasm artifacts in rustc. The intention here is to expose the ability of the wasm binary format to contain custom sections with arbitrary user-defined data. Currently neither our version of LLVM nor LLD supports this so the implementation is currently custom to rustc itself. The implementation here is to attach a `#[wasm_custom_section = "foo"]` attribute to any `const` which has a type like `[u8; N]`. Other types of constants aren't supported yet but may be added one day! This should hopefully be enough to get off the ground with *some* custom section support. The current semantics are that any constant tagged with `#[wasm_custom_section]` section will be *appended* to the corresponding section in the final output wasm artifact (and this affects dependencies linked in as well, not just the final crate). This means that whatever is interpreting the contents must be able to interpret binary-concatenated sections (or each constant needs to be in its own custom section). To test this change the existing `run-make` test suite was moved to a `run-make-fulldeps` folder and a new `run-make` test suite was added which applies to all targets by default. This test suite currently only has one test which only runs for the wasm target (using a node.js script to use `WebAssembly` in JS to parse the wasm output).
2018-03-22Only generate documentation for local rustc crates.David Wood-4/+31
2018-03-22Auto merge of #49264 - kennytm:rollup, r=kennytmbors-2/+4
Rollup of 23 pull requests - Successful merges: #48374, #48596, #48759, #48939, #49029, #49069, #49093, #49109, #49117, #49140, #49158, #49188, #49189, #49209, #49211, #49216, #49225, #49231, #49234, #49242, #49244, #49105, #49038 - Failed merges:
2018-03-22Rollup merge of #49209 - Zoxc:run-make-last, r=Mark-Simulacrumkennytm-2/+4
Run the `run-make` tests last, so more tests run on Windows when `make` is unavailable Just https://github.com/rust-lang/rust/pull/47996 again. r? @Mark-Simulacrum
2018-03-22Auto merge of #49094 - alexcrichton:print-step-duration, r=kennytmbors-22/+75
ci: Print out how long each step takes on CI This commit updates CI configuration to inform rustbuild that it should print out how long each step takes on CI. This'll hopefully allow us to track the duration of steps over time and follow regressions a bit more closesly (as well as have closer analysis of differences between two builds). cc #48829
2018-03-21Add support to rustbuild for a 'rustc docs' component tarballDavid Wood-41/+178
2018-03-20Run the `run-make` tests last, so more tests run on Windows when `make` is ↵John Kåre Alsaker-2/+4
unavailable
2018-03-20ci: Print out how long each step takes on CIAlex Crichton-22/+75
This commit updates CI configuration to inform rustbuild that it should print out how long each step takes on CI. This'll hopefully allow us to track the duration of steps over time and follow regressions a bit more closesly (as well as have closer analysis of differences between two builds). cc #48829
2018-03-18Add a CI job for parallel rustc using x.py checkJohn Kåre Alsaker-0/+1
2018-03-18rustbuild: Ship libsynchronizationMaxim Nazarenko-0/+1
Ship libsynchronization from MinGW
2018-03-17rustbuild: Tweak where timing information goesAlex Crichton-54/+60
This commit tweaks where timing and step information is printed out as part of the build, ensuring that we do it as close to the location where work happens as possible. In rustbuild various functions may perform long blocking work as dependencies are assembled, so if we print out timing information early on we may accidentally time more than just the step we were intending to time!
2018-03-17Rollup merge of #49057 - Zoxc:fast-submodules, r=alexcrichtonkennytm-12/+50
Faster submodule updating For the common case when there are no submodules which need updating, this takes 0.48 seconds instead of 47 seconds. r? @alexcrichton
2018-03-17Rollup merge of #49055 - alexcrichton:ship-more-libs, r=nikomatsakiskennytm-2/+4
rustbuild: Add more MinGW libraries to ship Closes #49044
2018-03-17Rollup merge of #48943 - comex:verbose, r=kennytmkennytm-14/+7
Support extra-verbose builds - The bootstrap crate currently passes -v to Cargo if itself invoked with -vv. But Cargo supports -vv (to show build script output), so make bootstrap pass that if itself invoked with -vvv. (More specifically, pass N '-v's to Cargo if invoked with N+1 of them.) - bootstrap.py currently tries to pass on up to two '-v's to cargo when building bootstrap, but incorrectly ('-v' is marked as 'store_true', so argparse stores either False or True, ignoring multiple '-v's). Fix this, allow passing any number of '-v's, and make it consistent with bootstrap's invocation of Cargo (i.e. subtract one from the number of '-v's). - Also improve bootstrap.py's config.toml 'parsing' to support arbitrary verbosity levels, + allow command line to override it.
2018-03-17Auto merge of #49090 - QuietMisdreavus:test-rustdoc-again, r=Mark-Simulacrumbors-2/+2
re-enable testing librustdoc This was originally put in in https://github.com/rust-lang/rust/pull/44274, but https://github.com/rust-lang/rust/pull/48105 accidentally hid it. This change puts librustdoc unit/doc tests back in the main test listing. fixes https://github.com/rust-lang/rust/issues/44237 (again)
2018-03-16Automatically enable the `clippy` feature of `rls` if clippy buildsOliver Schneider-10/+39
2018-03-16re-enable resting librustdocQuietMisdreavus-2/+2
2018-03-16rustbuild: Add more MinGW libraries to shipAlex Crichton-2/+4
Closes #49044
2018-03-16Auto merge of #48896 - alexcrichton:bitcode-in-object, r=michaelwoeristerbors-2/+2
rustc: Enable embedding LLVM bitcode for iOS This commit updates rustc to embed bitcode in each object file generated by default when compiling for iOS. This was determined in #35968 as a step towards better compatibility with the iOS toolchain, so let's give it a spin and see how it turns out! Note that this also updates the `cc` dependency which should propagate this change of embedding bitcode for C dependencies as well.
2018-03-15Support extra-verbose builds:comex-14/+7
- The bootstrap crate currently passes -v to Cargo if itself invoked with -vv. But Cargo supports -vv (to show build script output), so make bootstrap pass that if itself invoked with -vvv. (More specifically, pass N '-v's to Cargo if invoked with N+1 of them.) - bootstrap.py currently tries to pass on up to two '-v's to cargo when building bootstrap, but incorrectly ('-v' is marked as 'store_true', so argparse stores either False or True, ignoring multiple '-v's). Fix this, allow passing any number of '-v's, and make it consistent with bootstrap's invocation of Cargo (i.e. subtract one from the number of '-v's). - Also improve bootstrap.py's config.toml 'parsing' to support arbitrary verbosity levels, + allow command line to override it.
2018-03-15Faster submodule updatingJohn Kåre Alsaker-12/+50
2018-03-16Rollup merge of #48892 - alexcrichton:thinlto-again, r=Mark-Simulacrumkennytm-20/+0
rustbuild: Remove ThinLTO-related configuration This commit removes some ThinLTO/codegen unit cruft primarily only needed during the initial phase where we were adding ThinLTO support to rustc itself. The current bootstrap compiler knows about ThinLTO and has it enabled by default for multi-CGU builds which are also enabled by default. One CGU builds (aka disabling ThinLTO) can be achieved by configuring the number of codegen units to 1 for a particular builds. This also changes the defaults for our dist builders to go back to multiple CGUs. Unfortunately we're seriously bleeding for cycle time on the bots right now so we need to recover any time we can.
2018-03-13rustbuild: Tweak CFLAGS to various libstd piecesAlex Crichton-2/+2
* Pass `opt_level(2)` when calculating CFLAGS to get the right flags on iOS * Unconditionally pass `-O2` when compiling libbacktrace This should... Close #48903 Close #48906
2018-03-12Auto merge of #48295 - Keruspe:master, r=alexcrichtonbors-3/+10
rustbuild: pass datadir to rust-installer This fixes zsh completion install when $datadir != $prefix/share
2018-03-11Auto merge of #48549 - alexcrichton:update-cargo, r=Mark-Simulacrumbors-1/+3
Update Cargo submodule Hopefully a routine update...
2018-03-11Update Cargo submoduleAlex Crichton-1/+3
Required moving all fulldeps tests depending on `rand` to different locations as now there's multiple `rand` crates that can't be implicitly linked against.
2018-03-11Auto merge of #48599 - Mark-Simulacrum:rustbuild-updates-step-1, r=alexcrichtonbors-59/+46
Remove ONLY_BUILD and ONLY_BUILD_TARGETS Primarily removes `ONLY_BUILD` and `ONLY_BUILD_TARGETS`. These aren't actually needed in the new system since we can simply not take the relevant `host` and `target` fields if we don't want to run with them in `Step::make_run`. This PR also includes a few other commits which generally clean up the state of rustbuild, but are not related to the `Step` changes.
2018-03-09rustbuild: Pass `-j1` to OpenSSL `make install`Alex Crichton-1/+1
We explicitly do this when compiling OpenSSL itself due to weird racy issues in its build system, and now we've started seeing issues in the `make install` step so let's try and see what ratcheting down the parallelism does here...