Bug 1447611: Remove --enable-stylo and --enable-stylo-build-bindgen. r=froydnj
authorEmilio Cobos Álvarez <emilio@crisal.io>
Wed, 21 Mar 2018 12:45:06 +0100
changeset 409321 fb0e473776cff119e0a57887620f4a31bef491d7
parent 409320 7b367849bccf11447f6d7855837abf18d87210c2
child 409322 89d6c362a11a445fc92c8a07000ed28689261d50
push id33685
push useraiakab@mozilla.com
push dateWed, 21 Mar 2018 23:46:57 +0000
treeherdermozilla-central@b41c7c1ff91f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersfroydnj
bugs1447611
milestone61.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 1447611: Remove --enable-stylo and --enable-stylo-build-bindgen. r=froydnj Will remove the prefs and stuff in a followup. MozReview-Commit-ID: HVyfbHOEQYI
layout/style/ServoBindings.toml
layout/tools/reftest/manifest.jsm
modules/libpref/init/all.js
python/mozbuild/mozbuild/mozinfo.py
testing/awsy/mach_commands.py
testing/mozharness/mozharness/mozilla/testing/verify_tools.py
testing/mozharness/scripts/desktop_unittest.py
testing/mozharness/scripts/web_platform_tests.py
testing/talos/talos/config.py
testing/talos/talos/unittests/test_config.py
toolkit/library/rust/gkrust-features.mozbuild
toolkit/modules/AppConstants.jsm
toolkit/moz.configure
toolkit/mozapps/installer/packager.mk
toolkit/mozapps/installer/upload-files.mk
--- a/layout/style/ServoBindings.toml
+++ b/layout/style/ServoBindings.toml
@@ -1,13 +1,13 @@
 [build]
 args = [
     "-x", "c++", "-std=c++14", "-fno-sized-deallocation",
     "-DTRACING=1", "-DIMPL_LIBXUL", "-DMOZ_STYLO_BINDINGS=1",
-    "-DMOZILLA_INTERNAL_API", "-DRUST_BINDGEN", "-DMOZ_STYLO"
+    "-DMOZILLA_INTERNAL_API", "-DRUST_BINDGEN"
 ]
 "family=unix" = ["-DOS_POSIX=1"]
 "os=solaris" = ["-DOS_SOLARIS=1"]
 "os=dragonfly" = ["-DOS_BSD=1", "-DOS_DRAGONFLY=1"]
 "os=freebsd" = ["-DOS_BSD=1", "-DOS_FREEBSD=1"]
 "os=netbsd" = ["-DOS_BSD=1", "-DOS_NETBSD=1"]
 "os=openbsd" = ["-DOS_BSD=1", "-DOS_OPENBSD=1"]
 "os=macos" = [
--- a/layout/tools/reftest/manifest.jsm
+++ b/layout/tools/reftest/manifest.jsm
@@ -477,31 +477,18 @@ function BuildConditionSandbox(aURL) {
 #else
     sandbox.webrtc = false;
 #endif
 
 let retainedDisplayListsEnabled = prefs.getBoolPref("layout.display-list.retain", false);
 sandbox.retainedDisplayLists = retainedDisplayListsEnabled && !g.compareRetainedDisplayLists;
 sandbox.compareRetainedDisplayLists = g.compareRetainedDisplayLists;
 
-#ifdef MOZ_STYLO
-    let styloEnabled = false;
-    // Perhaps a bit redundant in places, but this is easier to compare with the
-    // the real check in `nsLayoutUtils.cpp` to ensure they test the same way.
-    if (env.get("STYLO_FORCE_ENABLED")) {
-        styloEnabled = true;
-    } else if (env.get("STYLO_FORCE_DISABLED")) {
-        styloEnabled = false;
-    } else {
-        styloEnabled = prefs.getBoolPref("layout.css.servo.enabled", false);
-    }
-    sandbox.stylo = styloEnabled;
-#else
-    sandbox.stylo = false;
-#endif
+// TODO(emilio): Remove the remaining reftest expectations that mention stylo.
+sandbox.stylo = true;
 
     sandbox.skiaPdf = false;
 
 #ifdef RELEASE_OR_BETA
     sandbox.release_or_beta = true;
 #else
     sandbox.release_or_beta = false;
 #endif
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -5915,28 +5915,22 @@ pref("osfile.reset_worker_delay", 30000)
 pref("dom.webkitBlink.dirPicker.enabled", true);
 pref("dom.webkitBlink.filesystem.enabled", true);
 #endif
 
 pref("media.block-autoplay-until-in-foreground", true);
 
 // Is Stylo CSS support built and enabled?
 // Only define these prefs if Stylo support is actually built in.
-#ifdef MOZ_STYLO
-#ifdef MOZ_STYLO_ENABLE
 pref("layout.css.servo.enabled", true);
-#else
-pref("layout.css.servo.enabled", false);
-#endif
 // Whether Stylo is enabled for chrome document?
 // If Stylo is not enabled, this pref doesn't take any effect.
 // Note that this pref is only read once when requested. Changing it
 // at runtime may have no effect.
 pref("layout.css.servo.chrome.enabled", true);
-#endif
 
 // TODO: Bug 1324406: Treat 'data:' documents as unique, opaque origins
 // If true, data: URIs will be treated as unique opaque origins, hence will use
 // a NullPrincipal as the security context.
 // Otherwise it will inherit the origin from parent node, this is the legacy
 // behavior of Firefox.
 pref("security.data_uri.unique_opaque_origin", true);
 
--- a/python/mozbuild/mozbuild/mozinfo.py
+++ b/python/mozbuild/mozbuild/mozinfo.py
@@ -78,17 +78,18 @@ def build_dict(config, env=os.environ):
     d['nightly_build'] = substs.get('NIGHTLY_BUILD') == '1'
     d['release_or_beta'] = substs.get('RELEASE_OR_BETA') == '1'
     d['devedition'] = substs.get('MOZ_DEV_EDITION') == '1'
     d['pgo'] = substs.get('MOZ_PGO') == '1'
     d['crashreporter'] = bool(substs.get('MOZ_CRASHREPORTER'))
     d['datareporting'] = bool(substs.get('MOZ_DATA_REPORTING'))
     d['healthreport'] = substs.get('MOZ_SERVICES_HEALTHREPORT') == '1'
     d['sync'] = substs.get('MOZ_SERVICES_SYNC') == '1'
-    d['stylo'] = substs.get('MOZ_STYLO_ENABLE') == '1'
+    # FIXME(emilio): We need to update a lot of WPT expectations before removing this.
+    d['stylo'] = True
     d['asan'] = substs.get('MOZ_ASAN') == '1'
     d['tsan'] = substs.get('MOZ_TSAN') == '1'
     d['ubsan'] = substs.get('MOZ_UBSAN') == '1'
     d['telemetry'] = substs.get('MOZ_TELEMETRY_REPORTING') == '1'
     d['tests_enabled'] = substs.get('ENABLE_TESTS') == "1"
     d['bin_suffix'] = substs.get('BIN_SUFFIX', '')
     d['addon_signing'] = substs.get('MOZ_ADDON_SIGNING') == '1'
     d['require_signing'] = substs.get('MOZ_REQUIRE_SIGNING') == '1'
--- a/testing/awsy/mach_commands.py
+++ b/testing/awsy/mach_commands.py
@@ -64,19 +64,16 @@ class MachCommands(MachCommandBase):
             kwargs['perTabPause'] = 1
             kwargs['settleWaitTime'] = 1
 
         if 'single_stylo_traversal' in kwargs and kwargs['single_stylo_traversal']:
             os.environ['STYLO_THREADS'] = '1'
         else:
             os.environ['STYLO_THREADS'] = '4'
 
-        if 'enable_stylo' in kwargs and kwargs['enable_stylo']:
-            os.environ['STYLO_FORCE_ENABLED'] = '1'
-
         if 'enable_webrender' in kwargs and kwargs['enable_webrender']:
             os.environ['MOZ_WEBRENDER'] = '1'
             os.environ['MOZ_ACCELERATED'] = '1'
 
         runtime_testvars = {}
         for arg in ('webRootDir', 'pageManifest', 'resultsDir', 'entities', 'iterations',
                     'perTabPause', 'settleWaitTime', 'maxTabs', 'dmd'):
             if kwargs[arg]:
@@ -200,19 +197,16 @@ class MachCommands(MachCommandBase):
     @CommandArgument('--per-tab-pause', group='AWSY', action='store', type=int,
                      dest='perTabPause',
                      help='Seconds to wait in between opening tabs. '
                      'Defaults to %s.' % PER_TAB_PAUSE)
     @CommandArgument('--settle-wait-time', group='AWSY', action='store', type=int,
                      dest='settleWaitTime',
                      help='Seconds to wait for things to settled down. '
                      'Defaults to %s.' % SETTLE_WAIT_TIME)
-    @CommandArgument('--enable-stylo', group='AWSY', action='store_true',
-                     dest='enable_stylo', default=False,
-                     help='Enable Stylo.')
     @CommandArgument('--single-stylo-traversal', group='AWSY', action='store_true',
                      dest='single_stylo_traversal', default=False,
                      help='Set STYLO_THREADS=1.')
     @CommandArgument('--enable-webrender', group='AWSY', action='store_true',
                      dest='enable_webrender', default=False,
                      help='Enable WebRender.')
     @CommandArgument('--dmd', group='AWSY', action='store_true',
                      dest='dmd', default=False,
--- a/testing/mozharness/mozharness/mozilla/testing/verify_tools.py
+++ b/testing/mozharness/mozharness/mozilla/testing/verify_tools.py
@@ -170,18 +170,18 @@ class VerifyToolsMixin(object):
             return response
 
         dirs = self.query_abs_dirs()
         mozinfo.find_and_update_from_json(dirs['abs_test_install_dir'])
         e10s = self.config.get('e10s', False)
         mozinfo.update({"e10s": e10s})
         headless = self.config.get('headless', False)
         mozinfo.update({"headless": headless})
-        stylo = self.config.get('enable_stylo', False)
-        mozinfo.update({'stylo': stylo})
+        # FIXME(emilio): Need to update test expectations.
+        mozinfo.update({'stylo': True})
         mozinfo.update({'verify': True})
         self.info("Verification using mozinfo: %s" % str(mozinfo.info))
 
         # determine which files were changed on this push
         url = '%s/json-automationrelevance/%s' % (repository.rstrip('/'), revision)
         contents = self.retry(get_automationrelevance, attempts=2, sleeptime=10)
         changed_files = set()
         for c in contents['changesets']:
--- a/testing/mozharness/scripts/desktop_unittest.py
+++ b/testing/mozharness/scripts/desktop_unittest.py
@@ -158,22 +158,16 @@ class DesktopUnittest(TestingMixin, Merc
                     "the GL compositor."}
          ],
         [["--single-stylo-traversal"], {
             "action": "store_true",
             "dest": "single_stylo_traversal",
             "default": False,
             "help": "Forcibly enable single thread traversal in Stylo with STYLO_THREADS=1"}
          ],
-        [["--enable-stylo"], {
-            "action": "store_true",
-            "dest": "enable_stylo",
-            "default": False,
-            "help": "Run tests with Stylo enabled"}
-         ],
         [["--enable-webrender"], {
             "action": "store_true",
             "dest": "enable_webrender",
             "default": False,
             "help": "Tries to enable the WebRender compositor."}
          ],
     ] + copy.deepcopy(testing_config_options) + \
         copy.deepcopy(blobupload_config_options) + \
@@ -230,19 +224,16 @@ class DesktopUnittest(TestingMixin, Merc
                 perfherder_parts.extend(c[s])
 
         if 'this_chunk' in c:
             perfherder_parts.append(c['this_chunk'])
 
         if c['e10s']:
             perfherder_options.append('e10s')
 
-        if c['enable_stylo']:
-            perfherder_options.append('stylo')
-
         self.resource_monitor_perfherder_id = ('.'.join(perfherder_parts),
                                                perfherder_options)
 
     # helper methods {{{2
     def _pre_config_lock(self, rw_config):
         super(DesktopUnittest, self)._pre_config_lock(rw_config)
         c = self.config
         if not c.get('run_all_suites'):
@@ -850,19 +841,16 @@ class DesktopUnittest(TestingMixin, Merc
                     env['MOZ_WEBRENDER'] = '1'
                     env['MOZ_ACCELERATED'] = '1'
 
                 if self.config['single_stylo_traversal']:
                     env['STYLO_THREADS'] = '1'
                 else:
                     env['STYLO_THREADS'] = '4'
 
-                if self.config['enable_stylo']:
-                    env['STYLO_FORCE_ENABLED'] = '1'
-
                 env = self.query_env(partial_env=env, log_level=INFO)
                 cmd_timeout = self.get_timeout_for_category(suite_category)
 
                 for verify_args in self.query_verify_args(suite):
                     if (datetime.now() - self.start_time) > max_verify_time:
                         # Verification has run out of time. That is okay! Stop running
                         # tests so that a task timeout is not triggered, and so that
                         # (partial) results are made available in a timely manner.
--- a/testing/mozharness/scripts/web_platform_tests.py
+++ b/testing/mozharness/scripts/web_platform_tests.py
@@ -83,28 +83,16 @@ class WebPlatformTest(TestingMixin, Merc
             "help": "Specify headless fake screen height (default: 1200)."}
          ],
         [["--single-stylo-traversal"], {
             "action": "store_true",
             "dest": "single_stylo_traversal",
             "default": False,
             "help": "Forcibly enable single thread traversal in Stylo with STYLO_THREADS=1"}
          ],
-        [["--enable-stylo"], {
-            "action": "store_true",
-            "dest": "enable_stylo",
-            "default": False,
-            "help": "Run tests with Stylo enabled"}
-         ],
-        [["--disable-stylo"], {
-            "action": "store_true",
-            "dest": "disable_stylo",
-            "default": False,
-            "help": "Run tests with Stylo disabled"}
-         ],
     ] + copy.deepcopy(testing_config_options) + \
         copy.deepcopy(blobupload_config_options) + \
         copy.deepcopy(code_coverage_config_options)
 
     def __init__(self, require_config_file=True):
         super(WebPlatformTest, self).__init__(
             config_options=self.config_options,
             all_actions=[
@@ -317,30 +305,21 @@ class WebPlatformTest(TestingMixin, Merc
         if self.config['enable_webrender']:
             env['MOZ_WEBRENDER'] = '1'
             env['MOZ_ACCELERATED'] = '1'
         if self.config['headless']:
             env['MOZ_HEADLESS'] = '1'
             env['MOZ_HEADLESS_WIDTH'] = self.config['headless_width']
             env['MOZ_HEADLESS_HEIGHT'] = self.config['headless_height']
 
-        if self.config['disable_stylo']:
-            if self.config['single_stylo_traversal']:
-                self.fatal("--disable-stylo conflicts with --single-stylo-traversal")
-            if self.config['enable_stylo']:
-                self.fatal("--disable-stylo conflicts with --enable-stylo")
-
         if self.config['single_stylo_traversal']:
             env['STYLO_THREADS'] = '1'
         else:
             env['STYLO_THREADS'] = '4'
 
-        if self.config['enable_stylo']:
-            env['STYLO_FORCE_ENABLED'] = '1'
-
         env = self.query_env(partial_env=env, log_level=INFO)
 
         start_time = datetime.now()
         max_verify_time = timedelta(minutes=60)
         max_verify_tests = 10
         verified_tests = 0
 
         if self.config.get("verify") is True:
--- a/testing/talos/talos/config.py
+++ b/testing/talos/talos/config.py
@@ -479,17 +479,16 @@ def get_browser_config(config):
                 'framework': 'talos',
                 'repository': None,
                 'sourcestamp': None,
                 'symbols_path': None,
                 'test_timeout': 1200,
                 'xperf_path': None,
                 'error_filename': None,
                 'no_upload_results': False,
-                'enable_stylo': True,
                 'stylothreads': 0,
                 'subtests': None,
                 }
     browser_config = dict(title=config['title'])
     browser_config.update(dict([(i, config[i]) for i in required]))
     browser_config.update(dict([(i, config.get(i, j))
                           for i, j in optional.items()]))
     return browser_config
--- a/testing/talos/talos/unittests/test_config.py
+++ b/testing/talos/talos/unittests/test_config.py
@@ -131,17 +131,16 @@ class Test_get_browser_config(object):
                 'framework',
                 'repository',
                 'sourcestamp',
                 'symbols_path',
                 'test_timeout',
                 'xperf_path',
                 'error_filename',
                 'no_upload_results',
-                'enable_stylo',
                 'disable_stylo',
                 'stylothreads',
                 'subtests']
 
     def test_that_contains_title(self):
         config_no_optionals = dict.fromkeys(self.required, '')
         config_no_optionals.update(title='is_mandatory')
 
--- a/toolkit/library/rust/gkrust-features.mozbuild
+++ b/toolkit/library/rust/gkrust-features.mozbuild
@@ -1,23 +1,18 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-gkrust_features = []
-if CONFIG['MOZ_STYLO']:
-    gkrust_features += ['servo']
+gkrust_features = ['servo', 'bindgen']
 
-    if CONFIG['MOZ_STYLO_BINDGEN']:
-        gkrust_features += ['bindgen']
-
-    if CONFIG['MOZ_DEBUG']:
-        gkrust_features += ['gecko_debug']
+if CONFIG['MOZ_DEBUG']:
+    gkrust_features += ['gecko_debug']
 
 if CONFIG['MOZ_BUILD_WEBRENDER']:
     gkrust_features += ['quantum_render']
 
 if CONFIG['MOZ_PULSEAUDIO']:
     gkrust_features += ['cubeb_pulse_rust']
 
 if CONFIG['MOZ_RUST_SIMD']:
--- a/toolkit/modules/AppConstants.jsm
+++ b/toolkit/modules/AppConstants.jsm
@@ -329,16 +329,10 @@ this.AppConstants = Object.freeze({
 
   HAVE_SHELL_SERVICE:
 #ifdef HAVE_SHELL_SERVICE
     true,
 #else
     false,
 #endif
 
-  MOZ_STYLO:
-#ifdef MOZ_STYLO
-    true,
-#else
-    false,
-#endif
-
+  MOZ_STYLO: true,
 });
--- a/toolkit/moz.configure
+++ b/toolkit/moz.configure
@@ -545,57 +545,16 @@ simple_keyfile('Google API')
 id_and_secret_keyfile('Bing API')
 
 simple_keyfile('Adjust SDK')
 
 id_and_secret_keyfile('Leanplum SDK')
 
 simple_keyfile('Pocket API')
 
-# Servo integration
-# ==============================================================
-option('--enable-stylo', nargs='?', choices=('build',),
-       help='Include Stylo in the build.  "build" means to disable Stylo at ' +
-            'runtime.')
-
-@depends('--enable-stylo', '--help')
-def stylo_config(value, _):
-    # If nothing is specified, default to building and enabling Stylo,
-    # and not building the old style system.
-    build_stylo = True
-    enable_stylo = True
-    old_style = None
-
-    if len(value) and value[0] == 'build':
-        # Build but disable by request.
-        enable_stylo = None
-        old_style = True
-    elif value.origin != 'default' and not bool(value):
-        # Disable stylo entirely.
-        old_style = True
-        build_stylo = None
-        enable_stylo = None
-
-    return namespace(
-        build = build_stylo,
-        enable = enable_stylo,
-        old_style = old_style,
-    )
-
-option('--disable-stylo-build-bindgen',
-       help='Disable build-time bindgen for Stylo')
-
-@depends('--enable-stylo-build-bindgen', '--enable-compile-environment')
-def building_stylo_bindgen(bindgen_enabled, compile_environment):
-    if not compile_environment:
-        return False
-    if not bindgen_enabled:
-        return False
-    return True
-
 # We support setting up the appropriate options for Stylo's build-time
 # bindings generation via setting LLVM_CONFIG or by providing explicit
 # configure options.  The Windows installer of LLVM/Clang doesn't provide
 # llvm-config, so we need both methods to support all of our tier-1
 # platforms.
 @depends(host)
 @imports('which')
 @imports('os')
@@ -635,20 +594,20 @@ def llvm_config_paths(host):
                                         os.path.expanduser(os.path.join('~', '.mozbuild')))
     bootstrap_llvm_config = os.path.join(mozbuild_state_dir, 'clang', 'bin', 'llvm-config')
 
     llvm_config_progs.append(bootstrap_llvm_config)
 
     return llvm_config_progs
 
 llvm_config = check_prog('LLVM_CONFIG', llvm_config_paths,
-                         when=building_stylo_bindgen,
+                         when='--enable-compile-environment',
                          what='llvm-config', allow_missing=True)
 
-with only_when(building_stylo_bindgen):
+with only_when('--enable-compile-environment'):
     option('--with-libclang-path', nargs=1,
            help='Absolute path to a directory containing Clang/LLVM libraries for Stylo (version 3.9.x or above)')
     option('--with-clang-path', nargs=1,
            help='Absolute path to a Clang binary for Stylo bindgen (version 3.9.x or above)')
 
     def invoke_llvm_config(llvm_config, *options):
         '''Invoke llvm_config with the given options and return the first line of
         output.'''
@@ -722,34 +681,34 @@ with only_when(building_stylo_bindgen):
             # Debian-based distros, at least, can have llvm-config installed
             # but not have other packages installed.  Since the user is trying
             # to use their system packages, we can't be more specific about what
             # they need.
             clang_resolved = find_program(clang_path)
             if not clang_resolved:
                 die(dedent('''\
                 The file {} returned by `llvm-config {}` does not exist.
-                clang is required to build Stylo.  Please install the necessary packages,
-                run `mach bootstrap`, or add --disable-stylo to your mozconfig.
+                clang is required to build Firefox.  Please install the
+                necessary packages, or run `mach bootstrap`.
                 '''.format(clang_path, '--bindir')))
 
             if not os.path.exists(libclang_path):
                 die(dedent('''\
                 The directory {} returned by `llvm-config {}` does not exist.
-                clang is required to build Stylo.  Please install the necessary packages,
-                run `mach bootstrap`, or add --disable-stylo to your mozconfig.
+                clang is required to build Firefox.  Please install the
+                necessary packages, or run `mach bootstrap`.
                 '''.format(libclang_path, libclang_arg)))
 
             (found, searched) = search_for_libclang(libclang_path)
             if not found:
                 die(dedent('''\
                 Could not find the clang shared library in the path {}
                 returned by `llvm-config {}` (searched for files {}).
-                clang is required to build Stylo.  Please install the necessary packages,
-                run `mach bootstrap`, or add --disable-stylo to your mozconfig.
+                clang is required to build Firefox.  Please install the
+                necessary packages, or run `mach bootstrap`.
                 '''.format(libclang_path, libclang_arg, searched)))
 
             return namespace(
                 libclang_path=libclang_path,
                 clang_path=clang_resolved,
             )
 
         if (not libclang_path and clang_path) or \
@@ -782,24 +741,16 @@ with only_when(building_stylo_bindgen):
 
         return namespace(
             libclang_path=libclang_path,
             clang_path=clang_resolved,
         )
 
     set_config('MOZ_LIBCLANG_PATH', bindgen_config_paths.libclang_path)
     set_config('MOZ_CLANG_PATH', bindgen_config_paths.clang_path)
-    set_config('MOZ_STYLO_BINDGEN', depends_if('--enable-stylo-build-bindgen')(lambda _: True))
-
-set_config('MOZ_STYLO', stylo_config.build)
-set_define('MOZ_STYLO', stylo_config.build)
-set_config('MOZ_STYLO_ENABLE', stylo_config.enable)
-set_define('MOZ_STYLO_ENABLE', stylo_config.enable)
-set_config('MOZ_OLD_STYLE', stylo_config.old_style)
-set_define('MOZ_OLD_STYLE', stylo_config.old_style)
 
 option('--with-servo', env='SERVO_TARGET_DIR', nargs=1,
        help='Absolute path of the target directory where libgeckoservo can '
             'be found. This is generally servo_src_dir/target/release.')
 
 @depends_if('--with-servo')
 def servo_target_dir(value):
     return value[0]
--- a/toolkit/mozapps/installer/packager.mk
+++ b/toolkit/mozapps/installer/packager.mk
@@ -86,23 +86,21 @@ ifdef ENABLE_MOZSEARCH_PLUGIN
           find . -type d -name save-analysis | xargs zip -r5D '$(ABS_DIST)/$(PKG_PATH)$(MOZSEARCH_RUST_ANALYSIS_BASENAME).zip'
 endif
 ifeq (Darwin, $(OS_ARCH))
 ifdef MOZ_ASAN
 	@echo "Rewriting ASan runtime dylib paths for all binaries in $(DIST)/$(MOZ_PKG_DIR)$(_BINPATH) ..."
 	$(PYTHON) $(MOZILLA_DIR)/build/unix/rewrite_asan_dylib.py $(DIST)/$(MOZ_PKG_DIR)$(_BINPATH)
 endif # MOZ_ASAN
 endif # Darwin
-ifdef MOZ_STYLO
 ifndef MOZ_ARTIFACT_BUILDS
 	@echo 'Packing stylo binding files...'
 	cd '$(DIST)/rust_bindings/style' && \
 		zip -r5D '$(ABS_DIST)/$(PKG_PATH)$(STYLO_BINDINGS_PACKAGE)' .
 endif # MOZ_ARTIFACT_BUILDS
-endif # MOZ_STYLO
 
 prepare-package: stage-package
 
 make-package-internal: prepare-package make-sourcestamp-file make-buildinfo-file make-mozinfo-file
 	@echo 'Compressing...'
 	cd $(DIST) && $(MAKE_PACKAGE)
 
 make-package: FORCE
--- a/toolkit/mozapps/installer/upload-files.mk
+++ b/toolkit/mozapps/installer/upload-files.mk
@@ -402,35 +402,33 @@ UPLOAD_FILES= \
   $(call QUOTED_WILDCARD,$(MOZ_BUILDID_INFO_TXT_FILE)) \
   $(call QUOTED_WILDCARD,$(MOZ_MOZINFO_FILE)) \
   $(call QUOTED_WILDCARD,$(MOZ_TEST_PACKAGES_FILE)) \
   $(call QUOTED_WILDCARD,$(PKG_JSSHELL)) \
   $(call QUOTED_WILDCARD,$(DIST)/$(PKG_PATH)$(SYMBOL_FULL_ARCHIVE_BASENAME).zip) \
   $(call QUOTED_WILDCARD,$(topobjdir)/$(MOZ_BUILD_APP)/installer/windows/instgen/setup.exe) \
   $(call QUOTED_WILDCARD,$(topobjdir)/$(MOZ_BUILD_APP)/installer/windows/instgen/setup-stub.exe) \
   $(call QUOTED_WILDCARD,$(topsrcdir)/toolchains.json) \
+  $(call QUOTED_WILDCARD,$(DIST)/$(PKG_PATH)$(STYLO_BINDINGS_PACKAGE)) \
   $(if $(UPLOAD_EXTRA_FILES), $(foreach f, $(UPLOAD_EXTRA_FILES), $(wildcard $(DIST)/$(f))))
 
 ifneq ($(filter-out en-US x-test,$(AB_CD)),)
   UPLOAD_FILES += \
     $(call QUOTED_WILDCARD,$(topobjdir)/$(MOZ_BUILD_APP)/installer/windows/l10ngen/setup.exe) \
     $(call QUOTED_WILDCARD,$(topobjdir)/$(MOZ_BUILD_APP)/installer/windows/l10ngen/setup-stub.exe)
 endif
 
 
 ifdef MOZ_CODE_COVERAGE
   UPLOAD_FILES += \
     $(call QUOTED_WILDCARD,$(DIST)/$(PKG_PATH)$(CODE_COVERAGE_ARCHIVE_BASENAME).zip) \
     $(call QUOTED_WILDCARD,$(topobjdir)/chrome-map.json) \
     $(NULL)
 endif
 
-ifdef MOZ_STYLO
-  UPLOAD_FILES += $(call QUOTED_WILDCARD,$(DIST)/$(PKG_PATH)$(STYLO_BINDINGS_PACKAGE))
-endif
 
 ifdef ENABLE_MOZSEARCH_PLUGIN
   UPLOAD_FILES += $(call QUOTED_WILDCARD,$(DIST)/$(PKG_PATH)$(MOZSEARCH_ARCHIVE_BASENAME).zip)
   UPLOAD_FILES += $(call QUOTED_WILDCARD,$(DIST)/$(PKG_PATH)$(MOZSEARCH_RUST_ANALYSIS_BASENAME).zip)
 endif
 
 SIGN_CHECKSUM_CMD=
 ifdef MOZ_SIGN_CMD