Implement dynamic way on Windows
Opened this issue · 11 comments
Thanks to @izgzhen we now have dynamic way working on Linux and OSX (#4). But Windows is still not supported. We'll track the progress here.
Presumably this is not high priority; do let me know otherwise.
There is some ongoing work in GHC on dynamic linking for Windows: https://phabricator.haskell.org/D2592
Note that gen-dll
package will need to be added to make this work.
@snowleopard I'm slowly merging in the rest of the stuff for dynamic way on Windows, if it's easier for you I would be fine with also doing the changes for Hadrian. If you have any preferences on how it should be done let me know. I know you wanted the tool as a Haskell program so presumably you don't need to call out to a separate program.
@Mistuke It would be great if you could also translate your changes into Hadrian! This will definitely save us a lot of time. I'm fine if the first version calls out into a separate script if that's more convenient for you. We can always rewrite it in Haskell later.
I'll be happy to review the PR and help in any other way!
Alright then :), I'll make sure to keep Hadrian in sync with the make changes.
Great, thanks! 🎉
What's the current status on this, @Mistuke ? Do we have the necessary pieces to support generating .dll
s on Windows?
It's still on my list but has slipped behind some more urgent work. gen-dll
solves the most urgent problem but I still need to work out some ABI issues. however the linker, I/O manager and string merging have been taking the majority of my time.
No worries, I just wanted to know whether we had everything needed for me to tackle the hadrian side or not. Just ping us when it's all there :-)
Sorry for the annoyance, but were there any updates regarding this one?
Sorry for the annoyance, but were there any updates regarding this one?
While I am not an active contributor now, I believe that since the merge of Hadrian to GHC master, related issues are tracked in https://gitlab.haskell.org/ghc/ghc/issues.
@XVilka Indeed, I keep this repository mostly for historical/documentation purposes only. If Hadrian is missing any features that are important for you (such as dynamic linking on Windows), it would be best if you open a ticket on GitLab and describe the desired functionality.