summaryrefslogtreecommitdiff
path: root/libraries/ghc-boot/ghc-boot.cabal.in
blob: 3ca83a5e1c2e8a214f9d0c68dc2d16effcea9a0b (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
cabal-version:  3.0

-- WARNING: ghc-boot.cabal is automatically generated from ghc-boot.cabal.in by
-- ../../configure.  Make sure you are editing ghc-boot.cabal.in, not
-- ghc-boot.cabal.

name:           ghc-boot
version:        @ProjectVersionMunged@
license:        BSD-3-Clause
license-file:   LICENSE
category:       GHC
maintainer:     ghc-devs@haskell.org
bug-reports:    https://gitlab.haskell.org/ghc/ghc/issues/new
synopsis:       Shared functionality between GHC and its boot libraries
description:    This library is shared between GHC, ghc-pkg, and other boot
                libraries.
                .
                A note about "GHC.Unit.Database": it only deals with the subset of
                the package database that the compiler cares about: modules
                paths etc and not package metadata like description, authors
                etc. It is thus not a library interface to ghc-pkg and is *not*
                suitable for modifying GHC package databases.
                .
                The package database format and this library are constructed in
                such a way that while ghc-pkg depends on Cabal, the GHC library
                and program do not have to depend on Cabal.
build-type:     Custom
extra-source-files: changelog.md

custom-setup
    setup-depends: base >= 3 && < 5, Cabal >= 1.6 && <3.8, directory, filepath

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

Library
    default-language: Haskell2010
    other-extensions: DeriveGeneric, RankNTypes, ScopedTypeVariables
    default-extensions: NoImplicitPrelude

    exposed-modules:
            GHC.BaseDir
            GHC.Data.ShortText
            GHC.Data.SizedSeq
            GHC.Utils.Encoding
            GHC.LanguageExtensions
            GHC.Unit.Database
            GHC.Serialized
            GHC.ForeignSrcLang
            GHC.HandleEncoding
            GHC.Platform.ArchOS
            GHC.Platform.Host
            GHC.Settings.Utils
            GHC.UniqueSubdir
            GHC.Version

    -- reexport modules from ghc-boot-th so that packages don't have to import
    -- both ghc-boot and ghc-boot-th. It makes the dependency graph easier to
    -- understand and to refactor.
    reexported-modules:
              GHC.LanguageExtensions.Type
            , GHC.ForeignSrcLang.Type
            , GHC.Lexeme

    -- but done by Hadrian
    autogen-modules:
            GHC.Version
            GHC.Platform.Host

    build-depends: base       >= 4.7 && < 4.18,
                   binary     == 0.8.*,
                   bytestring >= 0.10 && < 0.12,
                   containers >= 0.5 && < 0.7,
                   directory  >= 1.2 && < 1.4,
                   filepath   >= 1.3 && < 1.5,
                   deepseq    >= 1.4 && < 1.5,
                   ghc-boot-th == @ProjectVersionMunged@
    if !os(windows)
        build-depends:
                   unix       >= 2.7 && < 2.8