From feac5b23a7dc3a844698ffb28b153fdeb24847c6 Mon Sep 17 00:00:00 2001
From: Duncan Coutts <duncan@haskell.org>
Date: Tue, 25 Mar 2008 15:36:14 +0000
Subject: [PATCH] Improve the .cabal file Specify the build-type and min
 cabal-version. Don't have Data.Array in both exposed-modules on both sides of
 a conditional, just make it unconditional. Stop using -fglasgow-exts and
 specify all the extensions explicitly. Some extensions are conditional on
 non-nhc98 and some are ghc-specific.

---
 array.cabal | 27 +++++++++++++++++++--------
 1 file changed, 19 insertions(+), 8 deletions(-)

diff --git a/array.cabal b/array.cabal
index cf94559d..f2ee56bc 100644
--- a/array.cabal
+++ b/array.cabal
@@ -8,14 +8,16 @@ description:
     This package defines the classes @IArray@ of immutable arrays and
     @MArray@ of arrays mutable within appropriate monads, as well as
     some instances of these classes.
-library {
+cabal-version: >=1.2
+build-type: Simple
+
+library
   build-depends: base
-  if impl(nhc98)
-    exposed-modules:
+  exposed-modules:
       Data.Array
-  else
+  extensions: CPP
+  if !impl(nhc98)
     exposed-modules:
-      Data.Array
       Data.Array.Base
       Data.Array.Diff
       Data.Array.IArray
@@ -26,7 +28,16 @@ library {
       Data.Array.Unboxed
     other-modules:
       Data.Array.IO.Internals
-  extensions: CPP
+    extensions:
+      MultiParamTypeClasses,
+      FlexibleContexts,
+      FlexibleInstances,
+      TypeSynonymInstances
+  if impl(ghc)
+    extensions:
+      Rank2Types,
+      MagicHash,
+      UnboxedTuples,
+      ForeignFunctionInterface,
+      UnliftedFFITypes
   include-dirs: include
-  ghc-options: -fglasgow-exts
-}
-- 
GitLab