about summary refs log tree commit diff
path: root/src/bootstrap
diff options
context:
space:
mode:
authorThomas Lively <tlively@google.com>2019-08-16 22:08:01 -0700
committerThomas Lively <tlively@google.com>2019-10-16 17:06:48 -0700
commit2bf59bea481dd4b4365cafe2e94fa8bf330a6877 (patch)
tree1a66e01af701fd21c291788d5eb971f502f5dbee /src/bootstrap
parent0e8a4b441c5da21a2cb19448728ade5baa299c66 (diff)
downloadrust-2bf59bea481dd4b4365cafe2e94fa8bf330a6877.tar.gz
rust-2bf59bea481dd4b4365cafe2e94fa8bf330a6877.zip
Upgrade Emscripten targets to use upstream LLVM backend
 - Compatible with Emscripten 1.38.46-upstream or later upstream.
 - Refactors the Emscripten target spec to share code with other wasm
   targets.
 - Replaces the old incorrect wasm32 C call ABI with the correct one,
   preserving the old one as wasm32_bindgen_compat for wasm-bindgen
   compatibility.
 - Updates the varargs ABI used by Emscripten and deletes the old one.
 - Removes the obsolete wasm32-experimental-emscripten target.
 - Uses EMCC_CFLAGS on CI to avoid the timeout problems with #63649.
Diffstat (limited to 'src/bootstrap')
-rw-r--r--src/bootstrap/builder.rs1
-rw-r--r--src/bootstrap/test.rs5
2 files changed, 4 insertions, 2 deletions
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
index 0caf2d9b6db..b8071b98f70 100644
--- a/src/bootstrap/builder.rs
+++ b/src/bootstrap/builder.rs
@@ -980,6 +980,7 @@ impl<'a> Builder<'a> {
                 Some("-Wl,-rpath,@loader_path/../lib")
             } else if !target.contains("windows") &&
                       !target.contains("wasm32") &&
+                      !target.contains("emscripten") &&
                       !target.contains("fuchsia") {
                 Some("-Wl,-rpath,$ORIGIN/../lib")
             } else {
diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs
index b7ce9c7b397..e09e25de64a 100644
--- a/src/bootstrap/test.rs
+++ b/src/bootstrap/test.rs
@@ -1047,10 +1047,11 @@ impl Step for Compiletest {
         // Also provide `rust_test_helpers` for the host.
         builder.ensure(native::TestHelpers { target: compiler.host });
 
-        // wasm32 can't build the test helpers
-        if !target.contains("wasm32") {
+        // As well as the target, except for plain wasm32, which can't build it
+        if !target.contains("wasm32") || target.contains("emscripten") {
             builder.ensure(native::TestHelpers { target });
         }
+
         builder.ensure(RemoteCopyLibs { compiler, target });
 
         let mut cmd = builder.tool_cmd(Tool::Compiletest);