name:                adler32
version:             0.1.2.0
synopsis:            An implementation of Adler-32, supporting rolling checksum operation
description:
  This package provides an implementation of the Adler-32 checksum algorithm.
  It supports a rolling checksum mode, i.e. the checksum of a sliding window
  of the input message can be computed efficiently. It also supports
  compounding, i.e. the checksum of the concatenation of two messages can be
  efficiently computed from the checksums of the two parts.
  .
  By default, the highly optimized implementation of Adler-32 from @zlib@
  will be used. This can be disabled, in which case a pure haskell
  implementation will be used instead. On my system, the haskell version
  is 2 to 3 times slower.
homepage:            https://github.com/redneb/hs-adler32
bug-reports:         https://github.com/redneb/hs-adler32/issues
license:             BSD3
license-file:        LICENSE
author:              Marios Titas <rednebΑΤgmxDΟΤcom>
maintainer:          Marios Titas <rednebΑΤgmxDΟΤcom>
category:            Cryptography, Hash
build-type:          Simple
cabal-version:       >=1.10

extra-source-files:
  ChangeLog.md

source-repository head
  type: git
  location: https://github.com/redneb/hs-adler32.git

flag zlib
  description:         Bind to zlib and use the implementation of Adler-32 from there
  default:             True

library
  exposed-modules:     Data.Digest.Adler32
  -- other-modules:       
  build-depends:         base >=4.9 && <5
                       , bytestring >=0.10.2
  hs-source-dirs:      src
  default-language:    Haskell2010
  ghc-options:         -Wall
  if flag(zlib)
    cpp-options:       -DUSE_ZLIB
    if !os(windows)
      extra-libraries: z
    else
      build-depends:   zlib

test-suite test
  type:                exitcode-stdio-1.0
  hs-source-dirs:      tests
  main-is:             tests.hs
  build-depends:         base
                       , adler32
                       , hspec >=2
                       , bytestring
  default-language:    Haskell2010
  ghc-options:         -Wall