Turn off the gcd/lcm optimisations for Integer for now
[ghc-base.git] / base.cabal
index e08510a..6d218fa 100644 (file)
@@ -1,28 +1,23 @@
-name:        base
-version:    2.1
-license:    BSD3
-license-file:    LICENSE
-maintainer:    libraries@haskell.org
-synopsis:    Basic libraries
+name:           base
+version:        3.0
+license:        BSD3
+license-file:   LICENSE
+maintainer:     libraries@haskell.org
+synopsis:       Basic libraries
 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.2
+build-type: Configure
+extra-tmp-files:
+                config.log config.status autom4te.cache
+                include/HsBaseConfig.h
 
-Flag IsGHC {
-    Description: Are we compiling with GHC?
-    Default: True
-}
 
 Library {
-    -- This is actually something of a hack, as if we are using
-    -- GHC and we don't have an rts package for some reason, we
-    -- actually ought to fail.
-    if flag(IsGHC) {
-        build-depends: rts
-        if os(mingw32) {
-            extra-libraries: wsock32, msvcrt, kernel32, user32, shell32
-        }
+    if impl(ghc) {
+        build-depends: rts, ghc-prim, integer
         exposed-modules:
             Data.Generics,
             Data.Generics.Aliases,
@@ -36,6 +31,7 @@ Library {
             GHC.Base,
             GHC.Conc,
             GHC.ConsoleHandler,
+            GHC.Desugar,
             GHC.Dotnet,
             GHC.Enum,
             GHC.Environment,
@@ -52,8 +48,6 @@ Library {
             GHC.Num,
             GHC.PArr,
             GHC.Pack,
-            GHC.Prim,
-            GHC.PrimopWrappers,
             GHC.Ptr,
             GHC.Read,
             GHC.Real,
@@ -67,10 +61,17 @@ Library {
             GHC.Weak,
             GHC.Word,
             System.Timeout
+        extensions: MagicHash, ExistentialQuantification, Rank2Types,
+                    ScopedTypeVariables, UnboxedTuples,
+                    ForeignFunctionInterface, UnliftedFFITypes,
+                    DeriveDataTypeable, GeneralizedNewtypeDeriving,
+                    FlexibleInstances, PatternSignatures, StandaloneDeriving,
+                    PatternGuards
     }
     exposed-modules:
         Control.Applicative,
         Control.Arrow,
+        Control.Category,
         Control.Concurrent,
         Control.Concurrent.Chan,
         Control.Concurrent.MVar,
@@ -84,53 +85,30 @@ Library {
         Control.Monad.ST,
         Control.Monad.ST.Lazy,
         Control.Monad.ST.Strict,
-        Data.Array,
-        Data.Array.Base,
-        Data.Array.Diff,
-        Data.Array.IArray,
-        Data.Array.IO,
-        Data.Array.MArray,
-        Data.Array.ST,
-        Data.Array.Storable,
-        Data.Array.Unboxed,
         Data.Bits,
         Data.Bool,
-        Data.ByteString,
-        Data.ByteString.Char8,
-        Data.ByteString.Lazy
-        Data.ByteString.Lazy.Char8
-        Data.ByteString.Base
-        Data.ByteString.Fusion
         Data.Char,
         Data.Complex,
         Data.Dynamic,
         Data.Either,
         Data.Eq,
-        Data.Foldable,
         Data.Fixed,
+        Data.Foldable
         Data.Function,
-        Data.Graph,
         Data.HashTable,
         Data.IORef,
         Data.Int,
-        Data.IntMap,
-        Data.IntSet,
         Data.Ix,
         Data.List,
         Data.Maybe,
-        Data.Map,
         Data.Monoid,
         Data.Ord,
-        Data.PackedString,
         Data.Ratio,
         Data.STRef,
         Data.STRef.Lazy,
         Data.STRef.Strict,
-        Data.Sequence,
-        Data.Set,
         Data.String,
-        Data.Tree,
-        Data.Traversable,
+        Data.Traversable
         Data.Tuple,
         Data.Typeable,
         Data.Unique,
@@ -166,7 +144,6 @@ Library {
         System.Mem.StableName,
         System.Mem.Weak,
         System.Posix.Internals,
-        System.Posix.Signals,
         System.Posix.Types,
         Text.ParserCombinators.ReadP,
         Text.ParserCombinators.ReadPrec,
@@ -176,27 +153,23 @@ Library {
         Text.Show,
         Text.Show.Functions
         Unsafe.Coerce
-    other-modules:
-        Data.Array.IO.Internals
     c-sources:
         cbits/PrelIOUtils.c
         cbits/WCsubst.c
         cbits/Win32Utils.c
         cbits/consUtils.c
         cbits/dirUtils.c
-        cbits/fpstring.c
         cbits/inputReady.c
-        cbits/lockFile.c
-        cbits/longlong.c
         cbits/selectUtils.c
     include-dirs: include
     includes:    HsBase.h
-    install-includes:    HsBase.h HsBaseConfig.h WCsubst.h dirUtils.h lockFile.h consUtils.h Typeable.h
-    extensions:    CPP
-    -- XXX is there an extension for using # in varids?
+    install-includes:    HsBase.h HsBaseConfig.h WCsubst.h dirUtils.h consUtils.h Typeable.h
+    if os(windows) {
+        extra-libraries: wsock32, msvcrt, kernel32, user32, shell32
+    }
+    extensions: CPP
     -- We need to set the package name to base (without a version number)
     -- as it's magic.
-    ghc-options: -fglasgow-exts -package-name base
+    ghc-options: -package-name base
     nhc98-options: -H4M -K3M
 }
-