Official ARM Builds for Linux and Windows

I've been playing with the tech preview of Parallels Desktop on my M1 Mac, and it'd be cool to be able to work on cross-platform efforts on it. I can build Swift itself on macOS just fine, but unfortunately building on an ARM version of Ubuntu fails. I wouldn't even know where to start with Windows (and the Windows builds don't support SPM yet anyway).

Is there a roadmap for official ARM builds on Linux or Windows?

2 Likes

No, those are such niche platforms, just like mac arm64, that there's no official indication yet. However, the community has been supporting linux on ARM and 64-bit ARM for awhile now, so you can easily contribute to those efforts and help upstream any remaining patches. WoA is so new that I doubt anyone has tried it, what with regular Wintel just being officially supported recently.

1 Like

Thanks for the link! I’ve got Swift running on an ARM Ubuntu VM now.

Windows ARM is definitely on the roadmap.

WoA has some issues (namely there is a missing relocation that I need to add to lld). However, if you are going to target WoA, cross-compiling from Windows x64, using link, that I believe might be something that can be accomplished.

Windows ARM64 should be in a better state. There wasn't anything that I remember as being missing. That should be possible to build on Windows ARM64 and Windows x64.

The biggest things missing for these two platforms is mostly CI. I would love to get them added into the CI for regular builds. However, my current attention has been on Windows x86 which has had a few regressions (the last one being that FP16 support is preventing the standard library build due to a missing symbol - but if you provide that it gets through and can be used).

I imagine that since I never put WoA or WoS (Windows AArch64) through its paces as I did with Windows x86 and Windows x64, there might still be some issues to track down, but it was mostly complete.

Of course help for any of those targets is more than welcome :)

3 Likes
Terms of Service

Privacy Policy

Cookie Policy