name: containers
version: 0.5.5.1
license: BSD3
license-file: LICENSE
maintainer: fox@ucw.cz
bug-reports: https://github.com/haskell/containers/issues
synopsis: Assorted concrete container types
category: Data Structures
description:
    This package contains efficient general-purpose implementations
    of various basic immutable container types.  The declared cost of
    each operation is either worst-case or amortized, but remains
    valid even if structures are shared.
build-type: Simple
cabal-version:  >=1.8
extra-source-files:
    include/Typeable.h
    tests/Makefile
    tests/*.hs
    benchmarks/Makefile
    benchmarks/bench-cmp.pl
    benchmarks/bench-cmp.sh
    benchmarks/*.hs
    benchmarks/SetOperations/Makefile
    benchmarks/SetOperations/*.hs
    benchmarks/LookupGE/Makefile
    benchmarks/LookupGE/*.hs

source-repository head
    type:     git
    location: http://github.com/haskell/containers.git

Library
    build-depends: base >= 4.2 && < 5, array, deepseq >= 1.2 && < 1.4
    if impl(ghc>=6.10)
        build-depends: ghc-prim

    ghc-options: -O2 -Wall

    exposed-modules:
        Data.IntMap
        Data.IntMap.Lazy
        Data.IntMap.Strict
        Data.IntSet
        Data.Map
        Data.Map.Lazy
        Data.Map.Strict
        Data.Set
    if !impl(nhc98)
        exposed-modules:
            Data.Graph
            Data.Sequence
            Data.Tree
    other-modules:
        Data.BitUtil
        Data.IntMap.Base
        Data.IntSet.Base
        Data.Map.Base
        Data.Set.Base
        Data.StrictPair

    include-dirs: include

    if impl(ghc<7.0)
        extensions: MagicHash, DeriveDataTypeable, StandaloneDeriving, Rank2Types
    if impl(ghc >= 7.8)
        extensions: RoleAnnotations

-------------------
-- T E S T I N G --
-------------------

-- Every test-suite contains the build-depends and options of the library,
-- plus the testing stuff.

-- Because the test-suites cannot contain conditionals in GHC 7.0, the extensions
-- are switched on for every compiler to allow GHC < 7.0 to compile the tests
-- (because GHC < 7.0 cannot handle conditional LANGUAGE pragmas).
-- When testing with GHC < 7.0 is not needed, the extensions should be removed.

Test-suite map-lazy-properties
    hs-source-dirs: tests, .
    main-is: map-properties.hs
    type: exitcode-stdio-1.0
    cpp-options: -DTESTING

    build-depends: base >= 4.2 && < 5, array, deepseq >= 1.2 && < 1.4, ghc-prim
    ghc-options: -O2
    extensions: MagicHash, DeriveDataTypeable, StandaloneDeriving, Rank2Types

    build-depends:
        HUnit,
        QuickCheck,
        test-framework,
        test-framework-hunit,
        test-framework-quickcheck2

Test-suite map-strict-properties
    hs-source-dirs: tests, .
    main-is: map-properties.hs
    type: exitcode-stdio-1.0
    cpp-options: -DTESTING -DSTRICT

    build-depends: base >= 4.2 && < 5, array, deepseq >= 1.2 && < 1.4, ghc-prim
    ghc-options: -O2
    extensions: MagicHash, DeriveDataTypeable, StandaloneDeriving, Rank2Types

    build-depends:
        HUnit,
        QuickCheck,
        test-framework,
        test-framework-hunit,
        test-framework-quickcheck2

Test-suite set-properties
    hs-source-dirs: tests, .
    main-is: set-properties.hs
    type: exitcode-stdio-1.0
    cpp-options: -DTESTING

    build-depends: base >= 4.2 && < 5, array, deepseq >= 1.2 && < 1.4, ghc-prim
    ghc-options: -O2
    extensions: MagicHash, DeriveDataTypeable, StandaloneDeriving, Rank2Types

    build-depends:
        HUnit,
        QuickCheck,
        test-framework,
        test-framework-hunit,
        test-framework-quickcheck2

Test-suite intmap-lazy-properties
    hs-source-dirs: tests, .
    main-is: intmap-properties.hs
    type: exitcode-stdio-1.0
    cpp-options: -DTESTING

    build-depends: base >= 4.2 && < 5, array, deepseq >= 1.2 && < 1.4, ghc-prim
    ghc-options: -O2
    extensions: MagicHash, DeriveDataTypeable, StandaloneDeriving, Rank2Types

    build-depends:
        HUnit,
        QuickCheck,
        test-framework,
        test-framework-hunit,
        test-framework-quickcheck2

Test-suite intmap-strict-properties
    hs-source-dirs: tests, .
    main-is: intmap-properties.hs
    type: exitcode-stdio-1.0
    cpp-options: -DTESTING -DSTRICT

    build-depends: base >= 4.2 && < 5, array, deepseq >= 1.2 && < 1.4, ghc-prim
    ghc-options: -O2
    extensions: MagicHash, DeriveDataTypeable, StandaloneDeriving, Rank2Types

    build-depends:
        HUnit,
        QuickCheck,
        test-framework,
        test-framework-hunit,
        test-framework-quickcheck2

Test-suite intset-properties
    hs-source-dirs: tests, .
    main-is: intset-properties.hs
    type: exitcode-stdio-1.0
    cpp-options: -DTESTING

    build-depends: base >= 4.2 && < 5, array, deepseq >= 1.2 && < 1.4, ghc-prim
    ghc-options: -O2
    extensions: MagicHash, DeriveDataTypeable, StandaloneDeriving, Rank2Types

    build-depends:
        HUnit,
        QuickCheck,
        test-framework,
        test-framework-hunit,
        test-framework-quickcheck2

Test-suite deprecated-properties
    hs-source-dirs: tests, .
    main-is: deprecated-properties.hs
    type: exitcode-stdio-1.0
    cpp-options: -DTESTING

    build-depends: base >= 4.2 && < 5, array, deepseq >= 1.2 && < 1.4, ghc-prim
    ghc-options: -O2
    extensions: MagicHash, DeriveDataTypeable, StandaloneDeriving, Rank2Types

    build-depends:
        QuickCheck,
        test-framework,
        test-framework-quickcheck2

Test-suite seq-properties
    hs-source-dirs: tests, .
    main-is: seq-properties.hs
    type: exitcode-stdio-1.0
    cpp-options: -DTESTING

    build-depends: base >= 4.2 && < 5, array, deepseq >= 1.2 && < 1.4, ghc-prim
    ghc-options: -O2
    extensions: MagicHash, DeriveDataTypeable, StandaloneDeriving, Rank2Types

    build-depends:
        QuickCheck,
        test-framework,
        test-framework-quickcheck2

test-suite map-strictness-properties
  hs-source-dirs: tests
  main-is: MapStrictness.hs
  type: exitcode-stdio-1.0

  build-depends:
    base,
    ChasingBottoms,
    containers,
    QuickCheck >= 2.4.0.1,
    test-framework >= 0.3.3,
    test-framework-quickcheck2 >= 0.2.9

  ghc-options: -Wall

test-suite intmap-strictness-properties
  hs-source-dirs: tests
  main-is: IntMapStrictness.hs
  type: exitcode-stdio-1.0

  build-depends:
    base,
    ChasingBottoms,
    containers,
    QuickCheck >= 2.4.0.1,
    test-framework >= 0.3.3,
    test-framework-quickcheck2 >= 0.2.9

  ghc-options: -Wall
