We can talk about the general issues on IRC. But I thought I'd answer a few of the specific questions quickly:

Roman Leschinskiy wrote:

I don't think I understand how GHC itself is built any longer, either. What does cabal-bin do?

It's effectively a pre-compiled Setup.hs for packages that have no need for a custom Setup.hs. cabal-install does the same job for end-users, but we can't rely on having cabal-install in the GHC build system.

What is runghc.wrapper?

it's a template used to make a shell wrapper for a binary. There seems to be new functionality in Cabal to support this.

What is the difference between make.library.* and build.library.* and why do we need both

This one is my fault. build.* runs 'cabal-bin build', whereas make.* runs 'cabal-bin makefile' followed by 'make'. That is, build.* ends up using ghc --make, whereas make.* ends up using a traditional makefile with ghc -M for dependencies and individual single-module compilations. The latter was added so that we could (a) use make -j and (b) compile single modules for testing/debugging purposes.

We don't *need* both - the build system normally only uses make.* (and it would also work perfectly well using build.*, except you'd get no parallelism). One day make.* will go away when Cabal provides the necessary functionality via 'cabal build'.

> (and why doesn't one of them work for dph)?

no idea about that, sorry.

Cheers,
        Simon
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to