1472 Commits

Author SHA1 Message Date
kennytm
ab5e3e66b5
Added comment to explain why only RustIstaller has llvm_tools = false. 2018-06-10 04:50:42 +08:00
kennytm
b00ea6c2da
Allowing building the codegen backend specifically.
Use `./x.py build src/librustc_codegen_llvm` to build the codegen backend.
2018-06-10 04:31:49 +08:00
kennytm
14d50bfecb
Allow some tools to be run without first building LLVM.
Conservatively only disable LLVM for rust-installer. This should shave
5 minutes from the x86_64-gnu-distcheck job by not building LLVM twice.
2018-06-10 04:31:49 +08:00
Mark Rousskov
8c5002d1e0
Rollup merge of #51437 - est31:rustbuild_metadata, r=Mark-Simulacrum
rustbuild: generate full list of dependencies for metadata

Previously, we didn't send --features to our cargo metadata invocations,
and thus missed some dependencies that we enable through the --features
mechanism.
2018-06-08 17:21:10 -06:00
est31
c28145d1ad rustbuild: generate full list of dependencies for metadata
Previously, we didn't send --features to our cargo metadata invocations,
and thus missed some dependencies that we enable through the --features
mechanism.
2018-06-08 16:50:56 +02:00
Mark Simulacrum
721f2e789a Do not require stage 2 compiler for rustdoc 2018-06-08 08:29:15 -06:00
Mark Simulacrum
79dd148458
Rollup merge of #51317 - oli-obk:incremental_all_the_way, r=Mark-Simulacrum
Allow enabling incremental via config.toml

r? @QuietMisdreavus
2018-06-03 18:18:04 -06:00
Collins Abitekaniza
36eafe5712 impl is_tool on Mode enum
make is_tool inherent prop of mode

fix errors from rebase

resolve issues from review
2018-06-03 17:43:11 +03:00
Oliver Schneider
3b02376c8f command line args trump config.toml settings 2018-06-03 08:44:56 +02:00
Collins Abitekaniza
11333972e8 refactor mode to ToolRustc for Rls & Rustfmt 2018-06-03 05:02:10 +03:00
Collins Abitekaniza
fb949b5336 thread tool modes through 2018-06-03 05:02:09 +03:00
Collins Abitekaniza
ce10910b69 refactor, make requested changes 2018-06-03 04:59:55 +03:00
Collins Abitekaniza
42ee6d5fd5 refactor Mode enum 2018-06-03 04:59:54 +03:00
Oliver Schneider
7a52f1c7cf Allow enabling incremental via config.toml 2018-06-03 00:13:27 +02:00
Mark Simulacrum
dcfe311da8
Rollup merge of #51302 - Mark-Simulacrum:rustdoc-fast, r=QuietMisdreavus
Permit building rustdoc without compiler artifacts

None
2018-06-02 13:14:28 -06:00
Mark Simulacrum
cf24a1df33 Rustdoc itself no longer requires proc macros to build
This avoids a full compiler build in order to build and/or run tests for
rustdoc.
2018-06-02 09:32:22 -06:00
Johannes Nixdorf
a8be9bdd7b Use builder.cargo() for cargo-vendor.
This makes it go through boostrap/bin/rustc.rs, so it will use
-crt-static if needed.
2018-05-31 12:03:29 +02:00
Johannes Nixdorf
ff8f226cab builder.cargo(): don't add "--target"/"--release" to cargo install
This is required to use builder.cargo for cargo-vendor.
2018-05-31 12:03:29 +02:00
Johannes Nixdorf
55dab7c820 bootstrap: pass crt-static for the compiler host as well 2018-05-31 12:01:50 +02:00
Johannes Nixdorf
bcab14af3e bootstrap.py: respect crt-static
Bootstrap requires serde_derive, which needs proc-macro crate types, so
it won't work with crt-static.
2018-05-31 12:01:50 +02:00
Santiago Pastorino
b39a1d6f1a
Run rustfmt 2018-05-30 14:36:23 -03:00
Santiago Pastorino
b970feedc2
Add compare-mode to x.py 2018-05-30 14:35:43 -03:00
bors
d0456c6f8f Auto merge of #50892 - davidtwco:issue-50004, r=alexcrichton
Added rustdoc documentation to compiler docs.

