Changes between Version 13 and Version 14 of Commentary/SourceTree


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

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/SourceTree

    v13 v14  
    44= Layout of important files and directories = 
    55 
    6 This 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. 
     6This page summarises the overall file and directory structure of GHC.  We include both source files and generated files; the latter are always identified "build-tree only". 
    77 
    88Everything 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)`. 
     
    1313  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. 
    1414 
    15  '''`Makefile`''':: Top-level {{{Makefile}}}; {{{make}}} by itself does a full 2-stage 
    16   bootstrap of GHC, there are also targets for building source and 
    17   binary distributions.  GHC requires 
     15 '''`ghc.mk`''', '''`Makefile`''':: The top-level {{{Makefile}}}: see [wiki:Building/Architecture GHC Build System Architecture]. GHC requires 
    1816  [http://www.gnu.org/software/make/ GNU make]. 
    1917 
     
    6967The `testsuite/` and `nofib/` directories contain apparatus for testing GHC.  Each is a separate repository, which can be gotten with `darcs-all`. 
    7068 
    71 == `mk/` == 
     69== `mk/`, `rules.mk` == 
    7270 
    73 The `mk/` directory contains all the build system Makefile boilerplate.  Some particular files are interesting: 
     71The `mk/` and `rules.mk` directories contains all the build system Makefile boilerplate; see [wiki:Building/Architecture GHC Build System Architecture].  Some particular files are interesting: 
    7472  * '''`mk/build.mk`''': contains Makefile settings that control your build. Details [wiki:Building/Hacking here].  The file `mk/build.mk.sample` contains a starting point that you can copy to `mk/build.mk` if you want. 
    7573  * '''`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. 
     74  * '''`mk/validate.mk`''': just like `build.mk`, but applies when validating.  Use this file to override the default settings for validation, which are in `mk/validate-settings.mk`. 
    7675 
    7776== `inplace/` == 
    7877 
    79 The `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. 
     78The `inplace/` directory (build tree only) 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. 
    8079   * '''`inplace/bin/`''': executables, including `ghc-stage1`, `ghc-stage2`, `hasktags`, `hsc2hs`, `haddock`, etc 
    8180   * '''`inplace/lib/`''': suppporting libraries for the above. 
     
    8786== Stuff that appears only in a build tree == 
    8887 
    89     * '''`ghc/stage1-inplace/`, `ghc/stage2-inplace/`''' 
    90       The in-place installations of GHC, so you can use the compiler in a build tree. 
    91  
    9288    * '''`compiler/stage1/`, `ghc/stage2plus/`''' 
    9389      These directories contain `ghc_boot_platform.h`, which contains various `#define`s needed when building GHC. These are different depending on whether we are building stage1 or a later stage.