Bug 1853088 - Remove win32 build from aarch64 windows builds. r=firefox-build-system-reviewers,media-playback-reviewers,taskgraph-reviewers,ahochheiden,gbrown,padenot

Now that we have a native aarch64 gmp plugin for widevine, we can revert
bug 1529194, bug 1527463, bug 1534522, bug 1607552.

Differential Revision: https://phabricator.services.mozilla.com/D188300
This commit is contained in:
Mike Hommey 2023-09-19 08:29:07 +00:00
parent aaba9e702f
commit b25b67e371
10 changed files with 19 additions and 340 deletions

View File

@ -113,13 +113,6 @@ endif
recurse_artifact:
$(PYTHON3) $(topsrcdir)/mach --log-no-times artifact install$(if $(MOZ_ARTIFACT_BUILD_SYMBOLS), --symbols$(addprefix =,$(filter full,$(MOZ_ARTIFACT_BUILD_SYMBOLS)))) $(if $(ENABLE_TESTS),,--no-tests) $(verbose_flag)
ifdef MOZ_EME_WIN32_ARTIFACT
recurse_win32-artifact:
rm -rf $(DIST)/i686
$(PYTHON3) $(topsrcdir)/mach --log-no-times artifact install --job win32-opt --no-tests --distdir $(DIST)/i686 $(verbose_flag)
mv $(DIST)/i686/bin/* $(DIST)/i686
endif
ifdef MOZ_ANDROID_FAT_AAR_ARCHITECTURES
recurse_android-fat-aar-artifact:
$(call py_action,fat_aar,\

View File

@ -21,6 +21,4 @@ export MOZILLA_OFFICIAL=1
# Package js shell.
export MOZ_PACKAGE_JSSHELL=1
if test -n "$MOZ_ARTIFACT_TASK_WIN32_OPT"; then
ac_add_options --enable-eme=widevine
fi
ac_add_options --enable-eme=widevine

View File

@ -49,10 +49,6 @@ ifdef MOZ_ARTIFACT_BUILDS
DEFINES += -DMOZ_ARTIFACT_BUILDS=1
endif
ifdef MOZ_EME_WIN32_ARTIFACT
DEFINES += -DMOZ_EME_WIN32_ARTIFACT=1
endif
DEFINES += -DJAREXT=
ifdef MOZ_ANGLE_RENDERER

View File

@ -71,11 +71,6 @@ browser/features/webcompat@mozilla.org/shims/empty-shim.txt
removed-files
#endif
#ifdef MOZ_EME_WIN32_ARTIFACT
gmp-clearkey/0.1/manifest.json
i686/gmp-clearkey/0.1/manifest.json
#endif
# Bug 1496075 - Switch searchplugins to Web Extensions
browser/chrome/browser/search-extensions/amazon/favicon.ico
browser/chrome/browser/search-extensions/amazondotcn/favicon.ico

View File

@ -450,23 +450,6 @@ bin/libfreebl_64int_3.so
@BINPATH@/default-browser-agent@BIN_SUFFIX@
#endif
#ifdef MOZ_EME_WIN32_ARTIFACT
i686/plugin-container.exe
i686/xul.dll
i686/nss3.dll
i686/mozglue.dll
i686/lgpllibs.dll
i686/gkcodecs.dll
i686/msvcp140.dll
i686/vcruntime140.dll
i686/vcruntime140_1.dll
i686/gmp-clearkey/0.1/clearkey.dll
[eme destdir="i686"]
; We assume the file we generate locally is the same as what was in the win32
; build, which, practically speaking, is the case.
@BINPATH@/gmp-clearkey/0.1/manifest.json
#endif
#ifdef MOZ_ARTIFACT_BUILDS
; Test workers unpack artifact build packages and need `jogfile.json`
@BINPATH@/jogfile.json

View File

@ -2,10 +2,6 @@
# Enable the artifact build.
ac_add_options --enable-artifact-builds
if test -n "$MOZ_ARTIFACT_TASK_WIN32_OPT" -a -n "$MOZ_ENABLE_FULL_SYMBOLS"; then
ac_add_options --enable-artifact-build-symbols=full
else
ac_add_options --enable-artifact-build-symbols
fi
ac_add_options --enable-artifact-build-symbols
. "$topsrcdir/build/mozconfig.no-compile"

View File

@ -43,7 +43,7 @@ ifeq ($(MOZ_BUILD_APP),tools/rusttests)
ALL_TIERS := pre-export export rusttests
else
# All possible tiers
ALL_TIERS := artifact win32-artifact android-fat-aar-artifact pre-export export pre-compile rust compile misc libs android-stage-package android-archive-geckoview tools check
ALL_TIERS := artifact android-fat-aar-artifact pre-export export pre-compile rust compile misc libs android-stage-package android-archive-geckoview tools check
endif
# All tiers that may be used manually via `mach build $tier`
@ -51,9 +51,6 @@ RUNNABLE_TIERS := $(ALL_TIERS)
ifndef MOZ_ARTIFACT_BUILDS
RUNNABLE_TIERS := $(filter-out artifact,$(RUNNABLE_TIERS))
endif
ifndef MOZ_EME_WIN32_ARTIFACT
RUNNABLE_TIERS := $(filter-out win32-artifact,$(RUNNABLE_TIERS))
endif
ifndef MOZ_ANDROID_FAT_AAR_ARCHITECTURES
RUNNABLE_TIERS := $(filter-out android-fat-aar-artifact,$(RUNNABLE_TIERS))
endif

View File

@ -1429,10 +1429,6 @@ win64-aarch64/opt:
attributes:
enable-build-signing: true
enable-full-crashsymbols: true
# We need to package tests in order for the win64-aarch64-eme artifact
# build to fetch them, even though no tests run against this task
# directly.
skip-verify-test-packaging: true
treeherder:
platform: windows2012-aarch64/opt
symbol: B
@ -1442,7 +1438,6 @@ win64-aarch64/opt:
max-run-time: 7200
env:
PERFHERDER_EXTRA_OPTIONS: aarch64
MOZ_AUTOMATION_PACKAGE_TESTS: "1"
run:
actions: [get-secrets, build]
options: [append-env-variables-from-configs]
@ -1477,49 +1472,9 @@ win64-aarch64/opt:
optimization:
skip-unless-expanded: null
win64-aarch64-eme/opt:
description: "AArch64 Win64 Opt w/ EME"
index:
product: firefox
job-name: win64-aarch64-eme-opt
treeherder:
platform: windows2012-aarch64/opt
symbol: Be
tier: 1
worker-type: b-linux-gcp
worker:
max-run-time: 7200
env:
PERFHERDER_EXTRA_OPTIONS: aarch64-eme
MOZ_ARTIFACT_TASK: {task-reference: '<win64-aarch64-opt>'}
MOZ_ARTIFACT_TASK_WIN32_OPT: {task-reference: '<win32-opt>'}
USE_ARTIFACT: '1'
run:
actions: [get-secrets, build]
options: [append-env-variables-from-configs]
script: mozharness/scripts/fx_desktop_build.py
secrets: true
config:
- builds/releng_base_firefox.py
- builds/releng_base_linux_64_builds.py
extra-config:
stage_platform: win64-aarch64
mozconfig_platform: win64-aarch64
dependencies:
win32-opt: build-win32/opt
win64-aarch64-opt: build-win64-aarch64/opt
fetches:
toolchain:
- linux64-node
- linux64-wine
- nsis
fetch:
- upx-3.95-win
optimization:
skip-unless-expanded: null
win64-aarch64-shippable/opt:
description: "AArch64 Win64 Shippable"
use-pgo: win64-shippable/opt
index:
product: firefox
job-name: win64-aarch64-opt
@ -1527,118 +1482,17 @@ win64-aarch64-shippable/opt:
attributes:
shippable: true
enable-full-crashsymbols: true
# Skip the test packaging check because we copy test packages from
# another build task rather than generating them in this task.
skip-verify-test-packaging: true
shipping-phase: build
shipping-product: firefox
treeherder:
platform: windows2012-aarch64-shippable/opt
symbol: B
symbol: Bpgo(B)
tier: 1
worker-type: b-linux-gcp
run-on-projects: ['release']
worker-type: b-linux-xlarge-gcp
worker:
max-run-time: 7200
max-run-time: 10800
env:
PERFHERDER_EXTRA_OPTIONS: aarch64
MOZ_ARTIFACT_TASK: {task-reference: '<win64-aarch64-opt>'}
MOZ_ARTIFACT_TASK_WIN32_OPT: {task-reference: '<win32-opt>'}
USE_ARTIFACT: '1'
run:
actions: [get-secrets, build]
options: [append-env-variables-from-configs]
script: mozharness/scripts/fx_desktop_build.py
secrets: true
config:
- builds/releng_base_firefox.py
- builds/releng_base_linux_64_builds.py
- taskcluster_nightly.py
extra-config:
stage_platform: win64-aarch64
mozconfig_platform: win64-aarch64
dependencies:
win32-opt: build-win32-shippable/opt
win64-aarch64-opt: build-win64-aarch64-shippable-no-eme/opt
fetches:
# Abuse fetches to copy the generated-files, langpack, and test
# artifacts from the non-eme build directly to the artifacts directory
# of this build.
win64-aarch64-opt:
- artifact: target.test_packages.json
extract: false
dest: ../artifacts
- artifact: target.common.tests.tar.gz
extract: false
dest: ../artifacts
- artifact: target.cppunittest.tests.tar.gz
extract: false
dest: ../artifacts
- artifact: target.mochitest.tests.tar.gz
extract: false
dest: ../artifacts
- artifact: target.reftest.tests.tar.gz
extract: false
dest: ../artifacts
- artifact: target.talos.tests.tar.gz
extract: false
dest: ../artifacts
- artifact: target.raptor.tests.tar.gz
extract: false
dest: ../artifacts
- artifact: target.condprof.tests.tar.gz
extract: false
dest: ../artifacts
- artifact: target.awsy.tests.tar.gz
extract: false
dest: ../artifacts
- artifact: target.xpcshell.tests.tar.gz
extract: false
dest: ../artifacts
- artifact: target.web-platform.tests.tar.gz
extract: false
dest: ../artifacts
- artifact: target.updater-dep.tests.tar.gz
extract: false
dest: ../artifacts
- artifact: target.generated-files.tar.gz
extract: false
dest: ../artifacts
- artifact: target.langpack.xpi
extract: false
dest: ../artifacts
toolchain:
- linux64-node
- linux64-wine
- nsis
fetch:
- upx-3.95-win
optimization:
skip-unless-expanded: null
win64-aarch64-shippable-no-eme/opt:
description: "AArch64 Win64 Shippable w/o EME"
use-pgo: win64-shippable/opt
index:
product: firefox
job-name: win64-aarch64-no-eme-opt
type: shippable
attributes:
enable-full-crashsymbols: true
# We need to package tests in order for the actual
# win64-aarch64-shippable/opt build to copy them from this task, even
# though no tests run against this task directly.
skip-verify-test-packaging: true
shipping-phase: build
shipping-product: firefox
treeherder:
platform: windows2012-aarch64/opt
symbol: Nn
tier: 1
worker-type: b-linux-gcp
worker:
max-run-time: 7200
env:
PERFHERDER_EXTRA_OPTIONS: aarch64-no-eme
MOZ_AUTOMATION_PACKAGE_TESTS: "1"
run:
actions: [get-secrets, build]
@ -1652,7 +1506,7 @@ win64-aarch64-shippable-no-eme/opt:
extra-config:
stage_platform: win64-aarch64
mozconfig_platform: win64-aarch64
run-on-projects: ['all']
max_build_output_timeout: 3600
fetches:
toolchain:
- linux64-clang
@ -1670,11 +1524,10 @@ win64-aarch64-shippable-no-eme/opt:
- vs
fetch:
- upx-3.95-win
optimization:
skip-unless-expanded: null
win64-aarch64-devedition/opt:
description: "AArch64 Win64 Dev Edition (shippable)"
use-pgo: win64-shippable/opt
index:
product: devedition
job-name: win64-aarch64-opt
@ -1682,117 +1535,16 @@ win64-aarch64-devedition/opt:
attributes:
shippable: true
enable-full-crashsymbols: true
# Skip the test packaging check because we copy test packages from
# another build task rather than generating them in this task.
skip-verify-test-packaging: true
shipping-phase: build
shipping-product: devedition
treeherder:
platform: windows2012-aarch64-devedition/opt
symbol: B
symbol: Bpgo(B)
tier: 1
worker-type: b-linux-gcp
worker-type: b-linux-xlarge-gcp
worker:
max-run-time: 7200
max-run-time: 10800
env:
MOZ_ARTIFACT_TASK: {task-reference: '<win64-aarch64-opt>'}
MOZ_ARTIFACT_TASK_WIN32_OPT: {task-reference: '<win32-opt>'}
USE_ARTIFACT: '1'
run:
actions: [get-secrets, build]
options: [append-env-variables-from-configs]
script: mozharness/scripts/fx_desktop_build.py
secrets: true
config:
- builds/releng_base_firefox.py
- builds/releng_base_linux_64_builds.py
- taskcluster_nightly.py
extra-config:
stage_platform: win64-aarch64-devedition
mozconfig_platform: win64-aarch64
mozconfig-variant: devedition
run-on-projects: ['mozilla-beta']
dependencies:
win32-opt: build-win32-devedition/opt
win64-aarch64-opt: build-win64-aarch64-devedition-no-eme/opt
fetches:
# Abuse fetches to copy the generated-files, langpack, and test
# artifacts from the non-eme build directly to the artifacts directory
# of this build.
win64-aarch64-opt:
- artifact: target.test_packages.json
extract: false
dest: ../artifacts
- artifact: target.common.tests.tar.gz
extract: false
dest: ../artifacts
- artifact: target.cppunittest.tests.tar.gz
extract: false
dest: ../artifacts
- artifact: target.mochitest.tests.tar.gz
extract: false
dest: ../artifacts
- artifact: target.reftest.tests.tar.gz
extract: false
dest: ../artifacts
- artifact: target.talos.tests.tar.gz
extract: false
dest: ../artifacts
- artifact: target.raptor.tests.tar.gz
extract: false
dest: ../artifacts
- artifact: target.condprof.tests.tar.gz
extract: false
dest: ../artifacts
- artifact: target.awsy.tests.tar.gz
extract: false
dest: ../artifacts
- artifact: target.xpcshell.tests.tar.gz
extract: false
dest: ../artifacts
- artifact: target.web-platform.tests.tar.gz
extract: false
dest: ../artifacts
- artifact: target.updater-dep.tests.tar.gz
extract: false
dest: ../artifacts
- artifact: target.generated-files.tar.gz
extract: false
dest: ../artifacts
- artifact: target.langpack.xpi
extract: false
dest: ../artifacts
toolchain:
- linux64-node
- linux64-wine
- nsis
fetch:
- upx-3.95-win
win64-aarch64-devedition-no-eme/opt:
description: "AArch64 Win64 Dev Edition w/o EME"
use-pgo: win64-shippable/opt
index:
product: devedition
job-name: win64-aarch64-no-eme-opt
type: shippable
attributes:
enable-full-crashsymbols: true
# We need to package tests in order for the actual
# win64-aarch64-devedition/opt build to copy them from this task, even
# though no tests run against this task directly.
skip-verify-test-packaging: true
shipping-phase: build
shipping-product: devedition
treeherder:
platform: windows2012-aarch64-devedition/opt
symbol: Nn
tier: 1
worker-type: b-linux-gcp
worker:
max-run-time: 7200
env:
PERFHERDER_EXTRA_OPTIONS: aarch64-no-eme
MOZ_AUTOMATION_PACKAGE_TESTS: "1"
run:
actions: [get-secrets, build]
@ -1806,6 +1558,7 @@ win64-aarch64-devedition-no-eme/opt:
extra-config:
stage_platform: win64-aarch64
mozconfig_platform: win64-aarch64
max_build_output_timeout: 3600
mozconfig-variant: devedition
run-on-projects: ['mozilla-beta']
fetches:

View File

@ -7,7 +7,7 @@ job-defaults:
fail-on-diff: true
pre-diff-commands:
# jogfile.json is only created in artifact builds.
- rm -f b/"$RESOURCE_DIR"/jogfile.json
- rm b/"$RESOURCE_DIR"/jogfile.json
# Remove noise from differences in line numbers in preprocessor output
# due to #if/#else branches.
- sed -i '/^\/\/@line /d' {a,b}/"$RESOURCE_DIR"/browser/defaults/preferences/firefox.js
@ -47,24 +47,3 @@ artifact-win64-validation:
extra-args: >-
--exclude b/"$RESOURCE_DIR"/chrome/toolkit/content/global/buildconfig.html
--exclude b/firefox/uninstall/helper.exe
artifact-win64-aarch64-eme-validation:
symbol: DWE
new: build-win64-aarch64-eme/opt
original: build-win64-aarch64/opt
pre-diff-commands:
# The EME version has extra files under i686/.
- rm -rf b/"$RESOURCE_DIR"/i686
# Removing media.gmp-widevinecdm.* preferences, and setting
# browser.eme.ui.enabled to false should give us the same preferences as
# the non-EME build.
- sed -i '/browser\.eme\.ui\.enabled/s/true/false/;/media\.gmp-widevinecdm\./d' b/"$RESOURCE_DIR"/browser/defaults/preferences/firefox.js
# Extra diffoscope arguments to account for:
# - about:buildconfig being expectedly different.
# - There are some differences in PE metadata in helper.exe because
# it's (re)built in the EME build, and that part of the build is
# not reproducible.
extra-args: >-
--exclude-directory-metadata=recursive
--exclude b/"$RESOURCE_DIR"/chrome/toolkit/content/global/buildconfig.html
--exclude b/"$RESOURCE_DIR"/uninstall/helper.exe

View File

@ -827,13 +827,11 @@ def eme_choices(target, wmf):
return ("widevine",)
# Widevine is enabled by default in desktop browser builds, except
# on aarch64 Windows.
@depends(build_project, eme_choices, target)
def eme_default(build_project, choices, target):
# Widevine is enabled by default in desktop browser builds.
@depends(build_project, eme_choices)
def eme_default(build_project, choices):
if build_project == "browser":
if target.kernel != "WINNT" or target.cpu != "aarch64":
return choices
return choices
option(
@ -856,15 +854,6 @@ def eme_modules(value):
set_config("MOZ_EME_MODULES", eme_modules | dependable([]))
@depends(eme_modules, target, when=eme_modules)
def eme_win32_artifact(modules, target):
if "widevine" in modules and target.kernel == "WINNT" and target.cpu == "aarch64":
return True
set_config("MOZ_EME_WIN32_ARTIFACT", eme_win32_artifact)
# Media Foundation CDM support
# ==============================================================
@depends(eme_modules, when=wmfmediaengine)