<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>
- 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