Support native ARM64 MSVC toolchain
In VS 17.3 a native ARM64 MSVC toolchain has appeared. Generally it should be chosen over the emulated one.
Open questions:
- [ ] Did it actually appear in VS 17.2?
- [ ] Does it contain all the tools?
- [ ] If not, should we try several toolchains? Or is it okay if it's not complete in older, unsupported versions of VS 2022?
This code will need formatting and the MSRV issues fixed.
More importantly this will need some testing. Ideally we should also have Windows ARM running in CI.
@Alovchin91 Are you interested in rebasing this and pushing it so we can see the CI run results again?
@briansmith Sure, will be back at my laptop in a couple hours 👍
@briansmith Done
@Alovchin91 are you still working on this, or would you like me to take over?
To answer your questions:
- 17.4 is the first VS with support for ARM64: https://devblogs.microsoft.com/visualstudio/arm64-visual-studio-is-officially-here/
- The "Desktop development with C++" and ".NET Desktop development" workloads are both supported, which includes cl.exe, link.exe, msbuild.exe and the Windows SDK.
- For now, I don't believe that we should drop support for using x86 on ARM64, given that VS has no way to migrate across architectures other than re-installing.
One interesting thing we may want to do: on Windows 11 we should prefer the x64 host architecture to x86 since it should be faster.
Hi @dpaoliello, I don't currently actively work on it, so if you'd prefer to take it over, please go ahead ☺️ Otherwise I will pick it up at some point but without any concrete promises about the timeframe.
Close as #957 supersedes this and is already merged