cabal-version:        2.0
name:                 haddock-library
version:              1.7.0
synopsis:             Library exposing some functionality of Haddock.
description:          Haddock is a documentation-generation tool for Haskell
                      libraries. These modules expose some functionality of it
                      without pulling in the GHC dependency. Please note that the
                      API is likely to change so specify upper bounds in your
                      project. For interacting with Haddock
                      itself, see the [haddock package](https://hackage.haskell.org/package/haddock).
license:              BSD3
license-files:        LICENSE
maintainer:           Alec Theriault <alec.theriault@gmail.com>, Alex Biehl <alexbiehl@gmail.com>, Simon Hengel <sol@typeful.net>, Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>
homepage:             http://www.haskell.org/haddock/
bug-reports:          https://github.com/haskell/haddock/issues
category:             Documentation
build-type:           Simple
extra-source-files:
  CHANGES.md

library
  default-language:     Haskell2010

  build-depends:
      base         >= 4.5     && < 4.13
    , bytestring   >= 0.9.2.1 && < 0.11
    , containers   >= 0.4.2.1 && < 0.7
    , transformers >= 0.3.0   && < 0.6
    , text         >= 1.2.3.0  && < 1.3
    , parsec       >= 3.1.13.0 && < 3.2

  hs-source-dirs:       src

  exposed-modules:
    Documentation.Haddock.Doc
    Documentation.Haddock.Markup
    Documentation.Haddock.Parser
    Documentation.Haddock.Types
    Documentation.Haddock.Utf8

  other-modules:
    Documentation.Haddock.Parser.Util
    Documentation.Haddock.Parser.Monad

  ghc-options: -funbox-strict-fields -Wall -fwarn-tabs
  if impl(ghc >= 8.0)
    ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances


test-suite spec
  type:             exitcode-stdio-1.0
  default-language: Haskell2010
  main-is:          Spec.hs
  hs-source-dirs:
      test
    , src
  ghc-options: -Wall

  cpp-options:
      -DTEST

  other-modules:
      Documentation.Haddock.Doc
      Documentation.Haddock.Parser
      Documentation.Haddock.Parser.Monad
      Documentation.Haddock.Parser.Util
      Documentation.Haddock.Parser.UtilSpec
      Documentation.Haddock.ParserSpec
      Documentation.Haddock.Types
      Documentation.Haddock.Utf8
      Documentation.Haddock.Utf8Spec

  build-depends:
      base         >= 4.5     && < 4.13
    , base-compat  >= 0.9.3   && < 0.11
    , bytestring   >= 0.9.2.1 && < 0.11
    , containers   >= 0.4.2.1 && < 0.7
    , transformers   >= 0.3.0   && < 0.6
    , hspec        >= 2.4.4   && < 2.6
    , QuickCheck    ^>= 2.11
    , text         >= 1.2.3.0  && < 1.3
    , parsec       >= 3.1.13.0 && < 3.2
    , deepseq      >= 1.3     && < 1.5

  build-tool-depends:
    hspec-discover:hspec-discover >= 2.4.4 && < 2.6

test-suite fixtures
  type:             exitcode-stdio-1.0
  default-language: Haskell2010
  main-is:          Fixtures.hs
  ghc-options:      -Wall -O0
  hs-source-dirs:   fixtures
  buildable:        False
  build-depends:
      base         >= 4.5     && < 4.13
    , base-compat  >= 0.9.3   && < 0.11
    , directory             ^>= 1.3.0.2
    , filepath              ^>= 1.4.1.2
    , optparse-applicative  ^>= 0.14.0.0
    , tree-diff             ^>= 0.0.0.1

  -- Depend on the library.
  build-depends:
    haddock-library

source-repository head
  type:     git
  subdir:   haddock-library
  location: https://github.com/haskell/haddock.git
