Commit graph

4073 commits

Author SHA1 Message Date
kennytm
7ccdc105cf Rollup merge of #45496 - kennytm:bootstrap-fix-extension-check, r=alexcrichton
rustbuild: Fix `no output generated` error for next bootstrap cargo.

Due to rust-lang/cargo#4570, a `*.dll.lib` file is uplifted when building dynamic libraries on Windows. The current bootstrap code does not understand files with multiple extensions, and will instead assume `xxxx.dll` is the file name. This caused a `no output generated` error because it tries to search for `xxxx.dll-hash.lib` inside the `deps/` folder, while it should check for `xxxx-hash.dll.lib` instead.

This PR is blocking #45285, see https://github.com/rust-lang/rust/pull/45285#issuecomment-338454149 and the rest of the comments for detail.
2017-10-26 03:02:52 +08:00
Guillaume Gomez
e09585c7c2 Rollup merge of #45465 - glaubitz:sparc64, r=alexcrichton
bootstrap: Add openssl configuration for sparc64-unknown-linux-gnu

Hi!

This adds the target missing mapping for sparc64-unknown-linux-gnu.

See: https://github.com/rust-lang/rust/issues/45456

Thanks
2017-10-25 09:48:10 +02:00
bors
aa40292e78 Auto merge of #44603 - SimonSapin:stylo, r=alexcrichton
Add Stylo and WebRender to src/tools/cargotest

This is a subset of Servo that takes relatively less time to compile and does not use unstable Rust features.
2017-10-24 23:30:15 +00:00
bors
c2799fc9a5 Auto merge of #45446 - leodasvacas:remove-libcollections, r=alexcrichton
Remove deprecated `collections` crate.

