Merge changes release by GHC HQ as 0.7.4.1
[packages/containers.git] / containers.cabal
1 name: containers
2 version: 0.5.0.0
3 license: BSD3
4 license-file: LICENSE
5 maintainer: fox@ucw.cz
6 bug-reports: https://github.com/haskell/containers/issues
7 synopsis: Assorted concrete container types
8 category: Data Structures
9 description:
10     This package contains efficient general-purpose implementations
11     of various basic immutable container types.  The declared cost of
12     each operation is either worst-case or amortized, but remains
13     valid even if structures are shared.
14 build-type: Simple
15 cabal-version:  >=1.8
16 extra-source-files:
17     include/Typeable.h
18     tests/Makefile
19     tests/*.hs
20     benchmarks/Makefile
21     benchmarks/bench-cmp.pl
22     benchmarks/bench-cmp.sh
23     benchmarks/*.hs
24     benchmarks/SetOperations/Makefile
25     benchmarks/SetOperations/*.hs
26     benchmarks/LookupGE/Makefile
27     benchmarks/LookupGE/*.hs
28
29 source-repository head
30     type:     git
31     location: http://github.com/haskell/containers.git
32
33 Library
34     build-depends: base >= 4.2 && < 5, array, deepseq >= 1.2 && < 1.4
35     if impl(ghc>=6.10)
36         build-depends: ghc-prim
37
38     ghc-options: -O2 -Wall
39
40     exposed-modules:
41         Data.IntMap
42         Data.IntMap.Lazy
43         Data.IntMap.Strict
44         Data.IntSet
45         Data.Map
46         Data.Map.Lazy
47         Data.Map.Strict
48         Data.Set
49     if !impl(nhc98)
50         exposed-modules:
51             Data.Graph
52             Data.Sequence
53             Data.Tree
54     other-modules:
55         Data.IntMap.Base
56         Data.IntSet.Base
57         Data.Map.Base
58         Data.Set.Base
59         Data.StrictPair
60
61     include-dirs: include
62
63     if impl(ghc<7.0)
64         extensions: MagicHash, DeriveDataTypeable, StandaloneDeriving, Rank2Types
65
66 -------------------
67 -- T E S T I N G --
68 -------------------
69
70 -- Every test-suite contains the build-depends and options of the library,
71 -- plus the testing stuff.
72
73 -- Because the test-suites cannot contain conditionals in GHC 7.0, the extensions
74 -- are switched on for every compiler to allow GHC < 7.0 to compile the tests
75 -- (because GHC < 7.0 cannot handle conditional LANGUAGE pragmas).
76 -- When testing with GHC < 7.0 is not needed, the extensions should be removed.
77
78 Test-suite map-lazy-properties
79     hs-source-dirs: tests, .
80     main-is: map-properties.hs
81     type: exitcode-stdio-1.0
82     cpp-options: -DTESTING
83
84     build-depends: base >= 4.2 && < 5, array, deepseq >= 1.2 && < 1.4, ghc-prim
85     ghc-options: -O2
86     extensions: MagicHash, DeriveDataTypeable, StandaloneDeriving, Rank2Types
87
88     build-depends:
89         HUnit,
90         QuickCheck,
91         test-framework,
92         test-framework-hunit,
93         test-framework-quickcheck2
94
95 Test-suite map-strict-properties
96     hs-source-dirs: tests, .
97     main-is: map-properties.hs
98     type: exitcode-stdio-1.0
99     cpp-options: -DTESTING -DSTRICT
100
101     build-depends: base >= 4.2 && < 5, array, deepseq >= 1.2 && < 1.4, ghc-prim
102     ghc-options: -O2
103     extensions: MagicHash, DeriveDataTypeable, StandaloneDeriving, Rank2Types
104
105     build-depends:
106         HUnit,
107         QuickCheck,
108         test-framework,
109         test-framework-hunit,
110         test-framework-quickcheck2
111
112 Test-suite set-properties
113     hs-source-dirs: tests, .
114     main-is: set-properties.hs
115     type: exitcode-stdio-1.0
116     cpp-options: -DTESTING
117
118     build-depends: base >= 4.2 && < 5, array, deepseq >= 1.2 && < 1.4, ghc-prim
119     ghc-options: -O2
120     extensions: MagicHash, DeriveDataTypeable, StandaloneDeriving, Rank2Types
121
122     build-depends:
123         HUnit,
124         QuickCheck,
125         test-framework,
126         test-framework-hunit,
127         test-framework-quickcheck2
128
129 Test-suite intmap-lazy-properties
130     hs-source-dirs: tests, .
131     main-is: intmap-properties.hs
132     type: exitcode-stdio-1.0
133     cpp-options: -DTESTING
134
135     build-depends: base >= 4.2 && < 5, array, deepseq >= 1.2 && < 1.4, ghc-prim
136     ghc-options: -O2
137     extensions: MagicHash, DeriveDataTypeable, StandaloneDeriving, Rank2Types
138
139     build-depends:
140         HUnit,
141         QuickCheck,
142         test-framework,
143         test-framework-hunit,
144         test-framework-quickcheck2
145
146 Test-suite intmap-strict-properties
147     hs-source-dirs: tests, .
148     main-is: intmap-properties.hs
149     type: exitcode-stdio-1.0
150     cpp-options: -DTESTING -DSTRICT
151
152     build-depends: base >= 4.2 && < 5, array, deepseq >= 1.2 && < 1.4, ghc-prim
153     ghc-options: -O2
154     extensions: MagicHash, DeriveDataTypeable, StandaloneDeriving, Rank2Types
155
156     build-depends:
157         HUnit,
158         QuickCheck,
159         test-framework,
160         test-framework-hunit,
161         test-framework-quickcheck2
162
163 Test-suite intset-properties
164     hs-source-dirs: tests, .
165     main-is: intset-properties.hs
166     type: exitcode-stdio-1.0
167     cpp-options: -DTESTING
168
169     build-depends: base >= 4.2 && < 5, array, deepseq >= 1.2 && < 1.4, ghc-prim
170     ghc-options: -O2
171     extensions: MagicHash, DeriveDataTypeable, StandaloneDeriving, Rank2Types
172
173     build-depends:
174         HUnit,
175         QuickCheck,
176         test-framework,
177         test-framework-hunit,
178         test-framework-quickcheck2
179
180 Test-suite seq-properties
181     hs-source-dirs: tests, .
182     main-is: seq-properties.hs
183     type: exitcode-stdio-1.0
184     cpp-options: -DTESTING
185
186     build-depends: base >= 4.2 && < 5, array, deepseq >= 1.2 && < 1.4, ghc-prim
187     ghc-options: -O2
188     extensions: MagicHash, DeriveDataTypeable, StandaloneDeriving, Rank2Types
189
190     build-depends:
191         QuickCheck,
192         test-framework,
193         test-framework-quickcheck2