Roman Leshchinskiy wrote:
On 12/08/2008, at 20:11, Simon Marlow wrote:
- 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.
Sounds good. It would be nice if the .cabal parser from Cabal could be
made into a separate, stable library which ghc (and nhc?) could use.
This makes me wonder, though. Wouldn't this model make more sense for
Cabal in general than the current approach of duplicating the
functionality of autoconf, make and other stuff? If it works ghc, it
ought to work for other projects, too. Cabal as a preprocessor seems
much more attractive to me than as a universal build system.
So packages would be required to provide their own build system? That
sounds like it would make it a lot harder for people to just create a
package that others can use. The ease of making a Cabal package has I
think a lot to do with the wealth of software available on Hackage.
GHC is a special case: we already need a build system for other reasons.
It was a design decision early on with Cabal that we didn't want to rely
on the target system having a Unix-like build environment. You might
disagree with this, but it certainly has some value: a Windows user can
download GHC and immediately start building and installing external
packages without having to install Cygwin.
Cheers,
Simon
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users