3b4eeb8eca3e3ac93b6ccee42feeb646606b723d
[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.New
95         Data.Vector.Generic
96
97         Data.Vector.Primitive.Mutable
98         Data.Vector.Primitive
99
100         Data.Vector.Storable.Internal
101         Data.Vector.Storable.Mutable
102         Data.Vector.Storable
103
104         Data.Vector.Unboxed.Base
105         Data.Vector.Unboxed.Mutable
106         Data.Vector.Unboxed
107
108         Data.Vector.Mutable
109         Data.Vector
110
111   Include-Dirs:
112         include, internal
113
114   Install-Includes:
115         vector.h
116
117   Build-Depends: base >= 4 && < 5, ghc >= 6.9, primitive >= 0.3 && < 0.4
118
119   if impl(ghc<6.13)
120     Ghc-Options: -finline-if-enough-args -fno-method-sharing
121   
122   Ghc-Options: -O2
123
124   if flag(BoundsChecks)
125     cpp-options: -DVECTOR_BOUNDS_CHECKS
126
127   if flag(UnsafeChecks)
128     cpp-options: -DVECTOR_UNSAFE_CHECKS
129
130   if flag(InternalChecks)
131     cpp-options: -DVECTOR_INTERNAL_CHECKS
132