Changes between Version 12 and Version 13 of Commentary/SourceTree


Ignore:
Timestamp:
Apr 30, 2009 3:07:08 PM (5 years ago)
Author:
simonpj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/SourceTree

    v12 v13  
    44= Layout of important files and directories = 
    55 
    6 Everything starts with the main GHC repository (see [wiki:Building/GettingTheSources]).   The buld system calls that directory `$(TOP)`.  All the paths below are relative to `$(TOP)`. 
     6This page summarises the overall file and directory structure of GHC.  We include both source files and generated files; the latter are always identified as such. 
     7 
     8Everything starts with the main GHC repository (see [wiki:Building/GettingTheSources]).   The biuld system calls that directory `$(TOP)`.  All the paths below are relative to `$(TOP)`. 
    79 
    810== Files in `$(TOP)` == 
     
    3133The `libraries/` directory contains all the packages that GHC needs to build.  It has one sub-directory for each package repository (e.g. `base`, `haskell98`, `random`). Usually each such repository builds just one package but sometimes more than one (e.g DPH). 
    3234 
     35'''NOT RIGHT: PLEASE FIX''' 
     36 
    3337 * '''`libraries/cabal-bin.hs`''' is a little program we use for building the libraries. It's similar to cabal-install, but without the dependencies on `http` etc. 
    3438 * '''`libraries/ifBuildable/`''' is a utility that we use in the build system. It allows the build to continue if an extralib is not buildable (e.g., if we are missing a C library that an extralib depends on then we can still build the compiler). We expect this to disappear soon, when extralibs are removed. 
     
    4347There is [wiki:ModuleDependencies documentation of the intended module dependency structure] of the `compiler/` directory. 
    4448 
    45  * '''`compiler/ghc.cabal`''': the Cabal file for GHC.  If you add a module to GHC's source code, you must add it in the `ghc.cabal` file too, else you'll get link errors. 
     49 * '''`compiler/ghc.cabal`''': the Cabal file for GHC.  If you add a module to GHC's source code, you must add it in the `ghc.cabal` file too, else you'll get link errors. '''LIES ALL LIES''' 
    4650 
    4751== `rts/` == 
     
    7175  * '''`mk/are-validating.mk`''': this file records the fact that you are doing [wiki:TestingPatches validation], by containing the single line `Validating=YES`.  That in turn means the the build system gets its settings from `mk/validate-settings.mk` instead of from `mk/build.mk`.  Remove the file to stop validating. 
    7276 
     77== `inplace/` == 
     78 
     79The `inplace/` directory is where we "install" stage1 and stage2 compilers when they are built, and GHC's utility programs, entirely locally to the tree.  The layout is exactly the same as that of an installed GHC on the host platform. 
     80   * '''`inplace/bin/`''': executables, including `ghc-stage1`, `ghc-stage2`, `hasktags`, `hsc2hs`, `haddock`, etc 
     81   * '''`inplace/lib/`''': suppporting libraries for the above. 
     82 
    7383== `distrib/` ==  
    7484