summaryrefslogtreecommitdiff
path: root/dynamic-graphs.cabal
blob: 50d4ddd8ac3f99796d73931add2888f96aeedd00 (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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
Name:                dynamic-graphs
Version:             0.1.0.1
Synopsis:            Dynamic graph algorithms
Description:         A library for dynamic graph algorithms, and in particular
                     dynamic connectivity.
License:             BSD3
License-file:        LICENSE
Author:              Alex Lang, Jasper Van der Jeugt
Maintainer:          me@alang.ca
copyright:           2018 Alex Lang, Jasper Van der Jeugt
Category:            Data
Build-type:          Simple
Extra-source-files:  CHANGELOG.md, README.md
Cabal-version:       >=1.10

Flag build-extra-executables
  Description: Build the auxiliary executables, including benchmarks, tools and examples
  Default:     False
  Manual:      True

Library
  Hs-source-dirs:   src
  Default-language: Haskell2010
  Ghc-options:      -Wall

  Exposed-modules:
    Data.Graph.Dynamic.EulerTour
    Data.Graph.Dynamic.Levels

    Data.Graph.Dynamic.Internal.Avl
    Data.Graph.Dynamic.Internal.Splay
    Data.Graph.Dynamic.Internal.Random
    Data.Graph.Dynamic.Internal.Tree
    Data.Graph.Dynamic.Internal.HashTable

  Build-depends:
    base                 >= 4.8  && < 5,
    containers           >= 0.3  && < 0.7,
    hashable             >= 1.0  && < 1.3,
    hashtables           >= 1.2  && < 1.3,
    mwc-random           >= 0.12 && < 0.14,
    primitive            >= 0.5  && < 0.7,
    unordered-containers >= 0.2  && < 0.3,
    vector               >= 0.10 && < 0.13

Test-suite dynamic-graphs-tests
  Type: exitcode-stdio-1.0
  Ghc-options: -Wall
  Main-is: Suite.hs
  Hs-source-dirs: tests
  Default-language: Haskell2010

  Other-modules:
    Data.Graph.Dynamic.EulerTour.Tests
    Data.Graph.Dynamic.Internal.Avl.Tests
    Data.Graph.Dynamic.Internal.Splay.Tests
    Data.Graph.Dynamic.Internal.Random.Tests
    Data.Graph.Dynamic.Internal.Tree.Tests
    Data.Graph.Dynamic.Levels.Tests

    Data.Graph.Dynamic.Program
    Data.Graph.Dynamic.Slow
    Data.Graph.Dynamic.Action

  Build-depends:
    aeson,
    base,
    deepseq,
    dynamic-graphs,
    bytestring,
    containers,
    mwc-random,
    hashable,
    unordered-containers,
    primitive,
    text,
    QuickCheck,
    test-framework,
    test-framework-quickcheck2,
    test-framework-th

Benchmark dynamic-graphs-benchmarks
  Type: exitcode-stdio-1.0
  Main-is: bench.hs
  Hs-source-dirs: benchmarks
  Default-language: Haskell2010
  Ghc-options: -Wall -O2 -threaded -rtsopts
  Build-depends:
    dynamic-graphs,
    primitive,
    base,
    criterion

Executable dynamic-graphs-simple
  main-is: simple.hs
  hs-source-dirs: benchmarks
  default-language: Haskell2010
  ghc-options: -Wall -O2 -threaded -rtsopts

  If flag(build-extra-executables)
    buildable: True
  else
    buildable: False

  Build-depends:
    dynamic-graphs,
    base,
    deepseq,
    primitive

Executable bench-program
  Main-is: bench-program.hs
  Hs-source-dirs: benchmarks/hs tests
  Default-language: Haskell2010
  Ghc-options: -Wall -O2 -threaded -rtsopts

  If flag(build-extra-executables)
    buildable: True
  Else
    buildable: False

  Build-depends:
    base,
    containers,
    deepseq,
    criterion,
    dynamic-graphs,
    hashable,
    primitive,
    QuickCheck,
    text,
    unordered-containers

  Other-modules:
    Data.Graph.Dynamic.Program
    Data.Graph.Dynamic.Slow

Executable gen-program
  Main-is: gen-program.hs
  Hs-source-dirs: benchmarks/hs tests
  Default-language: Haskell2010
  Ghc-options: -Wall -O2 -threaded -rtsopts

  If flag(build-extra-executables)
    Buildable: True
  Else
    Buildable: False

  Build-depends:
    base,
    containers,
    deepseq,
    dynamic-graphs,
    hashable,
    primitive,
    QuickCheck,
    text,
    unordered-containers

  Other-modules:
    Data.Graph.Dynamic.Program
    Data.Graph.Dynamic.Slow