Provide default MIN_VERSION_base if not available.
authorMilan Straka <fox@ucw.cz>
Sun, 19 Oct 2014 08:43:09 +0000 (10:43 +0200)
committerMilan Straka <fox@ucw.cz>
Sun, 19 Oct 2014 08:43:09 +0000 (10:43 +0200)
After #56, we use MIN_VERSION_base in many places. We now provide
trivial MIN_VERSION_base if not available to allow compiling without
cabal.

Data/IntMap/Base.hs
Data/IntSet/Base.hs
Data/Map/Base.hs
Data/Sequence.hs
Data/Set/Base.hs
Data/Tree.hs

index 0de3e5b..8f2e32f 100644 (file)
@@ -247,6 +247,14 @@ import Text.Read
 -- want the compilers to be compiled by as many compilers as possible.
 #define STRICT_1_OF_2(fn) fn arg _ | arg `seq` False = undefined
 
+-- We use cabal-generated MIN_VERSION_base to adapt to changes of base.
+-- Nevertheless, as a convenience, we also allow compiling without cabal by
+-- defining trivial MIN_VERSION_base if needed.
+#ifndef MIN_VERSION_base
+#define MIN_VERSION_base(major1,major2,minor) 0
+#endif
+
+
 -- A "Nat" is a natural machine word (an unsigned Int)
 type Nat = Word
 
index c8e70f6..b6f8014 100644 (file)
@@ -202,6 +202,14 @@ import GHC.Prim (indexInt8OffAddr#)
 #define STRICT_1_OF_3(fn) fn arg _ _ | arg `seq` False = undefined
 #define STRICT_2_OF_3(fn) fn _ arg _ | arg `seq` False = undefined
 
+-- We use cabal-generated MIN_VERSION_base to adapt to changes of base.
+-- Nevertheless, as a convenience, we also allow compiling without cabal by
+-- defining trivial MIN_VERSION_base if needed.
+#ifndef MIN_VERSION_base
+#define MIN_VERSION_base(major1,major2,minor) 0
+#endif
+
+
 infixl 9 \\{-This comment teaches CPP correct behaviour -}
 
 -- A "Nat" is a natural machine word (an unsigned Int)
index 72934e9..edcfdb7 100644 (file)
@@ -299,6 +299,14 @@ import Data.Data
 #define STRICT_1_OF_4(fn) fn arg _ _ _ | arg `seq` False = undefined
 #define STRICT_2_OF_4(fn) fn _ arg _ _ | arg `seq` False = undefined
 
+-- We use cabal-generated MIN_VERSION_base to adapt to changes of base.
+-- Nevertheless, as a convenience, we also allow compiling without cabal by
+-- defining trivial MIN_VERSION_base if needed.
+#ifndef MIN_VERSION_base
+#define MIN_VERSION_base(major1,major2,minor) 0
+#endif
+
+
 {--------------------------------------------------------------------
   Operators
 --------------------------------------------------------------------}
index f1385f5..a2b4844 100644 (file)
@@ -160,6 +160,14 @@ import Text.Read (Lexeme(Ident), lexP, parens, prec,
 import Data.Data
 #endif
 
+-- We use cabal-generated MIN_VERSION_base to adapt to changes of base.
+-- Nevertheless, as a convenience, we also allow compiling without cabal by
+-- defining trivial MIN_VERSION_base if needed.
+#ifndef MIN_VERSION_base
+#define MIN_VERSION_base(major1,major2,minor) 0
+#endif
+
+
 infixr 5 `consTree`
 infixl 5 `snocTree`
 
index 9260aeb..e676a6f 100644 (file)
@@ -214,6 +214,14 @@ import Data.Data
 #define STRICT_1_OF_3(fn) fn arg _ _ | arg `seq` False = undefined
 #define STRICT_2_OF_3(fn) fn _ arg _ | arg `seq` False = undefined
 
+-- We use cabal-generated MIN_VERSION_base to adapt to changes of base.
+-- Nevertheless, as a convenience, we also allow compiling without cabal by
+-- defining trivial MIN_VERSION_base if needed.
+#ifndef MIN_VERSION_base
+#define MIN_VERSION_base(major1,major2,minor) 0
+#endif
+
+
 {--------------------------------------------------------------------
   Operators
 --------------------------------------------------------------------}
index 2f18c68..c880213 100644 (file)
@@ -45,6 +45,14 @@ import Control.DeepSeq (NFData(rnf))
 import Data.Data (Data)
 #endif
 
+-- We use cabal-generated MIN_VERSION_base to adapt to changes of base.
+-- Nevertheless, as a convenience, we also allow compiling without cabal by
+-- defining trivial MIN_VERSION_base if needed.
+#ifndef MIN_VERSION_base
+#define MIN_VERSION_base(major1,major2,minor) 0
+#endif
+
+
 -- | Multi-way trees, also known as /rose trees/.
 data Tree a = Node {
         rootLabel :: a,         -- ^ label value