
Duncan Coutts wrote:
On Fri, 2006-07-28 at 11:30 -0700, Isaac Jones wrote:
The TH thing - can we check that this is really the right thing to do?
So the code is forcing normal libs to be built when the library uses TH (even if the user didn't want to build normal libs).
Note that they've not got a fix for this yet in GHC:
http://www.haskell.org/pipermail/template-haskell/2003-July/000135.html http://www.haskell.org/pipermail/template-haskell/2005-July/000466.html
http://hackage.haskell.org/trac/ghc/ticket/651
So we should check with the GHC devs that the behaviour in this patch will need to be part of any solution. Otherwise it seems a bit preemptive.
Since no one said anything I've committed the patch but without the TH bit and with some other minor changes.
OK. I've CC'd Simon so he can lend is $0.02 about the TH stuff.
I caught Simon on irc the other day and he thought that this sounds like the right behaviour.
Specifically: if the user asks for profiling but not vanilla versions of libs and they're using TH then we should build vanilla libs first and then profiling libs. However at install time we would not install the vanilla libs as the user did not ask for them.
Yes, that's right.
Simon: what about if we're building a program rather than a lib? Should we vanilla-compile all the modules but not link then into a binary and then compile again with profiling and then link those into a binary?
I would think so, yes. Just build with --make -c for the vanilla way.
And presumably we would only expect this to work with GHC 6.6.
Yes. I'd appreciate it if someone could test this with a TH program and 6.6, to make sure that GHC can find the vanilla object files correctly. Cheers, Simon