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 ==