on
What is New in Cross Compiling Haskell
March & AprilĀ Edition
Due to some travel in April, I wasn’t able to write up an update for what happened in March. So today we’ll have a combined update for March and April.
Alp Mestanogullari has finished hadrian#531, which was a clean up of my earlier hadrian#445. As such we now build relocatable GHCs with hadrian by default! š
I have been making progress on the Windows front to the point where we don’t even need a windows installation anymore, and run the iserv slave via WINE. More on that soon!
As I’ve had to work a lot more with nix recently, I’ve come to hit the
limitations of the current Haskell infrastructure in nix with respect
to cross compilation. Specifically the flattening of conditionals
(os/arch/flags) that cabal2nix
does. This resulted in some new tooling
and a bit more. This is in its early stages, and I will expand on this
properly once it has matured a little.
Finally I started looking into adding -target
to GHC. This will
certainly be a very long road, but I think we do have most of the
necessary bits in place to make GHC multi-target. It will however
require not only changes to GHC, but also to the build system, to
build the relevant libraries in the right places, as well as to the
tooling around.