[ Uuaah! My last mail only went to Sigbjorn. Next try... ]

Sigbjorn Finne wrote:
> [...]
> >    * Happy searches the *buildtree* for its templates. Excerpt from
> >      fptools/happy/src/Makefile: HAPPYLIB = $(FPTOOLS_TOP_ABS)/happy/templates
> >
> 
> As long as you don't install, that should be cool...

It would be even cooler if I could install ghc *and* happy (and lx and
GreenCard and... :-) in one sweep.

> --Sigbjorn (stealthily updating ghc-2.06-src.tar.gz to include these patches.)
> [ patches deleted ]

Those patches are not sufficient yet:

[...]
------------------------------------------------------------------------
==fptools== make boot;
 in /mnt/liesl1/inst/panne/ghc-2.06-iX86-unknown-linux/happy/src
------------------------------------------------------------------------
Making Version.hs version=1.3 
template_dir=/mnt/liesl1/inst/panne/ghc-2.06-iX86-unknown-linux/happy/templates
if [ -d ../../ghc ]; then \
        (cd ../../ghc/driver && make boot); \
        (cd ../../ghc/utils/mkdependHS && make boot) \
fi 
../utils/unlit/unlit    ghc-asm.lprl ghc-asm.prl
make[3]: ../utils/unlit/unlit: Command not found
make[3]: *** [ghc-asm.prl] Error 127
rm -f mkdependHS
Creating mkdependHS...
Done.
../../ghc/driver/ghc -M -optdep-f -optdep.depend -optdep-o -optdepo -O -H32m -cpp 
-fhaskell-1.3 -fglasgow-exts Version.hs GenUtils.lhs Set.lhs ParseMonad
.lhs Lexer.lhs AbsSyn.lhs Grammar.lhs Parser.hs First.lhs LALR.lhs Target.lhs 
ProduceCode.lhs Info.lhs GetOpt.lhs Main.lhs
/bin/sh: ../../ghc/driver/ghc: No such file or directory
make[2]: *** [depend] Error 127
make[1]: *** [boot] Error 2
make: *** [boot] Error 2


If "(cd ../../ghc/utils/unlit && make boot); \" is added to the "if"
in fptools/happy/src/Makefile, "make boot" succeeds, but "make all"
still wants to use the not yet existing ghc-2.06 for the compilation
of happy:

------------------------------------------------------------------------
==fptools== make all;
 in /mnt/liesl1/inst/panne/ghc-2.06-iX86-unknown-linux/happy/src
------------------------------------------------------------------------
../../ghc/driver/ghc -O -H32m -cpp -fhaskell-1.3 -fglasgow-exts     -c Version.hs -o 
Version.o -osuf o
make[2]: ../../ghc/driver/ghc: Command not found
make[2]: *** [Version.o] Error 127
make[1]: *** [all] Error 2
make: *** [all] Error 2


Adding the "unlit" line above and replacing "MKDEPENDHS := $(HC)" with:
   HC=$(WithGhcHc)
   ifeq ($(Ghc2_0),NO)
   MKDEPENDHS      = $(MKDEPENDHS_1_2)
   endif
(stolen from fptools/ghc/compiler/Makefile), things went almost smoothly.
The remaining problem: compiling Happy's Main.lhs needs excessive memory,
actually more than I have!   :-(  100MB was my last try before giving up)
Fix: Add "HappyHcOpts += -Onot" to build.mk.

Another small glitch: Something from the user_guide is missing.
"Solution": touch fptools/ghc/docs/users_guide/2-06-notes.lit


Hmm, slowly the task of building ghc-2.06 from source turns into a
matter of honor: Me against the evil build tree...   %-]

-- 
Sven Panne                                        Tel.: +49/89/2178-2235
LMU, Institut fuer Informatik                     FAX : +49/89/2178-2211
LFE Programmier- und Modellierungssprachen              Oettingenstr. 67
mailto:[EMAIL PROTECTED]            D-80538 Muenchen
http://www.pms.informatik.uni-muenchen.de/mitarbeiter/panne

Reply via email to