Tie New to a particular vector type
[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 Category:       Data, Data Structures
10 Synopsis:       Efficient Arrays
11 Description:
12         .
13         An efficient implementation of Int-indexed arrays (both mutable
14         and immutable), with a powerful loop fusion optimization framework .
15         .
16         It is structured as follows:
17         .
18         [@Data.Vector@] Boxed vectors of arbitrary types.
19         .
20         [@Data.Vector.Unboxed@] Unboxed vectors with an adaptive
21         representation based on data type families.
22         .
23         [@Data.Vector.Storable@] Unboxed vectors of 'Storable' types.
24         .
25         [@Data.Vector.Primitive@] Unboxed vectors of primitive types as
26         defined by the @primitive@ package. @Data.Vector.Unboxed@ is more
27         flexible at no performance cost.
28         .
29         [@Data.Vector.Generic@] Generic interface to the vector types.
30         .
31         There is also a (draft) tutorial on common uses of vector.
32         .
33         * <http://haskell.org/haskellwiki/Numeric_Haskell:_A_Vector_Tutorial>
34         .
35         Please use the project trac to submit bug reports and feature
36         requests.
37         .
38         * <http://trac.haskell.org/vector>
39         .
40         Changes since version 0.5
41         .
42         * More efficient representation of @Storable@ vectors
43         .
44         * Block copy operations used when possible
45         .
46         * @Typeable@ and @Data@ instances
47         .
48         * New combinators
49         .
50         * Performance improvements
51         .
52
53 Cabal-Version:  >= 1.2
54 Build-Type:     Simple
55
56 Extra-Source-Files:
57       tests/vector-tests.cabal
58       tests/LICENSE
59       tests/Setup.hs
60       tests/Main.hs
61       tests/Boilerplater.hs
62       tests/Utilities.hs
63       tests/Tests/Stream.hs
64       tests/Tests/Vector.hs
65       internal/GenUnboxTuple.hs
66       internal/unbox-tuple-instances
67
68 Flag BoundsChecks
69   Description: Enable bounds checking
70   Default: True
71
72 Flag UnsafeChecks
73   Description: Enable bounds checking in unsafe operations at the cost of a
74                significant performance penalty
75   Default: False
76
77 Flag InternalChecks
78   Description: Enable internal consistency checks at the cost of a
79                significant performance penalty
80   Default: False
81
82
83 Library
84   Extensions: CPP, DeriveDataTypeable
85   Exposed-Modules:
86         Data.Vector.Internal.Check
87
88         Data.Vector.Fusion.Util
89         Data.Vector.Fusion.Stream.Size
90         Data.Vector.Fusion.Stream.Monadic
91         Data.Vector.Fusion.Stream
92
93         Data.Vector.Generic.Mutable
94         Data.Vector.Generic.Base
95         Data.Vector.Generic.New
96         Data.Vector.Generic
97
98         Data.Vector.Primitive.Mutable
99         Data.Vector.Primitive
100
101         Data.Vector.Storable.Internal
102         Data.Vector.Storable.Mutable
103         Data.Vector.Storable
104
105         Data.Vector.Unboxed.Base
106         Data.Vector.Unboxed.Mutable
107         Data.Vector.Unboxed
108
109         Data.Vector.Mutable
110         Data.Vector
111
112   Include-Dirs:
113         include, internal
114
115   Install-Includes:
116         vector.h
117
118   Build-Depends: base >= 4 && < 5, ghc >= 6.9, primitive >= 0.3 && < 0.4
119
120   if impl(ghc<6.13)
121     Ghc-Options: -finline-if-enough-args -fno-method-sharing
122   
123   Ghc-Options: -O2
124
125   if flag(BoundsChecks)
126     cpp-options: -DVECTOR_BOUNDS_CHECKS
127
128   if flag(UnsafeChecks)
129     cpp-options: -DVECTOR_UNSAFE_CHECKS
130
131   if flag(InternalChecks)
132     cpp-options: -DVECTOR_INTERNAL_CHECKS
133