First attempt at unboxed vectors (incomplete)
[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.Primitive@] unboxed vectors of primitive types as
21                 defined by the @primitive@ package
22         .
23         [@Data.Vector.Storable@] unboxed vectors of 'Storable' types
24         .
25         [@Data.Vector.Generic@] generic interface to the vector types
26         .
27
28 Cabal-Version:  >= 1.2
29 Build-Type:     Simple
30
31 Extra-Source-Files:
32       tests/vector-tests.cabal
33       tests/LICENSE
34       tests/Setup.hs
35       tests/Main.hs
36       tests/Boilerplater.hs
37       tests/Utilities.hs
38       tests/Tests/Stream.hs
39       tests/Tests/Vector.hs
40
41 Flag BoundsChecks
42   Description: Enable bounds checking
43   Default: True
44
45 Flag UnsafeChecks
46   Description: Enable bounds checking in unsafe operations at the cost of a
47                significant performance penalty
48   Default: False
49
50 Flag InternalChecks
51   Description: Enable internal consistency checks at the cost of a
52                significant performance penalty
53   Default: False
54
55
56 Library
57   Extensions: CPP
58   Exposed-Modules:
59         Data.Vector.Internal.Check
60
61         Data.Vector.Fusion.Util
62         Data.Vector.Fusion.Stream.Size
63         Data.Vector.Fusion.Stream.Monadic
64         Data.Vector.Fusion.Stream
65
66         Data.Vector.Generic.Mutable
67         Data.Vector.Generic.New
68         Data.Vector.Generic
69
70         Data.Vector.Primitive.Mutable
71         Data.Vector.Primitive
72
73         Data.Vector.Storable.Internal
74         Data.Vector.Storable.Mutable
75         Data.Vector.Storable
76
77         Data.Vector.Unboxed.Unbox
78
79         Data.Vector.Mutable
80         Data.Vector
81
82   Include-Dirs:
83         include
84
85   Install-Includes:
86         vector.h
87
88   Build-Depends: base >= 2 && < 5, ghc >= 6.9, primitive >= 0.2 && < 0.3
89
90   if impl(ghc<6.13)
91     Ghc-Options: -finline-if-enough-args
92   
93   Ghc-Options: -O2
94
95   if flag(BoundsChecks)
96     cpp-options: -DVECTOR_BOUNDS_CHECKS
97
98   if flag(UnsafeChecks)
99     cpp-options: -DVECTOR_UNSAFE_CHECKS
100
101   if flag(InternalChecks)
102     cpp-options: -DVECTOR_INTERNAL_CHECKS
103