On Wed, Mar 17, 2010 at 11:25:30AM +1100, Roman Leshchinskiy wrote:
> On 17/03/2010, at 09:01, Matthias Kilian wrote:
> 
> > No, sorry. If I'm seeing unnecessary requirements and all those
> > little hurdles that get in your way trying to get GHC work on a
> > non-first-tier platform, I get really upset. For sure I appreciate
> > your work on the new build system, but what else happened/who else
> > cared?
> 
> DPH is a boot package because at the moment, it has to be.

Actually, that's not true. DPH may require a specific version of GHC in
order to build, but it's possible to build GHC without building DPH
(which is what defines a boot package).

I think there were 2 reasons it was added to the standard build:
* It's the focus of a lot of development currently against the HEAD, and
  having it in the standard build makes it easier for those developers
* By being built in validate runs, other fixes to the compiler that
  break DPH will be noticed

The advantages of the first needs to be weighed up against the
disadvantages to other users, e.g. Matthias, of course. DPH is also
unique in a few ways, e.g. being the only library to be built with stage
2, and actually being composed of multiple smaller packages. This means
that there needs to be some special handling in the build system.

As to the second, I'm not sure if any bugs have actually been found as a
result, except perhaps in the extra bits of build system needed to build
DPH.

I think that we would be better off overall if GHC's build system was
only dimly aware of non-boot stuff; perhaps just running
    make -C local -f local/Makefile IN_GHC_TREE=YES $@
at the end of a top-level "make"/"make all"/"make clean" or something.
It wouldn't be able to be quite as parallel as it could be (although it
really wouldn't be far off, given stage2 has to be complete anyway), and
some dependency info would be lost, but it would be more flexible and
simpler.

See also:
http://hackage.haskell.org/trac/ghc/ticket/3896
http://hackage.haskell.org/trac/ghc/ticket/3882


Thanks
Ian

_______________________________________________
Cvs-ghc mailing list
Cvs-ghc@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to