-- 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.9.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          >= 0.10.8     && < 0.11
    , hw-balancedparens   >= 0.2.0.1    && < 0.3
    , hw-bits             >= 0.7.0.2    && < 0.8
    , hw-prim             >= 0.6.2.0    && < 0.7
    , hw-rankselect       >= 0.10       && < 0.13
    , hw-rankselect-base  >= 0.3        && < 0.4
    , mmap                >= 0.5        && < 0.6
    , vector              >= 0.12       && < 0.13
    , array             >= 0.5        && < 0.6
    , ansi-wl-pprint    >= 0.6.8.2    && < 0.7
    , attoparsec        >= 0.13       && < 0.14
    , containers        >= 0.5        && < 0.7
    , dlist             >= 0.8        && < 0.9
    , hw-mquery         >= 0.1        && < 0.2
    , hw-parser         >= 0.1        && < 0.2
    , text              >= 1.2        && < 1.3
    , word8             >= 0.1        && < 0.2
  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.Cursor
      HaskellWorks.Data.Json.DecodeError
      HaskellWorks.Data.Json.FromValue
      HaskellWorks.Data.Json.Internal.Blank
      HaskellWorks.Data.Json.Internal.BlankedJson
      HaskellWorks.Data.Json.Internal.CharLike
      HaskellWorks.Data.Json.Internal.Cursor.Token
      HaskellWorks.Data.Json.Internal.IbBp
      HaskellWorks.Data.Json.Internal.Index
      HaskellWorks.Data.Json.Internal.MakeIndex
      HaskellWorks.Data.Json.Internal.PartialIndex
      HaskellWorks.Data.Json.Internal.ToBalancedParens64
      HaskellWorks.Data.Json.Internal.ToInterestBits64
      HaskellWorks.Data.Json.Internal.Token
      HaskellWorks.Data.Json.Internal.Token.Tokenize
      HaskellWorks.Data.Json.Internal.Token.Types
      HaskellWorks.Data.Json.Internal.Value
      HaskellWorks.Data.Json.Internal.Words
      HaskellWorks.Data.Json.LightJson
      HaskellWorks.Data.Json.Load
      HaskellWorks.Data.Json.LoadCursor
      HaskellWorks.Data.Json.PartialValue
      HaskellWorks.Data.Json.Type
      HaskellWorks.Data.Json.Value
  other-modules:
      Paths_hw_json
  default-language: Haskell2010

executable hw-json
  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          >= 0.10.8     && < 0.11
    , hw-balancedparens   >= 0.2.0.1    && < 0.3
    , hw-bits             >= 0.7.0.2    && < 0.8
    , hw-prim             >= 0.6.2.0    && < 0.7
    , hw-rankselect       >= 0.10       && < 0.13
    , hw-rankselect-base  >= 0.3        && < 0.4
    , mmap                >= 0.5        && < 0.6
    , vector              >= 0.12       && < 0.13
    , criterion             >= 1.4        && < 1.6
    , dlist                 >= 0.8        && < 0.9
    , hw-json
    , hw-mquery             >= 0.1        && < 0.2
    , generic-lens          >= 1          && < 1.1
    , lens                  >= 4          && < 5
    , optparse-applicative  >= 0.14       && < 0.15
    , resourcet             >= 1.2        && < 1.3
  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:
      App.Commands
      App.Commands.CreateIndex
      App.Commands.Demo
      App.Commands.Types
      App.IO
      App.Lens
  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          >= 0.10.8     && < 0.11
    , hw-balancedparens   >= 0.2.0.1    && < 0.3
    , hw-bits             >= 0.7.0.2    && < 0.8
    , hw-prim             >= 0.6.2.0    && < 0.7
    , hw-rankselect       >= 0.10       && < 0.13
    , hw-rankselect-base  >= 0.3        && < 0.4
    , mmap                >= 0.5        && < 0.6
    , vector              >= 0.12       && < 0.13
    , attoparsec        >= 0.13       && < 0.14
    , containers        >= 0.5        && < 0.7
    , hspec             >= 2.5        && < 2.6
    , 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          >= 0.10.8     && < 0.11
    , hw-balancedparens   >= 0.2.0.1    && < 0.3
    , hw-bits             >= 0.7.0.2    && < 0.8
    , hw-prim             >= 0.6.2.0    && < 0.7
    , hw-rankselect       >= 0.10       && < 0.13
    , hw-rankselect-base  >= 0.3        && < 0.4
    , mmap                >= 0.5        && < 0.6
    , vector              >= 0.12       && < 0.13
    , criterion         >= 1.4        && < 1.6
    , directory         >= 1.3        && < 1.4
    , 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