[project @ 2005-10-17 10:47:10 by simonmar]
[ghc-hetmet.git] / docs / building / building.xml
index 99513e4..0375c38 100644 (file)
@@ -3819,7 +3819,19 @@ GhcBootLibs = YES</programlisting>
              <listitem>
                <para>Touch the generated configuration files, just to make
                sure they don't get replaced during the build:</para>
-<screen>$ touch <filename><replaceable>H</replaceable></filename>/ghc/includes/{ghcautoconf.h,DerivedConstants.h.GHCConstants.h.mkDerivedConstants.c,mkDerivedConstantsHdr,mkDerivedConstants.o,mkGHCConstants,mkGHCConstants.o}</screen>
+<screen>$ cd <filename><replaceable>H</replaceable></filename>/ghc/includes
+$ touch ghcautoconf.h DerivedConstants.h GHCConstants.h mkDerivedConstants.c
+$ touch mkDerivedConstantsHdr mkDerivedConstants.o mkGHCConstants mkGHCConstants.o</screen>
+
+               <para>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 <literal>Makefile</literal> in
+                 <literal>ghc/includes</literal>.  If your system supports
+                 it, you might be able to prevent it by making them
+                 immutable:</para>
+<screen>$ chflags uchg  ghc/includes/{ghcautoconf.h,DerivedConstants.h,GHCConstants.h}</screen>
              </listitem>
 
            <listitem>
@@ -5004,7 +5016,7 @@ choices, but it gives a single path that works.</para>
   - cvs checkout ghc hslibs libraries
 
 - Build ghc, using cygwin and mingw, targetting mingw
-  - export PATH=/cygdrive/c/ghc/ghc-6.4.1/tools:$PATH
+  - export PATH=/cygdrive/c/ghc/ghc-6.4.1:$PATH
     ; for haddock, alex, happy (*)
   - export PATH=/cygdrive/c/mingw/bin:$PATH
     ; without, we pick up some cygwin tools at best!
@@ -5015,9 +5027,11 @@ choices, but it gives a single path that works.</para>
     ; we use cygwin, but build for windows
   - cp mk/build.mk.sample mk/build.mk
   - in mk/build.mk:
+    add line:       SplitObjs = NO
+       (MSYS seems slow when there are zillions of object files)
     uncomment line: BuildFlavour = perf
+       (or BuildFlavour = devel, if you are doing development)
     add line:       BIN_DIST=1
-    add line:       SplitObjs = NO
   - make 2>&amp;1 | tee make.log
     ; always useful to have a log around