aboutsummaryrefslogtreecommitdiff
path: root/haddock.cabal
blob: 4c7b3945d51312c90ea02bda9536681c80e4bdf2 (plain) (blame)
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
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
name:                 haddock
version:              2.14.0
synopsis:             A documentation-generation tool for Haskell libraries
description:          Haddock is a documentation-generation tool for Haskell
                      libraries
license:              BSD3
license-file:         LICENSE
author:               Simon Marlow, David Waern
maintainer:           Simon Hengel <sol@typeful.net>
homepage:             http://www.haskell.org/haddock/
bug-reports:          http://trac.haskell.org/haddock
copyright:            (c) Simon Marlow, David Waern
category:             Documentation
build-type:           Simple
cabal-version:        >= 1.10
stability:            experimental

extra-source-files:
  CHANGES
  README
  doc/Makefile
  doc/README
  doc/aclocal.m4
  doc/config.mk.in
  doc/configure.ac
  doc/docbook-xml.mk
  doc/fptools.css
  doc/haddock.xml
  haddock.spec
  haskell.vim
  src/haddock.sh
  html-test/src/*.hs
  html-test/ref/*.html
  latex-test/src/*.hs
  latex-test/ref/*/*.tex
  latex-test/ref/*/*.sty

data-dir:   resources
data-files: html/frames.html
            html/haddock-util.js
            html/Classic.theme/haskell_icon.gif
            html/Classic.theme/minus.gif
            html/Classic.theme/plus.gif
            html/Classic.theme/xhaddock.css
            html/Ocean.std-theme/hslogo-16.png
            html/Ocean.std-theme/minus.gif
            html/Ocean.std-theme/ocean.css
            html/Ocean.std-theme/plus.gif
            html/Ocean.std-theme/synopsis.png
            latex/haddock.sty

flag in-ghc-tree
  description: Are we in a GHC tree?
  default: False
  manual: True

-- Using this disables -O2, and hence allows to use --disable-optimization,
-- which is about twice as fast.  This should probably be the default, but we
-- need some benchmarks first..
flag dev
  default: False
  manual: True

executable haddock
  default-language:     Haskell2010
  main-is:              Main.hs
  hs-source-dirs:       driver
  if flag(dev)
    ghc-options:          -funbox-strict-fields -Wall -fwarn-tabs
  else
    ghc-options:          -funbox-strict-fields -Wall -fwarn-tabs -O2

  build-depends:
    base >= 4.3 && < 4.8
  if flag(in-ghc-tree)
    hs-source-dirs: src, vendor/attoparsec-0.10.4.0
    cpp-options: -DIN_GHC_TREE
    build-depends:
      filepath,
      directory,
      containers,
      deepseq,
      array,
      xhtml >= 3000.2 && < 3000.3,
      Cabal >= 1.10,
      ghc >= 7.7 && < 7.10,
      bytestring

    other-modules:
      Documentation.Haddock
      Data.Attoparsec
      Data.Attoparsec.ByteString
      Data.Attoparsec.ByteString.Char8
      Data.Attoparsec.Combinator
      Data.Attoparsec.Number
      Data.Attoparsec.ByteString.FastSet
      Data.Attoparsec.ByteString.Internal
      Data.Attoparsec.Internal
      Data.Attoparsec.Internal.Types
      Haddock
      Haddock.Interface
      Haddock.Interface.Rename
      Haddock.Interface.Create
      Haddock.Interface.AttachInstances
      Haddock.Interface.LexParseRn
      Haddock.Interface.ParseModuleHeader
      Haddock.Parser
      Haddock.Parser.Util
      Haddock.Utf8
      Haddock.Utils
      Haddock.Backends.Xhtml
      Haddock.Backends.Xhtml.Decl
      Haddock.Backends.Xhtml.DocMarkup
      Haddock.Backends.Xhtml.Layout
      Haddock.Backends.Xhtml.Names
      Haddock.Backends.Xhtml.Themes
      Haddock.Backends.Xhtml.Types
      Haddock.Backends.Xhtml.Utils
      Haddock.Backends.LaTeX
      Haddock.Backends.HaddockDB
      Haddock.Backends.Hoogle
      Haddock.ModuleTree
      Haddock.Types
      Haddock.Doc
      Haddock.Version
      Haddock.InterfaceFile
      Haddock.Options
      Haddock.GhcUtils
      Haddock.Convert
  else
    build-depends:  haddock

library
  default-language:     Haskell2010

  build-depends:
    base >= 4.3 && < 4.8,
    bytestring,
    filepath,
    directory,
    containers,
    deepseq,
    array,
    xhtml >= 3000.2 && < 3000.3,
    Cabal >= 1.10,
    ghc >= 7.4 && < 7.10

  if flag(in-ghc-tree)
    cpp-options: -DIN_GHC_TREE
  else
    build-depends: ghc-paths

  hs-source-dirs:       src, vendor/attoparsec-0.10.4.0
  if flag(dev)
    ghc-options:          -funbox-strict-fields -Wall -fwarn-tabs
  else
    ghc-options:          -funbox-strict-fields -Wall -fwarn-tabs -O2

  exposed-modules:
    Documentation.Haddock

  other-modules:
    Data.Attoparsec
    Data.Attoparsec.ByteString
    Data.Attoparsec.ByteString.Char8
    Data.Attoparsec.Combinator
    Data.Attoparsec.Number
    Data.Attoparsec.ByteString.FastSet
    Data.Attoparsec.ByteString.Internal
    Data.Attoparsec.Internal
    Data.Attoparsec.Internal.Types
    Haddock
    Haddock.Interface
    Haddock.Interface.Rename
    Haddock.Interface.Create
    Haddock.Interface.AttachInstances
    Haddock.Interface.LexParseRn
    Haddock.Interface.ParseModuleHeader
    Haddock.Parser
    Haddock.Parser.Util
    Haddock.Utf8
    Haddock.Utils
    Haddock.Backends.Xhtml
    Haddock.Backends.Xhtml.Decl
    Haddock.Backends.Xhtml.DocMarkup
    Haddock.Backends.Xhtml.Layout
    Haddock.Backends.Xhtml.Names
    Haddock.Backends.Xhtml.Themes
    Haddock.Backends.Xhtml.Types
    Haddock.Backends.Xhtml.Utils
    Haddock.Backends.LaTeX
    Haddock.Backends.HaddockDB
    Haddock.Backends.Hoogle
    Haddock.ModuleTree
    Haddock.Types
    Haddock.Doc
    Haddock.Version
    Haddock.InterfaceFile
    Haddock.Options
    Haddock.GhcUtils
    Haddock.Convert
    Paths_haddock

  if flag(in-ghc-tree)
    buildable: False

test-suite html-test
  type:             exitcode-stdio-1.0
  default-language: Haskell2010
  main-is:          run.lhs
  hs-source-dirs:   html-test
  build-depends:    base, directory, process, filepath, Cabal

test-suite latex-test
  type:             exitcode-stdio-1.0
  default-language: Haskell2010
  main-is:          run.lhs
  hs-source-dirs:   latex-test
  build-depends:    base, directory, process, filepath, Cabal

test-suite spec
  type:             exitcode-stdio-1.0
  default-language: Haskell2010
  main-is:          Spec.hs
  hs-source-dirs:
      test
    , src
    , vendor/attoparsec-0.10.4.0

  other-modules:
      Haddock.ParserSpec

  build-depends:
      base
    , bytestring
    , ghc
    , containers
    , deepseq
    , array
    , hspec
    , QuickCheck == 2.*

  build-depends:
      haddock

source-repository head
  type:     git
  location: http://git.haskell.org/haddock.git