Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(build): add support for windows arm64 #2997

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

p-romain
Copy link

Hi, I will try to add the support for windows arm64 (binary build), since we are now few users running a Snapdragon X Elite computer.

Copy link

github-actions bot commented Oct 24, 2024

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@p-romain
Copy link
Author

First requirement is OK, the windows-2022 runner has Microsoft.VisualStudio.Component.VC.14.29.16.11.ARM64 installed, probably via cross-compiler, so should work. Now I have to see if the .bazelrc need to be adapted.

@p-romain
Copy link
Author

I have read the CLA Document and I hereby sign the CLA

github-actions bot added a commit that referenced this pull request Oct 24, 2024
@p-romain p-romain force-pushed the feat/add-support-for-windows-arm64 branch from 38e2f81 to 5522f8a Compare October 24, 2024 19:08
@p-romain p-romain requested a review from a team as a code owner October 24, 2024 19:08
@p-romain p-romain mentioned this pull request Oct 24, 2024
@anonrig anonrig requested review from fhanau and mikea October 24, 2024 20:25
@fhanau
Copy link
Collaborator

fhanau commented Oct 24, 2024

Thank you for your PR! Unfortunately, this might be difficult for us to support in the near-term:

  • Cross-compilation under bazel is a complex beast. For macOS this is well supported when using bazelbuild/apple_support, but last time I tried I couldn't get cross-compilation to work on Linux despite significant changes (Rust support was one issue). Based on that I assume that this won't work as-is and that developing cross-compilation support would be lots of effort.
  • workerd Windows releases are built using free-tier GitHub actions runners for the time being, support for Linux and Windows arm64 runners is not available but expected by EOY. That should provide a much clearer path to supporting arm64 Windows.

@p-romain
Copy link
Author

Hi @fhanau thank you very much for all the explanations. Yes, this makes sense, I also noticed this on other projects hosted in Gitlab: we're waiting the GA of arm64 runners. I've also noticed that the windows 64 binary works on windows arm64 in emulation, so this will be my workaround in the meantime. At this time, because of workerd, we're not able to use wrangler 3 (out-of-the-box) on windows arm64.

@mikea
Copy link
Collaborator

mikea commented Oct 26, 2024

FWIW I would welcome a switch to windows cross-compilation if someone was able to do it. We've all spent enormous time banging our heads against windows. I remember that windows cross compilation was an explicit goal of clang team. Maybe it is finally possible with clang 20?

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