Merge pull request #67 from hvr/pr-deepseq-14
[packages/containers.git] / containers.cabal
1 name: containers
2 version: 0.5.5.1
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.5
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.Utils.BitUtil
60         Data.Utils.StrictFold
61         Data.Utils.StrictPair
62
63     include-dirs: include
64
65     if impl(ghc<7.0)
66         extensions: MagicHash, DeriveDataTypeable, StandaloneDeriving, Rank2Types
67
68 -------------------
69 -- T E S T I N G --
70 -------------------
71
72 -- Every test-suite contains the build-depends and options of the library,
73 -- plus the testing stuff.
74
75 -- Because the test-suites cannot contain conditionals in GHC 7.0, the extensions
76 -- are switched on for every compiler to allow GHC < 7.0 to compile the tests
77 -- (because GHC < 7.0 cannot handle conditional LANGUAGE pragmas).
78 -- When testing with GHC < 7.0 is not needed, the extensions should be removed.
79
80 Test-suite map-lazy-properties
81     hs-source-dirs: tests, .
82     main-is: map-properties.hs
83     type: exitcode-stdio-1.0
84     cpp-options: -DTESTING
85
86     build-depends: base >= 4.2 && < 5, array, deepseq >= 1.2 && < 1.5, ghc-prim
87     ghc-options: -O2
88     extensions: MagicHash, DeriveDataTypeable, StandaloneDeriving, Rank2Types
89
90     build-depends:
91         HUnit,
92         QuickCheck,
93         test-framework,
94         test-framework-hunit,
95         test-framework-quickcheck2
96
97 Test-suite map-strict-properties
98     hs-source-dirs: tests, .
99     main-is: map-properties.hs
100     type: exitcode-stdio-1.0
101     cpp-options: -DTESTING -DSTRICT
102
103     build-depends: base >= 4.2 && < 5, array, deepseq >= 1.2 && < 1.5, ghc-prim
104     ghc-options: -O2
105     extensions: MagicHash, DeriveDataTypeable, StandaloneDeriving, Rank2Types
106
107     build-depends:
108         HUnit,
109         QuickCheck,
110         test-framework,
111         test-framework-hunit,
112         test-framework-quickcheck2
113
114 Test-suite set-properties
115     hs-source-dirs: tests, .
116     main-is: set-properties.hs
117     type: exitcode-stdio-1.0
118     cpp-options: -DTESTING
119
120     build-depends: base >= 4.2 && < 5, array, deepseq >= 1.2 && < 1.5, ghc-prim
121     ghc-options: -O2
122     extensions: MagicHash, DeriveDataTypeable, StandaloneDeriving, Rank2Types
123
124     build-depends:
125         HUnit,
126         QuickCheck,
127         test-framework,
128         test-framework-hunit,
129         test-framework-quickcheck2
130
131 Test-suite intmap-lazy-properties
132     hs-source-dirs: tests, .
133     main-is: intmap-properties.hs
134     type: exitcode-stdio-1.0
135     cpp-options: -DTESTING
136
137     build-depends: base >= 4.2 && < 5, array, deepseq >= 1.2 && < 1.5, ghc-prim
138     ghc-options: -O2
139     extensions: MagicHash, DeriveDataTypeable, StandaloneDeriving, Rank2Types
140
141     build-depends:
142         HUnit,
143         QuickCheck,
144         test-framework,
145         test-framework-hunit,
146         test-framework-quickcheck2
147
148 Test-suite intmap-strict-properties
149     hs-source-dirs: tests, .
150     main-is: intmap-properties.hs
151     type: exitcode-stdio-1.0
152     cpp-options: -DTESTING -DSTRICT
153
154     build-depends: base >= 4.2 && < 5, array, deepseq >= 1.2 && < 1.5, ghc-prim
155     ghc-options: -O2
156     extensions: MagicHash, DeriveDataTypeable, StandaloneDeriving, Rank2Types
157
158     build-depends:
159         HUnit,
160         QuickCheck,
161         test-framework,
162         test-framework-hunit,
163         test-framework-quickcheck2
164
165 Test-suite intset-properties
166     hs-source-dirs: tests, .
167     main-is: intset-properties.hs
168     type: exitcode-stdio-1.0
169     cpp-options: -DTESTING
170
171     build-depends: base >= 4.2 && < 5, array, deepseq >= 1.2 && < 1.5, ghc-prim
172     ghc-options: -O2
173     extensions: MagicHash, DeriveDataTypeable, StandaloneDeriving, Rank2Types
174
175     build-depends:
176         HUnit,
177         QuickCheck,
178         test-framework,
179         test-framework-hunit,
180         test-framework-quickcheck2
181
182 Test-suite deprecated-properties
183     hs-source-dirs: tests, .
184     main-is: deprecated-properties.hs
185     type: exitcode-stdio-1.0
186     cpp-options: -DTESTING
187
188     build-depends: base >= 4.2 && < 5, array, deepseq >= 1.2 && < 1.5, ghc-prim
189     ghc-options: -O2
190     extensions: MagicHash, DeriveDataTypeable, StandaloneDeriving, Rank2Types
191
192     build-depends:
193         QuickCheck,
194         test-framework,
195         test-framework-quickcheck2
196
197 Test-suite seq-properties
198     hs-source-dirs: tests, .
199     main-is: seq-properties.hs
200     type: exitcode-stdio-1.0
201     cpp-options: -DTESTING
202
203     build-depends: base >= 4.2 && < 5, array, deepseq >= 1.2 && < 1.5, ghc-prim
204     ghc-options: -O2
205     extensions: MagicHash, DeriveDataTypeable, StandaloneDeriving, Rank2Types
206
207     build-depends:
208         QuickCheck,
209         test-framework,
210         test-framework-quickcheck2
211
212 test-suite map-strictness-properties
213   hs-source-dirs: tests, .
214   main-is: MapStrictness.hs
215   type: exitcode-stdio-1.0
216
217   build-depends:
218     array,
219     base >= 4.2 && < 5,
220     ChasingBottoms,
221     deepseq >= 1.2 && < 1.5,
222     QuickCheck >= 2.4.0.1,
223     ghc-prim,
224     test-framework >= 0.3.3,
225     test-framework-quickcheck2 >= 0.2.9
226
227   ghc-options: -Wall
228
229 test-suite intmap-strictness-properties
230   hs-source-dirs: tests, .
231   main-is: IntMapStrictness.hs
232   type: exitcode-stdio-1.0
233
234   build-depends:
235     array,
236     base >= 4.2 && < 5,
237     ChasingBottoms,
238     deepseq >= 1.2 && < 1.5,
239     QuickCheck >= 2.4.0.1,
240     ghc-prim,
241     test-framework >= 0.3.3,
242     test-framework-quickcheck2 >= 0.2.9
243
244   ghc-options: -Wall