Commit graph

159 commits

Author SHA1 Message Date
Alex Crichton
0546d11528 Fix cross-compiling LLD to different platforms
Looks like the native build system isn't great a coping with this, so
try to work around that with a few workarounds.
2020-04-24 11:18:59 -07:00
Vadim Petrochenkov
8771319dfa rustbuild: Remove LLD flavor workaround for MSVC 2020-04-12 21:04:17 +03:00
Guillaume Gomez
c57de34e8f Stabilize --crate-version option in rustdoc 2020-02-26 22:08:59 +01:00
bors
1ad6b5e1e6 Auto merge of #68623 - Zoxc:lld, r=Mark-Simulacrum
Add an option to use LLD to link the compiler on Windows platforms

Based on https://github.com/rust-lang/rust/pull/68609.

Using LLD is good way to improve compile times on Windows since `link.exe` is quite slow. The time for `x.py build --stage 1 src/libtest` goes from 0:12:00 to 0:08:29. Compile time for `rustc_driver` goes from 226.34s to 18.5s. `rustc_macros` goes from 28.69s to 7.7s. The size of `rustc_driver` is also reduced from 83.3 MB to 78.7 MB.

r? @Mark-Simulacrum
2020-02-09 15:24:50 +00:00
Matthias Krüger
5f979e9afa bootstrap: fix clippy warnings 2020-02-03 20:26:36 +01:00
John Kåre Alsaker
bfba6ef328 Add an option to use LLD to link the compiler on Windows platforms 2020-01-29 18:05:36 +01:00
Mark Rousskov
a06baa56b9 Format the world 2019-12-22 17:42:47 -05:00
Guillaume Gomez
0282c27781 rename cfg(rustdoc) into cfg(doc) 2019-11-06 18:32:51 +01:00
Alex Crichton
160787129b Add some FIXME for future Cargo issues 2019-09-23 09:34:44 -07:00
Alex Crichton
385470b8bb Move handling of -Cprefer-dynamic into builder.rs
This logic is *super* old and can be tweaked and moved into `builder.rs`
2019-09-23 09:34:44 -07:00
Alex Crichton
b3f95f460f Move --cfg bootstrap out of rustc.rs
Instead let's do this via `RUSTFLAGS` in `builder.rs`. Currently
requires a submodule update of `stdarch` to fix a problem with previous
compilers.
2019-09-23 09:34:44 -07:00
Alex Crichton
a816fa185b Move handling of RUSTC_PARALLEL_COMPILER to compile.rs
No longer needs to live in `rustc.rs`
2019-09-23 09:34:44 -07:00
Alex Crichton
3d13f46304 Move handling of {MUSL,WASI}_ROOT to compile.rs
No longer any need for them to live in `rustc.rs`!
2019-09-23 09:34:44 -07:00
Alex Crichton
5cc6eb4082 Move debuginfo level handling to builder.rs 2019-09-23 09:34:44 -07:00
Alex Crichton
5abc4cd01c Remove duplication of RUSTC_DEBUGINFO_MAP in rustc.rs 2019-09-23 09:34:44 -07:00
Alex Crichton
2d6f3fede0 Move handling of codegen-units to builder.rs 2019-09-23 09:34:44 -07:00
Alex Crichton
22699d3139 Move handling of internal lints to build.rs 2019-09-23 09:34:44 -07:00
Alex Crichton
f8b19f2b78 Move handling of some warnings to builder.rs 2019-09-23 09:34:44 -07:00
Alex Crichton
3a648b6580 Move handling of -Dwarnings to builder.rs 2019-09-23 09:34:44 -07:00
Alex Crichton
1bec962f46 bootstrap: Remove need for RUSTC_RPATH variable 2019-09-23 09:34:44 -07:00
Alex Crichton
ac29809940 bootstrap: Move RUSTC_CRT_STATIC to builder.rs 2019-09-23 09:34:44 -07:00
Alex Crichton
04cb0653a8 bootstrap: Remove need for RUSTC_SAVE_ANALYSIS 2019-09-23 09:34:44 -07:00
Alex Crichton
d63e2def82 bootstrap: Remove usage of RUSTC_TARGET_LINKER
Cargo has a native enviroment variable for this.
2019-09-23 09:34:44 -07:00
Alex Crichton
c36849a542 bootstrap: Move -Zdual-proc-macros to builder.rs 2019-09-23 09:34:44 -07:00
Alex Crichton
812117af53 bootstrap: Move -Zexternal-macro-backtrace to builder
No need for this to be in `rustc.rs`
2019-09-23 09:34:44 -07:00
Alex Crichton
4f35166f80 bootstrap: Move RUSTC_BREAK_ON_ICE out of shim
This is always set, so let's just always set it elsewhere to reduce the
need for our `rustc.rs` shim.
2019-09-23 09:34:44 -07:00
Alex Crichton
557e69b7ca bootstrap: Delete handling of RUSTC_METADATA_SUFFIX
This is already handled by `__CARGO_DEFAULT_LIB_METADATA` so there's no
need to doubly do it.
2019-09-23 09:34:44 -07:00
Mark Rousskov
c86ea34639 Ensure all warnings are emitted even on warnings=warn 2019-09-04 14:21:35 -04:00
Andreas Jonson
f0b30c7ded remove the unstable rustdoc parameter --linker
use the code generation parameter -Clinker (same parameter as rustc)
to control what linker to use for building the rustdoc test executables.

