On Thu, Sep 01, 2005 at 04:46:38PM +0100, Malcolm Wallace wrote: > Frederik Eaton <[EMAIL PROTECTED]> writes: > > > Is there a way to use Hat with GHC, without 'hmake'? > > You could transform each module in your project individually with > hat-trans, before running ghc --make over the traced version. > Unfortunately, this means you will need to find some other way to > do the dependency analysis to ensure that modules are transformed > in the right order. It is a known deficiency of the ghc --make > implementation that it cannot handle pre-processors nicely - this > applies equally to Happy, Alex, generic Haskell, etc. > > One way would be to write a Makefile, with rules something like > > $(patsubst %.hs, Hat/%.hs, ${SRCS}) : Hat/%.hs : %.hs > hat-trans $< > $(patsubst %.hs, Hat/%.o, ${SRCS}) : Hat/$.o : Hat/%.hs > ghc -c -package hat $< > > and then use ghc -M to generate the dependencies somehow.
OK, I might try that. > ... > > i.e., I'm not sure how 'hmake' found /usr/lib/ghc-6.2.2, but this > > directory is not mentioned in my environment, and it was not my > > intention to use this version of ghc. > > You can select which version of ghc is used by hmake, either on the > command-line, or by setting a default with hmake-config. e.g. > hmake -hc=/home/frederik/.toast-i386/armed/bin/ghc ... > or > hmake-config list > hmake-config add /home/frederik/.toast-i386/armed/bin/ghc > hmake-config default /home/frederik/.toast-i386/armed/bin/ghc By the way, can I make a request to have the hmake default be to use the environment? I have to have my environment correctly configured anyway, to get other things to work, and hmake isn't saving me any trouble by asking me to duplicate this information in a different form. Now, it appears to be looking for 'ghc-pkg' in the library directory of 'ghc' (rather, again, than in $PATH) $ hmake-config add /home/frederik/.toast-i386/armed/bin/ghc $ hmake-config default /home/frederik/.toast-i386/armed/bin/ghc $ hmake -ghc -hat pointtracker.hs sh: /home/frederik/.toast-i386/armed/lib/ghc-6.4.1.20050812/bin/ghc-pkg: No such file or directory Fail: user error (Command (/home/frederik/.toast-i386/armed/lib/ghc-6.4.1.20050812/bin/ghc-pkg -l) failed) Stop - hmake dependency error. [1]$ which ghc-pkg /home/frederik/.toast-i386/armed/bin/ghc-pkg Frederik -- http://ofb.net/~frederik/ _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users