
Hi, When building 6.10.1 under Macports, I noticed that hpc now requires that hsc2hs be present on the system (it does not use the hsc2hs built in place with the new ghc). Previous versions did not require hsc2hs to be present; the compiler could be bootstrapped from just the ghc compiler and ghc-pkg. The hpc library is the only one that requires the external hsc2hs. Is this new dependency intentional, or is this a build system bug? This problem escaped detection initially because cabal will use any hsc2hs on the path even if the --with-compiler flag is set. (--with-compiler forces a particular compiler and packaging program, but not hsc2hs.) This is just asking for trouble. For the moment, it's fixed in the Macports build by hacking hpc's Makefile to specify --with-hsc2hs. Should cabal produce and error or a warning if hsc2hs is not found in the same directory as the compiler? I suggest an error by default, but not if --with- hsc2hs is given explicitly. Best Wishes, Greg

On Wed, Nov 12, 2008 at 12:42:00PM -0500, Gregory Wright wrote:
The hpc library is the only one that requires the external hsc2hs. Is this new dependency intentional, or is this a build system bug?
I don't think that the build dep is necessary, but with the current filesystem layout it's a pain to avoid. We would need to, with the bootstrapping compiler: Build libraries/{filepath,Cabal,cabal-bin} Build utils/hsc2hs Build libraries/hpc Build compiler (stage 1) We plan to rewrite the build system for 6.12 anyway, so I think we should take care of this then. It probably makes sense to merge (some of?) "utils" and "libraries" into "packages". As far as 6.10 is concerned, we install hsc2hs with ghc by default, so I think it is reasonable to depend on it. Thanks Ian

Hi Ian, On Nov 12, 2008, at 5:52 PM, Ian Lynagh wrote:
On Wed, Nov 12, 2008 at 12:42:00PM -0500, Gregory Wright wrote:
The hpc library is the only one that requires the external hsc2hs. Is this new dependency intentional, or is this a build system bug?
I don't think that the build dep is necessary, but with the current filesystem layout it's a pain to avoid. We would need to, with the bootstrapping compiler:
Build libraries/{filepath,Cabal,cabal-bin} Build utils/hsc2hs Build libraries/hpc Build compiler (stage 1)
We plan to rewrite the build system for 6.12 anyway, so I think we should take care of this then. It probably makes sense to merge (some of?) "utils" and "libraries" into "packages".
As far as 6.10 is concerned, we install hsc2hs with ghc by default, so I think it is reasonable to depend on it.
OK. I'll file a placeholder bug report so this doesn't get forgotten. I understand the reason for leaving it as is for now, but hope that we avoid creeping dependence on more tools. BTW, now that ghc distributes its own version of haddock, could that version be renamed to avoid the obvious namespace clash? Macports will rename ghc's haddock to haddock-ghc so it doesn't conflict with the one installed from hackage. Or is there a better plan? Best Wishes, Greg
participants (2)
-
Gregory Wright
-
Ian Lynagh