</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
<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>
; 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
- 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!
; 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>&1 | tee make.log
; always useful to have a log around