packages feed

hw-json-demo-1.0.0.0: hw-json-demo.cabal

cabal-version:  2.2

name:                 hw-json-demo
version:              1.0.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-demo#readme
bug-reports:          https://github.com/haskell-works/hw-json-demo/issues
author:               John Ky
maintainer:           newhoggy@gmail.com
copyright:            2016 - 2019 John Ky
license:              BSD-3-Clause
license-file:         LICENSE
build-type:           Simple
extra-source-files:   README.md

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

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

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

common base                 { build-depends: base                 >= 4          && < 5      }

common aeson                { build-depends: aeson                >= 1.4.2.0    && < 1.6    }
common bits-extra           { build-depends: bits-extra           >= 0.0.1      && < 0.1    }
common bytestring           { build-depends: bytestring           >= 0.10.6     && < 0.12   }
common deepseq              { build-depends: deepseq              >= 1.4.0.0    && < 1.5    }
common dlist                { build-depends: dlist                >= 0.8        && < 1.1    }
common hw-balancedparens    { build-depends: hw-balancedparens    >= 0.2.0.1    && < 0.3    }
common hw-bits              { build-depends: hw-bits              >= 0.7.0.5    && < 0.8    }
common hw-json              { build-depends: hw-json              >= 1.0.0.0    && < 1.1    }
common hw-json-simd         { build-depends: hw-json-simd         >= 0.1.0.1    && < 0.2    }
common hw-mquery            { build-depends: hw-mquery            >= 0.2.0.0    && < 0.3    }
common hw-prim              { build-depends: hw-prim              >= 0.6.2.21   && < 0.7    }
common hw-rankselect        { build-depends: hw-rankselect        >= 0.12.0.4   && < 0.13   }
common hw-rankselect-base   { build-depends: hw-rankselect-base   >= 0.3.2.1    && < 0.4    }
common hw-simd              { build-depends: hw-simd              >= 0.1.1.2    && < 0.2    }
common lens                 { build-depends: lens                 >= 4          && < 6      }
common mmap                 { build-depends: mmap                 >= 0.5        && < 0.6    }
common vector               { build-depends: vector               >= 0.12       && < 0.13   }

common semigroups   { if impl(ghc <  8    ) { build-depends: semigroups     >= 0.16     && < 0.20 } }

common config
  default-language: Haskell2010
  ghc-options: -Wall
  if flag(sse42)
    ghc-options: -mbmi2
  if flag(bmi2) && impl(ghc >= 8.4.1)
    ghc-options: -mbmi2 -msse4.2
    cpp-options: -DBMI2_ENABLED

library
  import:             base, config
                    , aeson
                    , bytestring
                    , deepseq
                    , dlist
                    , hw-balancedparens
                    , hw-bits
                    , hw-mquery
                    , hw-json
                    , hw-json-simd
                    , hw-prim
                    , hw-rankselect
                    , hw-rankselect-base
                    , mmap
                    , vector
  ghc-options:        -O2 -msse4.2
  other-modules:      Paths_hw_json_demo
  autogen-modules:    Paths_hw_json_demo