X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fbuilding%2Fbuilding.xml;h=5994d2d1b4e5cd5c53663b63b0216ca22907ec73;hb=b88025eabcd83f65d1d81f09272f5172f06a60e7;hp=04cf05e35add036ef252dd14990f6f447b654a19;hpb=4f7abbdceb83d96ac400488a665245a4b67820ba;p=ghc-hetmet.git diff --git a/docs/building/building.xml b/docs/building/building.xml index 04cf05e..5994d2d 100644 --- a/docs/building/building.xml +++ b/docs/building/building.xml @@ -165,10 +165,15 @@ supported method, and you may encounter difficulties. Full instructions are in . - Which version of GHC you need will depend on the - packages you intend to build. GHC itself will normally - build using one of several older versions of itself - check - the announcement or release notes for details. + GHC can be built using either an earlier released + version of GHC (currently 5.04 and later are supported), or + bootstrapped using a GHC built from exactly the same + sources. Note that this means you cannot in general build + GHC using an arbitrary development snapshot, or a build from + say last week. It might work, it might not - we don't + guarantee anything. To be on the safe side, start your + build using the most recently released stable version of + GHC. @@ -2558,7 +2563,7 @@ $ ./configure --enable-hc-boot --enable-hc-boot-unregisterised -$ cd T/ghc/includes +$ cd T/includes $ make @@ -2593,7 +2598,8 @@ GhcWithInterpreter = NO GhcStage1HcOpts = -O GhcStage2HcOpts = -O -fvia-C -keep-hc-files SRC_HC_OPTS += -H32m -GhcBootLibs = YES +GhcBootLibs = YES +GhcWithSMP = NO @@ -2620,9 +2626,9 @@ GhcBootLibs = YES Copy - T/ghc/includes/ghcautoconf.h, T/ghc/includes/DerivedConstants.h, and T/ghc/includes/GHCConstants.h + T/includes/ghcautoconf.h, T/includes/DerivedConstants.h, and T/includes/GHCConstants.h to - H/ghc/includes. + H/includes. Note that we are building on the host machine, using the target machine's configuration files. This is so that the intermediate C files generated here will @@ -2632,27 +2638,21 @@ GhcBootLibs = YES Touch the generated configuration files, just to make sure they don't get replaced during the build: -$ cd H/ghc/includes +$ cd H/includes $ touch ghcautoconf.h DerivedConstants.h GHCConstants.h mkDerivedConstants.c $ touch mkDerivedConstantsHdr mkDerivedConstants.o mkGHCConstants mkGHCConstants.o - - Note: it has been reported that these files still get - overwritten during the next stage. We have installed a fix - for this in GHC 6.4.2, but if you are building a version - before that you need to watch out for these files getting - overwritte by the Makefile in - ghc/includes. If your system supports - it, you might be able to prevent it by making them - immutable: -$ chflags uchg ghc/includes/{ghcautoconf.h,DerivedConstants.h,GHCConstants.h} Now build the compiler: -$ cd H/glafp-utils && make boot && make -$ cd H/ghc && make boot && make - Don't worry if the build falls over in the RTS, we - don't need the RTS yet. +$ cd H/utils/mkdependC && make boot && make +$ cd H/includes && make boot && make +$ cd H/compat && make boot && make +$ cd H/utils && make boot && make +$ cd H/compiler && make boot && make +$ cd H/rts && make boot && make + Don't worry if the build falls over in the RTS, we + don't need the RTS yet. @@ -2661,7 +2661,7 @@ $ make boot && make -$ cd H/ghc/compiler +$ cd H/compiler $ make boot stage=2 && make stage=2 @@ -2670,7 +2670,7 @@ $ make boot stage=2 && make stage=2 $ make clean $ rm .depend $ make boot UseStage1=YES EXTRA_HC_OPTS='-O -fvia-C -keep-hc-files' -$ cd H/ghc/utils +$ cd H/utils $ make clean $ make -k UseStage1=YES EXTRA_HC_OPTS='-O -fvia-C -keep-hc-files'