Set versions to 0.6.0.1 and require this vector version in tests and benchmarks
[darcs-mirrors/vector.git] / vector.cabal
1 Name:           vector
2 Version:        0.6.0.1
3 License:        BSD3
4 License-File:   LICENSE
5 Author:         Roman Leshchinskiy <rl@cse.unsw.edu.au>
6 Maintainer:     Roman Leshchinskiy <rl@cse.unsw.edu.au>
7 Copyright:      (c) Roman Leshchinskiy 2008-2010
8 Homepage:       http://code.haskell.org/vector
9 Bug-Reports:    http://trac.haskell.org/vector
10 Category:       Data, Data Structures
11 Synopsis:       Efficient Arrays
12 Description:
13         .
14         An efficient implementation of Int-indexed arrays (both mutable
15         and immutable), with a powerful loop fusion optimization framework .
16         .
17         It is structured as follows:
18         .
19         [@Data.Vector@] Boxed vectors of arbitrary types.
20         .
21         [@Data.Vector.Unboxed@] Unboxed vectors with an adaptive
22         representation based on data type families.
23         .
24         [@Data.Vector.Storable@] Unboxed vectors of 'Storable' types.
25         .
26         [@Data.Vector.Primitive@] Unboxed vectors of primitive types as
27         defined by the @primitive@ package. @Data.Vector.Unboxed@ is more
28         flexible at no performance cost.
29         .
30         [@Data.Vector.Generic@] Generic interface to the vector types.
31         .
32         There is also a (draft) tutorial on common uses of vector.
33         .
34         * <http://haskell.org/haskellwiki/Numeric_Haskell:_A_Vector_Tutorial>
35         .
36         Please use the project trac to submit bug reports and feature
37         requests.
38         .
39         * <http://trac.haskell.org/vector>
40         .
41         Changes since version 0.6
42         .
43         * Improved documentation
44         .
45         Changes since version 0.5
46         .
47         * More efficient representation of @Storable@ vectors
48         .
49         * Block copy operations used when possible
50         .
51         * @Typeable@ and @Data@ instances
52         .
53         * Monadic combinators (@replicateM@, @mapM@ etc.)
54         .
55         * Better support for recycling (see @create@ and @modify@)
56         .
57         * Performance improvements
58         .
59
60 Cabal-Version:  >= 1.2.3
61 Build-Type:     Simple
62
63 Extra-Source-Files:
64       tests/vector-tests.cabal
65       tests/LICENSE
66       tests/Setup.hs
67       tests/Main.hs
68       tests/Boilerplater.hs
69       tests/Utilities.hs
70       tests/Tests/Stream.hs
71       tests/Tests/Vector.hs
72       benchmarks/vector-benchmarks.cabal
73       benchmarks/LICENSE
74       benchmarks/Setup.hs
75       benchmarks/Main.hs
76       benchmarks/Algo/AwShCC.hs
77       benchmarks/Algo/HybCC.hs
78       benchmarks/Algo/Leaffix.hs
79       benchmarks/Algo/ListRank.hs
80       benchmarks/Algo/Quickhull.hs
81       benchmarks/Algo/Rootfix.hs
82       benchmarks/Algo/Spectral.hs
83       benchmarks/Algo/Tridiag.hs
84       benchmarks/TestData/Graph.hs
85       benchmarks/TestData/ParenTree.hs
86       benchmarks/TestData/Random.hs
87       internal/GenUnboxTuple.hs
88       internal/unbox-tuple-instances
89
90 Flag BoundsChecks
91   Description: Enable bounds checking
92   Default: True
93
94 Flag UnsafeChecks
95   Description: Enable bounds checking in unsafe operations at the cost of a
96                significant performance penalty
97   Default: False
98
99 Flag InternalChecks
100   Description: Enable internal consistency checks at the cost of a
101                significant performance penalty
102   Default: False
103
104
105 Library
106   Extensions: CPP, DeriveDataTypeable
107   Exposed-Modules:
108         Data.Vector.Internal.Check
109
110         Data.Vector.Fusion.Util
111         Data.Vector.Fusion.Stream.Size
112         Data.Vector.Fusion.Stream.Monadic
113         Data.Vector.Fusion.Stream
114
115         Data.Vector.Generic.Mutable
116         Data.Vector.Generic.Base
117         Data.Vector.Generic.New
118         Data.Vector.Generic
119
120         Data.Vector.Primitive.Mutable
121         Data.Vector.Primitive
122
123         Data.Vector.Storable.Internal
124         Data.Vector.Storable.Mutable
125         Data.Vector.Storable
126
127         Data.Vector.Unboxed.Base
128         Data.Vector.Unboxed.Mutable
129         Data.Vector.Unboxed
130
131         Data.Vector.Mutable
132         Data.Vector
133
134   Include-Dirs:
135         include, internal
136
137   Install-Includes:
138         vector.h
139
140   Build-Depends: base >= 4 && < 5, ghc >= 6.9, primitive >= 0.3 && < 0.4
141
142   if impl(ghc<6.13)
143     Ghc-Options: -finline-if-enough-args -fno-method-sharing
144   
145   Ghc-Options: -O2
146
147   if flag(BoundsChecks)
148     cpp-options: -DVECTOR_BOUNDS_CHECKS
149
150   if flag(UnsafeChecks)
151     cpp-options: -DVECTOR_UNSAFE_CHECKS
152
153   if flag(InternalChecks)
154     cpp-options: -DVECTOR_INTERNAL_CHECKS
155