closes: #63816
2019-09-01 08:50:23 +02:00
Marc-Antoine Perennou
935c1c8607 rustbuild: allow disabling deny(warnings) for bootstrap
When deny-warnings is not specified or set to true, the behaviour is the same as before.
When deny-warnings is set to false, warnings are now allowed

Fixes #63911

Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2019-08-27 17:26:54 +02:00
Matthew Jasper
6ee60af1ab Make built-in derives opaque macros 2019-08-17 08:59:36 +01:00
Mazdak Farrokhzad
e8fb78bf6c
Rollup merge of #63642 - eddyb:wrap-it-up, r=rkruppe,Mark-Simulacrum
Rename overflowing_{add,sub,mul} intrinsics to wrapping_{add,sub,mul}.

These confused @Gankra, and then, also me, especially since `overflowing_*` *methods* also exist, but they map to `*_with_overflow` intrinsics!

r? @oli-obk / @nikomatsakis cc @Mark-Simulacrum (on the rustbuild workaround)
2019-08-17 03:03:02 +02:00
Mazdak Farrokhzad
786aaf0f64
Rollup merge of #63558 - jgalenson:move-remap, r=alexcrichton
Remap paths for proc-macro crates.

The remap-debuginfo config option remaps paths in most crates, but it does not apply to proc-macros, so they are still non-reproducible.  This patch fixes that.

I'm not completely sure if this is the best way to do this, but to get reproducible builds we need librustc_macros to be built with --remap-path-prefix.  I was previously modifying Cargo to pass that argument to all child crates, so this seems simpler and more correct.

I did not add a test since there do not seem to be any existing tests for RUSTC_DEBUGINFO_MAP.

r? @alexcrichton
2019-08-17 03:02:59 +02:00
Eduard-Mihai Burtescu
892ef6fa48 rustbuild: work around the stdarch cfg(bootstrap) bug. 2019-08-16 20:12:10 +03:00
Joel Galenson
9e2d02a1a1 Remap debuginfo for all crates. 2019-08-14 10:47:06 -07:00
Joel Galenson
55caf1dcd3 Remap paths for proc-macro crates.
The remap-debuginfo config option remaps paths in most crates, but it
does not apply to proc-macros, so they are still non-reproducible.
This patch fixes that.
2019-08-14 08:30:59 -07:00
Alex Crichton
f7ff36dcb2 Update error-format to match new Cargo flags for pipelining 2019-08-14 05:39:53 -04:00
Mark Rousskov
6575a96198 Disable --cfg bootstrap in libcore
This is needed to permit us building core_arch which is a submodule dep
(so we can't snap it to the new beta compiler).
2019-08-14 05:39:53 -04:00
Mark Rousskov
2601c86487 Handle cfg(bootstrap) throughout 2019-08-14 05:39:53 -04:00
Ralf Jung
78b658004c Miri test: call 'cargo miri test' and use the sysroot it has set up 2019-08-08 19:31:46 +02:00
Ralf Jung
c4a654d9cd bootstrap: get rid of TEST_MIRI env var 2019-08-08 19:31:45 +02:00
Vadim Petrochenkov
1a370109ec Fix cfg(parallel_compiler) mode
Fix rebase
2019-07-28 18:47:03 +03:00
Vadim Petrochenkov
676d282dd3 Deny unused_lifetimes through rustbuild 2019-07-28 18:47:02 +03:00
Vadim Petrochenkov
434152157f Remove lint annotations in specific crates that are already enforced by rustbuild
Remove some random unnecessary lint `allow`s
2019-07-28 18:46:24 +03:00
Vadim Petrochenkov
36a5aa8325 Address review comments 2019-07-07 01:18:29 +03:00
Vadim Petrochenkov
b11757e0d5 rustbuild: Cleanup global lint settings 2019-07-06 13:48:54 +03:00
flip1995
8e087cdd98
Use symbols in lint tool list 2019-06-24 18:14:04 +02:00
flip1995
7de6f54728
Turn internal lints into tool lints 2019-06-24 10:45:21 +02:00
flip1995
08b81f2d07
Rename internal -> rustc::internal 2019-06-24 10:45:20 +02:00
flip1995
084c829fb8
Enable internal lints in bootstrap 2019-06-24 10:45:20 +02:00