|Version 2 (modified by simonpj, 5 years ago)|
Layout of important files and directories
Everything starts with the main GHC repository (see Building/GettingTheSources). The buld system calls that directory $(TOP). All the paths below are relative to $(TOP).
Files in $(TOP)
- This script allows you to get or pull all the additional repositories that you need to build GHC. The command-line interface is documented in the file itself.
- Lists the packages that darcs-all should get or pull. packages is looked at only by darcs-all.
- What is this?
The libraries/ directory contains all the packages that GHC needs to build.
The utils directory contains support utilities that GHC uses. Some of these are themselves separate repositories that darcs-all pulls; others are part of the main GHC repository. Typically these utilities are built once and for all when your build tree is initialised.
compiler/, rts/, docs/, includes/
These directories contain the main GHC compiler, runtime system, and documentation.
The testsuite/ and nofib/ directories contain apparatus for testing GHC. Each is a separate repository, which can be gotten with darcs-all.
Stuff that appears only in a build tree
This directory appears only in the build tree. It contains the .hi and .o files obtained by compiling the compiler.
- ghc/stage1-inplace/, ghc/stage2-inplace/ Code for the stage1 and stage2 compiler.