-- This file has been generated from package.yaml by hpack version 0.18.1.
--
-- see: https://github.com/sol/hpack

name:           hw-json
version:        0.8.0.0
synopsis:       Memory efficient JSON parser
description:    Memory efficient JSON parser. Please see README.md
category:       Data
homepage:       http://github.com/haskell-works/hw-json#readme
bug-reports:    https://github.com/haskell-works/hw-json/issues
author:         John Ky
maintainer:     newhoggy@gmail.com
copyright:      2016 John Ky
license:        BSD3
license-file:   LICENSE
build-type:     Simple
cabal-version:  >= 1.10

extra-source-files:
    corpus/5000B.bp
    corpus/5000B.ib
    corpus/5000B.json
    corpus/issue-0001.bp
    corpus/issue-0001.ib
    corpus/issue-0001.json
    corpus/issue-0001.md
    README.md

source-repository head
  type: git
  location: https://github.com/haskell-works/hw-json

flag bmi2
  description: Enable bmi2 instruction set
  manual: False
  default: False

flag sse42
  description: Enable sse4.2 instruction set
  manual: False
  default: False

library
  hs-source-dirs:
      src
  ghc-options: -Wall -O2 -msse4.2
  build-depends:
      base                >= 4 && <5
    , bytestring
    , hw-balancedparens   >= 0.1.0.0
    , hw-bits             >= 0.4.0.0
    , hw-prim             >= 0.4.0.0
    , hw-rankselect       >= 0.8.0.0
    , hw-rankselect-base  >= 0.2.0.0
    , mmap
    , vector
    , array
    , ansi-wl-pprint
    , attoparsec
    , containers
    , dlist
    , hw-mquery         >= 0.1.0.0
    , hw-parser         >= 0.1.0.0
    , text
    , word8
  if (flag(sse42))
    ghc-options: -mbmi2
  if (flag(bmi2)) && (impl(ghc >=8.4.1))
    ghc-options: -mbmi2 -msse4.2
    cpp-options: -DBMI2_ENABLED
  exposed-modules:
      HaskellWorks.Data.Json
      HaskellWorks.Data.Json.CharLike
      HaskellWorks.Data.Json.DecodeError
      HaskellWorks.Data.Json.FromValue
      HaskellWorks.Data.Json.Internal.Blank
      HaskellWorks.Data.Json.Internal.MakeIndex
      HaskellWorks.Data.Json.Internal.Words
      HaskellWorks.Data.Json.LightJson
      HaskellWorks.Data.Json.Load
      HaskellWorks.Data.Json.LoadCursor
      HaskellWorks.Data.Json.PartialValue
      HaskellWorks.Data.Json.Succinct.Cursor.BalancedParens
      HaskellWorks.Data.Json.Succinct.Cursor.BlankedJson
      HaskellWorks.Data.Json.Succinct.Cursor.InterestBits
      HaskellWorks.Data.Json.Succinct.Cursor.Internal
      HaskellWorks.Data.Json.Succinct.Cursor.Token
      HaskellWorks.Data.Json.Succinct.Index
      HaskellWorks.Data.Json.Succinct.PartialIndex
      HaskellWorks.Data.Json.Token
      HaskellWorks.Data.Json.Token.Tokenize
      HaskellWorks.Data.Json.Token.Types
      HaskellWorks.Data.Json.Type
      HaskellWorks.Data.Json.Value
      HaskellWorks.Data.Json.Value.Internal
  other-modules:
      Paths_hw_json
  default-language: Haskell2010

executable hw-json-example
  main-is: Main.hs
  hs-source-dirs:
      app
  ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N -O2 -msse4.2
  build-depends:
      base                >= 4 && <5
    , bytestring
    , hw-balancedparens   >= 0.1.0.0
    , hw-bits             >= 0.4.0.0
    , hw-prim             >= 0.4.0.0
    , hw-rankselect       >= 0.8.0.0
    , hw-rankselect-base  >= 0.2.0.0
    , mmap
    , vector
    , criterion
    , dlist
    , hw-json
    , hw-mquery         >= 0.1.0.0
  if (flag(sse42))
    ghc-options: -mbmi2
  if (flag(bmi2)) && (impl(ghc >=8.4.1))
    ghc-options: -mbmi2 -msse4.2
    cpp-options: -DBMI2_ENABLED
  default-language: Haskell2010

test-suite hw-json-test
  type: exitcode-stdio-1.0
  main-is: Spec.hs
  hs-source-dirs:
      test
  ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      base                >= 4 && <5
    , bytestring
    , hw-balancedparens   >= 0.1.0.0
    , hw-bits             >= 0.4.0.0
    , hw-prim             >= 0.4.0.0
    , hw-rankselect       >= 0.8.0.0
    , hw-rankselect-base  >= 0.2.0.0
    , mmap
    , vector
    , attoparsec
    , containers
    , hspec
    , hw-json
  if (flag(sse42))
    ghc-options: -mbmi2
  if (flag(bmi2)) && (impl(ghc >=8.4.1))
    ghc-options: -mbmi2 -msse4.2
    cpp-options: -DBMI2_ENABLED
  other-modules:
      HaskellWorks.Data.Json.CorpusSpec
      HaskellWorks.Data.Json.Internal.BlankSpec
      HaskellWorks.Data.Json.Succinct.Cursor.BalancedParensSpec
      HaskellWorks.Data.Json.Succinct.Cursor.InterestBitsSpec
      HaskellWorks.Data.Json.Succinct.CursorSpec
      HaskellWorks.Data.Json.Token.TokenizeSpec
      HaskellWorks.Data.Json.TypeSpec
      HaskellWorks.Data.Json.ValueSpec
  default-language: Haskell2010

benchmark bench
  type: exitcode-stdio-1.0
  main-is: Main.hs
  hs-source-dirs:
      bench
  ghc-options: -Wall -O2 -msse4.2
  build-depends:
      base                >= 4 && <5
    , bytestring
    , hw-balancedparens   >= 0.1.0.0
    , hw-bits             >= 0.4.0.0
    , hw-prim             >= 0.4.0.0
    , hw-rankselect       >= 0.8.0.0
    , hw-rankselect-base  >= 0.2.0.0
    , mmap
    , vector
    , criterion
    , hw-json
  if (flag(sse42))
    ghc-options: -mbmi2
  if (flag(bmi2)) && (impl(ghc >=8.4.1))
    ghc-options: -mbmi2 -msse4.2
    cpp-options: -DBMI2_ENABLED
  default-language: Haskell2010