cabal-version:      2.4
name:               liquidhaskell-boot
version:            0.9.10.1.2
synopsis:           Liquid Types for Haskell
description:        This package provides a plugin to verify Haskell programs.
                    But most likely you should be using the [liquidhaskell package](https://hackage.haskell.org/package/liquidhaskell)
                    instead, which rexports this plugin together with necessary
                    specifications for definitions in the boot libraries.
license:            BSD-3-Clause
copyright:          2010-19 Ranjit Jhala & Niki Vazou & Eric L. Seidel, University of California, San Diego.
author:             Ranjit Jhala, Niki Vazou, Eric Seidel
maintainer:         Ranjit Jhala <jhala@cs.ucsd.edu>
category:           Language
homepage:           https://github.com/ucsd-progsys/liquidhaskell
build-type:         Simple
tested-with:        GHC == 9.10.1

source-repository head
  type:     git
  location: https://github.com/ucsd-progsys/liquidhaskell/

flag devel
  default:     False
  manual:      True
  description: Enable more warnings and fail compilation when warnings occur.
               Turn this flag on in CI.

library
  autogen-modules:    Paths_liquidhaskell_boot
  exposed-modules:    Language.Haskell.Liquid.Cabal
                      Language.Haskell.Liquid.Bare
                      Language.Haskell.Liquid.Bare.Axiom
                      Language.Haskell.Liquid.Bare.Check
                      Language.Haskell.Liquid.Bare.Class
                      Language.Haskell.Liquid.Bare.DataType
                      Language.Haskell.Liquid.Bare.Expand
                      Language.Haskell.Liquid.Bare.Measure
                      Language.Haskell.Liquid.Bare.Misc
                      Language.Haskell.Liquid.Bare.Plugged
                      Language.Haskell.Liquid.Bare.Resolve
                      Language.Haskell.Liquid.Bare.ToBare
                      Language.Haskell.Liquid.Bare.Types
                      Language.Haskell.Liquid.Bare.Typeclass
                      Language.Haskell.Liquid.Bare.Elaborate
                      Language.Haskell.Liquid.CSS
                      Language.Haskell.Liquid.Constraint.Constraint
                      Language.Haskell.Liquid.Constraint.Env
                      Language.Haskell.Liquid.Constraint.Fresh
                      Language.Haskell.Liquid.Constraint.Generate
                      Language.Haskell.Liquid.Constraint.Init
                      Language.Haskell.Liquid.Constraint.Monad
                      Language.Haskell.Liquid.Constraint.Qualifier
                      Language.Haskell.Liquid.Constraint.Split
                      Language.Haskell.Liquid.Constraint.ToFixpoint
                      Language.Haskell.Liquid.Constraint.Template
                      Language.Haskell.Liquid.Constraint.Termination
                      Language.Haskell.Liquid.Constraint.Types
                      Language.Haskell.Liquid.Constraint.Relational
                      Language.Haskell.Liquid.Constraint.RewriteCase
                      Liquid.GHC.API
                      Liquid.GHC.API.Compat
                      Liquid.GHC.API.Extra
                      Liquid.GHC.API.StableModule
                      Language.Haskell.Liquid.GHC.Interface
                      Language.Haskell.Liquid.GHC.Logging
                      Language.Haskell.Liquid.GHC.Misc
                      Language.Haskell.Liquid.GHC.Play
                      Language.Haskell.Liquid.GHC.Resugar
                      Language.Haskell.Liquid.GHC.SpanStack
                      Language.Haskell.Liquid.GHC.Types
                      Language.Haskell.Liquid.GHC.TypeRep
                      Language.Haskell.Liquid.GHC.Plugin
                      Language.Haskell.Liquid.GHC.Plugin.Tutorial
                      Language.Haskell.Liquid.LHNameResolution
                      Language.Haskell.Liquid.Liquid
                      Language.Haskell.Liquid.Measure
                      Language.Haskell.Liquid.Misc
                      Language.Haskell.Liquid.Name.LogicNameEnv
                      Language.Haskell.Liquid.Parse
                      Language.Haskell.Liquid.Termination.Structural
                      Language.Haskell.Liquid.Transforms.ANF
                      Language.Haskell.Liquid.Transforms.CoreToLogic
                      Language.Haskell.Liquid.Transforms.RefSplit
                      Language.Haskell.Liquid.Transforms.Rewrite
                      Language.Haskell.Liquid.Transforms.Simplify
                      Language.Haskell.Liquid.Transforms.InlineAux
                      Language.Haskell.Liquid.Types.Bounds
                      Language.Haskell.Liquid.Types.DataDecl
                      Language.Haskell.Liquid.Types.Dictionaries
                      Language.Haskell.Liquid.Types.Equality
                      Language.Haskell.Liquid.Types.Errors
                      Language.Haskell.Liquid.Types.Fresh
                      Language.Haskell.Liquid.Types.Generics
                      Language.Haskell.Liquid.Types.Literals
                      Language.Haskell.Liquid.Types.Meet
                      Language.Haskell.Liquid.Types.Names
                      Language.Haskell.Liquid.Types.PredType
                      Language.Haskell.Liquid.Types.PrettyPrint
                      Language.Haskell.Liquid.Types.RefType
                      Language.Haskell.Liquid.Types.RType
                      Language.Haskell.Liquid.Types.RTypeOp
                      Language.Haskell.Liquid.Types.Specs
                      Language.Haskell.Liquid.Types.Types
                      Language.Haskell.Liquid.Types.Variance
                      Language.Haskell.Liquid.Types.Visitors
                      Language.Haskell.Liquid.UX.ACSS
                      Language.Haskell.Liquid.UX.Annotate
                      Language.Haskell.Liquid.UX.CTags
                      Language.Haskell.Liquid.UX.CmdLine
                      Language.Haskell.Liquid.UX.Config
                      Language.Haskell.Liquid.UX.DiffCheck
                      Language.Haskell.Liquid.UX.Errors
                      Language.Haskell.Liquid.UX.QuasiQuoter
                      Language.Haskell.Liquid.UX.SimpleVersion
                      Language.Haskell.Liquid.UX.Tidy
                      Language.Haskell.Liquid.WiredIn
                      LiquidHaskellBoot
                      Paths_liquidhaskell_boot
  other-modules:      Language.Haskell.Liquid.GHC.Plugin.Serialisation
                      Language.Haskell.Liquid.GHC.Plugin.SpecFinder
                      Language.Haskell.Liquid.GHC.Plugin.Types
  hs-source-dirs:     src src-ghc src-ghc-9.10

  build-depends:      base                 >= 4.11.1.0 && < 5
                    , Diff                 >= 0.3 && < 0.6
                    , array
                    , aeson
                    , binary
                    , bytestring           >= 0.10
                    , Cabal
                    , cereal
                    , cmdargs              >= 0.10
                    , containers           >= 0.5
                    , deepseq              >= 1.3
                    , directory            >= 1.2
                    , filepath             >= 1.3
                    , fingertree           >= 0.1
                    , exceptions           < 0.11
                    , ghc                  ^>= 9.10
                    , ghc-boot
                    , ghc-prim
                    , gitrev
                    , hashable             >= 1.3 && < 1.6
                    , hscolour             >= 1.22
                    , liquid-fixpoint      == 0.9.6.3.2
                    , mtl                  >= 2.1
                    , optparse-applicative < 0.19
                    , githash
                    , megaparsec           >= 8
                    , pretty               >= 1.1
                    , split
                    , syb                  >= 0.4.4
                    , template-haskell     >= 2.9
                    , th-compat            < 0.2
                    , temporary            >= 1.2
                    , text                 >= 1.2
                    , time                 >= 1.4
                    , transformers         >= 0.3
                    , unordered-containers >= 0.2.11
                    , vector               >= 0.10
                    , free
                    , extra
  default-language:   Haskell98
  default-extensions: PatternGuards, RecordWildCards, DoAndIfThenElse
  ghc-options:        -W -fwarn-missing-signatures

  if flag(devel)
    ghc-options:      -Wall -Werror

test-suite wiredin-tests
  type:             exitcode-stdio-1.0
  main-is:          WiredInTests.hs
  hs-source-dirs:   tests
  build-depends:    base
                  , ghc-internal
                  , ghc-prim
                  , liquidhaskell-boot
                  , tasty
                  , tasty-ant-xml
                  , tasty-hunit
                  , template-haskell
                  , unordered-containers
  default-language: Haskell2010
  if flag(devel)
    ghc-options:      -W -Werror

test-suite ghc-api-tests
  type:             exitcode-stdio-1.0
  main-is:          GhcApiTests.hs
  hs-source-dirs:   ghc-api-tests
  build-depends:    base
                  , ghc
                  , ghc-paths
                  , liquidhaskell-boot
                  , tasty
                  , tasty-ant-xml
                  , tasty-hunit
                  , time
  default-language: Haskell2010
  ghc-options:      -W

test-suite liquidhaskell-parser
  type:             exitcode-stdio-1.0
  main-is:          Parser.hs
  hs-source-dirs:   tests
  build-depends:    base            >= 4.8.1.0 && < 5
                  , directory       >= 1.2.5 && < 1.4
                  , filepath
                  , liquid-fixpoint
                  , liquidhaskell-boot
                  , megaparsec
                  , syb
                  , tasty           >= 0.10
                  , tasty-ant-xml
                  , tasty-hunit     >= 0.9
  default-language: Haskell2010
  ghc-options:      -W

  if flag(devel)
    ghc-options:    -Wall -Wno-name-shadowing -Werror