cabal-version:  >=1.10
name:           ghci
version:        8.10.2

license:        BSD3
license-file:   LICENSE
category:       GHC
maintainer:     ghc-devs@haskell.org
bug-reports:    https://gitlab.haskell.org/ghc/ghc/issues/new
synopsis:       The library supporting GHC's interactive interpreter
description:
            This library offers interfaces which mediate interactions between the
            @ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter
            backend.
build-type:     Simple
extra-source-files: changelog.md

Flag ghci
    Description: Build GHCi support.
    Default: False
    Manual: True

source-repository head
    type:     git
    location: https://gitlab.haskell.org/ghc/ghc.git
    subdir:   libraries/ghci

library
    default-language: Haskell2010
    default-extensions: NoImplicitPrelude
    other-extensions:
        BangPatterns
        CPP
        DeriveGeneric
        ExistentialQuantification
        FlexibleInstances
        GADTs
        GeneralizedNewtypeDeriving
        InstanceSigs
        MagicHash
        MultiParamTypeClasses
        RecordWildCards
        ScopedTypeVariables
        StandaloneDeriving
        TupleSections
        UnboxedTuples

    if flag(ghci)
        CPP-Options: -DHAVE_INTERNAL_INTERPRETER
        exposed-modules:
            GHCi.Run
            GHCi.CreateBCO
            GHCi.ObjLink
            GHCi.Signals
            GHCi.TH

    include-dirs: 

    exposed-modules:
        GHCi.BreakArray
        GHCi.BinaryArray
        GHCi.Message
        GHCi.ResolvedBCO
        GHCi.RemoteTypes
        GHCi.FFI
        GHCi.InfoTable
        GHCi.StaticPtrTable
        GHCi.TH.Binary
        SizedSeq

    Build-Depends:
        array            == 0.5.*,
        base             >= 4.8 && < 4.15,
        binary           == 0.8.*,
        bytestring       == 0.10.*,
        containers       >= 0.5 && < 0.7,
        deepseq          == 1.4.*,
        filepath         == 1.4.*,
        ghc-boot         == 8.10.2,
        ghc-boot-th      == 8.10.2,
        ghc-heap         == 8.10.2,
        template-haskell == 2.16.*,
        transformers     == 0.5.*

    if !os(windows)
        Build-Depends: unix == 2.7.*