-
-
Notifications
You must be signed in to change notification settings - Fork 240
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
Adding build support for Windows #190
Comments
Hello @grishavanika, excellent! Yes, I'm interested in a Windows version. I would then add a CI build for Windows and look into hosting it. Please prepare a PR. I did not get the reason to rename Andreas |
Hi @andreasfertig, There are few moments with this in general.
It does support them. The thing is - I'm actually using Clang version 8.0.0 to build insights (see Readme, "Building on Windows" section, I'm passing The reason I used Clang and not native cl.exe in first place is because I thought it will be faster to build insights just to see how much work there is. Now I think it should be simple enough to build the project with cl.exe or support both, Clang and cl. I guess, this depends on your plans to have CI, so do you plan to use something like AppVeyor to have CI for Windows builds ?
There are 2 different sets of
I'm curious to know why this compiles for you :) Anyway, let me know about your plans for CI (AppVeyor ?) and I'll try to see what can be done. |
Hello @grishavanika, thank you for the PR, it is in the progress to merge. You are right with the Andreas |
Hi @andreasfertig , Thank you for merging. Just in case, I'm looking into available software for AppVeyor: https://www.appveyor.com/docs/windows-images-software/#llvm and see that while Clang binaries are up to date (8.0.0), it looks like LLVM libraries are relatively old (LLVM 5.0.0). In case this is not enough or you have issues with setting it up - let me know. I think there is workaround with vcpkg to have latest LLVM stuff on AppVeyor. |
Hello @grishavanika, I just pushed a new branch
It looks like the libs are missing. I found this project Building-Zig-on-Windows which offers a Windows version with libs. However, I do not like to depend on something like it. A more common stable way would be better. Andreas |
Hey, @andreasfertig. Specifically in your log libs are missing because you didn't add them (more precisely,
Unfortunately, as you can see, those pre-installed LLVM libs are old (5.0.0).
I played with this a bit and, unfortunately, I don't see any other way except for hosting and/or downloading pre-built LLVM/Clang libraries. This may be also your own github with commited binaries (I personally, don't think this is a good way of handling this). For the reference, here are few things I tried with AppVeyor. First, it does support "cache", see https://www.appveyor.com/docs/build-cache/. In theory, you can build libraries once, cache them and have them for free next time you run the build. Unfortunately, just to build LLVM from scratch you need big amount of time and there is 60 minutes build time limit for open-source projects, see "Build timeout" https://www.appveyor.com/docs/build-configuration/#build-timeout. I did go further and tried to abuse AppVeyor cache system to also cache LLVM build files (since cache size limit is 1 GB for open-source projects), so, in theory, you would need to run few first builds that will take one hour each and finally build LLVM since results are cached every time. This is possible (I thought) with Unfortunately, they did good work and when build is canceled due to timeout, cache is not updated even if you set For the reference, here is config I played with:
Another possible way of doing this was by using Vcpkg: https://github.com/microsoft/vcpkg.
|
Hello @grishavanika, thank you for exploring all this! It matches my research and my fears. I had the same options in mind you already explored. Maybe, we start with trying to use the ziglang binaries to have a CI. I plan to ask on the LLVM mailing list for the reason why the Window binaries do not come with the additional libraries. It looks like we are not the only ones missing them. Andreas |
Hi,
I'm interested to contribute to coroutines code generation discussed there #92.
Since I'm mostly Windows user/dev, I'm happy to have build steps working on Windows.
I have some changes that allow me to run cppinsights on Windows, see Few hacks and workarounds to build insights (nothing else) on Windows.
Do you interested in something like this ? I can prepare PR and make changes nicer if you like.
As a side note, this may also help with #177 (ignoring hosting issues).
The text was updated successfully, but these errors were encountered: