about summary refs log tree commit diff
path: root/src/bootstrap/builder.rs
diff options
context:
space:
mode:
authorJohn Kåre Alsaker <john.kare.alsaker@gmail.com>2018-12-02 21:47:41 +0100
committerJohn Kåre Alsaker <john.kare.alsaker@gmail.com>2019-03-05 00:36:24 +0100
commite501a87e895221dfe7475c6739feffe4bbca04eb (patch)
tree37bbca32d36c6234eedf8009653533d503821053 /src/bootstrap/builder.rs
parentc3c1c8d4e0f01c869f8381e70fbd4d103534493f (diff)
downloadrust-e501a87e895221dfe7475c6739feffe4bbca04eb.tar.gz
rust-e501a87e895221dfe7475c6739feffe4bbca04eb.zip
Bootstrap changes
Diffstat (limited to 'src/bootstrap/builder.rs')
-rw-r--r--src/bootstrap/builder.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
index 7e6c0a9f52a..eb1a2a59fa3 100644
--- a/src/bootstrap/builder.rs
+++ b/src/bootstrap/builder.rs
@@ -812,6 +812,17 @@ impl<'a> Builder<'a> {
             cargo.env("RUST_CHECK", "1");
         }
 
+        match mode {
+            Mode::Std | Mode::Test | Mode::ToolBootstrap | Mode::ToolStd | Mode::ToolTest=> {},
+            Mode::Rustc | Mode::Codegen | Mode::ToolRustc => {
+                // Build proc macros both for the host and the target
+                if target != compiler.host && cmd != "check" {
+                    cargo.arg("-Zdual-proc-macros");
+                    cargo.env("RUST_DUAL_PROC_MACROS", "1");
+                }
+            },
+        }
+
         cargo.arg("-j").arg(self.jobs().to_string());
         // Remove make-related flags to ensure Cargo can correctly set things up
         cargo.env_remove("MAKEFLAGS");