Name:                cryptonite-openssl
Version:             0.7
Synopsis:            Crypto stuff using OpenSSL cryptographic library
Description:         Crypto stuff using the OpenSSL cryptographic library as bindings
License:             BSD3
License-file:        LICENSE
Copyright:           Vincent Hanquez <vincent@snarc.org>
Author:              Vincent Hanquez <vincent@snarc.org>
Maintainer:          vincent@snarc.org
Category:            Cryptography
Stability:           experimental
Build-Type:          Simple
Homepage:            https://github.com/haskell-crypto/cryptonite-openssl
Bug-reports:         https://github.com/haskell-crypto/cryptonite-openssl/issues
Cabal-Version:       >=1.10

source-repository head
  type: git
  location: https://github.com/haskell-crypto/cryptonite-openssl

Library
  if impl(ghc < 8.0)
    buildable: False
  Exposed-modules:   Crypto.OpenSSL
                     Crypto.OpenSSL.ECC
                     Crypto.OpenSSL.BN
                     Crypto.OpenSSL.AES
                     Crypto.OpenSSL.Random
  Other-modules:     Crypto.OpenSSL.ECC.Foreign
                   , Crypto.OpenSSL.BN.Foreign
                   , Crypto.OpenSSL.AES.Foreign
                   , Crypto.OpenSSL.Misc
                   , Crypto.OpenSSL.ASN1
  Build-depends:     base
                   , bytestring
                   , basement
                   , memory
                   , cryptonite
  ghc-options:       -Wall -fwarn-tabs -optc-O3
  default-language:  Haskell2010
  if os(mingw32) || os(windows)
    extra-libraries: eay32, ssl32
  else
    if os(osx)
      include-dirs: /usr/local/opt/openssl/include
      extra-lib-dirs: /usr/local/opt/openssl/lib
    else
      if arch(x86_64)
        cpp-options: -D__x86_64__
      if arch(i386)
        cpp-options: -D__i386__
    extra-libraries: crypto
  cpp-options:       -DUSE_OPENSSL

Test-Suite test-cryptonite-openssl
  type:              exitcode-stdio-1.0
  hs-source-dirs:    tests
  Main-is:           Tests.hs
  Other-modules:     Imports
  Build-Depends:     base
                   , bytestring
                   , tasty
                   , tasty-quickcheck
                   , tasty-hunit
                   , tasty-kat
                   , cryptonite
                   , cryptonite-openssl
  ghc-options:       -Wall -fno-warn-orphans -fno-warn-missing-signatures -rtsopts
  default-language:  Haskell2010