|Version 7 (modified by 10 years ago) (diff),|
GHC Source Tree Roadmap
The top level of a GHC source tree looks like this:
The GNU autoconf machinery:
The Build System
makeby itself does a full 2-stage bootstrap of GHC, there are also targets for building source and binary distributions. GHC requires GNU make.
- The guts of the build system itself.
A library of compatibility code used when bootstrapping GHC using an
older version of GHC. For example, we compile up the version of
libraries/Cabaland include it in
libcompat, this means that the GHC source code can assume the most recent version of Cabal.
Historically this contained the Perl script known as the GHC
"driver"; in GHC 5.00 the driver was rewritten in Haskell and
incorporated into GHC itself when we added GHCi and
--make. This directory still contains the mangler and the splitter? Perl scripts, and a couple of wrappers used to invoke GHC on Windows. Also the package database constructed during a GHC build is stored in here.
- The libraries that are built and distributed with GHC.
- Header files for the Runtime System and for compiling Haskell via C.
- GHC documentation.
- Some quickcheck tests for the compiler (may go away).
- Various utility programs, either used during the build itself or distributed with GHC.
These two are optional, available as separate darcs repositories:
- a script for operating on the collection of darcs repositories that makes up the GHC source tree (see Building/GettingTheSources).
- miscellany for building distributions.
- RPM spec file
- Windows installer bits