Fixes #50004.

r? @alexcrichton
(since you reviewed the last PR about compiler docs)
2018-05-28 01:28:14 +00:00
kennytm
0bb7335cb8
Rollup merge of #50864 - jakllsch:add-netbsd-arm-target-specs, r=alexcrichton
Add NetBSD/arm target specs
2018-05-24 16:02:37 +08:00
kennytm
28e43582a3
Rollup merge of #50961 - Zoxc:fix-filecheck, r=alexcrichton
Fix FileCheck finding with MSVC
2018-05-23 00:26:22 +08:00
steveklabnik
292be70f9d build the 2018 edition 2018-05-22 11:30:15 -04:00
John Kåre Alsaker
e44d804f7d Fix FileCheck finding 2018-05-22 07:37:57 +02:00
David Wood
52b83d7e26
Added rustdoc documentation step outputting into compiler documentation. 2018-05-20 19:34:37 +01:00
bors
8319ef5b78 Auto merge of #50709 - alexcrichton:revert-musl, r=sfackler
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-19 03:10:53 +00:00
Jonathan A. Kollasch
ec779b9f08 Add armv6-unknown-netbsd-eabihf target 2018-05-18 09:29:58 -05:00
Jonathan A. Kollasch
908230ee6d Add armv7-unknown-netbsd-eabihf target 2018-05-18 09:29:58 -05:00
Mark Simulacrum
f83e4d7407
Rollup merge of #50806 - oli-obk:gesundheit, r=ehuss
Add `bless` x.py subcommand for easy ui test replacement

fixes #49815

r? @nikomatsakis
2018-05-17 13:51:26 -06:00
Alex Crichton
acc874fbcd Revert "bootstrap.py: respect crt-static"
This reverts commit 5ecf29df052c7eca10fccc96f4179d338fe0014e.
2018-05-17 10:37:22 -07:00
Alex Crichton
4ac82b4946 Revert "bootstrap: pass crt-static for the compiler host as well"
This reverts commit ec2b861c2f8013e10ab1f6e01c9aed9ad1daaefe.
2018-05-17 10:37:22 -07:00
bors
90463a6bdc Auto merge of #50629 - Mark-Simulacrum:stage-step, r=alexcrichton
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-17 16:44:38 +00:00
Mark Simulacrum
a22af69c8f Remove MAKEFLAGS to prevent accidental inheritance 2018-05-17 08:47:25 -06:00
Mark Simulacrum
1ae3cff1eb Fix rustc binary metadata overwriting librustc metadata
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-17 08:47:25 -06:00
Mark Simulacrum
47f88e17ab Rename rustdoc to use underscores 2018-05-17 08:47:25 -06:00
Mark Simulacrum
9e3432447a Switch to 1.26 bootstrap compiler 2018-05-17 08:47:25 -06:00
Oliver Schneider
0356a61948 Fix selftests 2018-05-17 16:03:59 +02:00
Oliver Schneider
ceed8eb89c Make bless a flag instead of a subcommand 2018-05-17 16:03:59 +02:00
Oliver Schneider
37dee69dac Add bless x.py subcommand for easy ui test replacement 2018-05-17 16:03:59 +02:00
Irina Popa
b63d7e2b1c Rename trans to codegen everywhere. 2018-05-17 15:08:30 +03:00
kennytm
e4f8132a32
Rollup merge of #50789 - cuviper:bootstrap-metadata, r=alexcrichton
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-17 05:18:17 +08:00
kennytm
9ced69dd57
Rollup merge of #50787 - ehuss:fix-run-make-wasm, r=alexcrichton
Fix run-make wasm tests

Fixes #50711
2018-05-17 05:18:14 +08:00
Josh Stone
e8e5eb58c0 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-15 17:48:02 -07:00
Eric Huss
a90a963265 Fix run-make wasm tests
Fixes #50711
2018-05-15 16:39:21 -07:00
Oliver Schneider
0370c38895
Don't inject clippy into the rls anymore 2018-05-15 11:34:24 +02:00
bors
0cd465087d Auto merge of #50105 - mixi:crt-included, r=alexcrichton
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-11 19:46:16 +00:00
bors
57dc98434e Auto merge of #50200 - alexcrichton:compile-with-clang, r=kennytm
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-10 10:30:02 +00:00