Skip to content

Conversation

@oskirby
Copy link
Collaborator

@oskirby oskirby commented Dec 4, 2025

Description

This should get most of the way towards producing an arm64 build for Windows. Much of the heavy lifting to get here was previously done by the work to get cross-compilation to Windows working from Linux.

This PR:

  • Updates the Rust version and adds the aarch64-pc-windows-msvc target.
  • Undo hardcoded assumptions that Windows implies x86-64.
  • Split the windows cross toolchain files into x86_64-toolchain.cmake and aarch64-toolchain.cmake
  • Install both x64 and arm64 targets of the windows SDK into the cross conda environment.
  • Add a toolchain job to fetch the VS2022 SDK for arm64.
  • Add a toolchain job to build static Qt for arm64 on Windows.
  • Patch in a workaround for build: Only replace cl.exe with clang-cl for ARM64 Windows builds briansmith/ring#2216

I am currently struggling a bit to figure out how to package the resulting artifacts as an MSI installer, so I think I am going to leave that piece for a future PR.

Reference

JIRA Issue: VPN-2199
Depends on: briansmith/ring#2216
Depends on: Bugzilla 1944293

Checklist

  • My code follows the style guidelines for this project
  • I have not added any packages that contain high risk or unknown licenses (GPL, LGPL, MPL, etc. consult with DevOps if in question)
  • I have performed a self review of my own code
  • I have commented my code PARTICULARLY in hard to understand areas
  • I have added thorough tests where needed

@oskirby oskirby force-pushed the vpn-2199-windows-arm-support branch from 6841d67 to 173bab7 Compare December 4, 2025 03:11
@oskirby oskirby force-pushed the vpn-2199-windows-arm-support branch from 173bab7 to 6ba0446 Compare December 4, 2025 20:35
@oskirby oskirby force-pushed the vpn-2199-windows-arm-support branch from 9908c5f to fc3ce2d Compare December 4, 2025 22:23
@oskirby oskirby force-pushed the vpn-2199-windows-arm-support branch from b4f370f to 3fcaa88 Compare December 5, 2025 00:25
@oskirby oskirby marked this pull request as ready for review December 5, 2025 17:38
@oskirby oskirby requested a review from a team as a code owner December 5, 2025 17:38
@oskirby oskirby requested review from abhishekmadan30 and removed request for a team December 5, 2025 17:38
@oskirby oskirby marked this pull request as draft December 5, 2025 17:38
@oskirby oskirby force-pushed the vpn-2199-windows-arm-support branch from 15e330e to c5a7658 Compare December 5, 2025 17:40
@oskirby oskirby force-pushed the vpn-2199-windows-arm-support branch from c5a7658 to 5dbdae4 Compare December 5, 2025 23:17
@oskirby oskirby force-pushed the vpn-2199-windows-arm-support branch from 0acff9e to 638dddd Compare December 6, 2025 20:52
@oskirby oskirby force-pushed the vpn-2199-windows-arm-support branch 2 times, most recently from 25dd095 to 041b370 Compare December 7, 2025 04:56
@oskirby oskirby force-pushed the vpn-2199-windows-arm-support branch from c1e2dbd to 5434076 Compare December 7, 2025 22:11
@oskirby oskirby force-pushed the vpn-2199-windows-arm-support branch 7 times, most recently from 5e59ce8 to 3276fd0 Compare December 9, 2025 16:48
@oskirby oskirby force-pushed the vpn-2199-windows-arm-support branch from 4a35381 to 0b4bac0 Compare December 9, 2025 18:21
@oskirby oskirby changed the title WIP: Windows ARM Support VPN-2199: Windows ARM Support Dec 9, 2025
@oskirby oskirby marked this pull request as ready for review December 9, 2025 21:28
@oskirby oskirby force-pushed the vpn-2199-windows-arm-support branch from 0b4bac0 to b4178c7 Compare December 9, 2025 21:45
implementation: generic-worker
os: windows
worker-type: b-win2022
b-win11-2024h2-arm64:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RN we only have level-1 Workers, we should followup with releng, that we also get the level-3 queue up before we merge this, otherwise those tasks will be stuck :)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah! Good to know

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this breaks the tc-ios tasks :c

Copy link
Collaborator Author

@oskirby oskirby Dec 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like the change that broke things was getsentry/sentry-native#1083 which got released in sentry-native 0.7.14. We could probably just revert that back to 0.7.13 to get unstuck, which still includes the fixes for Windows arm64.

Copy link
Collaborator

@strseb strseb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing stuff, thank you so much!!

@oskirby oskirby force-pushed the vpn-2199-windows-arm-support branch from 4f23f04 to 3819926 Compare December 10, 2025 22:02
@oskirby oskirby merged commit c690c62 into main Dec 11, 2025
227 checks passed
@oskirby oskirby deleted the vpn-2199-windows-arm-support branch December 11, 2025 16:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants