Lennart Augustsson reported a bug whereby some of your configuration
instructions were ignored and the system proceeded to build >100MB of
stuff!

Enclosed is a shar file with a small patch to fix this.  Also
available from the usual archive sites.

In case you missed the announcement, version 0.06 is a pre-release for
hackers, porters, and enthusiasts.  It is unlikely to be useful to
someone just trying to get a Haskell program running.  (I can
recommend Lennart's HBC system for that :-)

Will Partain

#!/bin/sh
# This is a shell archive (produced by shar 3.49)
# To extract the files from this archive, save it to a file, remove
# everything above the "!/bin/sh" line above, and type "sh file_name".
#
# made 03/30/1992 08:38 UTC by partain@tegua
# Source directory /tmp_mnt/local/fp/src
#
# existing files will NOT be overwritten unless -c is specified
#
# This shar contains:
# length  mode       name
# ------ ---------- ------------------------------------------
#   6257 -rw-rw-r-- ghc-0.06-patch-1
#
# ============= ghc-0.06-patch-1 ==============
if test -f 'ghc-0.06-patch-1' -a X"$1" != X"-c"; then
        echo 'x - skipping ghc-0.06-patch-1 (File already exists)'
else
echo 'x - extracting ghc-0.06-patch-1 (Text)'
sed 's/:X//' << 'SHAR_EOF' > 'ghc-0.06-patch-1' &&
1.  Apply this patch with
X
X       % cd top-of-your-GHC-world
X       % patch -p0 < this-patch-file
X
2.  Delete the file lib/split_hc.  (If you've already built things
X    successfully, don't worry about this.)
X
3.  The main problem is that {lib,runtime}/Jmakefile were overriding
X    the chosen # of garbage collectors to compile for (with
X    JMAKE_DEFINES).  So you would get a *lot* more than you bargained
X    for!
X
X    If you've already tried building things & you only wanted the
X    two-space collector ("std" setup), just delete all the junk
X    associated with the other collectors.  Something like this will
X    do:
X
X       % cd top-of-GHC-world
X       % (cd lib; rm */*_1s.o */*_du.o */*_ap.o)
X       % (cd runtime; rm */*_1s.sun?.o */*_du.sun?.o */*_ap.sun?.o)
X
X    (You get the idea...) In each of those directories, also do:
X
X       % make Makefile
X       % make Makefile # yes, *twice*
X
4.  You won't hurt anything by spinning over the whole tree, thusly:
X
X       % cd top-of-GHC-world
X       % make Makefile
X       % make Makefiles
X       % make depend
X       % make all
X
diff -rc1 /local/fp2/ghc-0.06/PATCHLEVEL ./PATCHLEVEL
*** /local/fp2/ghc-0.06/PATCHLEVEL      Fri Feb 14 12:03:55 1992
--- ./PATCHLEVEL        Mon Mar 30 09:17:09 1992
***************
*** 1 ****
! The Glorious New Glasgow Haskell Compiler, version 0.06, patchlevel 0
--- 1 ----
! The Glorious New Glasgow Haskell Compiler, version 0.06, patchlevel 1
diff -rc1 /local/fp2/ghc-0.06/compiler/Jmakefile ./compiler/Jmakefile
*** /local/fp2/ghc-0.06/compiler/Jmakefile      Fri Mar 27 19:19:41 1992
--- ./compiler/Jmakefile        Sun Mar 29 13:57:24 1992
***************
*** 319,321 ****
X  HaskellCompileWithMoreHeap(deSugar/Match,5000000)
! HaskellCompileWithMoreHeap(main/Main,6500000)
X  HaskellCompileWithMoreHeap(prelude/AbsPrel,5000000)
--- 319,321 ----
X  HaskellCompileWithMoreHeap(deSugar/Match,5000000)
! HaskellCompileWithMoreHeap(main/Main,7000000)
X  HaskellCompileWithMoreHeap(prelude/AbsPrel,5000000)
diff -rc1 /local/fp2/ghc-0.06/lib/Jmakefile ./lib/Jmakefile
*** /local/fp2/ghc-0.06/lib/Jmakefile   Fri Mar 20 16:12:57 1992
--- ./lib/Jmakefile     Mon Mar 30 08:47:24 1992
***************
*** 32,34 ****
X
! JMAKE_DEFINES = -DGC2s_Wanted -DGC1s_Wanted -DGCdu_Wanted -DGCap_Wanted
X
--- 32,34 ----
X
! /* JMAKE_DEFINES = -DGC2s_Wanted -DGC1s_Wanted -DGCdu_Wanted -DGCap_Wanted */
X
***************
*** 57,58 ****
--- 57,60 ----
X       chmod a+x $@
+
+ ExtraStuffToClean( ./split_hc )
X
diff -rc1 /local/fp2/ghc-0.06/lib/split_hc.prl ./lib/split_hc.prl
*** /local/fp2/ghc-0.06/lib/split_hc.prl        Fri Mar 27 08:41:49 1992
--- ./lib/split_hc.prl  Sun Mar 29 14:28:33 1992
***************
*** 104,105 ****
--- 104,106 ----
X      print JMKF "\$(SRCS_HC_${f_base_fileonly}) : ${f_base}.hc\n";
+     print JMKF "\t\$(RM) ${f_base}.jm \$(SRCS_HC_${f_base_fileonly})\n";
X      print JMKF "\t./split_hc ${f_base}.hc\n\n";
***************
*** 107,109 ****
X      # ... and the "clean" line for it...
!     print JMKF "ExtraStuffToClean( \$(SRCS_HC_${f_base_fileonly}) )\n";
X
--- 108,110 ----
X      # ... and the "clean" line for it...
!     print JMKF "ExtraStuffToClean( \$(SRCS_HC_${f_base_fileonly}) ${f_base}.jm
 )\n";
X
diff -rc1 /local/fp2/ghc-0.06/mkworld/AllProjects.tmpl
 ./mkworld/AllProjects.tmpl
*** /local/fp2/ghc-0.06/mkworld/AllProjects.tmpl        Wed Mar 25 13:04:25 1992
--- ./mkworld/AllProjects.tmpl  Sun Mar 29 14:35:14 1992
***************
*** 136,138 ****
X  #ifndef InstBinFlags
! #define InstBinFlags -m 0555 InstOwner InstGroup InstFileFlags InstStrip
X  #endif
--- 136,138 ----
X  #ifndef InstBinFlags
! #define InstBinFlags -m 0755 InstOwner InstGroup InstFileFlags InstStrip
X  #endif
***************
*** 143,145 ****
X  #ifndef InstScriptFlags
! #define InstScriptFlags -m 0555 InstOwner InstGroup InstFileFlags
X  #endif
--- 143,145 ----
X  #ifndef InstScriptFlags
! #define InstScriptFlags -m 0755 InstOwner InstGroup InstFileFlags
X  #endif
***************
*** 146,148 ****
X  #ifndef InstLibFlags
! #define InstLibFlags -m 0444 InstOwner InstGroup InstFileFlags
X  #endif
--- 146,148 ----
X  #ifndef InstLibFlags
! #define InstLibFlags -m 0644 InstOwner InstGroup InstFileFlags
X  #endif
***************
*** 149,151 ****
X  #ifndef InstDataLibFlags
! #define InstDataLibFlags -m 0444 InstOwner InstGroup InstFileFlags
X  #endif
--- 149,151 ----
X  #ifndef InstDataLibFlags
! #define InstDataLibFlags -m 0644 InstOwner InstGroup InstFileFlags
X  #endif
***************
*** 152,154 ****
X  #ifndef InstIncFlags
! #define InstIncFlags -m 0444 InstOwner InstGroup InstFileFlags
X  #endif
--- 152,154 ----
X  #ifndef InstIncFlags
! #define InstIncFlags -m 0644 InstOwner InstGroup InstFileFlags
X  #endif
***************
*** 155,157 ****
X  #ifndef InstDataFlags
! #define InstDataFlags -m 0444 InstOwner InstGroup InstFileFlags
X  #endif
--- 155,157 ----
X  #ifndef InstDataFlags
! #define InstDataFlags -m 0644 InstOwner InstGroup InstFileFlags
X  #endif
***************
*** 158,160 ****
X  #ifndef InstManFlags
! #define InstManFlags -m 0444 InstOwner InstGroup InstFileFlags
X  #endif
--- 158,160 ----
X  #ifndef InstManFlags
! #define InstManFlags -m 0644 InstOwner InstGroup InstFileFlags
X  #endif
diff -rc1 /local/fp2/ghc-0.06/runtime/Jmakefile ./runtime/Jmakefile
*** /local/fp2/ghc-0.06/runtime/Jmakefile       Wed Mar 18 19:10:06 1992
--- ./runtime/Jmakefile Mon Mar 30 09:11:39 1992
***************
*** 19,21 ****
X
! JMAKE_DEFINES = -DGC2s_Wanted -DGC1s_Wanted -DGCdu_Wanted -DGCap_Wanted
X
--- 19,21 ----
X
! /* JMAKE_DEFINES = -DGC2s_Wanted -DGC1s_Wanted -DGCdu_Wanted -DGCap_Wanted */
X
***************
*** 265,267 ****
X  AllTarget(objs-$(BUILDPLATFORM)/libHSrts/**/gc/**/opt.a)     @@\
! ExtraStuffToClean(objs-$(BUILDPLATFORM)/libHSrts/**/gc/**/opt.a) @@\
X  objs-$(BUILDPLATFORM)/libHSrts/**/gc/**/opt.a:: objlist              @@\
--- 265,267 ----
X  AllTarget(objs-$(BUILDPLATFORM)/libHSrts/**/gc/**/opt.a)     @@\
! ExtraStuffToClean(objlist objs-$(BUILDPLATFORM)/libHSrts/**/gc/**/opt.a) @@\
X  objs-$(BUILDPLATFORM)/libHSrts/**/gc/**/opt.a:: objlist              @@\
***************
*** 356,357 ****
--- 356,358 ----
X  */
+ /*
X  ExtraStuffToBeVeryClean( $(SRCS_C) )
***************
*** 358,363 ****
X  ExtraStuffToBeVeryClean( $(STD_VERY_CLEAN) )
!
! clean ::
!       (cd objs-sun4; $(RM) *.o)
!       (cd objs-sun3; $(RM) *.o)
X
--- 359,361 ----
X  ExtraStuffToBeVeryClean( $(STD_VERY_CLEAN) )
! */
X
SHAR_EOF
chmod 0664 ghc-0.06-patch-1 ||
echo 'restore of ghc-0.06-patch-1 failed'
Wc_c="`wc -c < 'ghc-0.06-patch-1'`"
test 6257 -eq "$Wc_c" ||
        echo 'ghc-0.06-patch-1: original size 6257, current size' "$Wc_c"
fi
exit 0

Reply via email to