The real `collections` was merged with `alloc`, this facade was introduced [in this PR](https://github.com/rust-lang/rust/pull/42720) to give `#[no_std]` users time to adapt. This was done at least two cycles ago, now we can consider removing it for good.
2017-10-24 20:46:17 +00:00
kennytm
3b815730a7
rustbuild: Fix no output generated error for next bootstrap cargo.
Due to rust-lang/cargo#4570, a `*.dll.lib` file is uplifted when building
dynamic libraries on Windows. The current bootstrap code does not
understand files with multiple extensions, and will instead assume
`xxxx.dll` is the file name. This caused a `no output generated` error
because it tries to search for `xxxx.dll-hash.lib` inside the `deps/`
folder, while it should check for `xxxx-hash.dll.lib` instead.

This PR is blocking #45285 (Bump to 1.23 and update bootstrap).
2017-10-25 00:32:28 +08:00
John Paul Adrian Glaubitz
929a8bc13f bootstrap: Add openssl configuration for sparc64-unknown-linux-gnu 2017-10-24 08:53:22 +02:00
Simon Sapin
f4f18586e7 Move cargotest to separate jobs on Travis-CI and AppVeyor 2017-10-23 13:12:12 +02:00
bors
1babcd0393 Auto merge of #45304 - kennytm:travis-color-color-conflict, r=aturon
Fix rustbuild --color conflict when building on Travis outside of Docker

When trying to build rust on Travis without using `stamp` or `docker`, both `RUSTC_COLOR=1` and `TRAVIS=true` will separately pass `--color always` to the command line. This causes the build to fail due to "*Option 'color' given more than once*".

In this PR, the `RUSTC_COLOR=1` will not be passed in the CI environment.
2017-10-22 17:52:55 +00:00
leonardo.yvens
170f63e1c6 Don't build docs for removed libcollections. 2017-10-22 14:55:02 -02:00
leonardo.yvens
19aa23b6d3 Remove deprecated collections crate.
This reverts commit 6484258f17.
2017-10-22 14:55:02 -02:00
bors
942f31f5ea Auto merge of #45432 - ollie27:rustbuild_error_index_gen, r=Mark-Simulacrum
rustbuild: Build stage 1 error index generator at stage 0

At stage 1 rustdoc is built at stage 0 so the error index generator should be as well.

This fixes `x.py --stage 1 doc` as rustdoc doesn't even build at stage 1.

It was broken by #44605.

r? @alexcrichton
2017-10-22 11:30:15 +00:00
bors
b6055cb7d2 Auto merge of #45433 - ollie27:rustbuild_nomicon, r=Mark-Simulacrum
rustbuild: Fix path for the nomicon
2017-10-22 08:55:06 +00:00
bors
1042190f8c Auto merge of #45400 - alexcrichton:bootstrap-thinlto, r=Mark-Simulacrum
rustbuild: Compile rustc with ThinLTO

This commit enables ThinLTO for the compiler as well as multiple codegen units.
This is intended to get the benefits of parallel codegen while also avoiding
any major loss of perf. Finally this commit is also intended as further testing
for #45320 and shaking out bugs.
2017-10-22 00:35:05 +00:00
bors
ff8773d7be Auto merge of #45366 - ollie27:rustbuild_compiler_docs, r=alexcrichton
rustbuild: Don't try to build rustdoc API docs with compiler docs

rustdoc is built separately to rustc now so the docs would need to be
generated separately as well. Also rustdoc doesn't build at stage 1
which prevented the compiler docs being built at stage 1.

Fixes: #44629
2017-10-21 16:32:31 +00:00
Oliver Middleton
f820d2e567 rustbuild: Fix path for the nomicon 2017-10-21 17:16:46 +01:00
Oliver Middleton
2045e07745 rustbuild: Build stage 1 error index generator at stage 0
At stage 1 rustdoc is built at stage 0 so the error index generator should be as well.

This fixes `x.py --stage 1 doc` as rustdoc doesn't even build at stage 1.
2017-10-21 16:47:18 +01:00
kennytm
ebbcad9ae0
Fix rustbuild --color conflict when building on Travis outside of Docker. 2017-10-21 04:55:33 +08:00
Alex Crichton
1af1c2de36 rustbuild: Compile rustc with ThinLTO
This commit enables ThinLTO for the compiler as well as multiple codegen units.
This is intended to get the benefits of parallel codegen while also avoiding
any major loss of perf. Finally this commit is also intended as further testing
for #45320 and shaking out bugs.
2017-10-20 11:49:36 -07:00
bors
b633341c49 Auto merge of #44792 - Mark-Simulacrum:correct-deps, r=alexcrichton
Make sure to clear out the stageN-{rustc,std,tools} directories.

We copy built tool binaries into a dedicated directory to avoid deleting them,
stageN-tools-bin.  These aren't ever cleared out by code, since there should be
no reason to do so, and we'll simply overwrite them as necessary.

When clearing out the stageN-{std,rustc,tools} directories, make sure to delete
both Cargo directories -- per-target and build scripts. This ensures that
changing libstd doesn't cause problems due to build scripts not being rebuilt,
even though they should be.

Fixes https://github.com/rust-lang/rust/issues/44739.
2017-10-20 17:36:40 +00:00
Mark Simulacrum
686c1015cf Make tools which may not build return Option.
This makes it mandatory for other steps to have to handle the potential
failure instead of failing in an odd way later down the road.
2017-10-19 17:30:37 -06:00
kennytm
437186217b
Rollup merge of #45382 - Keruspe:master, r=Mark-Simulacrum
rustbuild: fix dist in debug mode

In debug mode, the artifacts are placed in "debug", so don't hardcode "release" and use our helper to get the right directory name
2017-10-20 00:01:57 +08:00
kennytm
44e882cf92
Rollup merge of #45375 - topecongiro:enable-tilde, r=Mark-Simulacrum
Allow passing a path with tilde to the configure script

Currently `./configure --local-rust-root=~/.cargo --enable-local-rebuild` fails with
 ```
Exception: no cargo executable found at `~/.cargo//bin/cargo`
```
2017-10-20 00:01:54 +08:00
kennytm
3de1f8ba53
Rollup merge of #45374 - topecongiro:remove-enable-rustbuild-config-option, r=Mark-Simulacrum
Remove --enable-rustbuild config option from an example

`--enable-rustbuild` is no longer recognized by the configure script. Also I think we should use `./configure` and `./x.py` instead of `configure` and `../x.py`.
2017-10-20 00:01:53 +08:00
Marc-Antoine Perennou
27cc11931a rustbuild: fix dist in debug mode
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-10-19 12:22:16 +02:00
Mark Simulacrum
0fcd3e7b07 Make sure to clear out the stageN-{rustc,std,tools} directories.
We copy built tool binaries into a dedicated directory to avoid deleting
them, stageN-tools-bin. These aren't ever cleared out by code, since
there should be no reason to do so, and we'll simply overwrite them as
necessary.

When clearing out the stageN-{std,rustc,tools} directories, make sure to
delete both Cargo directories -- per-target and build scripts. This
ensures that changing libstd doesn't cause problems due to build scripts
not being rebuilt, even though they should be.
2017-10-18 16:30:33 -06:00
topecongiro
0dde8cdd40 Allow passing a path with tilde 2017-10-19 06:22:32 +09:00
topecongiro
e11abd1541 Fix typos 2017-10-19 06:02:13 +09:00
topecongiro
0d6923d1b5 Remove --enable-rustbuild config option from example 2017-10-19 06:00:15 +09:00
kennytm
c77068a94b Rollup merge of #45326 - cuviper:min-llvm-3.9, r=alexcrichton
Bump the minimum LLVM to 3.9

Old LLVM bugs are reportedly cropping up harder, but 3.9 seems to be OK.

Fixes #45277.
2017-10-19 01:59:52 +08:00
Tatsuyuki Ishi
cbe41168e0 bootstrap: Avoid fetching jemalloc if it's disabled
Fix #45300
2017-10-17 15:01:49 +09:00
johnthagen
bd8497884c Merge branch 'master' into future_imports 2017-10-16 17:56:12 -04:00
Josh Stone
6f33108e4d bootstrap: update and enable the LLVM version-check
While the `config.toml.example` comments say "we automatically check the
version by default," we actually didn't.  That check was badly out of
date, only allowing 3.5, 3.6, or 3.7.  This it now updated to the new
3.9 minimum requirement, and truly enabled by default.
2017-10-16 13:10:16 -07:00
Alex Crichton
5050dadfc6 rustbuild: Allow setting rls/rustfmt to "broken"
This commit enables configuring the RLS/rustfmt tools to the "broken" state and
actually get it past CI. The main changes here were to update all dist-related
code to handle the situation where the RLS isn't available. This in turn
involved a homegrown preprocessor-like-function to edit the configuration files
we pass to the various combined installer tools.
2017-10-16 09:06:51 -07:00
Vadim Petrochenkov
0577b60832 Re-enable linker override for cross-compilation 2017-10-16 03:22:17 +03:00
Vadim Petrochenkov
89d9ce4ec3 Don't use target's linker when linking build scripts 2017-10-15 23:23:28 +03:00
Vadim Petrochenkov
9e0fc5ccd0 rustbuild: Support specifying archiver and linker explicitly 2017-10-15 22:10:07 +03:00
bors
8382f39b6b Auto merge of #45299 - kennytm:rollup, r=kennytm
Rollup of 9 pull requests

- Successful merges: #45113, #45250, #45255, #45258, #45263, #45264, #45269, #45280, #45289
- Failed merges:
2017-10-15 08:39:58 +00:00
kennytm
a793372d8c Rollup merge of #45264 - 0xAX:fix-typo-bootstrap-readm, r=kennytm
fix typo in src/bootstrap/README.md
2017-10-15 14:21:56 +08:00
bors
6c0d50f9fa Auto merge of #45224 - malbarbo:x32, r=alexcrichton
Add x86_64-unknown-linux-gnux32 target

This adds X32 ABI support for Linux on X86_64. Let's package and dist it so we can star testing libc, libstd, etc.

Fixes https://github.com/rust-lang/rfcs/issues/1339
2017-10-15 06:12:13 +00:00
bors
7778906bee Auto merge of #45177 - oli-obk:clippy, r=alexcrichton
Enable building clippy in CI

r? @alexcrichton

As discussed at Rustfest. Measured additional time is 4 minutes on my machine if no dependencies are shared with other tools. In reality most dependencies are shared (especially the slow to compile ones like serde).

cc @Manishearth

Does not run clippy's test suite, since

a) it is nontrivial in the rustc build system
b) it breaks more frequently but the breakage is negligible

If clippy breaks, the procedure to follow is documented under https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#external-dependencies
2017-10-14 18:48:08 +00:00
Oliver Middleton
1652c582d7 rustbuild: Don't try to build rustdoc API docs with compiler docs
rustdoc is built separately to rustc now so the docs would need to be
generated separately as well. Also rustdoc doesn't build at stage 1
which prevented the compiler docs being built at stage 1.
2017-10-14 16:42:05 +01:00
bors
83922feec3 Auto merge of #45102 - petrochenkov:noar, r=alexcrichton
cleanup: rustc doesn't use an external archiver

cc https://github.com/rust-lang/rust/pull/45090
r? @alexcrichton
2017-10-14 01:43:42 +00:00
Alexander Kuleshov
7439da61fc fix typo in src/bootstrap/README.md 2017-10-13 23:51:38 +06:00
bors
6cb49d2a3e Auto merge of #45261 - kennytm:rollup, r=kennytm
Rollup of 14 pull requests

- Successful merges: #44855, #45110, #45122, #45133, #45173, #45178, #45189, #45203, #45209, #45221, #45236, #45240, #45245, #45253
- Failed merges:
2017-10-13 17:42:25 +00:00
kennytm
4ed348efe1 Rollup merge of #45236 - alexcrichton:build-less, r=Mark-Simulacrum
rustbuild: Prevent spurious rebuilds of the RLS

The RLS currently is rebuilt every time you test it because the `OPENSSL_DIR`
env var is changing, which is in turn caused by an accidental omission of
`prepare_tool_cargo` when testing the RLS.
2017-10-13 23:38:02 +08:00
kennytm
9b128e4065 Rollup merge of #45209 - kennytm:treat-checksum-error-as-download-error, r=Mark-Simulacrum
rustbuild: Make openssl download more reliable.

1. Add `-f` flag to curl, so when the server returns 403 or 500 it will fail immediately.
2. Moved the checksum part into the retry loop, assuming checksum failure is due to broken download that can be fixed by downloading again.

This PR is created responding to two recent spurious failures in https://github.com/rust-lang/rust/pull/45075#issuecomment-335202319 and https://github.com/rust-lang/rust/pull/45030#issuecomment-335029356.

r? @Mark-Simulacrum , cc @aidanhs
2017-10-13 23:38:00 +08:00
bors
305e02281b Auto merge of #45063 - michaelwoerister:bring-back-incremental-info, r=nikomatsakis
incr.comp.: Bring back output of -Zincremental-info.

This got kind lost during the transition to red/green.

I also switched back from `eprintln!()` to `println!()` since the former never actually produced any output. I suspect this has to do with `libterm` somehow monopolizing `stderr`.

r? @nikomatsakis
2017-10-13 15:04:12 +00:00
kennytm
69447684d1
Rollup merge of #45121 - johnthagen:pep8-bootstrap, r=alexcrichton
Fix PEP8 style issues in bootstrap code

This fixes PEP8 style issues (other than line-length) in the bootstrap Python code.

The most important fix is in the `set` function where the code was indented with 6 spaces instead of 4.
2017-10-13 01:58:44 +08:00
kennytm
445bbde784
Rollup merge of #44989 - QuietMisdreavus:what-is-your-quest, r=GuillaumeGomez
let rustdoc print the crate version into docs

This PR adds a new unstable flag to rustdoc, `--crate-version`, which when present will add a new entry to the sidebar of the root module, printing the given version number:

![Screenshot of a test crate, showing "Version 1.3.37" under the crate name](https://user-images.githubusercontent.com/5217170/31104096-805e3f4c-a7a0-11e7-96fc-368b6fe063d6.png)

Closes #24336

(The WIP status is because i don't want to merge this until i can get the std docs to use it, which i need help from rustbuild people to make sure i get right.)
2017-10-13 01:58:36 +08:00
Alex Crichton
e6da40c669 rustbuild: Prevent spurious rebuilds of the RLS
The RLS currently is rebuilt every time you test it because the `OPENSSL_DIR`
env var is changing, which is in turn caused by an accidental omission of
`prepare_tool_cargo` when testing the RLS.
2017-10-12 08:04:07 -07:00