Bug 1444141 - part 4 - make the JS engine depend on Rust; r=chmanchester,glandium,jorendorff
authorNathan Froyd <froydnj@mozilla.com>
Thu, 02 Aug 2018 11:00:21 -0500
changeset 429876 e1f22d19eb6933f2ffc3dc9b78b0cf66d8648474
parent 429875 6c0285701a15fd779cb7964bb434f7841ecfd1d7
child 429877 ea2290c53efc4467947632435a396a99ff2fe33a
push id34375
push usernbeleuzu@mozilla.com
push dateThu, 02 Aug 2018 22:28:56 +0000
treeherdermozilla-central@b1c100e2b29a [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerschmanchester, glandium, jorendorff
bugs1444141
milestone63.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 1444141 - part 4 - make the JS engine depend on Rust; r=chmanchester,glandium,jorendorff The Rust dependency in Firefox has been limited to Firefox builds by virtue of having the Rust check in a Firefox-specific location, toolkit/moz.configure. For JS to start depending on Rust, we need to move that check to a location where a standalone JS engine build will pick up the Rust check.
js/moz.configure
moz.configure
old-configure.in
toolkit/moz.configure
--- a/js/moz.configure
+++ b/js/moz.configure
@@ -13,16 +13,19 @@ def building_js(build_project, help):
 
 # Exception to the rule above: JS_STANDALONE is a special option that doesn't
 # want the js_option treatment. When we're done merging js/src/configure and
 # top-level configure, it can go away, although the JS_STANDALONE config
 # will still need to be set depending on building_js above.
 option(env='JS_STANDALONE', default=building_js,
        help='Reserved for internal use')
 
+include('../build/moz.configure/rust.configure',
+        when='--enable-compile-environment')
+
 @depends('JS_STANDALONE')
 def js_standalone(value):
     if value:
         return True
 set_config('JS_STANDALONE', js_standalone)
 set_define('JS_STANDALONE', js_standalone)
 add_old_configure_assignment('JS_STANDALONE', js_standalone)
 js_option('--disable-js-shell', default=building_js,
--- a/moz.configure
+++ b/moz.configure
@@ -136,17 +136,17 @@ include('build/moz.configure/toolchain.c
 include('build/moz.configure/memory.configure',
         when='--enable-compile-environment')
 include('build/moz.configure/headers.configure',
         when='--enable-compile-environment')
 include('build/moz.configure/warnings.configure',
         when='--enable-compile-environment')
 include('build/moz.configure/flags.configure',
         when='--enable-compile-environment')
-
+# rust.configure is included by js/moz.configure.
 
 js_option('--enable-valgrind',
           help='Enable Valgrind integration hooks')
 
 valgrind_h = check_header('valgrind/valgrind.h', when='--enable-valgrind')
 
 @depends('--enable-valgrind', valgrind_h)
 def check_valgrind(valgrind, valgrind_h):
--- a/old-configure.in
+++ b/old-configure.in
@@ -4653,16 +4653,17 @@ if test -n "$ZLIB_IN_MOZGLUE"; then
 fi
 export MOZ_SYSTEM_ZLIB
 export MOZ_ZLIB_CFLAGS
 export MOZ_ZLIB_LIBS
 export MOZ_APP_NAME
 export MOZ_APP_REMOTINGNAME
 export MOZ_DEV_EDITION
 export RUSTC
+export CARGO
 export MOZILLA_CENTRAL_PATH=$_topsrcdir
 export STLPORT_CPPFLAGS
 export STLPORT_LIBS
 unset MOZ_BUILD_APP
 export DIST
 export MOZ_LINKER
 export ZLIB_IN_MOZGLUE
 export AR
--- a/toolkit/moz.configure
+++ b/toolkit/moz.configure
@@ -89,21 +89,16 @@ pulseaudio = pkg_check_modules('MOZ_PULS
 set_config('MOZ_PULSEAUDIO', depends_if(pulseaudio)(lambda _: True))
 set_define('MOZ_PULSEAUDIO', depends_if(pulseaudio)(lambda _: True))
 
 # Javascript engine
 # ==============================================================
 include('../js/moz.configure')
 
 
-# Rust
-# ==============================================================
-include('../build/moz.configure/rust.configure',
-        when='--enable-compile-environment')
-
 # NodeJS
 # ==============================================================
 include('../build/moz.configure/node.configure')
 
 # L10N
 # ==============================================================
 option('--with-l10n-base', nargs=1, env='L10NBASEDIR',
        help='Path to l10n repositories')