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