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