1ea647cbb57da8957c88615d34e1f8db2714b175
[packages/binary.git] / binary.cabal
1 name:            binary
2 version:         0.5.0.1
3 license:         BSD3
4 license-file:    LICENSE
5 author:          Lennart Kolmodin <kolmodin@dtek.chalmers.se>
6 maintainer:      Lennart Kolmodin, Don Stewart <dons@galois.com>
7 homepage:        http://code.haskell.org/binary/
8 description:     Efficient, pure binary serialisation using lazy ByteStrings.
9                  Haskell values may be encoded to and from binary formats, 
10                  written to disk as binary, or sent over the network.
11                  Serialisation speeds of over 1 G\/sec have been observed,
12                  so this library should be suitable for high performance
13                  scenarios.
14 synopsis:        Binary serialisation for Haskell values using lazy ByteStrings
15 category:        Data, Parsing
16 stability:       provisional
17 build-type:      Simple
18 cabal-version:   >= 1.2
19 tested-with:     GHC ==6.4.2, GHC ==6.6.1, GHC ==6.8.0, GHC ==6.10.1
20 extra-source-files: README index.html
21
22 flag bytestring-in-base
23 flag split-base
24 flag applicative-in-base
25
26 library
27   if flag(bytestring-in-base)
28     -- bytestring was in base-2.0 and 2.1.1
29     build-depends: base >= 2.0 && < 2.2
30     cpp-options: -DBYTESTRING_IN_BASE
31   else
32     -- in base 1.0 and 3.0 bytestring is a separate package
33     build-depends: base < 2.0 || >= 3, bytestring >= 0.9
34
35   if flag(split-base)
36     build-depends:   base >= 3.0, containers, array
37   else
38     build-depends:   base < 3.0
39
40   if flag(applicative-in-base)
41     build-depends: base >= 2.0
42     cpp-options: -DAPPLICATIVE_IN_BASE
43   else
44     build-depends: base < 2.0
45   hs-source-dirs:  src
46
47   exposed-modules: Data.Binary,
48                    Data.Binary.Put,
49                    Data.Binary.Get,
50                    Data.Binary.Builder
51
52   extensions:      CPP,
53                    FlexibleContexts
54
55   ghc-options:     -O2
56                    -Wall
57                    -fspec-constr
58                    -funbox-strict-fields 
59                    -fdicts-cheap
60                    -fno-method-sharing
61                    -fliberate-case-threshold=1000
62                    -fmax-simplifier-iterations10
63
64 --  if impl(ghc < 6.5)
65 --    ghc-options:   -fallow-undecidable-instances