X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fbuilding%2Fbuilding.xml;h=04dd999975bf12316f9098c17b658d6d022e3b2b;hb=22ebce60fcd1611a2a55267d79ee59f72e79e160;hp=ae22c81d286733017018997588e925bdbe67190f;hpb=1013f2bbde5eb3e8bba4da6d851215963a93b239;p=ghc-hetmet.git
diff --git a/docs/building/building.xml b/docs/building/building.xml
index ae22c81..04dd999 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 optionsPattern rules
@@ -3695,7 +3747,7 @@ $ ./configure --enable-hc-boot --enable-hc-boot-unregisterised
$ cd T/ghc/includes
-$ make ghcconfig.h
+$ make
@@ -3755,20 +3807,19 @@ GhcBootLibs = YES
Copy
- T/ghc/includes/ghcconfig.h
+ T/ghc/includes/ghcautoconf.h, T/ghc/includes/DerivedConstants.h, and T/ghc/includes/GHCConstants.h
to
H/ghc/includes.
Note that we are building on the host machine, using the
- target machine's config.h file. This
+ target machine's configuration files. This
is so that the intermediate C files generated here will
be suitable for compiling on the target system.
-
- Touch ghcconfig.h, just to make
- sure it doesn't get replaced during the build:
-$ touch H/ghc/includes/ghcconfig.h
+ Touch the generated configuration files, just to make
+ sure they don't get replaced during the build:
+$ touch H/ghc/includes/{ghcautoconf.h,DerivedConstants.h,GHCConstants.h}