name:                MonadCatchIO-mtl
version:             0.1.0.1
description:
        Provides a monad-transformer version of the @Control.Exception.catch@
        function. For this, it defines the @MonadCatchIO@ class, a subset of
        @MonadIO@. It defines proper instances for most monad transformers in
        the 'mtl' library.

synopsis:           Monad-transformer version of the Control.Exception module
category:           Control
license:            PublicDomain
maintainer:         jcpetruzza@gmail.com
homepage:           http://code.haskell.org/~jcpetruzza/MonadCatchIO-mtl

cabal-version:      >= 1.2
build-type:         Simple
tested-with:        GHC==6.10

extra-source-files: Control/Monad/generic-code.inc

Flag base3
  description: Don't expect the new Control.Exception module (prior to base-4)
  default: False

Library
  build-depends:    mtl
  ghc-options:      -Wall
  extensions:       CPP
                    ExistentialQuantification

  if flag(base3) {
    build-depends: base < 4
  } else {
    build-depends: base >= 4
  }

  exposed-modules: Control.Monad.CatchIO.Old

  if flag(base3) {
    cpp-options: -D__BASE_VERSION__=3
  } else {
    cpp-options: -D__BASE_VERSION__=4
    exposed-modules:  Control.Monad.CatchIO
  }