
On Tue, 2008-08-12 at 11:11 +0100, Simon Marlow wrote:
I propose we do this:
- Extract the code from Cabal that generates Makefiles, and treat it as part of the GHC build system. Rather than generating a Makefile complete with build rules, we generate a Makefile that just has the package-specific metadata (list of modules, etc.), and put the code to actually build the package in the GHC build system.
As you know, I've been trying to get rid of that code ever since it arrived :-)
It will probably mean that we have a tighter dependency on Cabal, because we use it as a library rather than a black box; but hopefully we can keep our branch of Cabal more stable and not have to update it so often.
If you don't need to update so often it would make life easier for Cabal hackers and Manuel would be pleased :-)
Anyway, this is an idea that I think is interesting. Obviously it needs a lot more fleshing out to be a real proposal, but I'm interested in whether anyone thinks this idea is worth persuing, or whether there are better alternatives.
Right, so probably the crucial thing is how much you end up having to duplicate and of how much of said duplicated infrastructure has to be kept in sync. For example if the path layout is different does that make Cabal's haddocking support not work forcing that to be duplicated too? Duncan