Bug 1531655 - Emit a configure error if rustc version >= 1.33 and --enable-rust-simd used. r=glandium
☠☠ backed out by a1a345331f32 ☠ ☠
authorHenri Sivonen <hsivonen@hsivonen.fi>
Fri, 01 Mar 2019 08:43:40 +0000
changeset 519804 d8d8af44ae92123366fea32cc6c6d792a297786d
parent 519803 6c1f943e591c547b4c5c5ca642a449728e03b5ac
child 519805 45b6b4f345d5465f67fd544dabff3b1fc3702055
push id10862
push userffxbld-merge
push dateMon, 11 Mar 2019 13:01:11 +0000
treeherdermozilla-beta@a2e7f5c935da [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersglandium
bugs1531655
milestone67.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1531655 - Emit a configure error if rustc version >= 1.33 and --enable-rust-simd used. r=glandium Differential Revision: https://phabricator.services.mozilla.com/D21649
toolkit/moz.configure
--- a/toolkit/moz.configure
+++ b/toolkit/moz.configure
@@ -700,21 +700,24 @@ set_define('MOZ_BUILD_WEBRENDER', webren
 set_config('MOZ_ENABLE_WEBRENDER', webrender.enable)
 
 # SIMD acceleration for Rust code (currently just encoding_rs)
 # ==============================================================
 
 option('--enable-rust-simd', env='MOZ_RUST_SIMD',
        help='Enable explicit SIMD in Rust code.')
 
-@depends('--enable-rust-simd', target)
-def rust_simd(value, target):
+@depends('--enable-rust-simd', target, rustc_info)
+def rust_simd(value, target, rustc_info):
     # As of 2018-06-05, the simd crate only works on aarch64,
     # armv7, x86 and x86_64.
     if target.cpu in ('aarch64', 'arm', 'x86', 'x86_64') and value:
+        if rustc_info.version >= Version('1.33.0'):
+            die('--enable-rust-simd does not work with Rust 1.33 or later. '
+                'See https://bugzilla.mozilla.org/show_bug.cgi?id=1521249 .')
         return True
 
 set_config('MOZ_RUST_SIMD', rust_simd)
 set_define('MOZ_RUST_SIMD', rust_simd)
 
 # Printing
 # ==============================================================
 @depends(target)