Problems building ghc-current

Peter Simons simons@cryp.to
28 May 2003 11:30:02 +0200


Simon Marlow writes:

 > CVS doesn't really support the structure of our source tree very
 > well.

Actually, it does. ;-)

The problem is that »ghc«, »green-card«, »hood« et al. are
subdirectories of »fptools«, that's why »cvs update -d« retrieves them
automatically. I guess a more appropriate repository layout would be
_flat_, like this:

    /cvs --+
           |
           +-- CVSROOT
           |
           +-- fptools
           |
           +-- ghc
           |
           +-- libraries
           |
           +-- hslibs
           |
           +-- green-card
         [...]

You could check-out the sources the same way the instructions describe
it now, but an update wouldn't pull in other top-level directories.
Furthermore, the entries

 | ghc             fptools/ghc
 | hslibs          fptools/hslibs
 | haddock         fptools/haddock
 | haggis          fptools/haggis
 | happy           fptools/happy
 | [...]

in CVSROOT/modules would be unnecessary.

Instead, you could provide short cuts to check-out individual
projects. For example:

 | ghc             fptools    &ghc &libraries &hslibs
 | green-card      fptools    &green-card

I have been using this layout in some projects of my own, when I want
to re-use separate projects as part of a bigger one and it works just
fine this way.

Peter