summaryrefslogtreecommitdiff
path: root/libraries/ghci/ghci.cabal.in
blob: 4da94b3549b908a72aa9559c45e21e868d617edd (plain)
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
-- WARNING: ghci.cabal is automatically generated from ghci.cabal.in by
-- ../../configure.  Make sure you are editing ghci.cabal.in, not ghci.cabal.

name:           ghci
version:        @ProjectVersionMunged@
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.
cabal-version:  >=1.10
build-type:     Simple
extra-source-files: changelog.md

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

Flag ext-interp
    Description: Build external interpreter support
    Default: True
    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

    if flag(ext-interp)
        CPP-Options: -DHAVE_EXTERNAL_INTERPRETER

    if flag(ghci) || flag(ext-interp)
        CPP-Options: -DHAVE_INTERPRETER

    include-dirs: @FFIIncludeDir@

    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.14,
        binary           == 0.8.*,
        bytestring       == 0.10.*,
        containers       >= 0.5 && < 0.7,
        deepseq          == 1.4.*,
        filepath         == 1.4.*,
        ghc-boot         == @ProjectVersionMunged@,
        ghc-boot-th      == @ProjectVersionMunged@,
        ghc-heap         == @ProjectVersionMunged@,
        template-haskell == 2.16.*,
        transformers     == 0.5.*

    if !os(windows)
        Build-Depends: unix >= 2.7 && < 2.9