ghc-internal-9.1001.0: ghc-internal.cabal
cabal-version: 3.0
name: ghc-internal
version: 9.1001.0
-- NOTE: Don't forget to update ./changelog.md
license: BSD-3-Clause
license-file: LICENSE
maintainer: Core Libraries Committee <core-libraries-committee@haskell.org>
bug-reports: https://github.com/haskell/core-libraries-committee/issues
synopsis: Basic libraries
category: Prelude
build-type: Configure
description:
This package contains the Standard Haskell "Prelude" and its support libraries,
and a large collection of useful libraries ranging from data
structures to parsing combinators and debugging utilities.
extra-tmp-files:
autom4te.cache
ghc-internal.buildinfo
config.log
config.status
include/EventConfig.h
include/HsBaseConfig.h
extra-source-files:
aclocal.m4
ghc-internal.buildinfo.in
CHANGELOG.md
configure
configure.ac
include/CTypes.h
include/EventConfig.h.in
include/HsBaseConfig.h.in
include/ieee-flpt.h
include/md5.h
include/fs.h
include/winio_structs.h
install-sh
source-repository head
type: git
location: https://gitlab.haskell.org/ghc/ghc.git
subdir: libraries/base
Library
default-language: Haskell2010
default-extensions:
NoImplicitPrelude
other-extensions:
BangPatterns
CApiFFI
CPP
ConstraintKinds
DataKinds
DeriveDataTypeable
DeriveGeneric
ExistentialQuantification
ExplicitForAll
FlexibleContexts
FlexibleInstances
FunctionalDependencies
GADTs
GeneralizedNewtypeDeriving
KindSignatures
MagicHash
MultiParamTypeClasses
NegativeLiterals
NondecreasingIndentation
OverloadedStrings
ParallelArrays
PolyKinds
RankNTypes
RecordWildCards
RoleAnnotations
Safe
ScopedTypeVariables
StandaloneDeriving
Trustworthy
TypeFamilies
TypeOperators
TypeSynonymInstances
UnboxedTuples
UndecidableInstances
UnliftedFFITypes
Unsafe
build-depends:
rts == 1.0.*,
ghc-prim >= 0.11 && < 0.12,
ghc-bignum >= 1.0 && < 2.0
exposed-modules:
GHC.Internal.ClosureTypes
GHC.Internal.Control.Arrow
GHC.Internal.Control.Category
GHC.Internal.Control.Concurrent.MVar
GHC.Internal.Control.Exception
GHC.Internal.Control.Exception.Base
GHC.Internal.Control.Monad
GHC.Internal.Control.Monad.Fail
GHC.Internal.Control.Monad.Fix
GHC.Internal.Control.Monad.ST
GHC.Internal.Control.Monad.ST.Lazy
GHC.Internal.Control.Monad.ST.Imp
GHC.Internal.Control.Monad.ST.Lazy.Imp
GHC.Internal.Data.Bits
GHC.Internal.Data.Bool
GHC.Internal.Data.Coerce
GHC.Internal.Data.Data
GHC.Internal.Data.Dynamic
GHC.Internal.Data.Either
GHC.Internal.Data.Eq
GHC.Internal.Data.Enum
GHC.Internal.Data.Foldable
GHC.Internal.Data.Function
GHC.Internal.Data.Functor
GHC.Internal.Data.Functor.Const
GHC.Internal.Data.Functor.Identity
GHC.Internal.Data.Functor.Utils
GHC.Internal.Data.IORef
GHC.Internal.Data.Ix
GHC.Internal.Data.List
GHC.Internal.Data.Maybe
GHC.Internal.Data.Monoid
GHC.Internal.Data.OldList
GHC.Internal.Data.Ord
GHC.Internal.Data.Proxy
GHC.Internal.Data.Semigroup.Internal
GHC.Internal.Data.STRef
GHC.Internal.Data.STRef.Strict
GHC.Internal.Data.String
GHC.Internal.Data.Traversable
GHC.Internal.Data.Tuple
GHC.Internal.Data.Type.Bool
GHC.Internal.Data.Type.Coercion
GHC.Internal.Data.Type.Equality
GHC.Internal.Data.Type.Ord
GHC.Internal.Data.Typeable
GHC.Internal.Data.Unique
GHC.Internal.Data.Version
GHC.Internal.Data.Void
GHC.Internal.Debug.Trace
GHC.Internal.Foreign.C.ConstPtr
GHC.Internal.Foreign.C.Error
GHC.Internal.Foreign.C.String
GHC.Internal.Foreign.C.String.Encoding
GHC.Internal.Foreign.C.Types
GHC.Internal.Foreign.Concurrent
GHC.Internal.Foreign.ForeignPtr
GHC.Internal.Foreign.ForeignPtr.Imp
GHC.Internal.Foreign.ForeignPtr.Unsafe
GHC.Internal.Foreign.Marshal.Alloc
GHC.Internal.Foreign.Marshal.Array
GHC.Internal.Foreign.Marshal.Error
GHC.Internal.Foreign.Marshal.Pool
GHC.Internal.Foreign.Marshal.Safe
GHC.Internal.Foreign.Marshal.Unsafe
GHC.Internal.Foreign.Marshal.Utils
GHC.Internal.Foreign.Ptr
GHC.Internal.Foreign.StablePtr
GHC.Internal.Foreign.Storable
GHC.Internal.Arr
GHC.Internal.ArrayArray
GHC.Internal.Base
GHC.Internal.Bits
GHC.Internal.ByteOrder
GHC.Internal.Char
GHC.Internal.Clock
GHC.Internal.Conc.Bound
GHC.Internal.Conc.IO
GHC.Internal.Conc.Signal
GHC.Internal.Conc.Sync
GHC.Internal.ConsoleHandler
GHC.Internal.Constants
GHC.Internal.Desugar
GHC.Internal.Encoding.UTF8
GHC.Internal.Enum
GHC.Internal.Environment
GHC.Internal.Err
GHC.Internal.Event.TimeOut
GHC.Internal.Exception
GHC.Internal.Exception.Backtrace
GHC.Internal.Exception.Context
GHC.Internal.Exception.Type
GHC.Internal.ExecutionStack
GHC.Internal.ExecutionStack.Internal
GHC.Internal.Exts
GHC.Internal.Fingerprint
GHC.Internal.Fingerprint.Type
GHC.Internal.Float
GHC.Internal.Float.ConversionUtils
GHC.Internal.Float.RealFracMethods
GHC.Internal.ForeignPtr
GHC.Internal.Functor.ZipList
GHC.Internal.GHCi
GHC.Internal.GHCi.Helpers
GHC.Internal.Generics
GHC.Internal.InfoProv
GHC.Internal.InfoProv.Types
GHC.Internal.IO
GHC.Internal.IO.Buffer
GHC.Internal.IO.BufferedIO
GHC.Internal.IO.Device
GHC.Internal.IO.Encoding
GHC.Internal.IO.Encoding.CodePage
GHC.Internal.IO.Encoding.Failure
GHC.Internal.IO.Encoding.Iconv
GHC.Internal.IO.Encoding.Latin1
GHC.Internal.IO.Encoding.Types
GHC.Internal.IO.Encoding.UTF16
GHC.Internal.IO.Encoding.UTF32
GHC.Internal.IO.Encoding.UTF8
GHC.Internal.IO.Exception
GHC.Internal.IO.FD
GHC.Internal.IO.Handle
GHC.Internal.IO.Handle.FD
GHC.Internal.IO.Handle.Internals
GHC.Internal.IO.Handle.Lock
GHC.Internal.IO.Handle.Text
GHC.Internal.IO.Handle.Types
GHC.Internal.IO.IOMode
GHC.Internal.IO.Unsafe
GHC.Internal.IO.StdHandles
GHC.Internal.IO.SubSystem
GHC.Internal.IOArray
GHC.Internal.IORef
GHC.Internal.Int
GHC.Internal.Integer
GHC.Internal.Integer.Logarithms
GHC.Internal.IsList
GHC.Internal.Ix
GHC.Internal.List
GHC.Internal.Maybe
GHC.Internal.MVar
GHC.Internal.Natural
GHC.Internal.Num
GHC.Internal.OverloadedLabels
GHC.Internal.Pack
GHC.Internal.Profiling
GHC.Internal.Ptr
GHC.Internal.Read
GHC.Internal.Real
GHC.Internal.Records
GHC.Internal.ResponseFile
GHC.Internal.RTS.Flags
GHC.Internal.ST
GHC.Internal.Stack.CloneStack
GHC.Internal.StaticPtr
GHC.Internal.STRef
GHC.Internal.Show
GHC.Internal.Stable
GHC.Internal.StableName
GHC.Internal.Stack
GHC.Internal.Stack.CCS
GHC.Internal.Stack.Types
GHC.Internal.Stats
GHC.Internal.Storable
GHC.Internal.TopHandler
GHC.Internal.TypeError
GHC.Internal.TypeLits
GHC.Internal.TypeLits.Internal
GHC.Internal.TypeNats
GHC.Internal.TypeNats.Internal
GHC.Internal.Unicode
GHC.Internal.Weak
GHC.Internal.Weak.Finalize
GHC.Internal.Word
GHC.Internal.Numeric
GHC.Internal.Numeric.Natural
GHC.Internal.System.Environment
GHC.Internal.System.Environment.Blank
GHC.Internal.System.Exit
GHC.Internal.System.IO
GHC.Internal.System.IO.Error
GHC.Internal.System.Mem
GHC.Internal.System.Mem.StableName
GHC.Internal.System.Posix.Internals
GHC.Internal.System.Posix.Types
GHC.Internal.Text.ParserCombinators.ReadP
GHC.Internal.Text.ParserCombinators.ReadPrec
GHC.Internal.Text.Read
GHC.Internal.Text.Read.Lex
GHC.Internal.Text.Show
GHC.Internal.Type.Reflection
GHC.Internal.Type.Reflection.Unsafe
GHC.Internal.Unsafe.Coerce
-- TODO: remove
GHC.Internal.IOPort
reexported-modules:
GHC.Num.Integer
, GHC.Num.Natural
, GHC.Num.BigNat
, GHC.Tuple
other-modules:
GHC.Internal.Data.Typeable.Internal
GHC.Internal.IO.Handle.Lock.Common
GHC.Internal.IO.Handle.Lock.Flock
GHC.Internal.IO.Handle.Lock.LinuxOFD
GHC.Internal.IO.Handle.Lock.NoOp
GHC.Internal.IO.Handle.Lock.Windows
GHC.Internal.StaticPtr.Internal
GHC.Internal.Event.Arr
GHC.Internal.Event.Array
GHC.Internal.Event.Internal
GHC.Internal.Event.Internal.Types
GHC.Internal.Event.IntTable
GHC.Internal.Event.IntVar
GHC.Internal.Event.PSQ
GHC.Internal.Event.Unique
-- GHC.Internal.IOPort -- TODO: hide again after debug
GHC.Internal.Unicode.Bits
GHC.Internal.Unicode.Char.DerivedCoreProperties
GHC.Internal.Unicode.Char.UnicodeData.GeneralCategory
GHC.Internal.Unicode.Char.UnicodeData.SimpleLowerCaseMapping
GHC.Internal.Unicode.Char.UnicodeData.SimpleTitleCaseMapping
GHC.Internal.Unicode.Char.UnicodeData.SimpleUpperCaseMapping
GHC.Internal.Unicode.Version
GHC.Internal.System.Environment.ExecutablePath
if !arch(javascript)
c-sources:
cbits/DarwinUtils.c
cbits/PrelIOUtils.c
cbits/SetEnv.c
cbits/iconv.c
cbits/inputReady.c
cbits/md5.c
cbits/primFloat.c
cbits/sysconf.c
cbits/fs.c
cbits/strerror.c
cmm-sources:
cbits/StackCloningDecoding.cmm
if arch(javascript)
js-sources:
-- "platform" must be linked first because it defines global constants
-- (e.g. h$isNode)
jsbits/platform.js
jsbits/base.js
jsbits/errno.js
hs-source-dirs: src
include-dirs: include
includes:
HsBase.h
install-includes:
HsBase.h
consUtils.h
-- OS Specific
if os(windows)
-- Windows requires some extra libraries for linking because the RTS
-- is no longer re-exporting them.
-- mingwex: provides GNU POSIX extensions that aren't provided by ucrt.
-- mingw32: Unfortunately required because of a resource leak between
-- mingwex and mingw32. the __math_err symbol is defined in
-- mingw32 which is required by mingwex.
-- shlwapi: provides PathFileExistsW
-- ws2_32: provides access to socket types and functions
-- ole32: provides UUID functionality.
-- rpcrt4: provides RPC UUID creation.
-- ntdll: provides access to functions to inspect window handles
-- kernel32: provides GetConsoleCP
-- advapi32: provides advanced kernel functions
extra-libraries:
wsock32, user32, shell32, mingw32, kernel32, advapi32,
mingwex, ws2_32, shlwapi, ole32, rpcrt4, ntdll
-- Minimum supported Windows version.
-- These numbers can be found at:
-- https://msdn.microsoft.com/en-us/library/windows/desktop/aa383745(v=vs.85).aspx
-- If we're compiling on windows, enforce that we only support Windows 7+
-- Adding this here means it doesn't have to be done in individual .c files
-- and also centralizes the versioning.
cpp-options: -D_WIN32_WINNT=0x06010000
cc-options: -D_WIN32_WINNT=0x06010000
exposed-modules:
GHC.Internal.IO.Encoding.CodePage.API
GHC.Internal.IO.Encoding.CodePage.Table
GHC.Internal.Conc.Windows
GHC.Internal.Conc.POSIX
GHC.Internal.Conc.POSIX.Const
GHC.Internal.Windows
GHC.Internal.Event.Windows
GHC.Internal.Event.Windows.Clock
GHC.Internal.Event.Windows.ConsoleEvent
GHC.Internal.Event.Windows.FFI
GHC.Internal.Event.Windows.ManagedThreadPool
GHC.Internal.Event.Windows.Thread
GHC.Internal.IO.Handle.Windows
GHC.Internal.IO.Windows.Handle
GHC.Internal.IO.Windows.Encoding
GHC.Internal.IO.Windows.Paths
c-sources:
cbits/Win32Utils.c
cbits/consUtils.c
cbits/IOutils.c
else
exposed-modules:
GHC.Internal.Event
other-modules:
GHC.Internal.Event.Control
GHC.Internal.Event.EPoll
GHC.Internal.Event.KQueue
GHC.Internal.Event.Manager
GHC.Internal.Event.Poll
GHC.Internal.Event.Thread
GHC.Internal.Event.TimerManager
if arch(javascript)
other-modules:
-- The Ports framework always passes this flag when building software that
-- uses iconv to make iconv from Ports compatible with iconv from the base system
-- See /usr/ports/Mk/Uses/iconv.mk
if os(freebsd)
cc-options: -DLIBICONV_PLUG
if arch(javascript)
exposed-modules:
GHC.Internal.JS.Prim
GHC.Internal.JS.Prim.Internal
GHC.Internal.JS.Prim.Internal.Build
GHC.Internal.JS.Foreign.Callback
if arch(wasm32)
exposed-modules:
GHC.Internal.Wasm.Prim
other-modules:
GHC.Internal.Wasm.Prim.Conc
GHC.Internal.Wasm.Prim.Conc.Internal
GHC.Internal.Wasm.Prim.Exports
GHC.Internal.Wasm.Prim.Flag
GHC.Internal.Wasm.Prim.Imports
GHC.Internal.Wasm.Prim.Types
-- We need to set the unit id to ghc-internal (without a version number)
-- as it's magic.
ghc-options: -this-unit-id ghc-internal
-- Make sure we don't accidentally regress into anti-patterns
ghc-options: -Wcompat -Wnoncanonical-monad-instances