
Dear friends, I’m currently exploring the possibility to build two versions of base similar to how we build various ways of the rts. The reasons for doing this won’t add much to the discussion. Reading https://ghc.haskell.org/trac/ghc/wiki/Building/Architecture/Idiom/Cabal I find the following:
For the GHC build system we need to extract that metadata and use it to build the package.
which leaves me wondering why that is? Initially I expected we’d just shell out and let cabal do the configuration and building of .cabal’ised packages. But it seems to be the case that we sidestep cabal for building ghc. Can someone shed some light on the reasoning behind this? Cheers, Moritz

Hi, Am Freitag, den 21.04.2017, 11:29 +0800 schrieb Moritz Angermann:
Initially I expected we’d just shell out and let cabal do the configuration and building of .cabal’ised packages. But it seems to be the case that we sidestep cabal for building ghc.
one reason, as far as I know, is increased parallelism; "make" can start building parts of ghc when the modules in base they depend on have already been built, even if base itself is not done yet. But you can build base using Cabal if you want to build it yourself, I do that here https://github.com/nomeata/veggies/blob/master/boot.sh#L91 for example. Greetings, Joachim -- Joachim “nomeata” Breitner mail@joachim-breitner.de • https://www.joachim-breitner.de/ XMPP: nomeata@joachim-breitner.de • OpenPGP-Key: 0xF0FBF51F Debian Developer: nomeata@debian.org
participants (2)
-
Joachim Breitner
-
Moritz Angermann