-
Notifications
You must be signed in to change notification settings - Fork 10
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
Initial Windows on ARM64 SDK Support #34
Conversation
Here the results from a GNUstep Base test run: 8299 Passed tests
65 Dashed hopes
8 Skipped sets
4 Failed tests
3 Failed files Failed Tests:
GNUstep Base Test Run Logs```sh # gnustep-tests base You forgot to set your GNUSTEP_MAKEFILES environment variable. Setting it to /c/GNUstep/arm64/Debug/share/GNUstep/Makefiles during this test run. --- Running tests in base/coding --- --- Running tests in base/Functions --- --- Running tests in base/GarbageCollection --- --- Running tests in base/GSMime --- --- Running tests in base/GSTLS ---base/GSTLS/basic.m: base/NSBundle/resources2.m: base/NSData/additions.m: base/NSLock/RecursiveLock.m: base/NSObject/initialize.m: base/NSStream/socket.m: base/NSString/tilde.m: base/NSURL/test00.m: base/NSURLConnection/test03.m: base/NSURLConnection/test04.m: base/NSURLSession/test02.m: base/NSURLSession/test03.m: 8299 Passed tests Some testing was abandoned when a test program aborted. This is One or more tests failed. None of them should have.
|
Awesome! I’ll try to set up my WoA hardware this week to give this a try, as well as a self-hosted runner for CI. |
Thanks for the PR! :) I tried building this on a Windows ARM machine in a "vcvarsall arm64" prompt but got this error – any idea? Feel free to ping me on Slack if you have time to take a look together. 🙏
Clang:
|
That is weird. Can you provide the What CMake version do you have? Is it the native ARM64 version, the VS version, or an emulated x64 release?
C:\tools-windows-msvc>clang --version
clang version 17.0.5
Target: aarch64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\Program Files\LLVM-woa64\bin
Alright! |
I installed the arm64 version of CMake (I had the x64 one from Chocolatey), but that didn’t make a difference. But I found out that the error is reproducible building a trivial C program, and that my LIB/LIBPATH environment variables are missing the path containing msvcrtd.lib et al. This is what I have in an "vcvarsall arm64" prompt:
Whereas in a "vcvarsall x64" prompt I get this, which adds the
However if I manually add
Maybe interestingly when I build in a "x64 native tools command prompt" (aka |
Weird. I do not have any ATL components installed and it works just fine. We are not using Active Template Library afaik. |
Ahh that’s entirely possible that ATL is not required for the toolchain, I just installed it because I think our app needs them. |
That makes sense :) |
d56c5aa
to
d876ea0
Compare
d876ea0
to
4a2b8d1
Compare
This pull request adds initial support for the Windows on ARM platform.
The following build dependencies are required:
armasm64.exe
required by libffiMy Visual Studio Configuration for reference (17.9.0 Preview 1.1):
There are two pending pull requests, which fix some build system configuration issues:
Merged Pull Requests:
I have included the libdispatch patch, but it would be better to wait until the PR is merged.