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