aboutsummaryrefslogtreecommitdiff
path: root/haddock.cabal
blob: 42dc9771e5cb6b29c8ed61ee35049fb8162757e0 (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
name:                 haddock
version:              2.12.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:           David Waern <david.waern@gmail.com>
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
  examples/A.hs
  examples/B.hs
  examples/Bug1.hs
  examples/Bug2.hs
  examples/Bug3.hs
  examples/Bug4.hs
  examples/Bug6.hs
  examples/Bug7.hs
  examples/Bug8.hs
  examples/Bug9.hs
  examples/Hash.hs
  examples/Hidden.hs
  examples/Makefile
  examples/NoLayout.hs
  examples/Test.hs
  examples/Visible.hs
  examples/hide-bug/A.hs
  examples/hide-bug/B.hs
  examples/hide-bug/C.hs
  examples/hide-bug/D.hs
  haddock.spec
  haskell.vim
  src/haddock.sh
-- The test files shouldn't have to go here, but the source files for
-- the test-suite stanzas don't get picked up by `cabal sdist`.
  tests/html-tests/runtests.hs

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

executable haddock
  default-language:     Haskell2010
  -- In a GHC tree - in particular, in a source tarball - we don't
  -- require alex or happy
  if !flag(in-ghc-tree)
    build-tools: alex >= 2.3, happy >= 1.18
  build-depends:
    base >= 4.3 && < 4.7,
    filepath,
    directory,
    containers,
    deepseq,
    array,
    xhtml >= 3000.2 && < 3000.3,
    Cabal >= 1.10,
    ghc >= 7.4 && < 7.8

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

  main-is:              Main.hs
  hs-source-dirs:       src, driver
  ghc-options:          -funbox-strict-fields -O2 -Wall -fwarn-tabs

  other-modules:
    Documentation.Haddock
    Haddock
    Haddock.Interface
    Haddock.Interface.Rename
    Haddock.Interface.Create
    Haddock.Interface.AttachInstances
    Haddock.Interface.LexParseRn
    Haddock.Interface.ParseModuleHeader
    Haddock.Lex
    Haddock.Parse
    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

library
  default-language:     Haskell2010
  -- In a GHC tree - in particular, in a source tarball - we don't
  -- require alex or happy
  if !flag(in-ghc-tree)
    build-tools: alex >= 2.3, happy >= 1.18
  build-depends:
    base >= 4.3 && < 4.7,
    filepath,
    directory,
    containers,
    deepseq,
    array,
    xhtml >= 3000.2 && < 3000.3,
    Cabal >= 1.10,
    ghc >= 7.4 && < 7.8

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

  hs-source-dirs:       src
  ghc-options:          -funbox-strict-fields -O2 -Wall -fwarn-tabs

  exposed-modules:
    Documentation.Haddock

  other-modules:
    Haddock
    Haddock.Interface
    Haddock.Interface.Rename
    Haddock.Interface.Create
    Haddock.Interface.AttachInstances
    Haddock.Interface.LexParseRn
    Haddock.Interface.ParseModuleHeader
    Haddock.Lex
    Haddock.Parse
    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-tests
  type:             exitcode-stdio-1.0
  default-language: Haskell2010
  main-is:          runtests.hs
  hs-source-dirs:   tests/html-tests
  build-depends:    base, directory, process, filepath, Cabal

test-suite spec
  type:             exitcode-stdio-1.0
  default-language: Haskell2010
  main-is:          parsetests.hs
  hs-source-dirs:
      tests/unit-tests
    , tests/nanospec
    , src

  build-depends:
      base
    , ghc
    , containers
    , array

  -- NOTE: As of this writing, Cabal does not properly handle alex/happy for
  -- test suites.  We work around this by adding dist/build to hs-source-dirs,
  -- so that the the generated lexer/parser from the library is used.  In
  -- addition we depend on 'haddock', so that the library is compiled before
  -- the test suite.
  --
  -- The corresponding cabal ticket is here:
  -- https://github.com/haskell/cabal/issues/943
  hs-source-dirs:
      dist/build
  build-depends:
      haddock

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