diff options
| author | Thomas Lively <tlively@google.com> | 2019-08-16 22:08:01 -0700 |
|---|---|---|
| committer | Thomas Lively <tlively@google.com> | 2019-10-16 17:06:48 -0700 |
| commit | 2bf59bea481dd4b4365cafe2e94fa8bf330a6877 (patch) | |
| tree | 1a66e01af701fd21c291788d5eb971f502f5dbee /src/bootstrap | |
| parent | 0e8a4b441c5da21a2cb19448728ade5baa299c66 (diff) | |
| download | rust-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.rs | 1 | ||||
| -rw-r--r-- | src/bootstrap/test.rs | 5 |
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); |
