ghc-hashable/hashable-1.3.0.0.cabal
2021-08-04 23:56:15 +08:00

184 lines
5.1 KiB
Plaintext

Cabal-version: 1.12
Name: hashable
Version: 1.3.0.0
x-revision: 2
Synopsis: A class for types that can be converted to a hash value
Description: This package defines a class, 'Hashable', for types that
can be converted to a hash value. This class
exists for the benefit of hashing-based data
structures. The package provides instances for
basic types and a way to combine hash values.
Homepage: http://github.com/tibbe/hashable
-- SPDX-License-Identifier : BSD-3-Clause
License: BSD3
License-file: LICENSE
Author: Milan Straka <fox@ucw.cz>
Johan Tibell <johan.tibell@gmail.com>
Maintainer: johan.tibell@gmail.com
bug-reports: https://github.com/tibbe/hashable/issues
Stability: Provisional
Category: Data
Build-type: Simple
tested-with: GHC==8.10.1, GHC==8.8.3, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3, GHC==7.4.2
Extra-source-files:
CHANGES.md, README.md
Flag integer-gmp
Description: Are we using @integer-gmp@ to provide fast Integer instances?
Default: True
Flag sse2
Description: Do we want to assume that a target supports SSE 2?
Default: True
Manual: True
Flag sse41
Description: Do we want to assume that a target supports SSE 4.1?
Default: False
Manual: True
Flag examples
Description: Build example modules
Default: False
Manual: True
Library
Exposed-modules: Data.Hashable
Data.Hashable.Lifted
Data.Hashable.Generic
Other-modules: Data.Hashable.Class
Data.Hashable.Generic.Instances
C-sources: cbits/fnv.c
Build-depends: base >= 4.5 && < 4.15
, bytestring >= 0.9 && < 0.12
, deepseq >= 1.3 && < 1.5
, text >= 0.12 && < 1.3
, ghc-prim
if flag(integer-gmp)
Build-depends: integer-gmp >= 0.4 && < 1.1
else
-- this is needed for the automatic flag to be well-balanced
Build-depends: integer-simple
Default-Language: Haskell2010
Other-Extensions: BangPatterns
CPP
DeriveDataTypeable
FlexibleContexts
FlexibleInstances
GADTs
KindSignatures
MagicHash
MultiParamTypeClasses
ScopedTypeVariables
Trustworthy
TypeOperators
UnliftedFFITypes
Ghc-options: -Wall -fwarn-tabs
Test-suite tests
Type: exitcode-stdio-1.0
Hs-source-dirs: tests
Main-is: Main.hs
Other-modules: Properties Regress
Build-depends: base,
bytestring,
ghc-prim,
hashable,
test-framework >= 0.3.3,
test-framework-hunit,
test-framework-quickcheck2 >= 0.2.9,
HUnit,
QuickCheck >= 2.4.0.1,
random >= 1.0 && < 1.2,
text >= 0.11.0.5
if !os(windows)
Build-depends: unix
CPP-options: -DHAVE_MMAP
Other-modules: Regress.Mmap
Other-Extensions: CApiFFI
Ghc-options: -Wall -fno-warn-orphans
Default-Language: Haskell2010
benchmark benchmarks
-- We cannot depend on the hashable library directly as that creates
-- a dependency cycle.
hs-source-dirs: . benchmarks
main-is: Benchmarks.hs
other-modules:
Data.Hashable
Data.Hashable.Class
Data.Hashable.RandomSource
Data.Hashable.SipHash
type: exitcode-stdio-1.0
build-depends:
base,
bytestring,
criterion >= 1.0,
ghc-prim,
siphash,
text
if impl(ghc)
Build-depends: ghc-prim,
text >= 0.11.0.5
if impl(ghc) && flag(integer-gmp)
Build-depends: integer-gmp >= 0.2
if impl(ghc >= 7.2.1)
CPP-Options: -DGENERICS
include-dirs:
benchmarks/cbits
includes:
siphash.h
c-sources:
benchmarks/cbits/inthash.c
benchmarks/cbits/siphash.c
benchmarks/cbits/wang.c
cbits/fnv.c
if (arch(i386) || arch(x86_64)) && flag(sse2)
cpp-options: -DHAVE_SSE2
c-sources:
benchmarks/cbits/siphash-sse2.c
if flag(sse41)
cpp-options: -DHAVE_SSE41
c-sources:
benchmarks/cbits/siphash-sse41.c
Ghc-options: -Wall -O2
if impl(ghc >= 6.8)
Ghc-options: -fwarn-tabs
else
c-sources: cbits/getRandomBytes.c
other-modules: Data.Hashable.RandomSource
if os(windows)
extra-libraries: advapi32
Default-Language: Haskell2010
Executable hashable-examples
if flag(examples)
build-depends: base, hashable
else
buildable: False
hs-source-dirs: examples
main-is: Main.hs
Default-Language: Haskell2010
source-repository head
type: git
location: https://github.com/tibbe/hashable.git