Changes between Version 23 and Version 24 of Building/Hacking


Ignore:
Timestamp:
Aug 17, 2008 11:51:20 AM (7 years ago)
Author:
igloo
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Building/Hacking

    v23 v24  
    140140== Building individual parts of the tree ==
    141141
    142 The first thing to understand is that the source tree is built in two
    143 passes.  First {{{make boot}}} builds dependencies and any other tools
    144 required as part of the build itself.  For example,
    145 {{{utils/genprimopcode}}} is built as part of {{{make boot}}}, because it is
    146 required to preprocess {{{compiler/prelude/primops.txt.pp}}}.
    147 
    148 After {{{make boot}}}, {{{make}}} will build everything.
    149 
    150 If you say {{{make}}} from the very top-level, the build system will
    151 arrange to do the appropriate 'make boot' steps for you.  If you just
    152 want to build in a subdirectory (eg. ghc), you have to do {{{make boot}}}
    153 yourself.  You don't need to {{{make boot}}} after every single change,
    154 but you might want to do it to update dependencies, for example.
    155 
     142The first thing to understand is that in general each part of the source
     143tree may be built in two passes.  First `make boot` does any configuring
     144necessary, and then `make` will actually build everything.
     145
     146If you say `make` from the very top-level, the build system will
     147arrange to do the appropriate `make boot` steps for you.  If you just
     148want to build in a subdirectory (eg. `compiler`), you have to do
     149`make boot` yourself. You don't need to `make boot` after every single
     150change, but you might need to do it after changing modules imports,
     151for example, so that the module dependency graph can be recalculated.
    156152
    157153== Refining the setup ==