Add link to trac
[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.4.2
41         .
42         * Unboxed vectors of primitive types and tuples
43         .
44         * Redesigned interface between mutable and immutable vectors (now
45           with the popular @unsafeFreeze@ primitive)
46         .
47         * Many new combinators
48         .
49         * Significant performance improvements
50         .
51
52 Cabal-Version:  >= 1.2
53 Build-Type:     Simple
54
55 Extra-Source-Files:
56       tests/vector-tests.cabal
57       tests/LICENSE
58       tests/Setup.hs
59       tests/Main.hs
60       tests/Boilerplater.hs
61       tests/Utilities.hs
62       tests/Tests/Stream.hs
63       tests/Tests/Vector.hs
64       internal/GenUnboxTuple.hs
65       internal/unbox-tuple-instances
66
67 Flag BoundsChecks
68   Description: Enable bounds checking
69   Default: True
70
71 Flag UnsafeChecks
72   Description: Enable bounds checking in unsafe operations at the cost of a
73                significant performance penalty
74   Default: False
75
76 Flag InternalChecks
77   Description: Enable internal consistency checks at the cost of a
78                significant performance penalty
79   Default: False
80
81
82 Library
83   Extensions: CPP, DeriveDataTypeable
84   Exposed-Modules:
85         Data.Vector.Internal.Check
86
87         Data.Vector.Fusion.Util
88         Data.Vector.Fusion.Stream.Size
89         Data.Vector.Fusion.Stream.Monadic
90         Data.Vector.Fusion.Stream
91
92         Data.Vector.Generic.Mutable
93         Data.Vector.Generic.New
94         Data.Vector.Generic
95
96         Data.Vector.Primitive.Mutable
97         Data.Vector.Primitive
98
99         Data.Vector.Storable.Internal
100         Data.Vector.Storable.Mutable
101         Data.Vector.Storable
102
103         Data.Vector.Unboxed.Base
104         Data.Vector.Unboxed.Mutable
105         Data.Vector.Unboxed
106
107         Data.Vector.Mutable
108         Data.Vector
109
110   Include-Dirs:
111         include, internal
112
113   Install-Includes:
114         vector.h
115
116   Build-Depends: base >= 4 && < 5, ghc >= 6.9, primitive >= 0.3 && < 0.4
117
118   if impl(ghc<6.13)
119     Ghc-Options: -finline-if-enough-args -fno-method-sharing
120   
121   Ghc-Options: -O2
122
123   if flag(BoundsChecks)
124     cpp-options: -DVECTOR_BOUNDS_CHECKS
125
126   if flag(UnsafeChecks)
127     cpp-options: -DVECTOR_UNSAFE_CHECKS
128
129   if flag(InternalChecks)
130     cpp-options: -DVECTOR_INTERNAL_CHECKS
131