about summary refs log tree commit diff
diff options
context:
space:
mode:
authorNilstrieb <48135649+Nilstrieb@users.noreply.github.com>2024-01-29 20:32:27 +0100
committerNilstrieb <48135649+Nilstrieb@users.noreply.github.com>2024-01-29 20:32:55 +0100
commit6468d44c37b62786cf84b977ef031758d4d2d27f (patch)
treeceb69e24c0ee460a9aaf46428e69e30045672204
parent88189a71e4e4376eea82ac61db6a539612eb200a (diff)
downloadrust-6468d44c37b62786cf84b977ef031758d4d2d27f.tar.gz
rust-6468d44c37b62786cf84b977ef031758d4d2d27f.zip
Improve error message when `cargo build` is used to build the compiler
-rw-r--r--compiler/rustc_macros/build.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/compiler/rustc_macros/build.rs b/compiler/rustc_macros/build.rs
new file mode 100644
index 00000000000..717f8a92245
--- /dev/null
+++ b/compiler/rustc_macros/build.rs
@@ -0,0 +1,16 @@
+fn main() {
+    println!("cargo:rerun-if-changed=build.rs");
+    println!("cargo:rerun-if-env-changed=RUSTC_BOOTSTRAP");
+    if !std::env::var("RUSTC_BOOTSTRAP").is_ok() {
+        eprintln!(
+            "error: you are attempting to build the compiler without going through bootstrap"
+        );
+        eprintln!(
+            "help: see https://rustc-dev-guide.rust-lang.org/building/how-to-build-and-run.html for how to build the compiler"
+        );
+        eprintln!(
+            "help: if you know what you're doing, set the RUSTC_BOOTSTRAP environment variable to any value"
+        );
+        panic!("wrong command used for building");
+    }
+}