Cabal-version:       2.2
Name:                llvm-pretty
Version:             0.13.0.0
License:             BSD-3-Clause
License-file:        LICENSE
Author:              Trevor Elliott
Maintainer:          rscott@galois.com, kquick@galois.com
Category:            Text
Build-type:          Simple
Synopsis:            A pretty printing library inspired by the llvm binding.
Description:
  A pretty printing library that was inspired by the LLVM binding by Lennart
  Augustsson.  The library provides a monadic interface to a pretty printer,
  that allows functions to be defined and called, generating the corresponding
  LLVM assembly when run.
tested-with:         GHC==9.8.4, GHC==9.6.6, GHC==9.4.8
extra-doc-files:     CHANGELOG.md, README.md


source-repository head
  type:                 git
  location:             http://github.com/GaloisInc/llvm-pretty

common common
  Default-language:    Haskell2010
  Ghc-options:
    -Wall

Library
  Import:              common

  Hs-source-dirs:      src
  Exposed-modules:     Text.LLVM
                       Text.LLVM.AST
                       Text.LLVM.Labels
                       Text.LLVM.Labels.TH
                       Text.LLVM.Lens
                       Text.LLVM.Parser
                       Text.LLVM.PP
                       Text.LLVM.DebugUtils
                       Text.LLVM.Triple
                       Text.LLVM.Triple.AST
                       Text.LLVM.Triple.Parse
                       Text.LLVM.Triple.Print
  Other-modules:       Text.LLVM.Triple.Parse.ARM
                       Text.LLVM.Triple.Parse.LookupTable
                       Text.LLVM.Util

  Build-depends:       base             >= 4.11 && < 5,
                       containers       >= 0.4,
                       parsec           >= 3,
                       pretty           >= 1.0.1,
                       monadLib         >= 3.6.1,
                       microlens        >= 0.4,
                       microlens-th     >= 0.4,
                       syb              >= 0.7,
                       template-haskell >= 2.7,
                       th-abstraction   >= 0.3.1 && <0.8

Test-suite llvm-pretty-test
  Import: common
  Type: exitcode-stdio-1.0
  Main-is: Main.hs
  Other-modules:
    Output
    Triple
    TQQDefs
  Hs-source-dirs: test
  Ghc-options:
    -threaded
  Build-depends:
    llvm-pretty,
    base,
    pretty,
    tasty,
    tasty-hunit,
    template-haskell,
    text