
On Wed, Dec 1, 2010 at 4:07 AM, Thomas Schilling
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.
This is obviously a personal preference issue, but I try to avoid the Cabal macros since they don't let my code run outside the context of Cabal. I often times like to have a test suite that I can just use with runhaskell, and (unless you can tell me otherwise) I can't run it anymore. Also, I think #if GHC7 ... #endif is more transparent than a check on template-haskell. Michael