Gearing up for a 1.18 release

Luite Stegeman stegeman at
Sun Aug 25 18:53:07 CEST 2013

> I think we should definitely fix the packages, not put a hack in Cabal.

In the latest hackage archive, there are 462 packages that use the
impl(ghc) flag, including lots of very common packages. For example binary:

  if impl(ghc >= 7.2.1)
    cpp-options: -DGENERICS
    other-modules: Data.Binary.Generic
    if impl(ghc <= 7.6)
      -- prior to ghc-7.4 generics lived in ghc-prim
      build-depends: ghc-prim

Is there a generic way to do this without impl ghc checks? Otherwise all
these impl(ghc >= x) flag checks have to be changed to impl(ghc >= x) ||
impl(ghcjs >= y), not something I'd be looking forward to...

Also I personally don't really see it as a hack (of course I'm biased since
I've been using it for a while). It just allows you to specify that
"compiler x is based on compiler y", so that unless explicitly queried
otherwise you can assume that flags for 'y' hold for 'x'.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the cabal-devel mailing list