[project @ 2005-10-17 10:47:10 by simonmar]
[ghc-hetmet.git] / docs / building / building.xml
index f445b37..0375c38 100644 (file)
          </listitem>
          <listitem>
            <para>Set your <literal>$CVSROOT</literal> environment variable to
-            <literal>:pserver:anoncvs@glass.cse.ogi.edu:/cvs</literal></para>
+            <literal>:pserver:anoncvs@cvs.haskell.org:/cvs</literal></para>
            <para>If you set <literal>$CVSROOT</literal> in a shell script, be sure not to
              have any trailing spaces on that line, otherwise CVS will respond with 
              a perplexing message like
@@ -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>
@@ -4996,7 +5008,7 @@ choices, but it gives a single path that works.</para>
     ; http://www.haskell.org//pipermail/cvs-all/
   - mkdir c:/fptools; cd c:/fptools 
     ; (or whereever you want your cvs tree to be)
-  - export CVSROOT=:pserver:anoncvs@glass.cse.ogi.edu:/cvs
+  - export CVSROOT=:pserver:anoncvs@cvs.haskell.org:/cvs
   - cvs login
     ; pw: cvs
   - cvs checkout fpconfig
@@ -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