name:            binary
version:         0.4.2
license:         BSD3
license-file:    LICENSE
author:          Lennart Kolmodin <kolmodin@dtek.chalmers.se>
maintainer:      Lennart Kolmodin, Don Stewart <dons@galois.com>
homepage:        http://code.haskell.org/binary/
description:     Efficient, pure binary serialisation using lazy ByteStrings.
                 Haskell values may be encoded to and from binary formats, 
                 written to disk as binary, or sent over the network.
                 Serialisation speeds of over 1 G\/sec have been observed,
                 so this library should be suitable for high performance
                 scenarios.
synopsis:        Binary serialisation for Haskell values using lazy ByteStrings
category:        Data, Parsing
stability:       provisional
build-type:      Simple
cabal-version:   >= 1.2
tested-with:     GHC ==6.4.2, GHC ==6.6.1, GHC ==6.8.0
extra-source-files: README index.html

flag bytestring-in-base
flag split-base
flag applicative-in-base

library
  if flag(bytestring-in-base)
    -- bytestring was in base-2.0 and 2.1.1
    build-depends: base >= 2.0 && < 2.2
    cpp-options: -DBYTESTRING_IN_BASE
  else
    -- in base 1.0 and 3.0 bytestring is a separate package
    build-depends: base < 2.0 || >= 3, bytestring >= 0.9

  if flag(split-base)
    build-depends:   base >= 3.0, containers, array
  else
    build-depends:   base < 3.0

  if flag(applicative-in-base)
    build-depends: base >= 2.0
    cpp-options: -DAPPLICATIVE_IN_BASE
  else
    build-depends: base < 2.0

  exposed-modules: Data.Binary,
                   Data.Binary.Put,
                   Data.Binary.Get,
                   Data.Binary.Builder
  extensions:      CPP, FlexibleContexts
  hs-source-dirs:  src
  ghc-options:     -O2 -Wall -fliberate-case-threshold=1000
  if impl(ghc < 6.5)
    cpp-options:   -fallow-undecidable-instances
