packages feed

ghc-boot-9.12.3: ghc-boot.cabal

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:        9.12.3
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.14, directory, filepath

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

Flag bootstrap
        Description:
          Enabled when building the stage1 compiler in order to vendor the in-tree
          `template-haskell` library (including its dependency `ghc-boot-th`), while
          allowing dependencies to depend on the boot `template-haskell` library.
          See Note [Bootstrapping Template Haskell]
        Default: False
        Manual: True

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.Utils.Encoding.UTF8
            GHC.LanguageExtensions
            GHC.Unit.Database
            GHC.Serialized
            GHC.ForeignSrcLang
            GHC.HandleEncoding
            GHC.Platform.Host
            GHC.Settings.Utils
            GHC.UniqueSubdir
            GHC.Version


    -- reexport platform modules from ghc-platform
    reexported-modules:
              GHC.Platform.ArchOS

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

    build-depends: base       >= 4.7 && < 4.22,
                   binary     == 0.8.*,
                   bytestring >= 0.10 && < 0.13,
                   containers >= 0.5 && < 0.8,
                   directory  >= 1.2 && < 1.4,
                   filepath   >= 1.3 && < 1.6,
                   deepseq    >= 1.4 && < 1.6,
                   ghc-platform >= 0.1,

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

    if flag(bootstrap)
      build-depends:
              ghc-boot-th-next    == 9.12.3
    else
      build-depends:
              ghc-boot-th         == 9.12.3

    if !os(windows)
        build-depends:
                   unix       >= 2.7 && < 2.9