packages feed

byteslice-0.2.10.0: byteslice.cabal

cabal-version: 2.4
name: byteslice
version: 0.2.10.0
synopsis: Slicing managed and unmanaged memory
description:
  This library provides types that allow the user to talk about a slice of
  a ByteArray or a MutableByteArray. It also offers UnmanagedBytes, which
  is kind of like a slice into unmanaged memory. However, it is just an
  address and a length.
homepage: https://github.com/andrewthad/byteslice
bug-reports: https://github.com/andrewthad/byteslice/issues
license: BSD-3-Clause
license-file: LICENSE
author: Andrew Martin
maintainer: andrew.thaddeus@gmail.com
copyright: 2020 Andrew Martin
category: Data
extra-source-files: CHANGELOG.md

flag avoid-rawmemchr
    default: True
    description: Avoid using rawmemchr which is non-portable GNU libc only

library
  exposed-modules:
    Data.Bytes
    Data.Bytes.Chunks
    Data.Bytes.Encode.BigEndian
    Data.Bytes.Internal
    Data.Bytes.Mutable
    Data.Bytes.Text.Ascii
    Data.Bytes.Text.AsciiExt
    Data.Bytes.Text.Latin1
    Data.Bytes.Text.Utf8
    Data.Bytes.Text.Windows1252
    Data.Bytes.Types
  other-modules:
    Data.Bytes.Search
    Data.Bytes.Byte
    Data.Bytes.Pure
    Data.Bytes.IO
    Data.Bytes.Internal.Show
    Reps
    Cstrlen
  build-depends:
    , base >=4.14 && <5
    , bytestring >=0.10.8 && <0.12
    , primitive >=0.7.4 && <0.10
    , primitive-unlifted >=0.1.2 && <0.2
    , primitive-addr >=0.1 && <0.2
    , run-st >=0.1.1 && <0.2
    , text >=1.2.5
    , text-short >=0.1.3 && <0.2
    , tuples >=0.1 && <0.2
    , vector >=0.12 && <0.14
  hs-source-dirs: src
  ghc-options: -Wall -O2
  if impl(ghc>=9.2)
    hs-source-dirs: src-new-reps
  else
    hs-source-dirs: src-old-reps
  if impl(ghc>=9.0)
    hs-source-dirs: src-ghc-cstrlen
  else
    hs-source-dirs: src-no-ghc-cstrlen
  default-language: Haskell2010
  include-dirs: include
  includes: bs_custom.h
  install-includes: bs_custom.h
  c-sources: cbits/bs_custom.c
  if flag(avoid-rawmemchr)
    cc-options: -DAVOID_RAWMEMCHR=1

test-suite test
  default-language: Haskell2010
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  main-is: Main.hs
  ghc-options: -Wall -O2
  build-depends:
    , base >=4.11.1 && <5
    , byteslice
    , bytestring
    , primitive
    , quickcheck-classes >=0.6.4
    , tasty
    , tasty-hunit
    , tasty-quickcheck
    , transformers
    , text >=1.2

benchmark bench
  type: exitcode-stdio-1.0
  build-depends:
    , base
    , byteslice
    , gauge
    , primitive
  ghc-options: -Wall -O2
  default-language: Haskell2010
  hs-source-dirs: bench
  main-is: Main.hs