46b45563e05ceea0a9810d3d68920a81bd0f120e
[packages/containers.git] / containers.cabal
1 name: containers
2 version: 0.5.8.1
3 license: BSD3
4 license-file: LICENSE
5 maintainer: libraries@haskell.org
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/containers.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     changelog.md
29
30 source-repository head
31     type:     git
32     location: http://github.com/haskell/containers.git
33
34 Library
35     build-depends: base >= 4.3 && < 5, array, deepseq >= 1.2 && < 1.5
36     if impl(ghc)
37         build-depends: ghc-prim
38
39     ghc-options: -O2 -Wall
40
41     other-extensions: CPP, BangPatterns
42
43     exposed-modules:
44         Data.IntMap
45         Data.IntMap.Lazy
46         Data.IntMap.Strict
47         Data.IntMap.Base
48         Data.IntSet.Base
49         Data.IntSet
50         Data.Map
51         Data.Map.Lazy
52         Data.Map.Lazy.Merge
53         Data.Map.Strict.Internal
54         Data.Map.Strict
55         Data.Map.Strict.Merge
56         Data.Map.Base
57         Data.Set.Base
58         Data.Set
59         Data.Graph
60         Data.Sequence
61         Data.Sequence.Base
62         Data.Tree
63         Data.Utils.BitUtil
64         Data.Utils.BitQueue
65         Data.Utils.StrictFold
66         Data.Utils.StrictPair
67         Data.Utils.StrictMaybe
68         Data.Utils.PtrEquality
69
70     include-dirs: include
71
72 -----------------------------
73 -- B E N C H M A R K I N G --
74 -----------------------------
75
76 benchmark intmap-benchmarks
77   type: exitcode-stdio-1.0
78   hs-source-dirs: benchmarks
79   main-is: IntMap.hs
80   ghc-options: -O2
81   build-depends:
82     base >= 4.2 && < 5,
83     containers,
84     criterion >= 0.4.0 && < 1.2,
85     deepseq >= 1.1.0.0 && < 1.5
86
87 benchmark intset-benchmarks
88   type: exitcode-stdio-1.0
89   hs-source-dirs: benchmarks
90   main-is: IntSet.hs
91   ghc-options: -O2
92   build-depends:
93     base >= 4.2 && < 5,
94     containers,
95     criterion >= 0.4.0 && < 1.2,
96     deepseq >= 1.1.0.0 && < 1.5
97
98 benchmark map-benchmarks
99   type: exitcode-stdio-1.0
100   hs-source-dirs: benchmarks
101   main-is: Map.hs
102   ghc-options: -O2
103   build-depends:
104     base >= 4.2 && < 5,
105     containers,
106     criterion >= 0.4.0 && < 1.2,
107     deepseq >= 1.1.0.0 && < 1.5
108
109 benchmark sequence-benchmarks
110   type: exitcode-stdio-1.0
111   hs-source-dirs: benchmarks
112   main-is: Sequence.hs
113   ghc-options: -O2
114   build-depends:
115     base >= 4.2 && < 5,
116     containers,
117     criterion >= 0.4.0 && < 1.2,
118     deepseq >= 1.1.0.0 && < 1.5,
119     random < 1.2,
120     transformers
121
122 benchmark set-benchmarks
123   type: exitcode-stdio-1.0
124   hs-source-dirs: benchmarks
125   main-is: Set.hs
126   ghc-options: -O2
127   build-depends:
128     base >= 4.2 && < 5,
129     containers,
130     criterion >= 0.4.0 && < 1.2,
131     deepseq >= 1.1.0.0 && < 1.5
132
133 benchmark set-operations-intmap
134   type: exitcode-stdio-1.0
135   hs-source-dirs: benchmarks/SetOperations
136   main-is: SetOperations-IntMap.hs
137   ghc-options: -O2
138   build-depends:
139     base >= 4.2 && < 5,
140     containers,
141     criterion >= 0.4.0 && < 1.2
142
143 benchmark set-operations-intset
144   type: exitcode-stdio-1.0
145   hs-source-dirs: benchmarks/SetOperations
146   main-is: SetOperations-IntSet.hs
147   ghc-options: -O2
148   build-depends:
149     base >= 4.2 && < 5,
150     containers,
151     criterion >= 0.4.0 && < 1.2
152
153 benchmark set-operations-map
154   type: exitcode-stdio-1.0
155   hs-source-dirs: benchmarks/SetOperations
156   main-is: SetOperations-Map.hs
157   ghc-options: -O2
158   build-depends:
159     base >= 4.2 && < 5,
160     containers,
161     criterion >= 0.4.0 && < 1.2
162
163 benchmark set-operations-set
164   type: exitcode-stdio-1.0
165   hs-source-dirs: benchmarks/SetOperations
166   main-is: SetOperations-Set.hs
167   ghc-options: -O2
168   build-depends:
169     base >= 4.2 && < 5,
170     containers,
171     criterion >= 0.4.0 && < 1.2
172
173 benchmark lookupge-intmap
174   type: exitcode-stdio-1.0
175   hs-source-dirs: benchmarks/LookupGE, .
176   main-is: IntMap.hs
177   ghc-options: -O2
178   cpp-options: -DTESTING
179   other-modules:
180     Data.IntMap.Base
181   build-depends:
182     base >= 4.2 && < 5,
183     containers,
184     criterion >= 0.4.0 && < 1.2,
185     deepseq >= 1.1.0.0 && < 1.5,
186     ghc-prim
187
188 benchmark lookupge-map
189   type: exitcode-stdio-1.0
190   hs-source-dirs: benchmarks/LookupGE, .
191   main-is: Map.hs
192   ghc-options: -O2
193   cpp-options: -DTESTING
194   other-modules:
195     Data.Map.Base
196   build-depends:
197     base >= 4.2 && < 5,
198     containers,
199     criterion >= 0.4.0 && < 1.2,
200     deepseq >= 1.1.0.0 && < 1.5,
201     ghc-prim
202
203 -------------------
204 -- T E S T I N G --
205 -------------------
206
207 -- Every test-suite contains the build-depends and options of the library,
208 -- plus the testing stuff.
209
210 Test-suite map-lazy-properties
211     hs-source-dirs: tests, .
212     main-is: map-properties.hs
213     type: exitcode-stdio-1.0
214     cpp-options: -DTESTING
215
216     build-depends: base >= 4.3 && < 5, array, deepseq >= 1.2 && < 1.5, ghc-prim
217     ghc-options: -O2
218     other-extensions: CPP, BangPatterns
219     include-dirs: include
220
221     build-depends:
222         HUnit,
223         QuickCheck,
224         test-framework,
225         test-framework-hunit,
226         test-framework-quickcheck2,
227         transformers
228
229 Test-suite map-strict-properties
230     hs-source-dirs: tests, .
231     main-is: map-properties.hs
232     type: exitcode-stdio-1.0
233     cpp-options: -DTESTING -DSTRICT
234
235     build-depends: base >= 4.3 && < 5, array, deepseq >= 1.2 && < 1.5, ghc-prim
236     ghc-options: -O2
237     other-extensions: CPP, BangPatterns
238     include-dirs: include
239
240     build-depends:
241         HUnit,
242         QuickCheck,
243         test-framework,
244         test-framework-hunit,
245         test-framework-quickcheck2,
246         transformers
247
248 Test-suite bitqueue-properties
249     hs-source-dirs: tests, .
250     main-is: bitqueue-properties.hs
251     type: exitcode-stdio-1.0
252     cpp-options: -DTESTING
253
254     build-depends: base >= 4.3 && < 5, ghc-prim
255     ghc-options: -O2
256     other-extensions: CPP, BangPatterns
257     include-dirs: include
258
259     build-depends:
260         QuickCheck,
261         test-framework,
262         test-framework-quickcheck2
263
264 Test-suite set-properties
265     hs-source-dirs: tests, .
266     main-is: set-properties.hs
267     type: exitcode-stdio-1.0
268     cpp-options: -DTESTING
269
270     build-depends: base >= 4.3 && < 5, array, deepseq >= 1.2 && < 1.5, ghc-prim
271     ghc-options: -O2
272     other-extensions: CPP, BangPatterns
273     include-dirs: include
274
275     build-depends:
276         HUnit,
277         QuickCheck,
278         test-framework,
279         test-framework-hunit,
280         test-framework-quickcheck2,
281         transformers
282
283 Test-suite intmap-lazy-properties
284     hs-source-dirs: tests, .
285     main-is: intmap-properties.hs
286     type: exitcode-stdio-1.0
287     cpp-options: -DTESTING
288
289     build-depends: base >= 4.3 && < 5, array, deepseq >= 1.2 && < 1.5, ghc-prim
290     ghc-options: -O2
291     other-extensions: CPP, BangPatterns
292     include-dirs: include
293
294     build-depends:
295         HUnit,
296         QuickCheck,
297         test-framework,
298         test-framework-hunit,
299         test-framework-quickcheck2
300
301 Test-suite intmap-strict-properties
302     hs-source-dirs: tests, .
303     main-is: intmap-properties.hs
304     type: exitcode-stdio-1.0
305     cpp-options: -DTESTING -DSTRICT
306
307     build-depends: base >= 4.3 && < 5, array, deepseq >= 1.2 && < 1.5, ghc-prim
308     ghc-options: -O2
309     other-extensions: CPP, BangPatterns
310     include-dirs: include
311
312     build-depends:
313         HUnit,
314         QuickCheck,
315         test-framework,
316         test-framework-hunit,
317         test-framework-quickcheck2
318
319 Test-suite intset-properties
320     hs-source-dirs: tests, .
321     main-is: intset-properties.hs
322     type: exitcode-stdio-1.0
323     cpp-options: -DTESTING
324
325     build-depends: base >= 4.3 && < 5, array, deepseq >= 1.2 && < 1.5, ghc-prim
326     ghc-options: -O2
327     other-extensions: CPP, BangPatterns
328     include-dirs: include
329
330     build-depends:
331         HUnit,
332         QuickCheck,
333         test-framework,
334         test-framework-hunit,
335         test-framework-quickcheck2
336
337 Test-suite deprecated-properties
338     hs-source-dirs: tests, .
339     main-is: deprecated-properties.hs
340     type: exitcode-stdio-1.0
341     cpp-options: -DTESTING
342
343     build-depends: base >= 4.3 && < 5, array, deepseq >= 1.2 && < 1.5, ghc-prim
344     ghc-options: -O2
345     other-extensions: CPP, BangPatterns
346     include-dirs: include
347
348     build-depends:
349         QuickCheck,
350         test-framework,
351         test-framework-quickcheck2
352
353 Test-suite seq-properties
354     hs-source-dirs: tests, .
355     main-is: seq-properties.hs
356     type: exitcode-stdio-1.0
357     cpp-options: -DTESTING
358
359     build-depends: base >= 4.3 && < 5, array, deepseq >= 1.2 && < 1.5, ghc-prim
360     ghc-options: -O2
361     other-extensions: CPP, BangPatterns
362     include-dirs: include
363
364     build-depends:
365         QuickCheck,
366         test-framework,
367         test-framework-quickcheck2,
368         transformers
369
370 test-suite map-strictness-properties
371   hs-source-dirs: tests, .
372   main-is: map-strictness.hs
373   type: exitcode-stdio-1.0
374
375   build-depends:
376     array,
377     base >= 4.3 && < 5,
378     ChasingBottoms,
379     deepseq >= 1.2 && < 1.5,
380     QuickCheck >= 2.4.0.1,
381     ghc-prim,
382     test-framework >= 0.3.3,
383     test-framework-quickcheck2 >= 0.2.9
384
385   ghc-options: -Wall
386   other-extensions: CPP, BangPatterns
387   include-dirs: include
388
389 test-suite intmap-strictness-properties
390   hs-source-dirs: tests, .
391   main-is: intmap-strictness.hs
392   type: exitcode-stdio-1.0
393   other-extensions: CPP, BangPatterns
394
395   build-depends:
396     array,
397     base >= 4.3 && < 5,
398     ChasingBottoms,
399     deepseq >= 1.2 && < 1.5,
400     QuickCheck >= 2.4.0.1,
401     ghc-prim,
402     test-framework >= 0.3.3,
403     test-framework-quickcheck2 >= 0.2.9
404
405   ghc-options: -Wall
406   include-dirs: include
407
408 test-suite intset-strictness-properties
409   hs-source-dirs: tests, .
410   main-is: intset-strictness.hs
411   type: exitcode-stdio-1.0
412   other-extensions: CPP, BangPatterns
413
414   build-depends:
415     array,
416     base >= 4.3 && < 5,
417     ChasingBottoms,
418     deepseq >= 1.2 && < 1.5,
419     QuickCheck >= 2.4.0.1,
420     ghc-prim,
421     test-framework >= 0.3.3,
422     test-framework-quickcheck2 >= 0.2.9
423
424   ghc-options: -Wall
425   include-dirs: include