Bug 1531655 - Emit a configure error if rustc version >= 1.33 and --enable-rust-simd used. r=glandium
authorHenri Sivonen <hsivonen@hsivonen.fi>
Fri, 01 Mar 2019 10:08:24 +0000
changeset 519809 f1ba7c69a2c903598ab81d8aaeca4cbbb919042e
parent 519808 40ddf7d53eaaf7ea9b3bf134ad0030713dd0e1a2
child 519810 6b23faa481d9029dd0f9164b51dedaaca60424ce
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 and 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)