Don't use package ghc
[darcs-mirrors/vector.git] / vector.cabal
1 Name:           vector
2 Version:        0.7.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 in version 0.7.0.1
42         .
43         * Dependency on package ghc removed
44         .
45         Changes in version 0.7
46         .
47         * New functions for freezing, copying and thawing vectors: @freeze@,
48           @thaw@, @unsafeThaw@ and @clone@
49         .
50         * @newWith@ and @newUnsafeWith@ on mutable vectors replaced by
51           @replicate@
52         .
53         * New function: @concat@
54         .
55         * New function for safe indexing: @(!?)@
56         .
57         * @Monoid@ instances for all vector types
58         .
59         * Significant recycling and fusion improvements
60         .
61         * Bug fixes
62         .
63         * Support for GHC 7.0
64         .
65
66 Cabal-Version:  >= 1.2.3
67 Build-Type:     Simple
68
69 Extra-Source-Files:
70       tests/vector-tests.cabal
71       tests/LICENSE
72       tests/Setup.hs
73       tests/Main.hs
74       tests/Boilerplater.hs
75       tests/Utilities.hs
76       tests/Tests/Stream.hs
77       tests/Tests/Vector.hs
78       benchmarks/vector-benchmarks.cabal
79       benchmarks/LICENSE
80       benchmarks/Setup.hs
81       benchmarks/Main.hs
82       benchmarks/Algo/AwShCC.hs
83       benchmarks/Algo/HybCC.hs
84       benchmarks/Algo/Leaffix.hs
85       benchmarks/Algo/ListRank.hs
86       benchmarks/Algo/Quickhull.hs
87       benchmarks/Algo/Rootfix.hs
88       benchmarks/Algo/Spectral.hs
89       benchmarks/Algo/Tridiag.hs
90       benchmarks/TestData/Graph.hs
91       benchmarks/TestData/ParenTree.hs
92       benchmarks/TestData/Random.hs
93       internal/GenUnboxTuple.hs
94       internal/unbox-tuple-instances
95       Changelog
96
97 Flag BoundsChecks
98   Description: Enable bounds checking
99   Default: True
100
101 Flag UnsafeChecks
102   Description: Enable bounds checking in unsafe operations at the cost of a
103                significant performance penalty
104   Default: False
105
106 Flag InternalChecks
107   Description: Enable internal consistency checks at the cost of a
108                significant performance penalty
109   Default: False
110
111
112 Library
113   Extensions: CPP, DeriveDataTypeable
114   Exposed-Modules:
115         Data.Vector.Internal.Check
116
117         Data.Vector.Fusion.Util
118         Data.Vector.Fusion.Stream.Size
119         Data.Vector.Fusion.Stream.Monadic
120         Data.Vector.Fusion.Stream
121
122         Data.Vector.Generic.Mutable
123         Data.Vector.Generic.Base
124         Data.Vector.Generic.New
125         Data.Vector.Generic
126
127         Data.Vector.Primitive.Mutable
128         Data.Vector.Primitive
129
130         Data.Vector.Storable.Internal
131         Data.Vector.Storable.Mutable
132         Data.Vector.Storable
133
134         Data.Vector.Unboxed.Base
135         Data.Vector.Unboxed.Mutable
136         Data.Vector.Unboxed
137
138         Data.Vector.Mutable
139         Data.Vector
140
141   Include-Dirs:
142         include, internal
143
144   Install-Includes:
145         vector.h
146
147   Build-Depends: base >= 4 && < 5, primitive >= 0.3.1 && < 0.4
148
149   if impl(ghc<6.13)
150     Ghc-Options: -finline-if-enough-args -fno-method-sharing
151   
152   Ghc-Options: -O2
153
154   if flag(BoundsChecks)
155     cpp-options: -DVECTOR_BOUNDS_CHECKS
156
157   if flag(UnsafeChecks)
158     cpp-options: -DVECTOR_UNSAFE_CHECKS
159
160   if flag(InternalChecks)
161     cpp-options: -DVECTOR_INTERNAL_CHECKS
162