From 5b0e32406c30be1613fbf556685c77e840dff342 Mon Sep 17 00:00:00 2001 From: simonmar Date: Thu, 3 Mar 2005 17:01:01 +0000 Subject: [PATCH] [project @ 2005-03-03 17:01:01 by simonmar] Add some text about platforms I forgot to commit before, and a couple of wibbles to the porting section. --- docs/building/building.xml | 60 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 56 insertions(+), 4 deletions(-) diff --git a/docs/building/building.xml b/docs/building/building.xml index ae22c81..1cce8b5 100644 --- a/docs/building/building.xml +++ b/docs/building/building.xml @@ -2952,6 +2952,58 @@ directive. ones in boilerplate.mk. + + Platform settings + Platform settings + + + There are three platforms of interest when building GHC: + + + + The build platform + + The platform on which we are doing this build. + + + + + The host platform + + The platform on which these binaries will run. + + + + + The target platform + + The platform for which this compiler will generate code. + + + + + These platforms are set when running the + configure script, using the + , , and + options. The mk/config.mk + file defines several symbols related to the platform settings (see + mk/config.mk for details). + + We don't currently support build & host being different, because + the build process creates binaries that are both run during the build, + and also installed. + + If host and target are different, then we are building a + cross-compiler. For GHC, this means a compiler + which will generate intermediate .hc files to port to the target + architecture for bootstrapping. The libraries and stage 2 compiler + will be built as HC files for the target system (see for details. + + More details on when to use BUILD, HOST or TARGET can be found in + the comments in config.mk. + + Pattern rules and options Pattern rules @@ -3695,7 +3747,7 @@ $ ./configure --enable-hc-boot --enable-hc-boot-unregisterised $ cd T/ghc/includes -$ make ghcconfig.h +$ make @@ -3755,7 +3807,7 @@ GhcBootLibs = YES Copy - T/ghc/includes/ghcconfig.h + T/ghc/includes/ghcautoconf.h to H/ghc/includes. Note that we are building on the host machine, using the @@ -3766,9 +3818,9 @@ GhcBootLibs = YES - Touch ghcconfig.h, just to make + Touch ghcautoconf.h, just to make sure it doesn't get replaced during the build: -$ touch H/ghc/includes/ghcconfig.h +$ touch H/ghc/includes/ghcautoconf.h -- 1.7.10.4