diff options
author | Herbert Valerio Riedel <hvr@gnu.org> | 2013-09-28 11:10:23 +0200 |
---|---|---|
committer | Herbert Valerio Riedel <hvr@gnu.org> | 2013-09-28 12:29:11 +0200 |
commit | a7e09b46ce0b3bb46329eaf96522bd2c381a297f (patch) | |
tree | 9c6e7bd0008ca465cc5130f94337ab06f770db1a | |
parent | deff0ccbe976a3ef204e0a8585b5559777ca67eb (diff) | |
download | haskell-a7e09b46ce0b3bb46329eaf96522bd2c381a297f.tar.gz |
Modernize and refactor `base.cabal`
- removes the redundant `impl(ghc)` conditional
- unifies the `exposed-modules` list
- sorts lists alphabetically
- convert to uniform `,`-less & line-oriented lists
(helps reduce diff-noise in future)
- remove obsolete `nhc98-options` field
- avoid `{}`-style Cabal grammar
- remove `extensions: CPP`
- add `category` field to silence Cabal warning
- add missing entries to `extra-source-files`
(the source distribution wasn't buildable because of this!)
- list all occuring `LANGUAGE` pragmas in `other-extensions`
- explicitly declare `default-language: Haskell2010`
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
-rw-r--r-- | libraries/base/base.cabal | 460 |
1 files changed, 262 insertions, 198 deletions
diff --git a/libraries/base/base.cabal b/libraries/base/base.cabal index 6e8e67eb83..f8993df380 100644 --- a/libraries/base/base.cabal +++ b/libraries/base/base.cabal @@ -4,21 +4,36 @@ version: 4.7.0.0 license: BSD3 license-file: LICENSE maintainer: libraries@haskell.org -bug-reports: http://hackage.haskell.org/trac/ghc/newticket?component=libraries/base +bug-reports: http://hackage.haskell.org/trac/ghc/newticket?component=libraries/base synopsis: Basic libraries +category: Unclassified description: This package contains the Prelude and its support libraries, and a large collection of useful libraries ranging from data structures to parsing combinators and debugging utilities. -cabal-version: >=1.6 -build-type: Configure +cabal-version: >=1.10 +build-type: Configure + extra-tmp-files: - config.log config.status autom4te.cache - include/HsBaseConfig.h include/EventConfig.h + autom4te.cache + config.log + config.status + include/EventConfig.h + include/HsBaseConfig.h + extra-source-files: - config.guess config.sub install-sh - aclocal.m4 configure.ac configure - include/CTypes.h include/md5.h + aclocal.m4 + base.buildinfo.in + config.guess + config.sub + configure + configure.ac + include/CTypes.h + include/EventConfig.h.in + include/HsBaseConfig.h.in + include/ieee-flpt.h + include/md5.h + install-sh source-repository head type: git @@ -27,218 +42,270 @@ source-repository head Flag integer-simple Description: Use integer-simple -Library { - if impl(ghc) { - if flag(integer-simple) - build-depends: integer-simple - else - build-depends: integer-gmp - cpp-options: -DOPTIMISE_INTEGER_GCD_LCM - build-depends: rts, ghc-prim - exposed-modules: - Foreign.Concurrent, - GHC.Arr, - GHC.Base, - GHC.Char, - GHC.Conc, - GHC.Conc.IO, - GHC.Conc.Signal, - GHC.Conc.Sync, - GHC.ConsoleHandler, - GHC.Constants, - GHC.Desugar, - GHC.Enum, - GHC.Environment, - GHC.Err, - GHC.Exception, - GHC.Exts, - GHC.Fingerprint, - GHC.Fingerprint.Type, - GHC.Float, - GHC.Float.ConversionUtils, - GHC.Float.RealFracMethods, - GHC.Foreign, - GHC.ForeignPtr, - GHC.Generics, - GHC.GHCi, - GHC.IO, - GHC.IO.Buffer, - GHC.IO.BufferedIO, - GHC.IO.Device, - GHC.IO.Encoding, - GHC.IO.Encoding.CodePage, - GHC.IO.Encoding.Failure, - GHC.IO.Encoding.Iconv, - GHC.IO.Encoding.Latin1, - GHC.IO.Encoding.Types, - GHC.IO.Encoding.UTF16, - GHC.IO.Encoding.UTF32, - GHC.IO.Encoding.UTF8, - GHC.IO.Exception, - GHC.IO.FD, - GHC.IO.Handle, - GHC.IO.Handle.FD, - GHC.IO.Handle.Internals, - GHC.IO.Handle.Text, - GHC.IO.Handle.Types, - GHC.IO.IOMode, - GHC.IOArray, - GHC.IORef, - GHC.IP, - GHC.Int, - GHC.List, - GHC.MVar, - GHC.Num, - GHC.PArr, - GHC.Pack, - GHC.Profiling, - GHC.Ptr, - GHC.Read, - GHC.Real, - GHC.ST, - GHC.Stack, - GHC.Stats, - GHC.Show, - GHC.Stable, - GHC.Storable, - GHC.STRef, - GHC.TypeLits, - GHC.TopHandler, - GHC.Unicode, - GHC.Weak, - GHC.Word, - System.Timeout - if os(windows) - exposed-modules: GHC.IO.Encoding.CodePage.API - GHC.IO.Encoding.CodePage.Table - GHC.Conc.Windows - GHC.Windows - } +Library + default-language: Haskell2010 + other-extensions: + BangPatterns + CApiFFI + CPP + ConstraintKinds + DataKinds + DeriveDataTypeable + DeriveGeneric + ExistentialQuantification + ExplicitForAll + FlexibleContexts + FlexibleInstances + FunctionalDependencies + GADTs + GeneralizedNewtypeDeriving + KindSignatures + MagicHash + MultiParamTypeClasses + NegativeLiterals + NoBangPatterns + NoImplicitPrelude + NondecreasingIndentation + OverlappingInstances + OverloadedStrings + ParallelArrays + PolyKinds + RankNTypes + RecordWildCards + RoleAnnotations + Safe + ScopedTypeVariables + StandaloneDeriving + Trustworthy + TypeFamilies + TypeOperators + TypeSynonymInstances + UnboxedTuples + UndecidableInstances + UnliftedFFITypes + Unsafe + + build-depends: rts, ghc-prim + if flag(integer-simple) + build-depends: integer-simple + else + build-depends: integer-gmp + cpp-options: -DOPTIMISE_INTEGER_GCD_LCM + exposed-modules: - Control.Applicative, - Control.Arrow, - Control.Category, - Control.Concurrent, - Control.Concurrent.Chan, - Control.Concurrent.MVar, - Control.Concurrent.QSem, - Control.Concurrent.QSemN, - Control.Exception, + Control.Applicative + Control.Arrow + Control.Category + Control.Concurrent + Control.Concurrent.Chan + Control.Concurrent.MVar + Control.Concurrent.QSem + Control.Concurrent.QSemN + Control.Exception Control.Exception.Base - Control.Monad, - Control.Monad.Fix, - Control.Monad.Instances, - Control.Monad.ST, - Control.Monad.ST.Safe, - Control.Monad.ST.Unsafe, - Control.Monad.ST.Lazy, - Control.Monad.ST.Lazy.Safe, - Control.Monad.ST.Lazy.Unsafe, - Control.Monad.ST.Strict, + Control.Monad + Control.Monad.Fix + Control.Monad.Instances + Control.Monad.ST + Control.Monad.ST.Lazy + Control.Monad.ST.Lazy.Safe + Control.Monad.ST.Lazy.Unsafe + Control.Monad.ST.Safe + Control.Monad.ST.Strict + Control.Monad.ST.Unsafe Control.Monad.Zip - Data.Bits, - Data.Bool, - Data.Char, - Data.Complex, - Data.Dynamic, - Data.Either, - Data.Eq, - Data.Data, - Data.Fixed, + Data.Bits + Data.Bool + Data.Char + Data.Complex + Data.Data + Data.Dynamic + Data.Either + Data.Eq + Data.Fixed Data.Foldable - Data.Function, - Data.Functor, - Data.IORef, - Data.Int, - Data.Ix, - Data.List, - Data.Maybe, - Data.Monoid, - Data.Ord, - Data.Proxy, - Data.Ratio, + Data.Function + Data.Functor + Data.IORef + Data.Int + Data.Ix + Data.List + Data.Maybe + Data.Monoid + Data.OldTypeable + Data.OldTypeable.Internal + Data.Ord + Data.Proxy + Data.Ratio Data.STRef Data.STRef.Lazy Data.STRef.Strict - Data.String, + Data.String Data.Traversable - Data.Tuple, - Data.Typeable, - Data.Typeable.Internal, - Data.OldTypeable, - Data.OldTypeable.Internal, - Data.Type.Equality, - Data.Unique, - Data.Version, - Data.Word, - Debug.Trace, - Foreign, - Foreign.C, - Foreign.C.Error, - Foreign.C.String, - Foreign.C.Types, - Foreign.ForeignPtr, - Foreign.ForeignPtr.Safe, - Foreign.ForeignPtr.Unsafe, - Foreign.Marshal, - Foreign.Marshal.Alloc, - Foreign.Marshal.Array, - Foreign.Marshal.Error, - Foreign.Marshal.Pool, - Foreign.Marshal.Safe, - Foreign.Marshal.Utils, - Foreign.Marshal.Unsafe, - Foreign.Ptr, - Foreign.Safe, - Foreign.StablePtr, - Foreign.Storable, - Numeric, - Prelude, + Data.Tuple + Data.Type.Equality + Data.Typeable + Data.Typeable.Internal + Data.Unique + Data.Version + Data.Word + Debug.Trace + Foreign + Foreign.C + Foreign.C.Error + Foreign.C.String + Foreign.C.Types + Foreign.Concurrent + Foreign.ForeignPtr + Foreign.ForeignPtr.Safe + Foreign.ForeignPtr.Unsafe + Foreign.Marshal + Foreign.Marshal.Alloc + Foreign.Marshal.Array + Foreign.Marshal.Error + Foreign.Marshal.Pool + Foreign.Marshal.Safe + Foreign.Marshal.Unsafe + Foreign.Marshal.Utils + Foreign.Ptr + Foreign.Safe + Foreign.StablePtr + Foreign.Storable + GHC.Arr + GHC.Base + GHC.Char + GHC.Conc + GHC.Conc.IO + GHC.Conc.Signal + GHC.Conc.Sync + GHC.ConsoleHandler + GHC.Constants + GHC.Desugar + GHC.Enum + GHC.Environment + GHC.Err + GHC.Exception + GHC.Exts + GHC.Fingerprint + GHC.Fingerprint.Type + GHC.Float + GHC.Float.ConversionUtils + GHC.Float.RealFracMethods + GHC.Foreign + GHC.ForeignPtr + GHC.GHCi + GHC.Generics + GHC.IO + GHC.IO.Buffer + GHC.IO.BufferedIO + GHC.IO.Device + GHC.IO.Encoding + GHC.IO.Encoding.CodePage + GHC.IO.Encoding.Failure + GHC.IO.Encoding.Iconv + GHC.IO.Encoding.Latin1 + GHC.IO.Encoding.Types + GHC.IO.Encoding.UTF16 + GHC.IO.Encoding.UTF32 + GHC.IO.Encoding.UTF8 + GHC.IO.Exception + GHC.IO.FD + GHC.IO.Handle + GHC.IO.Handle.FD + GHC.IO.Handle.Internals + GHC.IO.Handle.Text + GHC.IO.Handle.Types + GHC.IO.IOMode + GHC.IOArray + GHC.IORef + GHC.IP + GHC.Int + GHC.List + GHC.MVar + GHC.Num + GHC.PArr + GHC.Pack + GHC.Profiling + GHC.Ptr + GHC.Read + GHC.Real + GHC.ST + GHC.STRef + GHC.Show + GHC.Stable + GHC.Stack + GHC.Stats + GHC.Storable + GHC.TopHandler + GHC.TypeLits + GHC.Unicode + GHC.Weak + GHC.Word + Numeric + Prelude + System.CPUTime System.Console.GetOpt - System.CPUTime, - System.Environment, - System.Exit, - System.IO, - System.IO.Error, - System.IO.Unsafe, - System.Info, - System.Mem, - System.Mem.StableName, - System.Mem.Weak, - System.Posix.Internals, - System.Posix.Types, - Text.ParserCombinators.ReadP, - Text.ParserCombinators.ReadPrec, - Text.Printf, - Text.Read, - Text.Read.Lex, - Text.Show, + System.Environment + System.Exit + System.IO + System.IO.Error + System.IO.Unsafe + System.Info + System.Mem + System.Mem.StableName + System.Mem.Weak + System.Posix.Internals + System.Posix.Types + System.Timeout + Text.ParserCombinators.ReadP + Text.ParserCombinators.ReadPrec + Text.Printf + Text.Read + Text.Read.Lex + Text.Show Text.Show.Functions Unsafe.Coerce + other-modules: Control.Monad.ST.Imp Control.Monad.ST.Lazy.Imp Foreign.ForeignPtr.Imp System.Environment.ExecutablePath + c-sources: + cbits/DarwinUtils.c cbits/PrelIOUtils.c + cbits/SetEnv.c cbits/WCsubst.c cbits/Win32Utils.c - cbits/DarwinUtils.c cbits/consUtils.c cbits/iconv.c cbits/inputReady.c - cbits/primFloat.c cbits/md5.c - cbits/SetEnv.c + cbits/primFloat.c cbits/sysconf.c + include-dirs: include - includes: HsBase.h - install-includes: HsBase.h HsBaseConfig.h EventConfig.h WCsubst.h consUtils.h Typeable.h OldTypeable.h - if os(windows) { + includes: + HsBase.h + install-includes: + HsBase.h + HsBaseConfig.h + EventConfig.h + WCsubst.h + consUtils.h + Typeable.h + OldTypeable.h + + -- OS Specific + if os(windows) extra-libraries: wsock32, user32, shell32 - } - if !os(windows) { + exposed-modules: + GHC.IO.Encoding.CodePage.API + GHC.IO.Encoding.CodePage.Table + GHC.Conc.Windows + GHC.Windows + else exposed-modules: GHC.Event other-modules: @@ -251,15 +318,12 @@ Library { GHC.Event.Internal GHC.Event.KQueue GHC.Event.Manager - GHC.Event.TimerManager GHC.Event.PSQ GHC.Event.Poll GHC.Event.Thread + GHC.Event.TimerManager GHC.Event.Unique - } + -- We need to set the package name to base (without a version number) -- as it's magic. ghc-options: -package-name base - nhc98-options: -H4M -K3M - extensions: CPP -} |