f66078ccf58bd967908cf1f0b8609ef36203967e
[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/Bundle.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.Monadic
103         Data.Vector.Fusion.Bundle.Size
104         Data.Vector.Fusion.Bundle.Monadic
105         Data.Vector.Fusion.Bundle
106
107         Data.Vector.Generic.Mutable.Base
108         Data.Vector.Generic.Mutable
109         Data.Vector.Generic.Base
110         Data.Vector.Generic.New
111         Data.Vector.Generic
112
113         Data.Vector.Primitive.Mutable
114         Data.Vector.Primitive
115
116         Data.Vector.Storable.Internal
117         Data.Vector.Storable.Mutable
118         Data.Vector.Storable
119
120         Data.Vector.Unboxed.Base
121         Data.Vector.Unboxed.Mutable
122         Data.Vector.Unboxed
123
124         Data.Vector.Mutable
125         Data.Vector
126
127   Include-Dirs:
128         include, internal
129
130   Install-Includes:
131         vector.h
132
133   Build-Depends: base >= 4 && < 5
134                , primitive >= 0.5 && < 0.6
135                , ghc-prim
136                , deepseq >= 1.1 && < 1.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