cabal-version: 2.4 name: digest version: 0.0.2.0 copyright: (c) 2009 Eugene Kirpichov license: BSD-2-Clause license-file: LICENSE author: Eugene Kirpichov maintainer: Eugene Kirpichov category: Cryptography synopsis: CRC32 and Adler32 hashes for bytestrings description: This package provides efficient hash implementations for strict and lazy bytestrings. For now, CRC32 and Adler32 are supported; they are implemented as FFI bindings to efficient code from zlib. stability: provisional build-type: Simple tested-with: GHC ==8.10.7 || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.3 || ==9.8.1 extra-source-files: CHANGELOG.md external/crc32c/include/crc32c/crc32c.h external/crc32c/LICENSE external/crc32c/src/*.h include/crc32c/crc32c_config.h testing/trivial-reference.c testing/trivial.expected testing/trivial.hs flag pkg-config default: True manual: True description: Use @pkg-config(1)@ to locate @zlib@ library. -- TODO: auto detect flag have_builtin_prefetch default: False manual: True description: The cxx compiler has the __builtin_prefetch intrinsic. -- TODO: auto detect flag have_mm_prefetch default: False manual: True description: Targeting X86 and the compiler has the _mm_prefetch intrinsic. -- TODO: auto detect flag have_sse42 default: False manual: True description: Can be enabled to improve performance of CRC32C if targeting X86 and the compiler has the _mm_crc32_u{8,32,64} intrinsics. -- TODO: auto detect flag have_arm64_crc32c default: False manual: True description: Targeting ARM and the compiler has the __crc32c{b,h,w,d} and the vmull_p64 intrinsics. -- TODO: auto detect flag have_strong_getauxval default: False manual: True description: The system libraries have the getauxval function in the header. Should be true on Linux and Android API level 20+. -- TODO: auto detect flag have_weak_getauxval default: False manual: True description: The compiler supports defining getauxval as a weak symbol. Should be true for any compiler that supports __attribute__((weak)). source-repository head type: git location: https://github.com/TeofilC/digest library exposed-modules: Data.Digest.Adler32 Data.Digest.CRC32 Data.Digest.CRC32C default-extensions: CPP ForeignFunctionInterface default-language: Haskell2010 build-depends: , base >=4.12 && <5 , bytestring >=0.10 && <0.13 includes: zlib.h include-dirs: include external/crc32c/include cxx-options: -std=c++11 cxx-sources: external/crc32c/src/crc32c.cc external/crc32c/src/crc32c_portable.cc if flag(have_builtin_prefetch) cxx-options: -DHAVE_BUILTIN_PREFETCH if flag(have_mm_prefetch) cxx-options: -DHAVE_MM_PREFETCH if (arch(x86_64) && flag(have_sse42)) cxx-options: -DHAVE_SSE42 -msse4.2 cxx-sources: external/crc32c/src/crc32c_sse42.cc if (arch(aarch64) && flag(have_arm64_crc32c)) cxx-options: -DHAVE_ARM64_CRC32C cxx-sources: external/crc32c/src/crc32c_arm64.cc if flag(have_strong_getauxval) cxx-options: -DHAVE_STRONG_GETAUXVAL if flag(have_weak_getauxval) cxx-options: -DHAVE_WEAK_GETAUXVAL ghc-options: -Wall if ((flag(pkg-config) && !os(windows)) && !os(freebsd)) pkgconfig-depends: zlib else build-depends: zlib