Matthias Kilian wrote:
I mean the GHC-specific template used for building the Makefile
(Distribution/Simple/GHC/Makefile.in) and the function `makefile`
in Distribution/Simple/GHC.hs (this function even spills out some
some make rules in addition to what's in Makefile.in, which looks
very wrong to me).
Yes, it relies only on the Cabal metadata, but the output is a
Makefile only useful for building GHC.
Ok, this statement is plainly not true, since I can use 'cabal makefile'
to build any package outside of the GHC build tree. So perhaps I've
misunderstood your point?
It'd be better to be able to run
$ ./Setup mkmetadata -prefix foo-
which just produces some simple variable declarations like
foo-impl-ghc-build-depends = rts
foo-impl-ghc-exposed-modules = Data.Generics Data.Generics.Aliases ...
...
foo-exposed-modules = Control.Applicative Control.Arrow ...
...
foo-c-sources = cbits/PrelIOUtils.c cbits/WCsubst.c ...
...
foo-windows-extra-libaries = wsock32 msvcrt kernel32 user32 shell32
foo-extensions = CPP
foo-ghc-options = -package-name base
foo-nhc98-options = -H4M -K3M
Yes, we could use this to implement GHC's build system. It's somewhat
similar to the scheme I suggested in the other thread, but more generic.
I'd be completely happy to do it this way if the functionality would
be useful to others outside GHC too.
Cheers,
Simon
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users