Bump version number
[darcs-mirrors/vector.git] / vector.cabal
1 Name:           vector
2 Version:        0.6.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.5
42         .
43         * More efficient representation of @Storable@ vectors
44         .
45         * Block copy operations used when possible
46         .
47         * @Typeable@ and @Data@ instances
48         .
49         * Monadic combinators (@replicateM@, @mapM@ etc.)
50         .
51         * Better support for recycling (see @create@ and @modify@)
52         .
53         * Performance improvements
54         .
55
56 Cabal-Version:  >= 1.2.3
57 Build-Type:     Simple
58
59 Extra-Source-Files:
60       tests/vector-tests.cabal
61       tests/LICENSE
62       tests/Setup.hs
63       tests/Main.hs
64       tests/Boilerplater.hs
65       tests/Utilities.hs
66       tests/Tests/Stream.hs
67       tests/Tests/Vector.hs
68       benchmarks/vector-benchmarks.cabal
69       benchmarks/LICENSE
70       benchmarks/Setup.hs
71       benchmarks/Main.hs
72       benchmarks/Algo/AwShCC.hs
73       benchmarks/Algo/HybCC.hs
74       benchmarks/Algo/Leaffix.hs
75       benchmarks/Algo/ListRank.hs
76       benchmarks/Algo/Quickhull.hs
77       benchmarks/Algo/Rootfix.hs
78       benchmarks/Algo/Spectral.hs
79       benchmarks/Algo/Tridiag.hs
80       benchmarks/TestData/Graph.hs
81       benchmarks/TestData/ParenTree.hs
82       benchmarks/TestData/Random.hs
83       internal/GenUnboxTuple.hs
84       internal/unbox-tuple-instances
85
86 Flag BoundsChecks
87   Description: Enable bounds checking
88   Default: True
89
90 Flag UnsafeChecks
91   Description: Enable bounds checking in unsafe operations at the cost of a
92                significant performance penalty
93   Default: False
94
95 Flag InternalChecks
96   Description: Enable internal consistency checks at the cost of a
97                significant performance penalty
98   Default: False
99
100
101 Library
102   Extensions: CPP, DeriveDataTypeable
103   Exposed-Modules:
104         Data.Vector.Internal.Check
105
106         Data.Vector.Fusion.Util
107         Data.Vector.Fusion.Stream.Size
108         Data.Vector.Fusion.Stream.Monadic
109         Data.Vector.Fusion.Stream
110
111         Data.Vector.Generic.Mutable
112         Data.Vector.Generic.Base
113         Data.Vector.Generic.New
114         Data.Vector.Generic
115
116         Data.Vector.Primitive.Mutable
117         Data.Vector.Primitive
118
119         Data.Vector.Storable.Internal
120         Data.Vector.Storable.Mutable
121         Data.Vector.Storable
122
123         Data.Vector.Unboxed.Base
124         Data.Vector.Unboxed.Mutable
125         Data.Vector.Unboxed
126
127         Data.Vector.Mutable
128         Data.Vector
129
130   Include-Dirs:
131         include, internal
132
133   Install-Includes:
134         vector.h
135
136   Build-Depends: base >= 4 && < 5, ghc >= 6.9, primitive >= 0.3 && < 0.4
137
138   if impl(ghc<6.13)
139     Ghc-Options: -finline-if-enough-args -fno-method-sharing
140   
141   Ghc-Options: -O2
142
143   if flag(BoundsChecks)
144     cpp-options: -DVECTOR_BOUNDS_CHECKS
145
146   if flag(UnsafeChecks)
147     cpp-options: -DVECTOR_UNSAFE_CHECKS
148
149   if flag(InternalChecks)
150     cpp-options: -DVECTOR_INTERNAL_CHECKS
151