
On 1 December 2010 03:54, Michael Snoyman
On Wed, Dec 1, 2010 at 4:07 AM, Thomas Schilling
wrote: I think a nicer way to solve that issue is to use Cabal's MIN_VERSION macros.
1. Add CPP to your extensions. This will cause cabal to auto-generate a file with MIN_VERSION_<pkg> macros for each <pkg> in build-depends.
2. GHC 6.12.* comes with template-haskell 2.4, so to test for that use:
#ifdef MIN_VERSION_template_haskell(2,4,0) .. ghc-6.12.* code here. #endif
This should make it more transparent to the user.
Also, I think
#if GHC7 ... #endif
is more transparent than a check on template-haskell.
Note that in many cases it is inappropriate to use the ghc version as a proxy for a library version since most libraries are upgradable independently of GHC. Duncan