Changes between Version 33 and Version 34 of Commentary/SourceTree


Ignore:
Timestamp:
Oct 17, 2011 9:29:45 PM (4 years ago)
Author:
dterei
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/SourceTree

    v33 v34  
    1  
    21[[PageOutline]] 
    32 
    43= Layout of important files and directories = 
    54 
    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 "build-tree only". 
     5This 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". 
    76 
    8 Everything starts with the main GHC repository (see [wiki:Building/GettingTheSources]).   The build system calls that directory `$(TOP)`. All the paths below are relative to `$(TOP)`. 
     7Everything starts with the main GHC repository (see [wiki:Building/GettingTheSources]). The build system calls that directory `$(TOP)`. All the paths below are relative to `$(TOP)`. 
    98 
    109== Files in `$(TOP)` == 
    1110 
    1211 '''`sync-all`''':: 
    13   [wiki:Building/SyncAll 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. 
     12  [wiki:Building/SyncAll 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. 
    1413 
    1514 '''`packages`''':: 
    1615  Lists the packages that `sync-all` should get or pull.  `packages` is looked at only by `sync-all`. 
    1716 
    18  '''`validate`''':: Run `validate` (a shell script) before committing (see [wiki:TestingPatches]).  The script is documented in the file itself. 
     17 '''`tarballs`''':: 
     18  Lists the various tarballs (binary packages) that ghc relies on and where to unpack them during a build. 
    1919 
    20  '''Documentation files''':: `README`, `ANNOUNCE`, `HACKING`, `LICENSE` 
     20 '''`validate`''':: Run `validate` (a shell script) before committing (see [wiki:TestingPatches]). The script is documented in the file itself. 
    2121 
    22  '''GNU autoconf machinery''':: `aclocal.m4`, `config.guess`, `config.sub`, `configure.ac`, `install-sh`, `config.mk.in` 
     22 '''Documentation files''':: `README`, `ANNOUNCE`, `HACKING`, `LICENSE`, `new_tc_notes` 
     23 
     24 '''GNU autoconf machinery''':: `aclocal.m4`, `config.guess`, `config.sub`, `configure.ac`, `install-sh`, `config.mk.in`, `settings.in` 
    2325 
    2426 '''`ghc.spec.in`''':: the RPM spec file 
    2527 
    26  '''`ghc.mk`''', '''`Makefile`''':: The top-level {{{Makefile}}}: see [wiki:Building/Architecture GHC Build System Architecture]. GHC requires 
     28 '''`Makefile`''':: The top-level {{{Makefile}}}: see [wiki:Building/Architecture GHC Build System Architecture]. GHC requires 
    2729  [http://www.gnu.org/software/make/ GNU make]. 
     30 
     31 '''Make system files''':: `ghc.mk`, `MAKEHELP`, `SUBMAKEHELP` 
    2832 
    2933== `libraries/` == 
    3034 
    31 The `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 there is more than one in `dph`. 
     35The `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 there is more than one in `dph`. 
    3236 
    3337GHC's libraries are described in more detail on the [wiki:Commentary/Libraries libraries page]. 
     
    4145There is [wiki:ModuleDependencies documentation of the intended module dependency structure] of the `compiler/` directory. 
    4246 
    43  * '''`compiler/ghc.cabal.in`''': the Cabal file for GHC is generated from this.  If you add a module to GHC's source code, you must add it in the `ghc.cabal.in` file too, else you'll get link errors. 
     47 * '''`compiler/ghc.cabal.in`''': the Cabal file for GHC is generated from this. If you add a module to GHC's source code, you must add it in the `ghc.cabal.in` file too, else you'll get link errors. 
    4448 
    4549The following directories appear only in the build tree: 
    4650 
    47  * '''`compiler/stage1`''': generated files for the stage1 build of GHC.  There are a handful of files (`ghc_boot_platform.h` etc), and a directory `compiler/stage1/build/` that contains all the `.o` and `.hi` files for the compiler. 
     51 * '''`compiler/stage1`''': generated files for the stage1 build of GHC. There are a handful of files (`ghc_boot_platform.h` etc), and a directory `compiler/stage1/build/` that contains all the `.o` and `.hi` files for the compiler. 
    4852 * '''`compiler/stage2`''': similarly stage2. 
    4953 
     
    6670 * '''`utils/ghc-pwd`''' is a little program we use for getting the current directory. We use this, rather than `pwd`, as the latter may give reults that we can't use on Windows. 
    6771 * '''`utils/ghc-cabal`''' is a little program we use for building the libraries. It's similar to cabal-install, but without the dependencies on `http` etc. 
    68  * '''`utils/count_lines`''' is a program that counts the number of source-code lines in GHC's code-base.  It distinguishes comments from non-comments. 
     72 * '''`utils/count_lines`''' is a program that counts the number of source-code lines in GHC's code-base. It distinguishes comments from non-comments. 
    6973 
    70 ''Why isn't libffi in utils/?'' 
     74== `ghc-tarballs/` == 
     75 
     76This contains some tarball files (binary packages) that GHC relies upon. Used for easier development / deployment on windows. 
    7177 
    7278== `testsuite/`, `nofib/` ==  
     
    8591== `distrib/` ==  
    8692 
    87 Micellaneous files for building distributions. 
     93Miscellaneous files for building distributions. 
    8894 
    8995== Stuff that appears only in a build tree ==