From: simonmar Date: Tue, 25 Oct 2005 10:22:48 +0000 (+0000) Subject: [project @ 2005-10-25 10:22:48 by simonmar] X-Git-Tag: Initial_conversion_from_CVS_complete~140 X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=639c825a084d671037c41e670a20472e5f5a7fc7 [project @ 2005-10-25 10:22:48 by simonmar] add info about actually doing the build --- diff --git a/ghc/HACKING b/ghc/HACKING index 6d6f62b..181a05d 100644 --- a/ghc/HACKING +++ b/ghc/HACKING @@ -81,6 +81,35 @@ SplitObjs = NO memory-consuming, so turn it off when you're hacking. +Actually building the bits +-------------------------- + +To just build everything, from the top level: + + $ autoreconf + $ ./configure + $ make + $ make install + + +Building individual parts of the tree +------------------------------------- + +The first thing to understand is that the source tree is built in two +passes. First 'make boot' builds dependencies and any other tools +required as part of the build itself. For example, +ghc/utils/genprimopcode is built as part of 'make boot', because it is +required to preprocess ghc/compiler/prelude/primops.txt.pp. + +After 'make boot', 'make' will build everything. + +If you say 'make' from the very top-level, the build system will +arrange to do the appropriate 'make boot' steps for you. If you just +want to build in a subdirectory (eg. ghc), you have to do 'make boot' +yourself. You don't need to 'make boot' after every single change, +but you might want to do it to update dependencies, for example. + + Refining the setup ------------------