Changes between Version 9 and Version 10 of Commentary/SourceTree


Ignore:
Timestamp:
Sep 17, 2008 7:30:55 AM (7 years ago)
Author:
simonpj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/SourceTree

    v9 v10  
    11
    22
    3 = GHC Source Tree Roadmap =
    4 
    5 The top level of a GHC source tree looks like this:
    6 
    7 === Documentation ===
    8 
    9  {{{ANNOUNCE}}}::
    10  {{{HACKING}}}::
    11  {{{LICENSE}}}::
    12  {{{README}}}::
    13 
    14 === Configuration ===
    15 
    16 The GNU autoconf machinery:
    17 
    18  {{{aclocal.m4}}}::
    19  {{{config.guess}}}::
    20  {{{config.sub}}}::
    21  {{{configure.ac}}}::
    22  {{{install-sh}}}::
    23 
    24 === The Build System ===
    25 
    26 See [wiki:Building/BuildSystem].
    27 
    28  {{{Makefile}}}::
    29   Top-level {{{Makefile}}}; {{{make}}} by itself does a full 2-stage
    30   bootstrap of GHC, there are also targets for building source and
    31   binary distributions.  GHC requires
    32   [http://www.gnu.org/software/make/ GNU make].
    33 
    34  {{{mk/}}}::
    35   The guts of the build system itself.
    36 
    37 === The Code ===
    38 
    39  {{{compat/}}}::
    40   A library of compatibility code used when bootstrapping GHC using an
    41   older version of GHC.  For example, we compile up the version of
    42   Cabal from {{{libraries/Cabal}}} and include it in {{{libcompat}}},
    43   this means that the GHC source code can assume the most recent
    44   version of Cabal.
    45 
    46  [wiki:Commentary/SourceTree/Compiler compiler/]::
    47   [wiki:Commentary/Compiler The Compiler] itself: all Haskell code.
    48   This is actually a library; see `ghc/` for the compiler binary.
    49 
    50  {{{driver/}}}::
    51   Historically this contained the Perl script known as the GHC
    52   "driver"; in GHC 5.00 the driver was rewritten in Haskell and
    53   incorporated into GHC itself when we added GHCi and {{{--make}}}.
    54   This directory still contains the [wiki:Commentary/EvilMangler mangler]
    55   and the [wiki:Commentary/EvilSplitter splitter] Perl scripts, and a couple
    56   of wrappers used to invoke GHC on Windows.  Also the package
    57   database constructed during a GHC build is stored in here.
    58 
    59  {{{ghc/}}}::
    60   The actual compiler binary. This is just a thin wrapper around the library
    61   in `compiler/`.
    62 
    63  [wiki:Commentary/SourceTree/Libraries libraries/]::
    64    The libraries that are built and distributed with GHC.
    65 
    66  [wiki:Commentary/SourceTree/Includes includes/]::
    67    Header files for the Runtime System and for compiling Haskell via C.
    68 
    69  [wiki:Commentary/SourceTree/Docs docs/]::
    70    GHC documentation.
    71 
    72  {{{quickcheck/}}}::
    73   Some quickcheck tests for the compiler (may go away).
    74 
    75  [wiki:Commentary/SourceTree/Rts rts/]::
    76   The [wiki:Commentary/Rts Runtime System].
    77 
    78  [wiki:Commentary/SourceTreeUtils utils/]::
    79   Various utility programs, either used during the build itself or
    80   distributed with GHC.
    81 
    82 These two are optional, available as separate darcs repositories:
    83 
    84  [wiki:Commentary/SourceTree/Testsuite testsuite/]::
    85   The test suite.
    86  [wiki:Commentary/SourceTree/Nofib nofib/]::
    87   The NoFib benchmark suite.
    88 
    89 === Distribution ===
    90 
    91  {{{darcs-all}}}::
    92   a script for operating on the collection of darcs
    93   repositories that makes up the GHC source tree (see Building/GettingTheSources).
    94 
    95  {{{distrib/}}}::
    96   miscellany for building distributions.
    97 
    98  {{{ghc.spec.in}}}::
    99   RPM spec file
    100 
    101  {{{InstallShield}}}, {{{WindowsInstaller}}}::
    102   Windows installer bits
     3This page has moved to [wiki:Building/Files].