summaryrefslogtreecommitdiff
path: root/xeno.cabal
blob: 1841870a3adac3ad10611f19351e3119cd58723d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
name: xeno
version: 0.3.5.2
synopsis: A fast event-based XML parser in pure Haskell
description: A fast, low-memory use, event-based XML parser in pure Haskell.  
build-type: Simple
category: XML, Parser
cabal-version: >=1.10
homepage: https://github.com/ocramz/xeno
license: BSD3
license-file: LICENSE
author: Christopher Done
maintainer: Marco Zocca (ocramz fripost org)
tested-with:         GHC == 8.0.1, GHC == 8.2.2, GHC == 8.4.2, GHC == 8.4.4, GHC == 8.6.5
extra-source-files:  README.md
                     CHANGELOG.markdown
                     CONTRIBUTORS.md                             

source-repository head
  type:     git
  location: https://github.com/ocramz/xeno
                     
flag libxml2
  description:   Include libxml2 in the benchmarks
  default:       False

library
  hs-source-dirs: src
  ghc-options: -Wall -O2
  exposed-modules: Xeno.SAX, Xeno.DOM, Xeno.Types, Xeno.Errors 
  other-modules: Control.Spork
  build-depends: base >= 4.7 && < 5
               , bytestring >= 0.10.8
               , vector >= 0.11
               , deepseq >= 1.4.2
               , array >= 0.5.1
               , mutable-containers >= 0.3.3
               , mtl >= 2.2.1
  default-language: Haskell2010

test-suite xeno-test
           
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  main-is: Main.hs
  build-depends: base, xeno, hexml, hspec, bytestring
               -- | DEBUG 
               , hspec
  ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
  default-language: Haskell2010

benchmark xeno-speed-bench
  type: exitcode-stdio-1.0
  hs-source-dirs: bench
  main-is: Speed.hs
  build-depends: base, xeno, hexml, criterion, bytestring, deepseq, ghc-prim, xml, hexpat
  if flag(libxml2)
    build-depends: libxml
  ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N -O2
  if flag(libxml2)
     cpp-options: -DLIBXML2   
     -- ghc-options: -DLIBXML2  -- Hackage started complaining about this
  default-language: Haskell2010

benchmark xeno-memory-bench
  type: exitcode-stdio-1.0
  hs-source-dirs: bench
  main-is: Memory.hs
  build-depends: base, xeno, weigh, bytestring, deepseq, hexml
  ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N -O2
  default-language: Haskell2010