Generate Unbox instances for tuples
[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       internal/GenUnboxTuple.hs
41       internal/unbox-tuple-instances
42
43 Flag BoundsChecks
44   Description: Enable bounds checking
45   Default: True
46
47 Flag UnsafeChecks
48   Description: Enable bounds checking in unsafe operations at the cost of a
49                significant performance penalty
50   Default: False
51
52 Flag InternalChecks
53   Description: Enable internal consistency checks at the cost of a
54                significant performance penalty
55   Default: False
56
57
58 Library
59   Extensions: CPP
60   Exposed-Modules:
61         Data.Vector.Internal.Check
62
63         Data.Vector.Fusion.Util
64         Data.Vector.Fusion.Stream.Size
65         Data.Vector.Fusion.Stream.Monadic
66         Data.Vector.Fusion.Stream
67
68         Data.Vector.Generic.Mutable
69         Data.Vector.Generic.New
70         Data.Vector.Generic
71
72         Data.Vector.Primitive.Mutable
73         Data.Vector.Primitive
74
75         Data.Vector.Storable.Internal
76         Data.Vector.Storable.Mutable
77         Data.Vector.Storable
78
79         Data.Vector.Unboxed.Unbox
80
81         Data.Vector.Mutable
82         Data.Vector
83
84   Include-Dirs:
85         include, internal
86
87   Install-Includes:
88         vector.h
89
90   Build-Depends: base >= 2 && < 5, ghc >= 6.9, primitive >= 0.2 && < 0.3
91
92   if impl(ghc<6.13)
93     Ghc-Options: -finline-if-enough-args
94   
95   Ghc-Options: -O2
96
97   if flag(BoundsChecks)
98     cpp-options: -DVECTOR_BOUNDS_CHECKS
99
100   if flag(UnsafeChecks)
101     cpp-options: -DVECTOR_UNSAFE_CHECKS
102
103   if flag(InternalChecks)
104     cpp-options: -DVECTOR_INTERNAL_CHECKS
105