about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2016-09-28 16:08:59 +0000
committerBrian Anderson <banderson@mozilla.com>2016-09-30 14:04:09 -0700
commitafa72b5dd6b75ed4577a4e73c1525dcd58d93b51 (patch)
tree6baafb803b4fb5392aeecc448b1b79a19dc771fd
parent4f5e73be1bf439a9881600ad4cdfd5865391eaef (diff)
downloadrust-afa72b5dd6b75ed4577a4e73c1525dcd58d93b51.tar.gz
rust-afa72b5dd6b75ed4577a4e73c1525dcd58d93b51.zip
Don't build any native compiler-builtin components for emscripten
-rw-r--r--src/bootstrap/sanity.rs7
-rw-r--r--src/libcompiler_builtins/build.rs6
2 files changed, 13 insertions, 0 deletions
diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs
index 9429af56525..c4e6399c2c3 100644
--- a/src/bootstrap/sanity.rs
+++ b/src/bootstrap/sanity.rs
@@ -95,6 +95,13 @@ pub fn check(build: &mut Build) {
     // We're gonna build some custom C code here and there, host triples
     // also build some C++ shims for LLVM so we need a C++ compiler.
     for target in build.config.target.iter() {
+        // On emscripten we don't actually need the C compiler to just
+        // build the target artifacts, only for testing. For the sake
+        // of easier bot configuration, just skip detection.
+        if target.contains("emscripten") {
+            continue;
+        }
+
         need_cmd(build.cc(target).as_ref());
         if let Some(ar) = build.ar(target) {
             need_cmd(ar.as_ref());
diff --git a/src/libcompiler_builtins/build.rs b/src/libcompiler_builtins/build.rs
index 66c683333b9..acbd39bb163 100644
--- a/src/libcompiler_builtins/build.rs
+++ b/src/libcompiler_builtins/build.rs
@@ -73,6 +73,12 @@ impl Sources {
 
 fn main() {
     let target = env::var("TARGET").expect("TARGET was not set");
+
+    // Emscripten's runtime includes all the builtins
+    if target.contains("emscripten") {
+        return;
+    }
+
     let cfg = &mut gcc::Config::new();
 
     if target.contains("msvc") {