diff --git a/build/RunCbindgen.py b/build/RunCbindgen.py index f797cad385d7..e166556f6820 100644 --- a/build/RunCbindgen.py +++ b/build/RunCbindgen.py @@ -41,18 +41,24 @@ def _run_process(args): def generate_metadata(output, cargo_config): - stdout, returncode = _run_process( - [ - buildconfig.substs["CARGO"], - "metadata", - "--frozen", - "--all-features", - "--format-version", - "1", - "--manifest-path", - CARGO_TOML, - ] - ) + args = [ + buildconfig.substs["CARGO"], + "metadata", + "--all-features", + "--format-version", + "1", + "--manifest-path", + CARGO_TOML, + ] + + # The Spidermonkey library can be built from a package tarball outside the + # tree, so we want to let Cargo create lock files in this case. When built + # within a tree, the Rust dependencies have been vendored in so Cargo won't + # touch the lock file. + if not buildconfig.substs.get("JS_STANDALONE"): + args.append("--frozen") + + stdout, returncode = _run_process(args) if returncode != 0: return returncode diff --git a/build/moz.configure/bindgen.configure b/build/moz.configure/bindgen.configure index da68e07dc85e..72f4d4173b9d 100644 --- a/build/moz.configure/bindgen.configure +++ b/build/moz.configure/bindgen.configure @@ -5,17 +5,7 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. -@depends(build_project, "--enable-smoosh") -def cbindgen_is_needed(build_project, js_enable_smoosh): - if build_project != "js": - # cbindgen is needed by the style system build and webrender. - return True - - # cbindgen is needed by SmooshMonkey. - return js_enable_smoosh - - -option(env="CBINDGEN", nargs=1, when=cbindgen_is_needed, help="Path to cbindgen") +option(env="CBINDGEN", nargs=1, help="Path to cbindgen") @imports(_from="textwrap", _import="dedent") @@ -48,17 +38,14 @@ def check_cbindgen_version(cbindgen, fatal=False): # Similar behavior to what check_prog does. -has_cbindgen_input = depends("CBINDGEN", when=cbindgen_is_needed)(lambda x: x) -bootstrap_cbindgen = depends(cbindgen_is_needed, has_cbindgen_input)( - lambda n, i: n and not i -) +has_cbindgen_input = depends("CBINDGEN")(lambda x: x) +bootstrap_cbindgen = depends(has_cbindgen_input)(lambda i: not i) @depends_if( "CBINDGEN", bootstrap_search_path("cbindgen", when=bootstrap_cbindgen), rust_search_path, - when=cbindgen_is_needed, ) @checking("for cbindgen") @imports(_from="textwrap", _import="dedent") diff --git a/js/src/make-source-package.py b/js/src/make-source-package.py index bc08f2ed73eb..4d461ff064a1 100755 --- a/js/src/make-source-package.py +++ b/js/src/make-source-package.py @@ -137,6 +137,8 @@ rsync_filter_list = """ + /mfbt/** + /nsprpub/** ++ /intl/bidi/** + - /intl/icu/source/data - /intl/icu/source/test - /intl/icu/source/tools diff --git a/js/src/moz.build b/js/src/moz.build index aba134a3b575..448cd9350a63 100644 --- a/js/src/moz.build +++ b/js/src/moz.build @@ -632,6 +632,7 @@ if CONFIG["JS_HAS_CTYPES"]: if CONFIG["JS_HAS_INTL_API"]: DIRS += [ + "../../intl/bidi", "../../intl/components", ] diff --git a/taskcluster/ci/spidermonkey/windows.yml b/taskcluster/ci/spidermonkey/windows.yml index 3ec782a50a2c..2fa90deb8e74 100644 --- a/taskcluster/ci/spidermonkey/windows.yml +++ b/taskcluster/ci/spidermonkey/windows.yml @@ -21,6 +21,7 @@ sm-plain-win64/debug: spidermonkey-platform: win64 fetches: toolchain: + - win64-cbindgen - win64-clang - win64-rust - win64-mozmake @@ -40,6 +41,7 @@ sm-plain-win32/debug: run-on-projects: ['mozilla-central'] fetches: toolchain: + - win64-cbindgen - win64-clang - win64-rust - win64-mozmake @@ -57,6 +59,7 @@ sm-plain-win64/opt: spidermonkey-platform: win64 fetches: toolchain: + - win64-cbindgen - win64-clang - win64-rust - win64-mozmake @@ -76,6 +79,7 @@ sm-plain-win32/opt: run-on-projects: ['mozilla-central'] fetches: toolchain: + - win64-cbindgen - win64-clang - win64-rust - win64-mozmake @@ -93,6 +97,7 @@ sm-compacting-win64/debug: spidermonkey-platform: win64 fetches: toolchain: + - win64-cbindgen - win64-clang - win64-rust - win64-mozmake @@ -112,6 +117,7 @@ sm-compacting-win32/debug: run-on-projects: [] fetches: toolchain: + - win64-cbindgen - win64-clang - win64-rust - win64-mozmake