From 639c825a084d671037c41e670a20472e5f5a7fc7 Mon Sep 17 00:00:00 2001 From: simonmar Date: Tue, 25 Oct 2005 10:22:48 +0000 Subject: [PATCH] [project @ 2005-10-25 10:22:48 by simonmar] add info about actually doing the build --- ghc/HACKING | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) 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 ------------------ -- 1.7.10.4