Add enumFromN, enumFromStepN
[darcs-mirrors/vector.git] / vector.cabal
1 Name:           vector
2 Version:        0.5
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-2009
8 Homepage:       http://darcs.haskell.org/vector
9 Category:       Data, Data Structures
10 Synopsis:       Efficient Arrays
11 Description:
12         .
13         An efficient implementation of Int-indexed arrays with a powerful loop
14         fusion 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
32 Cabal-Version:  >= 1.2
33 Build-Type:     Simple
34
35 Extra-Source-Files:
36       tests/vector-tests.cabal
37       tests/LICENSE
38       tests/Setup.hs
39       tests/Main.hs
40       tests/Boilerplater.hs
41       tests/Utilities.hs
42       tests/Tests/Stream.hs
43       tests/Tests/Vector.hs
44       internal/GenUnboxTuple.hs
45       internal/unbox-tuple-instances
46
47 Flag BoundsChecks
48   Description: Enable bounds checking
49   Default: True
50
51 Flag UnsafeChecks
52   Description: Enable bounds checking in unsafe operations at the cost of a
53                significant performance penalty
54   Default: False
55
56 Flag InternalChecks
57   Description: Enable internal consistency checks at the cost of a
58                significant performance penalty
59   Default: False
60
61
62 Library
63   Extensions: CPP
64   Exposed-Modules:
65         Data.Vector.Internal.Check
66
67         Data.Vector.Fusion.Util
68         Data.Vector.Fusion.Stream.Size
69         Data.Vector.Fusion.Stream.Monadic
70         Data.Vector.Fusion.Stream
71
72         Data.Vector.Generic.Mutable
73         Data.Vector.Generic.New
74         Data.Vector.Generic
75
76         Data.Vector.Primitive.Mutable
77         Data.Vector.Primitive
78
79         Data.Vector.Storable.Internal
80         Data.Vector.Storable.Mutable
81         Data.Vector.Storable
82
83         Data.Vector.Unboxed.Base
84         Data.Vector.Unboxed.Mutable
85         Data.Vector.Unboxed
86
87         Data.Vector.Mutable
88         Data.Vector
89
90   Include-Dirs:
91         include, internal
92
93   Install-Includes:
94         vector.h
95
96   Build-Depends: base >= 2 && < 5, ghc >= 6.9, primitive >= 0.2 && < 0.3
97
98   if impl(ghc<6.13)
99     Ghc-Options: -finline-if-enough-args
100   
101   Ghc-Options: -O2
102
103   if flag(BoundsChecks)
104     cpp-options: -DVECTOR_BOUNDS_CHECKS
105
106   if flag(UnsafeChecks)
107     cpp-options: -DVECTOR_UNSAFE_CHECKS
108
109   if flag(InternalChecks)
110     cpp-options: -DVECTOR_INTERNAL_CHECKS
111