-
Notifications
You must be signed in to change notification settings - Fork 3
Conversation
Mingw-w64 for ARM/AArch64 targets should default to Windows 10, unfortunately we cannot do it for x86_64 yet. |
a89db52
to
12c945a
Compare
@jeremyd2019 I have a Surface Pro X, just ping me if you'd like me to test something 👍🏼 Was able to install using Basic test is looking good: |
Updated binaries: https://github.com/jeremyd2019/CLANG-packages/releases/tag/20210206_armbuilds |
I actually tried to use the armv7 packages, and got a crash in ld.lld trying to link even a trivial program. Perhaps the most relevant message:
Given that I haven't heard any great demand for arm32, I'm not going to spend too much time worrying about it, but thought it was a good idea to document this |
@jeremyd2019 is armv7 (ARM32) still relevant though? Even Microsoft itself seems to be deprecating it. AFAIK all Windows on ARM devices from 2018 and later are ARM64. Happy to test things on ARM64 (Surface Pro X) if needed 👍🏼 |
I've finished another run through bootstrapping enough packages to build clang from MINGW-packages, and created a repo for them this time: Usage: add to /etc/pacman.conf
(or These were built from https://github.com/msys2/MINGW-packages/compare/master...jeremyd2019:d043d0c?expand=1, and it's probably about time to rebase and build updated packages. |
Do I understand correctly this creates compiler binaries for ARM/AArch64 (aka host==arm)? |
yes. I've found the armv7 variant doesn't actually work properly, so since nobody asked for it I abandoned it. But I've been running the aarch64 variant for months on my raspberry pi without issue. |
Does MSYS2 work reliably on AArch64 Windows? If so I guess we could merge this (after resolving conflicts) but CI won't be able to help here. |
More or less. The current 'stable' version of Windows 10 only supports running 32-bit (i686) binaries under emulation. There were release preview builds available that can run x86_64 binaries, so I assume that will be included in the next stable release. When running the release preview though, I ran into issues with the As far as reliability, the only real issue I run into is that periodically pacman seems to hang/deadlock, and I have to kill it via taskmgr. Sucks when it happens in the middle of building packages. I saw this on both x86_64 and i686 msys, on both release preview and stable windows. |
Cygwin often doesn't work in preview releases. So it basically limits to using only unsupported (i686) version of MSYS2. |
I will rebase this in a while. This also depends on msys2/MSYS2-packages#2294 to be able to build. |
Wouldn't it possible to use llvm-mingw toolchain in CI? I've built/used some packages with it in Win10 ARM64 in Rpi4B. |
llvm-mingw is essentially such a cross-compiler. But I have no idea what would be involved in "mak[ing] our PKGBUILDs cross-compilable". |
I don't see how it could help. Making Clang package that can cross compile is the easy part. The hard part is getting all other packages. |
c09e3c1
to
071cf7b
Compare
If the compiler's output cannot be run, assume we must use host {clang,llvm}-tblgen.
Needs MSYS2-packages support, and IIRC only clang would succeed on x86.
071cf7b
to
0126640
Compare
The other packages are not set up for cross-compilation.
Added ability to build armv7 and aarch64-w64-mingw32 builds of these packages, including the ability to cross-compile mingw-w64-clang from x86_64 (because I don't have a very fast arm host to build on).
I've uploaded binaries to https://github.com/jeremyd2019/CLANG-packages/releases/tag/20210103_armbuilds