Version control systems
marlowsd at gmail.com
Wed Aug 13 04:03:34 EDT 2008
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.
More information about the Glasgow-haskell-users