1105 Commits

Author SHA1 Message Date
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
Marco A L Barbosa
03419c846a Bump cc to 1.01 to include x86_64-unknown-linux-gnux32 support 2017-10-11 21:35:53 -03:00
kennytm
90d58a362a
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.
2017-10-12 01:20:55 +08:00
johnthagen
3cb5294966 Fix typo during merge from master 2017-10-11 07:36:43 -04:00
johnthagen
23a5fb811e Merge branch 'master' into pep8-bootstrap 2017-10-11 07:33:46 -04:00
QuietMisdreavus
7ea286e854 render the rust version into std/compiler/test docs 2017-10-10 20:36:09 -05:00
Steve Klabnik
4a90366464 Rollup merge of #45180 - 0xAX:fix-help-message-in-configure.py, r=Mark-Simulacrum
Fix path to x.py in bootstrap/configure.py script

We may see a help message in the end of the output of the ./configure script:

```
$ ./configure
configure: processing command line
configure:
configure: build.configure-args := []
configure:
configure: writing `config.toml` in current directory
configure:
configure: run `python ./src/bootstrap/x.py --help`
configure:
```

but the `x.py` script is actually in the rust root directory and
executing of such help string will give us error:

```
$ python ./src/bootstrap/x.py --help
python: can't open file './src/bootstrap/x.py': [Errno 2] No such file
or directory
```

This patch fixes path to the x.py script in the output of the ./configure
2017-10-10 20:22:29 -04:00
Alexander Kuleshov
a84c62a7f1 Fix path to x.py in configure.py script
We may see a help message in the end of the output of the ./configure script:

$ ./configure
configure: processing command line
configure:
configure: build.configure-args := []
configure:
configure: writing `config.toml` in current directory
configure:
configure: run `python ./src/bootstrap/x.py --help`
configure:

but the x.py script is actually in the rust root directory and
executing of such help string will give us error:

$ python ./src/bootstrap/x.py --help
python: can't open file './src/bootstrap/x.py': [Errno 2] No such file
or directory

This patch fixes path to the x.py script in the output of the ./configure
2017-10-11 00:00:18 +06:00
Oliver Schneider
8e900aaa2b Enable building clippy in CI 2017-10-10 17:20:59 +02:00
kennytm
b7a3a14406
Rollup merge of #45116 - johnthagen:typo-fix, r=alexcrichton
Fix typos
2017-10-10 22:44:08 +08:00
bors
5f578dfad0 Auto merge of #45141 - kennytm:rollup, r=kennytm
Rollup of 9 pull requests

- Successful merges: #44962, #45051, #45091, #45106, #45117, #45118, #45120, #45125, #45136
- Failed merges:
2017-10-10 08:30:10 +00:00
bors
13ae187043 Auto merge of #44822 - frewsxcv:frewsxcv-eprintln, r=Kimundi
Migrate to eprint/eprintln macros where appropriate.

None
2017-10-10 02:54:14 +00:00
Vadim Petrochenkov
b434c84bab cleanup: rustc doesn't use an external archiver 2017-10-09 22:36:08 +03:00
kennytm
d7f1a260b9
Rollup merge of #45120 - johnthagen:none-identity-test, r=sfackler
Use identity operator `is` when comparing to None

This is very minor, but idiomatic Python code uses `is` for comparisons to `None`. This is because semantically we want to compare to the "identity" of `None`, not its value.

See [PEP8 for details](https://www.python.org/dev/peps/pep-0008/#programming-recommendations).
2017-10-10 00:27:24 +08:00
kennytm
380b7951ac
Rollup merge of #45118 - johnthagen:fix-section-key-name, r=alexcrichton
Fix variable name reference

As best I can tell, this was a typo due to how similar it looks to the function above it. PyCharm found this as a unbound local variable.
2017-10-10 00:27:23 +08:00
johnthagen
49a73d0901 Add __future__ imports to increase compatibility with Python 3. Derive Option from object to make it a new-style class for Python 3 compatibility. 2017-10-09 08:16:18 -07:00
johnthagen
a263a78b28 Fix PEP8 style issues in bootstrap code 2017-10-08 20:08:11 -04:00
johnthagen
d9e6703834 Use identity operator is when comparing to None 2017-10-08 19:46:58 -04:00
johnthagen
430e875b26 Fix variable name reference 2017-10-08 19:36:37 -04:00