commit d5f33314b3aa0bffcdd283f56036e724caa7c76e
parent 055d71eced482359656286f758441db36227a9de
Author: Greg Stoll <gstoll@mozilla.com>
Date: Mon, 6 Oct 2025 11:18:28 +0000
Bug 1947324 part 1 - "build" Windows App SDK on toolchain tasks r=glandium
This downloads the installers for the various flavors of Windows App SDK
and extracts the needed DLLs from them.
Differential Revision: https://phabricator.services.mozilla.com/D263602
Diffstat:
3 files changed, 85 insertions(+), 0 deletions(-)
diff --git a/taskcluster/kinds/fetch/toolchains.yml b/taskcluster/kinds/fetch/toolchains.yml
@@ -837,3 +837,13 @@ firefox-profiler:
type: git
repo: https://github.com/firefox-devtools/profiler
revision: 5a054f9ae741515b8112d4c248e8ac096ee7a3ce
+
+# See https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/downloads
+windowsappsdk-redist:
+ description: Windows App SDK Redistributable
+ fetch:
+ type: static-url
+ url: https://aka.ms/windowsappsdk/1.8/1.8.250916003/Microsoft.WindowsAppRuntime.Redist.1.8.zip
+ sha256: a2dccd1d4d3b47857e1f4c36a140b976ff2da61fff8dc9fcf029cd8e829a61fc
+ size: 463549393
+ artifact-name: Microsoft.WindowsAppRuntime.Redist.tar.zst
diff --git a/taskcluster/kinds/toolchain/misc.yml b/taskcluster/kinds/toolchain/misc.yml
@@ -702,6 +702,53 @@ win64-vs2022:
- vs
- vs-toolchain
+win64-WindowsAppSDK:
+ description: "WindowsAppSDK headers and libraries (x86_64)"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TW64(WindowsAppSDK)
+ run:
+ script: build-WindowsAppSDK.sh
+ arguments: ['x64', '1.8']
+ toolchain-artifact: public/build/winappsdk-x86_64-pc-windows-msvc.tar.zst
+ toolchain-alias: winappsdk-x86_64-pc-windows-msvc
+ fetches:
+ fetch:
+ - windowsappsdk-redist
+
+win32-WindowsAppSDK:
+ description: "WindowsAppSDK headers and libraries (x86)"
+ attributes:
+ local-toolchain: true
+ worker-type: b-win2022
+ treeherder:
+ symbol: TW32(WindowsAppSDK)
+ run:
+ script: build-WindowsAppSDK.sh
+ arguments: ['x86', '1.8']
+ toolchain-artifact: public/build/winappsdk-x86-pc-windows-msvc.tar.zst
+ toolchain-alias: winappsdk-x86-pc-windows-msvc
+ fetches:
+ fetch:
+ - windowsappsdk-redist
+
+win64-aarch64-WindowsAppSDK:
+ description: "WindowsAppSDK headers and libraries (aarch64)"
+ attributes:
+ local-toolchain: true
+ worker-type: b-win2022
+ treeherder:
+ symbol: TWA64(WindowsAppSDK)
+ run:
+ script: build-WindowsAppSDK.sh
+ arguments: ['arm64', '1.8']
+ toolchain-artifact: public/build/winappsdk-aarch64-pc-windows-msvc.tar.zst
+ toolchain-alias: winappsdk-aarch64-pc-windows-msvc
+ fetches:
+ fetch:
+ - windowsappsdk-redist
+
win64-aarch64-vs2022:
description: "VS 2022"
attributes:
diff --git a/taskcluster/scripts/misc/build-WindowsAppSDK.sh b/taskcluster/scripts/misc/build-WindowsAppSDK.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+set -x -e -v
+
+artifact=$(basename "$TOOLCHAIN_ARTIFACT")
+target_folder_name=${artifact%.tar.*}
+ARCH_SUFFIX=$1
+SHORT_VERSION=$2
+
+cd $MOZ_FETCHES_DIR
+unzip MSIX/win10-${ARCH_SUFFIX}/Microsoft.WindowsAppRuntime.${SHORT_VERSION}.msix
+
+mkdir $target_folder_name
+# We just extract the few DLLs that Firefox needs instead of the
+# whole SDK.
+cp CoreMessagingXP.dll $target_folder_name
+cp marshal.dll $target_folder_name
+cp Microsoft.InputStateManager.dll $target_folder_name
+cp Microsoft.Internal.FrameworkUdk.dll $target_folder_name
+cp Microsoft.UI.Composition.OSSupport.dll $target_folder_name
+cp Microsoft.UI.Input.dll $target_folder_name
+cp Microsoft.UI.Windowing.Core.dll $target_folder_name
+cp Microsoft.UI.Windowing.dll $target_folder_name
+
+mkdir -p $UPLOAD_DIR
+
+tar -caf $target_folder_name.tar.zst $target_folder_name
+mv $target_folder_name.tar.zst $UPLOAD_DIR
+\ No newline at end of file