diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2017-05-08 14:36:33 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2017-05-11 16:03:05 -0700 |
| commit | af0e16c852662d23097ce1821ff04c1676aed20f (patch) | |
| tree | ce4f75651d671bda264afbc6b1a04785050501c4 /src | |
| parent | 99f629a9313a6ac5d7c57fdfa9127a336d0731a8 (diff) | |
| download | rust-af0e16c852662d23097ce1821ff04c1676aed20f.tar.gz rust-af0e16c852662d23097ce1821ff04c1676aed20f.zip | |
rustbuild: Use `-Z force-unstable-if-unmarked`
Diffstat (limited to 'src')
| -rw-r--r-- | src/bootstrap/bin/rustc.rs | 13 | ||||
| -rw-r--r-- | src/bootstrap/lib.rs | 7 |
2 files changed, 18 insertions, 2 deletions
diff --git a/src/bootstrap/bin/rustc.rs b/src/bootstrap/bin/rustc.rs index 62b7f6cb72e..906c468241a 100644 --- a/src/bootstrap/bin/rustc.rs +++ b/src/bootstrap/bin/rustc.rs @@ -194,6 +194,8 @@ fn main() { // do that we pass a weird flag to the compiler to get it to do // so. Note that this is definitely a hack, and we should likely // flesh out rpath support more fully in the future. + // + // FIXME: remove condition after next stage0 if stage != "0" { cmd.arg("-Z").arg("osx-rpath-install-name"); } @@ -218,6 +220,17 @@ fn main() { cmd.arg("-Z").arg("unstable-options"); cmd.arg("-C").arg("target-feature=+crt-static"); } + + // Force all crates compiled by this compiler to (a) be unstable and (b) + // allow the `rustc_private` feature to link to other unstable crates + // also in the sysroot. + // + // FIXME: remove condition after next stage0 + if env::var_os("RUSTC_FORCE_UNSTABLE").is_some() { + if stage != "0" { + cmd.arg("-Z").arg("force-unstable-if-unmarked"); + } + } } if verbose > 1 { diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs index 017d4015134..ea0b521a2ce 100644 --- a/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs @@ -479,7 +479,8 @@ impl Build { // compiled with debuginfo. if mode != Mode::Tool { cargo.env("RUSTC_DEBUGINFO", self.config.rust_debuginfo.to_string()) - .env("RUSTC_DEBUGINFO_LINES", self.config.rust_debuginfo_lines.to_string()); + .env("RUSTC_DEBUGINFO_LINES", self.config.rust_debuginfo_lines.to_string()) + .env("RUSTC_FORCE_UNSTABLE", "1"); } // Enable usage of unstable features @@ -524,7 +525,9 @@ impl Build { // the comipiler, libs, and tests are stable and we don't want to make // their deps unstable (since this would break the first invariant // above). - if mode != Mode::Tool { + // + // FIXME: remove this after next stage0 + if mode != Mode::Tool && stage == 0 { cargo.env("RUSTBUILD_UNSTABLE", "1"); } |
