base 4.16.4.0 → 4.17.0.0
raw patch · 142 files changed
+36225/−39303 lines, 142 filesdep ~ghc-primPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: ghc-prim
API changes (from Hackage documentation)
- GHC.Base: divModInt# :: Int# -> Int# -> (# Int#, Int# #)
- GHC.Exts: copyArrayArray# :: ArrayArray# -> Int# -> MutableArrayArray# d -> Int# -> Int# -> State# d -> State# d
- GHC.Exts: copyMutableArrayArray# :: MutableArrayArray# d -> Int# -> MutableArrayArray# d -> Int# -> Int# -> State# d -> State# d
- GHC.Exts: data ArrayArray# :: UnliftedType
- GHC.Exts: data MutableArrayArray# a :: UnliftedType
- GHC.Exts: indexArrayArrayArray# :: ArrayArray# -> Int# -> ArrayArray#
- GHC.Exts: indexByteArrayArray# :: ArrayArray# -> Int# -> ByteArray#
- GHC.Exts: instance GHC.Exts.IsList (Control.Applicative.ZipList a)
- GHC.Exts: instance GHC.Exts.IsList (GHC.Base.NonEmpty a)
- GHC.Exts: instance GHC.Exts.IsList Data.Version.Version
- GHC.Exts: instance GHC.Exts.IsList GHC.Stack.Types.CallStack
- GHC.Exts: instance GHC.Exts.IsList [a]
- GHC.Exts: magicDict :: a
- GHC.Exts: newArrayArray# :: Int# -> State# d -> (# State# d, MutableArrayArray# d #)
- GHC.Exts: readArrayArrayArray# :: MutableArrayArray# d -> Int# -> State# d -> (# State# d, ArrayArray# #)
- GHC.Exts: readByteArrayArray# :: MutableArrayArray# d -> Int# -> State# d -> (# State# d, ByteArray# #)
- GHC.Exts: readMutableArrayArrayArray# :: MutableArrayArray# d -> Int# -> State# d -> (# State# d, MutableArrayArray# d #)
- GHC.Exts: readMutableByteArrayArray# :: MutableArrayArray# d -> Int# -> State# d -> (# State# d, MutableByteArray# d #)
- GHC.Exts: sameMutableArrayArray# :: MutableArrayArray# d -> MutableArrayArray# d -> Int#
- GHC.Exts: sizeofArrayArray# :: ArrayArray# -> Int#
- GHC.Exts: sizeofMutableArrayArray# :: MutableArrayArray# d -> Int#
- GHC.Exts: unsafeFreezeArrayArray# :: MutableArrayArray# d -> State# d -> (# State# d, ArrayArray# #)
- GHC.Exts: writeArrayArrayArray# :: MutableArrayArray# d -> Int# -> ArrayArray# -> State# d -> State# d
- GHC.Exts: writeByteArrayArray# :: MutableArrayArray# d -> Int# -> ByteArray# -> State# d -> State# d
- GHC.Exts: writeMutableArrayArrayArray# :: MutableArrayArray# d -> Int# -> MutableArrayArray# d -> State# d -> State# d
- GHC.Exts: writeMutableByteArrayArray# :: MutableArrayArray# d -> Int# -> MutableByteArray# d -> State# d -> State# d
- GHC.ST: instance Control.Monad.Fail.MonadFail (GHC.ST.ST s)
+ Data.Array.Byte: ByteArray :: ByteArray# -> ByteArray
+ Data.Array.Byte: MutableByteArray :: MutableByteArray# s -> MutableByteArray s
+ Data.Array.Byte: data ByteArray
+ Data.Array.Byte: data MutableByteArray s
+ Data.Array.Byte: instance Data.Data.Data Data.Array.Byte.ByteArray
+ Data.Array.Byte: instance Data.Typeable.Internal.Typeable s => Data.Data.Data (Data.Array.Byte.MutableByteArray s)
+ Data.Array.Byte: instance GHC.Base.Monoid Data.Array.Byte.ByteArray
+ Data.Array.Byte: instance GHC.Base.Semigroup Data.Array.Byte.ByteArray
+ Data.Array.Byte: instance GHC.Classes.Eq (Data.Array.Byte.MutableByteArray s)
+ Data.Array.Byte: instance GHC.Classes.Eq Data.Array.Byte.ByteArray
+ Data.Array.Byte: instance GHC.Classes.Ord Data.Array.Byte.ByteArray
+ Data.Array.Byte: instance GHC.IsList.IsList Data.Array.Byte.ByteArray
+ Data.Array.Byte: instance GHC.Show.Show Data.Array.Byte.ByteArray
+ Data.Bits: (!<<.) :: Bits a => a -> Int -> a
+ Data.Bits: (!>>.) :: Bits a => a -> Int -> a
+ Data.Bits: (.<<.) :: Bits a => a -> Int -> a
+ Data.Bits: (.>>.) :: Bits a => a -> Int -> a
+ Data.Bits: (.^.) :: Bits a => a -> a -> a
+ Data.Functor.Classes: instance (GHC.Generics.Generic1 f, Data.Functor.Classes.Eq1 (GHC.Generics.Rep1 f)) => Data.Functor.Classes.Eq1 (GHC.Generics.Generically1 f)
+ Data.Functor.Classes: instance (GHC.Generics.Generic1 f, Data.Functor.Classes.Ord1 (GHC.Generics.Rep1 f)) => Data.Functor.Classes.Ord1 (GHC.Generics.Generically1 f)
+ GHC.ArrayArray: ArrayArray# :: Array# ByteArray# -> ArrayArray#
+ GHC.ArrayArray: MutableArrayArray# :: MutableArray# s ByteArray# -> MutableArrayArray# s
+ GHC.ArrayArray: copyArrayArray# :: ArrayArray# -> Int# -> MutableArrayArray# s -> Int# -> Int# -> State# s -> State# s
+ GHC.ArrayArray: copyMutableArrayArray# :: MutableArrayArray# s -> Int# -> MutableArrayArray# s -> Int# -> Int# -> State# s -> State# s
+ GHC.ArrayArray: indexArrayArrayArray# :: ArrayArray# -> Int# -> ArrayArray#
+ GHC.ArrayArray: indexByteArrayArray# :: ArrayArray# -> Int# -> ByteArray#
+ GHC.ArrayArray: newArrayArray# :: Int# -> State# s -> (# State# s, MutableArrayArray# s #)
+ GHC.ArrayArray: newtype ArrayArray#
+ GHC.ArrayArray: newtype MutableArrayArray# s
+ GHC.ArrayArray: readArrayArrayArray# :: MutableArrayArray# s -> Int# -> State# s -> (# State# s, ArrayArray# #)
+ GHC.ArrayArray: readByteArrayArray# :: MutableArrayArray# s -> Int# -> State# s -> (# State# s, ByteArray# #)
+ GHC.ArrayArray: readMutableArrayArrayArray# :: MutableArrayArray# s -> Int# -> State# s -> (# State# s, MutableArrayArray# s #)
+ GHC.ArrayArray: readMutableByteArrayArray# :: MutableArrayArray# s -> Int# -> State# s -> (# State# s, MutableByteArray# s #)
+ GHC.ArrayArray: sameArrayArray# :: ArrayArray# -> ArrayArray# -> Int#
+ GHC.ArrayArray: sameMutableArrayArray# :: MutableArrayArray# s -> MutableArrayArray# s -> Int#
+ GHC.ArrayArray: sizeofArrayArray# :: ArrayArray# -> Int#
+ GHC.ArrayArray: sizeofMutableArrayArray# :: MutableArrayArray# s -> Int#
+ GHC.ArrayArray: unsafeFreezeArrayArray# :: MutableArrayArray# s -> State# s -> (# State# s, ArrayArray# #)
+ GHC.ArrayArray: writeArrayArrayArray# :: MutableArrayArray# s -> Int# -> ArrayArray# -> State# s -> State# s
+ GHC.ArrayArray: writeByteArrayArray# :: MutableArrayArray# s -> Int# -> ByteArray# -> State# s -> State# s
+ GHC.ArrayArray: writeMutableArrayArrayArray# :: MutableArrayArray# s -> Int# -> MutableArrayArray# s -> State# s -> State# s
+ GHC.ArrayArray: writeMutableByteArrayArray# :: MutableArrayArray# s -> Int# -> MutableByteArray# s -> State# s -> State# s
+ GHC.Base: shift_mask :: Int# -> Int# -> Int#
+ GHC.Conc.Sync: instance GHC.Base.Monoid a => GHC.Base.Monoid (GHC.Conc.Sync.STM a)
+ GHC.Conc.Sync: instance GHC.Base.Semigroup a => GHC.Base.Semigroup (GHC.Conc.Sync.STM a)
+ GHC.Exts: EQ :: Ordering
+ GHC.Exts: False :: Bool
+ GHC.Exts: GT :: Ordering
+ GHC.Exts: LT :: Ordering
+ GHC.Exts: Many :: Multiplicity
+ GHC.Exts: One :: Multiplicity
+ GHC.Exts: True :: Bool
+ GHC.Exts: and64# :: Word64# -> Word64# -> Word64#
+ GHC.Exts: atomicCasWord16Addr# :: Addr# -> Word16# -> Word16# -> State# d -> (# State# d, Word16# #)
+ GHC.Exts: atomicCasWord32Addr# :: Addr# -> Word32# -> Word32# -> State# d -> (# State# d, Word32# #)
+ GHC.Exts: atomicCasWord64Addr# :: Addr# -> Word64# -> Word64# -> State# d -> (# State# d, Word64# #)
+ GHC.Exts: atomicCasWord8Addr# :: Addr# -> Word8# -> Word8# -> State# d -> (# State# d, Word8# #)
+ GHC.Exts: casInt16Array# :: MutableByteArray# d -> Int# -> Int16# -> Int16# -> State# d -> (# State# d, Int16# #)
+ GHC.Exts: casInt32Array# :: MutableByteArray# d -> Int# -> Int32# -> Int32# -> State# d -> (# State# d, Int32# #)
+ GHC.Exts: casInt64Array# :: MutableByteArray# d -> Int# -> Int64# -> Int64# -> State# d -> (# State# d, Int64# #)
+ GHC.Exts: casInt8Array# :: MutableByteArray# d -> Int# -> Int8# -> Int8# -> State# d -> (# State# d, Int8# #)
+ GHC.Exts: class () => WithDict cls meth
+ GHC.Exts: data () => Bool
+ GHC.Exts: data () => Multiplicity
+ GHC.Exts: data () => Ordering
+ GHC.Exts: data StackSnapshot# :: UnliftedType
+ GHC.Exts: data () => Symbol
+ GHC.Exts: eqInt64# :: Int64# -> Int64# -> Int#
+ GHC.Exts: eqWord64# :: Word64# -> Word64# -> Int#
+ GHC.Exts: geInt64# :: Int64# -> Int64# -> Int#
+ GHC.Exts: geWord64# :: Word64# -> Word64# -> Int#
+ GHC.Exts: gtInt64# :: Int64# -> Int64# -> Int#
+ GHC.Exts: gtWord64# :: Word64# -> Word64# -> Int#
+ GHC.Exts: int64ToInt# :: Int64# -> Int#
+ GHC.Exts: int64ToWord64# :: Int64# -> Word64#
+ GHC.Exts: intToInt64# :: Int# -> Int64#
+ GHC.Exts: leInt64# :: Int64# -> Int64# -> Int#
+ GHC.Exts: leWord64# :: Word64# -> Word64# -> Int#
+ GHC.Exts: ltInt64# :: Int64# -> Int64# -> Int#
+ GHC.Exts: ltWord64# :: Word64# -> Word64# -> Int#
+ GHC.Exts: neInt64# :: Int64# -> Int64# -> Int#
+ GHC.Exts: neWord64# :: Word64# -> Word64# -> Int#
+ GHC.Exts: negateInt64# :: Int64# -> Int64#
+ GHC.Exts: not64# :: Word64# -> Word64#
+ GHC.Exts: or64# :: Word64# -> Word64# -> Word64#
+ GHC.Exts: pattern KindRepVar :: () => !KindBndr -> KindRep
+ GHC.Exts: pattern KindRepTYPE :: () => !RuntimeRep -> KindRep
+ GHC.Exts: pattern TrNameS :: () => Addr# -> TrName
+ GHC.Exts: pattern KindRepFun :: () => KindRep -> KindRep -> KindRep
+ GHC.Exts: pattern KindRepTyConApp :: () => TyCon -> [KindRep] -> KindRep
+ GHC.Exts: pattern KindRepTypeLitS :: () => TypeLitSort -> Addr# -> KindRep
+ GHC.Exts: pattern TrNameD :: () => [Char] -> TrName
+ GHC.Exts: plusInt64# :: Int64# -> Int64# -> Int64#
+ GHC.Exts: plusWord64# :: Word64# -> Word64# -> Word64#
+ GHC.Exts: quotInt64# :: Int64# -> Int64# -> Int64#
+ GHC.Exts: quotWord64# :: Word64# -> Word64# -> Word64#
+ GHC.Exts: reallyUnsafePtrEquality :: a -> a -> Int#
+ GHC.Exts: remInt64# :: Int64# -> Int64# -> Int64#
+ GHC.Exts: remWord64# :: Word64# -> Word64# -> Word64#
+ GHC.Exts: sameArray# :: Array# a -> Array# a -> Int#
+ GHC.Exts: sameByteArray# :: ByteArray# -> ByteArray# -> Int#
+ GHC.Exts: sameSmallArray# :: SmallArray# a -> SmallArray# a -> Int#
+ GHC.Exts: subInt64# :: Int64# -> Int64# -> Int64#
+ GHC.Exts: subWord64# :: Word64# -> Word64# -> Word64#
+ GHC.Exts: timesInt64# :: Int64# -> Int64# -> Int64#
+ GHC.Exts: timesWord64# :: Word64# -> Word64# -> Word64#
+ GHC.Exts: type ZeroBitRep = 'TupleRep '[] :: [RuntimeRep]
+ GHC.Exts: type ZeroBitType = TYPE ZeroBitRep
+ GHC.Exts: uncheckedIShiftL64# :: Int64# -> Int# -> Int64#
+ GHC.Exts: uncheckedIShiftRA64# :: Int64# -> Int# -> Int64#
+ GHC.Exts: uncheckedIShiftRL64# :: Int64# -> Int# -> Int64#
+ GHC.Exts: uncheckedShiftL64# :: Word64# -> Int# -> Word64#
+ GHC.Exts: uncheckedShiftRL64# :: Word64# -> Int# -> Word64#
+ GHC.Exts: withDict :: forall {rr :: RuntimeRep} (r :: TYPE rr). WithDict cls meth => meth -> (cls => r) -> r
+ GHC.Exts: word64ToInt64# :: Word64# -> Int64#
+ GHC.Exts: word64ToWord# :: Word64# -> Word#
+ GHC.Exts: wordToWord64# :: Word# -> Word64#
+ GHC.Exts: xor64# :: Word64# -> Word64# -> Word64#
+ GHC.Float: ceilingDouble :: Integral b => Double -> b
+ GHC.Float: ceilingFloat :: Integral b => Float -> b
+ GHC.Float: floorDouble :: Integral b => Double -> b
+ GHC.Float: floorFloat :: Integral b => Float -> b
+ GHC.Float: properFractionDouble :: Integral b => Double -> (b, Double)
+ GHC.Float: properFractionFloat :: Integral b => Float -> (b, Float)
+ GHC.Float: roundDouble :: Integral b => Double -> b
+ GHC.Float: roundFloat :: Integral b => Float -> b
+ GHC.Float: truncateDouble :: Integral b => Double -> b
+ GHC.Float: truncateFloat :: Integral b => Float -> b
+ GHC.Generics: Generically :: a -> Generically a
+ GHC.Generics: [Generically1] :: forall {k} f a. f a -> Generically1 @k f a
+ GHC.Generics: instance (GHC.Generics.Generic a, GHC.Base.Monoid (GHC.Generics.Rep a ())) => GHC.Base.Monoid (GHC.Generics.Generically a)
+ GHC.Generics: instance (GHC.Generics.Generic a, GHC.Base.Semigroup (GHC.Generics.Rep a ())) => GHC.Base.Semigroup (GHC.Generics.Generically a)
+ GHC.Generics: instance (GHC.Generics.Generic1 f, GHC.Base.Alternative (GHC.Generics.Rep1 f)) => GHC.Base.Alternative (GHC.Generics.Generically1 f)
+ GHC.Generics: instance (GHC.Generics.Generic1 f, GHC.Base.Applicative (GHC.Generics.Rep1 f)) => GHC.Base.Applicative (GHC.Generics.Generically1 f)
+ GHC.Generics: instance (GHC.Generics.Generic1 f, GHC.Base.Functor (GHC.Generics.Rep1 f)) => GHC.Base.Functor (GHC.Generics.Generically1 f)
+ GHC.Generics: newtype Generically a
+ GHC.Generics: newtype Generically1 f a
+ GHC.Int: shiftRLInt16# :: Int16# -> Int# -> Int16#
+ GHC.Int: shiftRLInt32# :: Int32# -> Int# -> Int32#
+ GHC.Int: shiftRLInt8# :: Int8# -> Int# -> Int8#
+ GHC.IsList: -- structure <tt>l</tt>.
+ GHC.IsList: -- | The <a>Item</a> type function returns the type of items of the
+ GHC.IsList: class IsList l where {
+ GHC.IsList: fromList :: IsList l => [Item l] -> l
+ GHC.IsList: fromListN :: IsList l => Int -> [Item l] -> l
+ GHC.IsList: instance GHC.IsList.IsList (Control.Applicative.ZipList a)
+ GHC.IsList: instance GHC.IsList.IsList (GHC.Base.NonEmpty a)
+ GHC.IsList: instance GHC.IsList.IsList Data.Version.Version
+ GHC.IsList: instance GHC.IsList.IsList GHC.Stack.Types.CallStack
+ GHC.IsList: instance GHC.IsList.IsList [a]
+ GHC.IsList: toList :: IsList l => l -> [Item l]
+ GHC.IsList: type Item l;
+ GHC.IsList: }
+ GHC.List: augment :: forall a. (forall b. (a -> b -> b) -> b -> b) -> [a] -> [a]
+ GHC.List: build :: forall a. (forall b. (a -> b -> b) -> b -> b) -> [a]
+ GHC.List: foldr' :: (a -> b -> b) -> b -> [a] -> b
+ GHC.Stack.CCS: InfoProv :: String -> String -> String -> String -> String -> String -> InfoProv
+ GHC.Stack.CCS: [ipDesc] :: InfoProv -> String
+ GHC.Stack.CCS: [ipLabel] :: InfoProv -> String
+ GHC.Stack.CCS: [ipLoc] :: InfoProv -> String
+ GHC.Stack.CCS: [ipMod] :: InfoProv -> String
+ GHC.Stack.CCS: [ipName] :: InfoProv -> String
+ GHC.Stack.CCS: [ipTyDesc] :: InfoProv -> String
+ GHC.Stack.CCS: data InfoProv
+ GHC.Stack.CCS: data InfoProvEnt
+ GHC.Stack.CCS: instance GHC.Classes.Eq GHC.Stack.CCS.InfoProv
+ GHC.Stack.CCS: instance GHC.Show.Show GHC.Stack.CCS.InfoProv
+ GHC.Stack.CCS: ipeProv :: Ptr InfoProvEnt -> Ptr InfoProv
+ GHC.Stack.CCS: peekInfoProv :: Ptr InfoProv -> IO InfoProv
+ GHC.Stack.CloneStack: StackEntry :: String -> String -> String -> Word -> StackEntry
+ GHC.Stack.CloneStack: StackSnapshot :: !StackSnapshot# -> StackSnapshot
+ GHC.Stack.CloneStack: [closureType] :: StackEntry -> Word
+ GHC.Stack.CloneStack: [functionName] :: StackEntry -> String
+ GHC.Stack.CloneStack: [moduleName] :: StackEntry -> String
+ GHC.Stack.CloneStack: [srcLoc] :: StackEntry -> String
+ GHC.Stack.CloneStack: cloneMyStack :: IO StackSnapshot
+ GHC.Stack.CloneStack: cloneThreadStack :: ThreadId -> IO StackSnapshot
+ GHC.Stack.CloneStack: data StackEntry
+ GHC.Stack.CloneStack: data StackSnapshot
+ GHC.Stack.CloneStack: decode :: StackSnapshot -> IO [StackEntry]
+ GHC.Stack.CloneStack: instance GHC.Classes.Eq GHC.Stack.CloneStack.StackEntry
+ GHC.Stack.CloneStack: instance GHC.Show.Show GHC.Stack.CloneStack.StackEntry
+ GHC.TypeError: (:$$:) :: ErrorMessage -> ErrorMessage -> ErrorMessage
+ GHC.TypeError: (:<>:) :: ErrorMessage -> ErrorMessage -> ErrorMessage
+ GHC.TypeError: ShowType :: t -> ErrorMessage
+ GHC.TypeError: Text :: Symbol -> ErrorMessage
+ GHC.TypeError: data ErrorMessage
+ GHC.TypeError: infixl 5 :$$:
+ GHC.TypeError: infixl 6 :<>:
+ GHC.TypeError: type family Assert check errMsg
+ Prelude: class a ~# b => (a :: k) ~ (b :: k)
+ System.Environment: executablePath :: Maybe (IO (Maybe FilePath))
- Control.Arrow: infixr 3 ***
+ Control.Arrow: infixr 3 &&&
- Data.Bits: infixl 6 `xor`
+ Data.Bits: infixl 6 .^.
- Data.Bits: infixl 8 `rotateR`
+ Data.Bits: infixl 8 !<<.
- Data.Bool: data Bool
+ Data.Bool: data () => Bool
- Data.Char: data Char
+ Data.Char: data () => Char
- Data.Eq: class Eq a
+ Data.Eq: class () => Eq a
- Data.Int: data Int
+ Data.Int: data () => Int
- Data.Kind: data Constraint
+ Data.Kind: data () => Constraint
- Data.List: (!!) :: [a] -> Int -> a
+ Data.List: (!!) :: HasCallStack => [a] -> Int -> a
- Data.List: cycle :: [a] -> [a]
+ Data.List: cycle :: HasCallStack => [a] -> [a]
- Data.List: foldl1' :: (a -> a -> a) -> [a] -> a
+ Data.List: foldl1' :: HasCallStack => (a -> a -> a) -> [a] -> a
- Data.List: head :: [a] -> a
+ Data.List: head :: HasCallStack => [a] -> a
- Data.List: init :: [a] -> [a]
+ Data.List: init :: HasCallStack => [a] -> [a]
- Data.List: last :: [a] -> a
+ Data.List: last :: HasCallStack => [a] -> a
- Data.List: tail :: [a] -> [a]
+ Data.List: tail :: HasCallStack => [a] -> [a]
- Data.List.NonEmpty: (!!) :: NonEmpty a -> Int -> a
+ Data.List.NonEmpty: (!!) :: HasCallStack => NonEmpty a -> Int -> a
- Data.List.NonEmpty: fromList :: [a] -> NonEmpty a
+ Data.List.NonEmpty: fromList :: HasCallStack => [a] -> NonEmpty a
- Data.Ord: data Ordering
+ Data.Ord: data () => Ordering
- Data.Tuple: data Solo a
+ Data.Tuple: data () => Solo a
- Data.Type.Ord: type x < y = (x <? y) ~ 'True
+ Data.Type.Ord: type x < y = Assert (x <? y) (LtErrMsg x y)
- Data.Typeable: data TyCon
+ Data.Typeable: data () => TyCon
- Data.Word: data Word
+ Data.Word: data () => Word
- GHC.Base: infixr 5 :|
+ GHC.Base: infixr 5 ++
- GHC.Conc: newStablePtrPrimMVar :: MVar () -> IO (StablePtr PrimMVar)
+ GHC.Conc: newStablePtrPrimMVar :: MVar a -> IO (StablePtr PrimMVar)
- GHC.Conc.Sync: newStablePtrPrimMVar :: MVar () -> IO (StablePtr PrimMVar)
+ GHC.Conc.Sync: newStablePtrPrimMVar :: MVar a -> IO (StablePtr PrimMVar)
- GHC.Exts: addCFinalizerToWeak# :: Addr# -> Addr# -> Int# -> Addr# -> Weak# b -> State# RealWorld -> (# State# RealWorld, Int# #)
+ GHC.Exts: addCFinalizerToWeak# :: forall {k :: Levity} (b :: TYPE ('BoxedRep k)). Addr# -> Addr# -> Int# -> Addr# -> Weak# b -> State# RealWorld -> (# State# RealWorld, Int# #)
- GHC.Exts: atomically# :: (State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, a #)
+ GHC.Exts: atomically# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). (State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, a #)
- GHC.Exts: bitReverse64# :: Word# -> Word#
+ GHC.Exts: bitReverse64# :: Word64# -> Word64#
- GHC.Exts: broadcastInt64X2# :: Int# -> Int64X2#
+ GHC.Exts: broadcastInt64X2# :: Int64# -> Int64X2#
- GHC.Exts: broadcastInt64X4# :: Int# -> Int64X4#
+ GHC.Exts: broadcastInt64X4# :: Int64# -> Int64X4#
- GHC.Exts: broadcastInt64X8# :: Int# -> Int64X8#
+ GHC.Exts: broadcastInt64X8# :: Int64# -> Int64X8#
- GHC.Exts: broadcastWord64X2# :: Word# -> Word64X2#
+ GHC.Exts: broadcastWord64X2# :: Word64# -> Word64X2#
- GHC.Exts: broadcastWord64X4# :: Word# -> Word64X4#
+ GHC.Exts: broadcastWord64X4# :: Word64# -> Word64X4#
- GHC.Exts: broadcastWord64X8# :: Word# -> Word64X8#
+ GHC.Exts: broadcastWord64X8# :: Word64# -> Word64X8#
- GHC.Exts: byteSwap64# :: Word# -> Word#
+ GHC.Exts: byteSwap64# :: Word64# -> Word64#
- GHC.Exts: casArray# :: MutableArray# d a -> Int# -> a -> a -> State# d -> (# State# d, Int#, a #)
+ GHC.Exts: casArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MutableArray# d a -> Int# -> a -> a -> State# d -> (# State# d, Int#, a #)
- GHC.Exts: casMutVar# :: MutVar# d a -> a -> a -> State# d -> (# State# d, Int#, a #)
+ GHC.Exts: casMutVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MutVar# d a -> a -> a -> State# d -> (# State# d, Int#, a #)
- GHC.Exts: casSmallArray# :: SmallMutableArray# d a -> Int# -> a -> a -> State# d -> (# State# d, Int#, a #)
+ GHC.Exts: casSmallArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). SmallMutableArray# d a -> Int# -> a -> a -> State# d -> (# State# d, Int#, a #)
- GHC.Exts: catch# :: (State# RealWorld -> (# State# RealWorld, a #)) -> (b -> State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, a #)
+ GHC.Exts: catch# :: forall {q :: RuntimeRep} {k :: Levity} (a :: TYPE q) (b :: TYPE ('BoxedRep k)). (State# RealWorld -> (# State# RealWorld, a #)) -> (b -> State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, a #)
- GHC.Exts: catchRetry# :: (State# RealWorld -> (# State# RealWorld, a #)) -> (State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, a #)
+ GHC.Exts: catchRetry# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). (State# RealWorld -> (# State# RealWorld, a #)) -> (State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, a #)
- GHC.Exts: catchSTM# :: (State# RealWorld -> (# State# RealWorld, a #)) -> (b -> State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, a #)
+ GHC.Exts: catchSTM# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) b. (State# RealWorld -> (# State# RealWorld, a #)) -> (b -> State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, a #)
- GHC.Exts: class a ~# b => (a :: k0) ~~ (b :: k1)
+ GHC.Exts: class a ~# b => (a :: k) ~ (b :: k)
- GHC.Exts: cloneArray# :: Array# a -> Int# -> Int# -> Array# a
+ GHC.Exts: cloneArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). Array# a -> Int# -> Int# -> Array# a
- GHC.Exts: cloneMutableArray# :: MutableArray# d a -> Int# -> Int# -> State# d -> (# State# d, MutableArray# d a #)
+ GHC.Exts: cloneMutableArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MutableArray# d a -> Int# -> Int# -> State# d -> (# State# d, MutableArray# d a #)
- GHC.Exts: cloneSmallArray# :: SmallArray# a -> Int# -> Int# -> SmallArray# a
+ GHC.Exts: cloneSmallArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). SmallArray# a -> Int# -> Int# -> SmallArray# a
- GHC.Exts: cloneSmallMutableArray# :: SmallMutableArray# d a -> Int# -> Int# -> State# d -> (# State# d, SmallMutableArray# d a #)
+ GHC.Exts: cloneSmallMutableArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). SmallMutableArray# d a -> Int# -> Int# -> State# d -> (# State# d, SmallMutableArray# d a #)
- GHC.Exts: clz64# :: Word# -> Word#
+ GHC.Exts: clz64# :: Word64# -> Word#
- GHC.Exts: copyArray# :: Array# a -> Int# -> MutableArray# d a -> Int# -> Int# -> State# d -> State# d
+ GHC.Exts: copyArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) d. Array# a -> Int# -> MutableArray# d a -> Int# -> Int# -> State# d -> State# d
- GHC.Exts: copyMutableArray# :: MutableArray# d a -> Int# -> MutableArray# d a -> Int# -> Int# -> State# d -> State# d
+ GHC.Exts: copyMutableArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MutableArray# d a -> Int# -> MutableArray# d a -> Int# -> Int# -> State# d -> State# d
- GHC.Exts: copySmallArray# :: SmallArray# a -> Int# -> SmallMutableArray# d a -> Int# -> Int# -> State# d -> State# d
+ GHC.Exts: copySmallArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) d. SmallArray# a -> Int# -> SmallMutableArray# d a -> Int# -> Int# -> State# d -> State# d
- GHC.Exts: copySmallMutableArray# :: SmallMutableArray# d a -> Int# -> SmallMutableArray# d a -> Int# -> Int# -> State# d -> State# d
+ GHC.Exts: copySmallMutableArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). SmallMutableArray# d a -> Int# -> SmallMutableArray# d a -> Int# -> Int# -> State# d -> State# d
- GHC.Exts: ctz64# :: Word# -> Word#
+ GHC.Exts: ctz64# :: Word64# -> Word#
- GHC.Exts: data Array# a :: UnliftedType
+ GHC.Exts: data Array# (a :: TYPE 'BoxedRep l) :: UnliftedType
- GHC.Exts: data Char
+ GHC.Exts: data () => Char
- GHC.Exts: data Constraint
+ GHC.Exts: data () => Constraint
- GHC.Exts: data Double
+ GHC.Exts: data () => Double
- GHC.Exts: data Float
+ GHC.Exts: data () => Float
- GHC.Exts: data IOPort# a b :: UnliftedType
+ GHC.Exts: data IOPort# a (b :: TYPE 'BoxedRep l) :: UnliftedType
- GHC.Exts: data Int
+ GHC.Exts: data () => Int
- GHC.Exts: data Levity
+ GHC.Exts: data () => Levity
- GHC.Exts: data MVar# a b :: UnliftedType
+ GHC.Exts: data MVar# a (b :: TYPE 'BoxedRep l) :: UnliftedType
- GHC.Exts: data MutVar# a b :: UnliftedType
+ GHC.Exts: data MutVar# a (b :: TYPE 'BoxedRep l) :: UnliftedType
- GHC.Exts: data MutableArray# a b :: UnliftedType
+ GHC.Exts: data MutableArray# a (b :: TYPE 'BoxedRep l) :: UnliftedType
- GHC.Exts: data Proxy# (a :: k) :: TYPE 'TupleRep '[] :: [RuntimeRep]
+ GHC.Exts: data Proxy# (a :: k) :: ZeroBitType
- GHC.Exts: data RuntimeRep
+ GHC.Exts: data () => RuntimeRep
- GHC.Exts: data SPEC
+ GHC.Exts: data () => SPEC
- GHC.Exts: data SmallArray# a :: UnliftedType
+ GHC.Exts: data SmallArray# (a :: TYPE 'BoxedRep l) :: UnliftedType
- GHC.Exts: data SmallMutableArray# a b :: UnliftedType
+ GHC.Exts: data SmallMutableArray# a (b :: TYPE 'BoxedRep l) :: UnliftedType
- GHC.Exts: data StableName# a :: UnliftedType
+ GHC.Exts: data StableName# (a :: TYPE 'BoxedRep l) :: UnliftedType
- GHC.Exts: data StablePtr# a :: TYPE 'AddrRep
+ GHC.Exts: data StablePtr# (a :: TYPE 'BoxedRep l) :: TYPE 'AddrRep
- GHC.Exts: data State# a :: TYPE 'TupleRep '[] :: [RuntimeRep]
+ GHC.Exts: data State# a :: ZeroBitType
- GHC.Exts: data TVar# a b :: UnliftedType
+ GHC.Exts: data TVar# a (b :: TYPE 'BoxedRep l) :: UnliftedType
- GHC.Exts: data VecCount
+ GHC.Exts: data () => VecCount
- GHC.Exts: data VecElem
+ GHC.Exts: data () => VecElem
- GHC.Exts: data Weak# a :: UnliftedType
+ GHC.Exts: data Weak# (a :: TYPE 'BoxedRep l) :: UnliftedType
- GHC.Exts: data Word
+ GHC.Exts: data () => Word
- GHC.Exts: deRefStablePtr# :: StablePtr# a -> State# RealWorld -> (# State# RealWorld, a #)
+ GHC.Exts: deRefStablePtr# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). StablePtr# a -> State# RealWorld -> (# State# RealWorld, a #)
- GHC.Exts: deRefWeak# :: Weak# a -> State# RealWorld -> (# State# RealWorld, Int#, a #)
+ GHC.Exts: deRefWeak# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). Weak# a -> State# RealWorld -> (# State# RealWorld, Int#, a #)
- GHC.Exts: decodeDouble_Int64# :: Double# -> (# Int#, Int# #)
+ GHC.Exts: decodeDouble_Int64# :: Double# -> (# Int64#, Int# #)
- GHC.Exts: eqStablePtr# :: StablePtr# a -> StablePtr# a -> Int#
+ GHC.Exts: eqStablePtr# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). StablePtr# a -> StablePtr# a -> Int#
- GHC.Exts: finalizeWeak# :: Weak# a -> State# RealWorld -> (# State# RealWorld, Int#, State# RealWorld -> (# State# RealWorld, b #) #)
+ GHC.Exts: finalizeWeak# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) b. Weak# a -> State# RealWorld -> (# State# RealWorld, Int#, State# RealWorld -> (# State# RealWorld, b #) #)
- GHC.Exts: fork# :: a -> State# RealWorld -> (# State# RealWorld, ThreadId# #)
+ GHC.Exts: fork# :: forall {q :: RuntimeRep} (a :: TYPE q). (State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, ThreadId# #)
- GHC.Exts: forkOn# :: Int# -> a -> State# RealWorld -> (# State# RealWorld, ThreadId# #)
+ GHC.Exts: forkOn# :: forall {q :: RuntimeRep} (a :: TYPE q). Int# -> (State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, ThreadId# #)
- GHC.Exts: freezeArray# :: MutableArray# d a -> Int# -> Int# -> State# d -> (# State# d, Array# a #)
+ GHC.Exts: freezeArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MutableArray# d a -> Int# -> Int# -> State# d -> (# State# d, Array# a #)
- GHC.Exts: freezeSmallArray# :: SmallMutableArray# d a -> Int# -> Int# -> State# d -> (# State# d, SmallArray# a #)
+ GHC.Exts: freezeSmallArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). SmallMutableArray# d a -> Int# -> Int# -> State# d -> (# State# d, SmallArray# a #)
- GHC.Exts: getSizeofSmallMutableArray# :: SmallMutableArray# d a -> State# d -> (# State# d, Int# #)
+ GHC.Exts: getSizeofSmallMutableArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). SmallMutableArray# d a -> State# d -> (# State# d, Int# #)
- GHC.Exts: indexArray# :: Array# a -> Int# -> (# a #)
+ GHC.Exts: indexArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). Array# a -> Int# -> (# a #)
- GHC.Exts: indexInt64Array# :: ByteArray# -> Int# -> Int#
+ GHC.Exts: indexInt64Array# :: ByteArray# -> Int# -> Int64#
- GHC.Exts: indexInt64OffAddr# :: Addr# -> Int# -> Int#
+ GHC.Exts: indexInt64OffAddr# :: Addr# -> Int# -> Int64#
- GHC.Exts: indexSmallArray# :: SmallArray# a -> Int# -> (# a #)
+ GHC.Exts: indexSmallArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). SmallArray# a -> Int# -> (# a #)
- GHC.Exts: indexWord64Array# :: ByteArray# -> Int# -> Word#
+ GHC.Exts: indexWord64Array# :: ByteArray# -> Int# -> Word64#
- GHC.Exts: indexWord64OffAddr# :: Addr# -> Int# -> Word#
+ GHC.Exts: indexWord64OffAddr# :: Addr# -> Int# -> Word64#
- GHC.Exts: indexWord8ArrayAsInt64# :: ByteArray# -> Int# -> Int#
+ GHC.Exts: indexWord8ArrayAsInt64# :: ByteArray# -> Int# -> Int64#
- GHC.Exts: indexWord8ArrayAsWord64# :: ByteArray# -> Int# -> Word#
+ GHC.Exts: indexWord8ArrayAsWord64# :: ByteArray# -> Int# -> Word64#
- GHC.Exts: infix 4 ~~
+ GHC.Exts: infix 4 >#
- GHC.Exts: infixl 6 -##
+ GHC.Exts: infixl 6 +#
- GHC.Exts: infixl 7 /##
+ GHC.Exts: infixl 7 *#
- GHC.Exts: insertInt64X2# :: Int64X2# -> Int# -> Int# -> Int64X2#
+ GHC.Exts: insertInt64X2# :: Int64X2# -> Int64# -> Int# -> Int64X2#
- GHC.Exts: insertInt64X4# :: Int64X4# -> Int# -> Int# -> Int64X4#
+ GHC.Exts: insertInt64X4# :: Int64X4# -> Int64# -> Int# -> Int64X4#
- GHC.Exts: insertInt64X8# :: Int64X8# -> Int# -> Int# -> Int64X8#
+ GHC.Exts: insertInt64X8# :: Int64X8# -> Int64# -> Int# -> Int64X8#
- GHC.Exts: insertWord64X2# :: Word64X2# -> Word# -> Int# -> Word64X2#
+ GHC.Exts: insertWord64X2# :: Word64X2# -> Word64# -> Int# -> Word64X2#
- GHC.Exts: insertWord64X4# :: Word64X4# -> Word# -> Int# -> Word64X4#
+ GHC.Exts: insertWord64X4# :: Word64X4# -> Word64# -> Int# -> Word64X4#
- GHC.Exts: insertWord64X8# :: Word64X8# -> Word# -> Int# -> Word64X8#
+ GHC.Exts: insertWord64X8# :: Word64X8# -> Word64# -> Int# -> Word64X8#
- GHC.Exts: isEmptyMVar# :: MVar# d a -> State# d -> (# State# d, Int# #)
+ GHC.Exts: isEmptyMVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MVar# d a -> State# d -> (# State# d, Int# #)
- GHC.Exts: keepAlive# :: forall (q :: RuntimeRep) (a :: TYPE q) (r :: RuntimeRep) (b :: TYPE r). a -> State# RealWorld -> (State# RealWorld -> b) -> b
+ GHC.Exts: keepAlive# :: forall {l :: Levity} {r :: RuntimeRep} (a :: TYPE ('BoxedRep l)) (b :: TYPE r). a -> State# RealWorld -> (State# RealWorld -> b) -> b
- GHC.Exts: makeStableName# :: a -> State# RealWorld -> (# State# RealWorld, StableName# a #)
+ GHC.Exts: makeStableName# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). a -> State# RealWorld -> (# State# RealWorld, StableName# a #)
- GHC.Exts: makeStablePtr# :: a -> State# RealWorld -> (# State# RealWorld, StablePtr# a #)
+ GHC.Exts: makeStablePtr# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). a -> State# RealWorld -> (# State# RealWorld, StablePtr# a #)
- GHC.Exts: maskAsyncExceptions# :: (State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, a #)
+ GHC.Exts: maskAsyncExceptions# :: forall {q :: RuntimeRep} (a :: TYPE q). (State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, a #)
- GHC.Exts: maskUninterruptible# :: (State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, a #)
+ GHC.Exts: maskUninterruptible# :: forall {q :: RuntimeRep} (a :: TYPE q). (State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, a #)
- GHC.Exts: mkWeak# :: forall (q :: RuntimeRep) (a :: TYPE q) b c. a -> b -> (State# RealWorld -> (# State# RealWorld, c #)) -> State# RealWorld -> (# State# RealWorld, Weak# b #)
+ GHC.Exts: mkWeak# :: forall {l :: Levity} {k :: Levity} (a :: TYPE ('BoxedRep l)) (b :: TYPE ('BoxedRep k)) c. a -> b -> (State# RealWorld -> (# State# RealWorld, c #)) -> State# RealWorld -> (# State# RealWorld, Weak# b #)
- GHC.Exts: mkWeakNoFinalizer# :: forall (q :: RuntimeRep) (a :: TYPE q) b. a -> b -> State# RealWorld -> (# State# RealWorld, Weak# b #)
+ GHC.Exts: mkWeakNoFinalizer# :: forall {l :: Levity} {k :: Levity} (a :: TYPE ('BoxedRep l)) (b :: TYPE ('BoxedRep k)). a -> b -> State# RealWorld -> (# State# RealWorld, Weak# b #)
- GHC.Exts: newArray# :: Int# -> a -> State# d -> (# State# d, MutableArray# d a #)
+ GHC.Exts: newArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) d. Int# -> a -> State# d -> (# State# d, MutableArray# d a #)
- GHC.Exts: newIOPort# :: State# d -> (# State# d, IOPort# d a #)
+ GHC.Exts: newIOPort# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). State# d -> (# State# d, IOPort# d a #)
- GHC.Exts: newMVar# :: State# d -> (# State# d, MVar# d a #)
+ GHC.Exts: newMVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). State# d -> (# State# d, MVar# d a #)
- GHC.Exts: newMutVar# :: a -> State# d -> (# State# d, MutVar# d a #)
+ GHC.Exts: newMutVar# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) d. a -> State# d -> (# State# d, MutVar# d a #)
- GHC.Exts: newSmallArray# :: Int# -> a -> State# d -> (# State# d, SmallMutableArray# d a #)
+ GHC.Exts: newSmallArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) d. Int# -> a -> State# d -> (# State# d, SmallMutableArray# d a #)
- GHC.Exts: newTVar# :: a -> State# d -> (# State# d, TVar# d a #)
+ GHC.Exts: newTVar# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) d. a -> State# d -> (# State# d, TVar# d a #)
- GHC.Exts: packInt64X2# :: (# Int#, Int# #) -> Int64X2#
+ GHC.Exts: packInt64X2# :: (# Int64#, Int64# #) -> Int64X2#
- GHC.Exts: packInt64X4# :: (# Int#, Int#, Int#, Int# #) -> Int64X4#
+ GHC.Exts: packInt64X4# :: (# Int64#, Int64#, Int64#, Int64# #) -> Int64X4#
- GHC.Exts: packInt64X8# :: (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Int64X8#
+ GHC.Exts: packInt64X8# :: (# Int64#, Int64#, Int64#, Int64#, Int64#, Int64#, Int64#, Int64# #) -> Int64X8#
- GHC.Exts: packWord64X2# :: (# Word#, Word# #) -> Word64X2#
+ GHC.Exts: packWord64X2# :: (# Word64#, Word64# #) -> Word64X2#
- GHC.Exts: packWord64X4# :: (# Word#, Word#, Word#, Word# #) -> Word64X4#
+ GHC.Exts: packWord64X4# :: (# Word64#, Word64#, Word64#, Word64# #) -> Word64X4#
- GHC.Exts: packWord64X8# :: (# Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word# #) -> Word64X8#
+ GHC.Exts: packWord64X8# :: (# Word64#, Word64#, Word64#, Word64#, Word64#, Word64#, Word64#, Word64# #) -> Word64X8#
- GHC.Exts: pdep64# :: Word# -> Word# -> Word#
+ GHC.Exts: pdep64# :: Word64# -> Word64# -> Word64#
- GHC.Exts: pext64# :: Word# -> Word# -> Word#
+ GHC.Exts: pext64# :: Word64# -> Word64# -> Word64#
- GHC.Exts: popCnt64# :: Word# -> Word#
+ GHC.Exts: popCnt64# :: Word64# -> Word#
- GHC.Exts: putMVar# :: MVar# d a -> a -> State# d -> State# d
+ GHC.Exts: putMVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MVar# d a -> a -> State# d -> State# d
- GHC.Exts: raise# :: forall b (q :: RuntimeRep) (a :: TYPE q). b -> a
+ GHC.Exts: raise# :: forall {l :: Levity} {r :: RuntimeRep} (a :: TYPE ('BoxedRep l)) (b :: TYPE r). a -> b
- GHC.Exts: raiseIO# :: a -> State# RealWorld -> (# State# RealWorld, b #)
+ GHC.Exts: raiseIO# :: forall {l :: Levity} {r :: RuntimeRep} (a :: TYPE ('BoxedRep l)) (b :: TYPE r). a -> State# RealWorld -> (# State# RealWorld, b #)
- GHC.Exts: readArray# :: MutableArray# d a -> Int# -> State# d -> (# State# d, a #)
+ GHC.Exts: readArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MutableArray# d a -> Int# -> State# d -> (# State# d, a #)
- GHC.Exts: readIOPort# :: IOPort# d a -> State# d -> (# State# d, a #)
+ GHC.Exts: readIOPort# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). IOPort# d a -> State# d -> (# State# d, a #)
- GHC.Exts: readInt64Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int# #)
+ GHC.Exts: readInt64Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int64# #)
- GHC.Exts: readInt64OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Int# #)
+ GHC.Exts: readInt64OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Int64# #)
- GHC.Exts: readMVar# :: MVar# d a -> State# d -> (# State# d, a #)
+ GHC.Exts: readMVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MVar# d a -> State# d -> (# State# d, a #)
- GHC.Exts: readMutVar# :: MutVar# d a -> State# d -> (# State# d, a #)
+ GHC.Exts: readMutVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MutVar# d a -> State# d -> (# State# d, a #)
- GHC.Exts: readSmallArray# :: SmallMutableArray# d a -> Int# -> State# d -> (# State# d, a #)
+ GHC.Exts: readSmallArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). SmallMutableArray# d a -> Int# -> State# d -> (# State# d, a #)
- GHC.Exts: readTVar# :: TVar# d a -> State# d -> (# State# d, a #)
+ GHC.Exts: readTVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). TVar# d a -> State# d -> (# State# d, a #)
- GHC.Exts: readTVarIO# :: TVar# d a -> State# d -> (# State# d, a #)
+ GHC.Exts: readTVarIO# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). TVar# d a -> State# d -> (# State# d, a #)
- GHC.Exts: readWord64Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word# #)
+ GHC.Exts: readWord64Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word64# #)
- GHC.Exts: readWord64OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Word# #)
+ GHC.Exts: readWord64OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Word64# #)
- GHC.Exts: readWord8ArrayAsInt64# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int# #)
+ GHC.Exts: readWord8ArrayAsInt64# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Int64# #)
- GHC.Exts: readWord8ArrayAsWord64# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word# #)
+ GHC.Exts: readWord8ArrayAsWord64# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word64# #)
- GHC.Exts: reallyUnsafePtrEquality# :: a -> a -> Int#
+ GHC.Exts: reallyUnsafePtrEquality# :: forall {l :: Levity} {k :: Levity} (a :: TYPE ('BoxedRep l)) (b :: TYPE ('BoxedRep k)). a -> b -> Int#
- GHC.Exts: retry# :: State# RealWorld -> (# State# RealWorld, a #)
+ GHC.Exts: retry# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). State# RealWorld -> (# State# RealWorld, a #)
- GHC.Exts: sameIOPort# :: IOPort# d a -> IOPort# d a -> Int#
+ GHC.Exts: sameIOPort# :: IOPort# s a -> IOPort# s a -> Int#
- GHC.Exts: sameMVar# :: MVar# d a -> MVar# d a -> Int#
+ GHC.Exts: sameMVar# :: MVar# s a -> MVar# s a -> Int#
- GHC.Exts: sameMutVar# :: MutVar# d a -> MutVar# d a -> Int#
+ GHC.Exts: sameMutVar# :: MutVar# s a -> MutVar# s a -> Int#
- GHC.Exts: sameMutableArray# :: MutableArray# d a -> MutableArray# d a -> Int#
+ GHC.Exts: sameMutableArray# :: MutableArray# s a -> MutableArray# s a -> Int#
- GHC.Exts: sameMutableByteArray# :: MutableByteArray# d -> MutableByteArray# d -> Int#
+ GHC.Exts: sameMutableByteArray# :: MutableByteArray# s -> MutableByteArray# s -> Int#
- GHC.Exts: sameSmallMutableArray# :: SmallMutableArray# d a -> SmallMutableArray# d a -> Int#
+ GHC.Exts: sameSmallMutableArray# :: SmallMutableArray# s a -> SmallMutableArray# s a -> Int#
- GHC.Exts: sameTVar# :: TVar# d a -> TVar# d a -> Int#
+ GHC.Exts: sameTVar# :: TVar# s a -> TVar# s a -> Int#
- GHC.Exts: setThreadAllocationCounter# :: Int# -> State# RealWorld -> State# RealWorld
+ GHC.Exts: setThreadAllocationCounter# :: Int64# -> State# RealWorld -> State# RealWorld
- GHC.Exts: shrinkSmallMutableArray# :: SmallMutableArray# d a -> Int# -> State# d -> State# d
+ GHC.Exts: shrinkSmallMutableArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). SmallMutableArray# d a -> Int# -> State# d -> State# d
- GHC.Exts: sizeofArray# :: Array# a -> Int#
+ GHC.Exts: sizeofArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). Array# a -> Int#
- GHC.Exts: sizeofMutableArray# :: MutableArray# d a -> Int#
+ GHC.Exts: sizeofMutableArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MutableArray# d a -> Int#
- GHC.Exts: sizeofSmallArray# :: SmallArray# a -> Int#
+ GHC.Exts: sizeofSmallArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). SmallArray# a -> Int#
- GHC.Exts: sizeofSmallMutableArray# :: SmallMutableArray# d a -> Int#
+ GHC.Exts: sizeofSmallMutableArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). SmallMutableArray# d a -> Int#
- GHC.Exts: stableNameToInt# :: StableName# a -> Int#
+ GHC.Exts: stableNameToInt# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). StableName# a -> Int#
- GHC.Exts: takeMVar# :: MVar# d a -> State# d -> (# State# d, a #)
+ GHC.Exts: takeMVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MVar# d a -> State# d -> (# State# d, a #)
- GHC.Exts: thawArray# :: Array# a -> Int# -> Int# -> State# d -> (# State# d, MutableArray# d a #)
+ GHC.Exts: thawArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) d. Array# a -> Int# -> Int# -> State# d -> (# State# d, MutableArray# d a #)
- GHC.Exts: thawSmallArray# :: SmallArray# a -> Int# -> Int# -> State# d -> (# State# d, SmallMutableArray# d a #)
+ GHC.Exts: thawSmallArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) d. SmallArray# a -> Int# -> Int# -> State# d -> (# State# d, SmallMutableArray# d a #)
- GHC.Exts: touch# :: forall (q :: RuntimeRep) (a :: TYPE q). a -> State# RealWorld -> State# RealWorld
+ GHC.Exts: touch# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)). a -> State# RealWorld -> State# RealWorld
- GHC.Exts: tryPutMVar# :: MVar# d a -> a -> State# d -> (# State# d, Int# #)
+ GHC.Exts: tryPutMVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MVar# d a -> a -> State# d -> (# State# d, Int# #)
- GHC.Exts: tryReadMVar# :: MVar# d a -> State# d -> (# State# d, Int#, a #)
+ GHC.Exts: tryReadMVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MVar# d a -> State# d -> (# State# d, Int#, a #)
- GHC.Exts: tryTakeMVar# :: MVar# d a -> State# d -> (# State# d, Int#, a #)
+ GHC.Exts: tryTakeMVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MVar# d a -> State# d -> (# State# d, Int#, a #)
- GHC.Exts: type family Any :: k
+ GHC.Exts: type family MultMul (a :: Multiplicity) (b :: Multiplicity) :: Multiplicity
- GHC.Exts: unmaskAsyncExceptions# :: (State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, a #)
+ GHC.Exts: unmaskAsyncExceptions# :: forall {q :: RuntimeRep} (a :: TYPE q). (State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, a #)
- GHC.Exts: unpackInt64X2# :: Int64X2# -> (# Int#, Int# #)
+ GHC.Exts: unpackInt64X2# :: Int64X2# -> (# Int64#, Int64# #)
- GHC.Exts: unpackInt64X4# :: Int64X4# -> (# Int#, Int#, Int#, Int# #)
+ GHC.Exts: unpackInt64X4# :: Int64X4# -> (# Int64#, Int64#, Int64#, Int64# #)
- GHC.Exts: unpackInt64X8# :: Int64X8# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #)
+ GHC.Exts: unpackInt64X8# :: Int64X8# -> (# Int64#, Int64#, Int64#, Int64#, Int64#, Int64#, Int64#, Int64# #)
- GHC.Exts: unpackWord64X2# :: Word64X2# -> (# Word#, Word# #)
+ GHC.Exts: unpackWord64X2# :: Word64X2# -> (# Word64#, Word64# #)
- GHC.Exts: unpackWord64X4# :: Word64X4# -> (# Word#, Word#, Word#, Word# #)
+ GHC.Exts: unpackWord64X4# :: Word64X4# -> (# Word64#, Word64#, Word64#, Word64# #)
- GHC.Exts: unpackWord64X8# :: Word64X8# -> (# Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word# #)
+ GHC.Exts: unpackWord64X8# :: Word64X8# -> (# Word64#, Word64#, Word64#, Word64#, Word64#, Word64#, Word64#, Word64# #)
- GHC.Exts: unsafeFreezeArray# :: MutableArray# d a -> State# d -> (# State# d, Array# a #)
+ GHC.Exts: unsafeFreezeArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MutableArray# d a -> State# d -> (# State# d, Array# a #)
- GHC.Exts: unsafeFreezeSmallArray# :: SmallMutableArray# d a -> State# d -> (# State# d, SmallArray# a #)
+ GHC.Exts: unsafeFreezeSmallArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). SmallMutableArray# d a -> State# d -> (# State# d, SmallArray# a #)
- GHC.Exts: unsafeThawArray# :: Array# a -> State# d -> (# State# d, MutableArray# d a #)
+ GHC.Exts: unsafeThawArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) d. Array# a -> State# d -> (# State# d, MutableArray# d a #)
- GHC.Exts: unsafeThawSmallArray# :: SmallArray# a -> State# d -> (# State# d, SmallMutableArray# d a #)
+ GHC.Exts: unsafeThawSmallArray# :: forall {l :: Levity} (a :: TYPE ('BoxedRep l)) d. SmallArray# a -> State# d -> (# State# d, SmallMutableArray# d a #)
- GHC.Exts: writeArray# :: MutableArray# d a -> Int# -> a -> State# d -> State# d
+ GHC.Exts: writeArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MutableArray# d a -> Int# -> a -> State# d -> State# d
- GHC.Exts: writeIOPort# :: IOPort# d a -> a -> State# d -> (# State# d, Int# #)
+ GHC.Exts: writeIOPort# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). IOPort# d a -> a -> State# d -> (# State# d, Int# #)
- GHC.Exts: writeInt64Array# :: MutableByteArray# d -> Int# -> Int# -> State# d -> State# d
+ GHC.Exts: writeInt64Array# :: MutableByteArray# d -> Int# -> Int64# -> State# d -> State# d
- GHC.Exts: writeInt64OffAddr# :: Addr# -> Int# -> Int# -> State# d -> State# d
+ GHC.Exts: writeInt64OffAddr# :: Addr# -> Int# -> Int64# -> State# d -> State# d
- GHC.Exts: writeMutVar# :: MutVar# d a -> a -> State# d -> State# d
+ GHC.Exts: writeMutVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). MutVar# d a -> a -> State# d -> State# d
- GHC.Exts: writeSmallArray# :: SmallMutableArray# d a -> Int# -> a -> State# d -> State# d
+ GHC.Exts: writeSmallArray# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). SmallMutableArray# d a -> Int# -> a -> State# d -> State# d
- GHC.Exts: writeTVar# :: TVar# d a -> a -> State# d -> State# d
+ GHC.Exts: writeTVar# :: forall {l :: Levity} d (a :: TYPE ('BoxedRep l)). TVar# d a -> a -> State# d -> State# d
- GHC.Exts: writeWord64Array# :: MutableByteArray# d -> Int# -> Word# -> State# d -> State# d
+ GHC.Exts: writeWord64Array# :: MutableByteArray# d -> Int# -> Word64# -> State# d -> State# d
- GHC.Exts: writeWord64OffAddr# :: Addr# -> Int# -> Word# -> State# d -> State# d
+ GHC.Exts: writeWord64OffAddr# :: Addr# -> Int# -> Word64# -> State# d -> State# d
- GHC.Exts: writeWord8ArrayAsInt64# :: MutableByteArray# d -> Int# -> Int# -> State# d -> State# d
+ GHC.Exts: writeWord8ArrayAsInt64# :: MutableByteArray# d -> Int# -> Int64# -> State# d -> State# d
- GHC.Exts: writeWord8ArrayAsWord64# :: MutableByteArray# d -> Int# -> Word# -> State# d -> State# d
+ GHC.Exts: writeWord8ArrayAsWord64# :: MutableByteArray# d -> Int# -> Word64# -> State# d -> State# d
- GHC.Float: data Double
+ GHC.Float: data () => Double
- GHC.Float: data Float
+ GHC.Float: data () => Float
- GHC.Float: stgDoubleToWord64 :: Double# -> Word#
+ GHC.Float: stgDoubleToWord64 :: Double# -> Word64#
- GHC.Float: stgWord64ToDouble :: Word# -> Double#
+ GHC.Float: stgWord64ToDouble :: Word64# -> Double#
- GHC.IO: newtype IO a
+ GHC.IO: newtype () => IO a
- GHC.Int: I64# :: Int# -> Int64
+ GHC.Int: I64# :: Int64# -> Int64
- GHC.Int: data Int
+ GHC.Int: data () => Int
- GHC.Int: uncheckedIShiftL64# :: Int# -> Int# -> Int#
+ GHC.Int: uncheckedIShiftL64# :: Int64# -> Int# -> Int64#
- GHC.Int: uncheckedIShiftRA64# :: Int# -> Int# -> Int#
+ GHC.Int: uncheckedIShiftRA64# :: Int64# -> Int# -> Int64#
- GHC.Integer: data Integer
+ GHC.Integer: data () => Integer
- GHC.List: (!!) :: [a] -> Int -> a
+ GHC.List: (!!) :: HasCallStack => [a] -> Int -> a
- GHC.List: cycle :: [a] -> [a]
+ GHC.List: cycle :: HasCallStack => [a] -> [a]
- GHC.List: errorEmptyList :: String -> a
+ GHC.List: errorEmptyList :: HasCallStack => String -> a
- GHC.List: foldl1 :: (a -> a -> a) -> [a] -> a
+ GHC.List: foldl1 :: HasCallStack => (a -> a -> a) -> [a] -> a
- GHC.List: foldl1' :: (a -> a -> a) -> [a] -> a
+ GHC.List: foldl1' :: HasCallStack => (a -> a -> a) -> [a] -> a
- GHC.List: foldr1 :: (a -> a -> a) -> [a] -> a
+ GHC.List: foldr1 :: HasCallStack => (a -> a -> a) -> [a] -> a
- GHC.List: head :: [a] -> a
+ GHC.List: head :: HasCallStack => [a] -> a
- GHC.List: init :: [a] -> [a]
+ GHC.List: init :: HasCallStack => [a] -> [a]
- GHC.List: last :: [a] -> a
+ GHC.List: last :: HasCallStack => [a] -> a
- GHC.List: maximum :: Ord a => [a] -> a
+ GHC.List: maximum :: (Ord a, HasCallStack) => [a] -> a
- GHC.List: minimum :: Ord a => [a] -> a
+ GHC.List: minimum :: (Ord a, HasCallStack) => [a] -> a
- GHC.List: tail :: [a] -> [a]
+ GHC.List: tail :: HasCallStack => [a] -> [a]
- GHC.Natural: data BigNat
+ GHC.Natural: data () => BigNat
- GHC.Natural: data Natural
+ GHC.Natural: data () => Natural
- GHC.OldList: (!!) :: [a] -> Int -> a
+ GHC.OldList: (!!) :: HasCallStack => [a] -> Int -> a
- GHC.OldList: cycle :: [a] -> [a]
+ GHC.OldList: cycle :: HasCallStack => [a] -> [a]
- GHC.OldList: foldl1 :: (a -> a -> a) -> [a] -> a
+ GHC.OldList: foldl1 :: HasCallStack => (a -> a -> a) -> [a] -> a
- GHC.OldList: foldl1' :: (a -> a -> a) -> [a] -> a
+ GHC.OldList: foldl1' :: HasCallStack => (a -> a -> a) -> [a] -> a
- GHC.OldList: foldr1 :: (a -> a -> a) -> [a] -> a
+ GHC.OldList: foldr1 :: HasCallStack => (a -> a -> a) -> [a] -> a
- GHC.OldList: head :: [a] -> a
+ GHC.OldList: head :: HasCallStack => [a] -> a
- GHC.OldList: init :: [a] -> [a]
+ GHC.OldList: init :: HasCallStack => [a] -> [a]
- GHC.OldList: last :: [a] -> a
+ GHC.OldList: last :: HasCallStack => [a] -> a
- GHC.OldList: maximum :: Ord a => [a] -> a
+ GHC.OldList: maximum :: (Ord a, HasCallStack) => [a] -> a
- GHC.OldList: minimum :: Ord a => [a] -> a
+ GHC.OldList: minimum :: (Ord a, HasCallStack) => [a] -> a
- GHC.OldList: tail :: [a] -> [a]
+ GHC.OldList: tail :: HasCallStack => [a] -> [a]
- GHC.Stack.CCS: whereFrom :: a -> IO [String]
+ GHC.Stack.CCS: whereFrom :: a -> IO (Maybe InfoProv)
- GHC.StaticPtr: fromStaticPtr :: IsStatic p => StaticPtr a -> p a
+ GHC.StaticPtr: fromStaticPtr :: (IsStatic p, Typeable a) => StaticPtr a -> p a
- GHC.TypeLits: data Natural
+ GHC.TypeLits: data () => Natural
- GHC.TypeLits: data Symbol
+ GHC.TypeLits: data () => Symbol
- GHC.TypeLits: type x <= y = (x <=? y) ~ 'True
+ GHC.TypeLits: type x <= y = Assert (x <=? y) (LeErrMsg x y)
- GHC.TypeLits.Internal: data Symbol
+ GHC.TypeLits.Internal: data () => Symbol
- GHC.TypeNats: data Natural
+ GHC.TypeNats: data () => Natural
- GHC.TypeNats: type x <= y = (x <=? y) ~ 'True
+ GHC.TypeNats: type x <= y = Assert (x <=? y) (LeErrMsg x y)
- GHC.TypeNats.Internal: data Natural
+ GHC.TypeNats.Internal: data () => Natural
- GHC.Word: W64# :: Word# -> Word64
+ GHC.Word: W64# :: Word64# -> Word64
- GHC.Word: data Word
+ GHC.Word: data () => Word
- GHC.Word: uncheckedShiftL64# :: Word# -> Int# -> Word#
+ GHC.Word: uncheckedShiftL64# :: Word64# -> Int# -> Word64#
- GHC.Word: uncheckedShiftRL64# :: Word# -> Int# -> Word#
+ GHC.Word: uncheckedShiftRL64# :: Word64# -> Int# -> Word64#
- Numeric: showBin :: (Integral a, Show a) => a -> ShowS
+ Numeric: showBin :: Integral a => a -> ShowS
- Numeric: showHex :: (Integral a, Show a) => a -> ShowS
+ Numeric: showHex :: Integral a => a -> ShowS
- Numeric: showIntAtBase :: (Integral a, Show a) => a -> (Int -> Char) -> a -> ShowS
+ Numeric: showIntAtBase :: Integral a => a -> (Int -> Char) -> a -> ShowS
- Numeric: showOct :: (Integral a, Show a) => a -> ShowS
+ Numeric: showOct :: Integral a => a -> ShowS
- Numeric.Natural: data Natural
+ Numeric.Natural: data () => Natural
- Prelude: (!!) :: [a] -> Int -> a
+ Prelude: (!!) :: HasCallStack => [a] -> Int -> a
- Prelude: class Eq a
+ Prelude: class () => Eq a
- Prelude: cycle :: [a] -> [a]
+ Prelude: cycle :: HasCallStack => [a] -> [a]
- Prelude: data Bool
+ Prelude: data () => Bool
- Prelude: data Char
+ Prelude: data () => Char
- Prelude: data Double
+ Prelude: data () => Double
- Prelude: data Float
+ Prelude: data () => Float
- Prelude: data IO a
+ Prelude: data () => IO a
- Prelude: data Int
+ Prelude: data () => Int
- Prelude: data Integer
+ Prelude: data () => Integer
- Prelude: data Ordering
+ Prelude: data () => Ordering
- Prelude: data Word
+ Prelude: data () => Word
- Prelude: head :: [a] -> a
+ Prelude: head :: HasCallStack => [a] -> a
- Prelude: infix 4 `notElem`
+ Prelude: infix 4 ~
- Prelude: init :: [a] -> [a]
+ Prelude: init :: HasCallStack => [a] -> [a]
- Prelude: last :: [a] -> a
+ Prelude: last :: HasCallStack => [a] -> a
- Prelude: tail :: [a] -> [a]
+ Prelude: tail :: HasCallStack => [a] -> [a]
- System.IO: data IO a
+ System.IO: data () => IO a
- System.Posix.Types: CTimer :: Ptr () -> CTimer
+ System.Posix.Types: CTimer :: CUIntPtr -> CTimer
- Type.Reflection: data Module
+ Type.Reflection: data () => Module
- Type.Reflection: data TyCon
+ Type.Reflection: data () => TyCon
- Type.Reflection: pattern Con' :: forall k (a :: k). () => IsApplication a ~ "" => TyCon -> [SomeTypeRep] -> TypeRep a
+ Type.Reflection: pattern Con' :: forall k (a :: k). () => NotApplication a => TyCon -> [SomeTypeRep] -> TypeRep a
- Type.Reflection.Unsafe: data KindRep
+ Type.Reflection.Unsafe: data () => KindRep
- Type.Reflection.Unsafe: data TyCon
+ Type.Reflection.Unsafe: data () => TyCon
- Type.Reflection.Unsafe: data TypeLitSort
+ Type.Reflection.Unsafe: data () => TypeLitSort
Files
- Control/Applicative.hs +7/−3
- Control/Arrow.hs +1/−1
- Control/Category.hs +1/−1
- Control/Concurrent.hs +1/−1
- Control/Concurrent.hs-boot +1/−1
- Control/Concurrent/Chan.hs +1/−1
- Control/Concurrent/MVar.hs +14/−6
- Control/Concurrent/QSem.hs +2/−2
- Control/Concurrent/QSemN.hs +1/−1
- Control/Exception.hs +1/−1
- Control/Exception/Base.hs +1/−1
- Control/Monad.hs +1/−2
- Control/Monad/Fix.hs +1/−1
- Control/Monad/IO/Class.hs +1/−1
- Control/Monad/ST.hs +1/−1
- Control/Monad/ST/Imp.hs +1/−2
- Control/Monad/ST/Lazy/Imp.hs +2/−6
- Control/Monad/ST/Safe.hs +1/−1
- Control/Monad/ST/Unsafe.hs +1/−1
- Control/Monad/Zip.hs +1/−1
- Data/Array/Byte.hs +272/−0
- Data/Bitraversable.hs +0/−1
- Data/Bits.hs +60/−1
- Data/Bool.hs +1/−1
- Data/Data.hs +1/−1
- Data/Dynamic.hs +1/−9
- Data/Either.hs +1/−1
- Data/Fixed.hs +2/−2
- Data/Foldable.hs +59/−19
- Data/Function.hs +3/−1
- Data/Functor/Classes.hs +19/−3
- Data/Functor/Compose.hs +1/−1
- Data/Functor/Const.hs +1/−1
- Data/Functor/Contravariant.hs +1/−1
- Data/Functor/Identity.hs +1/−1
- Data/Functor/Product.hs +1/−1
- Data/Functor/Sum.hs +1/−1
- Data/Functor/Utils.hs +9/−0
- Data/IORef.hs +1/−1
- Data/Int.hs +1/−1
- Data/Kind.hs +1/−1
- Data/List/NonEmpty.hs +5/−4
- Data/Maybe.hs +1/−0
- Data/Monoid.hs +1/−1
- Data/OldList.hs +41/−16
- Data/Proxy.hs +1/−1
- Data/STRef.hs +1/−1
- Data/STRef/Lazy.hs +1/−1
- Data/Semigroup.hs +34/−3
- Data/Semigroup/Internal.hs +9/−0
- Data/String.hs +2/−1
- Data/Traversable.hs +2/−5
- Data/Tuple.hs +1/−1
- Data/Type/Bool.hs +1/−1
- Data/Type/Coercion.hs +1/−1
- Data/Type/Equality.hs +20/−4
- Data/Type/Ord.hs +12/−8
- Data/Typeable.hs +1/−1
- Data/Typeable/Internal.hs +71/−45
- Data/Unique.hs +1/−1
- Data/Version.hs +1/−1
- Data/Word.hs +1/−1
- Foreign/Marshal/Alloc.hs +5/−0
- GHC/Arr.hs +12/−2
- GHC/ArrayArray.hs +155/−0
- GHC/Base.hs +118/−35
- GHC/Bits.hs +14/−9
- GHC/Conc/Sync.hs +20/−7
- GHC/Enum.hs +23/−11
- GHC/Err.hs +13/−11
- GHC/Event/Internal/Types.hs +1/−1
- GHC/Event/Thread.hs +19/−75
- GHC/Event/TimeOut.hs +1/−1
- GHC/Event/Windows.hsc +6/−6
- GHC/Event/Windows/FFI.hsc +5/−3
- GHC/Event/Windows/ManagedThreadPool.hs +1/−1
- GHC/Exception.hs +3/−1
- GHC/ExecutionStack/Internal.hsc +1/−1
- GHC/Exts.hs +73/−119
- GHC/Float.hs +191/−85
- GHC/Float/RealFracMethods.hs +3/−1
- GHC/Foreign.hs +0/−1
- GHC/ForeignPtr.hs +4/−2
- GHC/Generics.hs +156/−6
- GHC/IO.hs +22/−4
- GHC/IO/Encoding.hs +3/−1
- GHC/IO/Encoding/Failure.hs +12/−9
- GHC/IO/FD.hs +16/−47
- GHC/IO/Handle.hs +8/−1
- GHC/IO/Handle/Internals.hs +1/−2
- GHC/IO/Handle/Text.hs +40/−33
- GHC/IO/Unsafe.hs +7/−2
- GHC/IO/Windows/Handle.hsc +23/−32
- GHC/IORef.hs +0/−1
- GHC/Int.hs +129/−262
- GHC/Integer.hs +178/−2
- GHC/IsList.hs +87/−0
- GHC/List.hs +138/−41
- GHC/OldList.hs +1/−1
- GHC/OverloadedLabels.hs +3/−3
- GHC/Read.hs +1/−1
- GHC/Real.hs +145/−87
- GHC/ResponseFile.hs +2/−2
- GHC/ST.hs +0/−5
- GHC/Show.hs +5/−3
- GHC/Stable.hs +1/−1
- GHC/StableName.hs +1/−1
- GHC/Stack/CCS.hsc +42/−22
- GHC/Stack/CloneStack.hs +264/−0
- GHC/StaticPtr.hs +8/−9
- GHC/TopHandler.hs +4/−5
- GHC/TypeError.hs +141/−0
- GHC/TypeLits.hs +12/−61
- GHC/TypeNats.hs +12/−11
- GHC/Weak.hs +7/−8
- GHC/Word.hs +133/−287
- Numeric.hs +7/−7
- Prelude.hs +3/−0
- System/CPUTime/Posix/ClockGetTime.hsc +5/−4
- System/Console/GetOpt.hs +4/−4
- System/Environment.hs +1/−0
- System/Environment/ExecutablePath.hsc +77/−6
- System/IO.hs +3/−2
- System/Info.hs +1/−1
- System/Mem/StableName.hs +1/−1
- System/Mem/Weak.hs +1/−1
- System/Timeout.hs +1/−1
- Text/Printf.hs +1/−1
- Type/Reflection.hs +3/−3
- Unsafe/Coerce.hs +19/−8
- aclocal.m4 +19/−3
- base.cabal +13/−8
- cbits/StackCloningDecoding.cmm +26/−0
- cbits/inputReady.c +3/−3
- changelog.md +75/−17
- config.guess +0/−1754
- config.sub +0/−1890
- configure +32974/−34002
- configure.ac +3/−1
- include/HsBase.h +2/−2
- include/HsBaseConfig.h.in +26/−81
- include/winio_structs.h +1/−1
Control/Applicative.hs view
@@ -10,7 +10,7 @@ -- License : BSD-style (see the LICENSE file in the distribution) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- This module describes a structure intermediate between a functor and@@ -60,7 +60,7 @@ import GHC.Base import GHC.Generics-import GHC.List (repeat, zipWith, drop)+import GHC.List (repeat, zipWith) import GHC.Read (Read) import GHC.Show (Show) @@ -140,7 +140,11 @@ -- | @since 4.11.0.0 instance Alternative ZipList where empty = ZipList []- ZipList xs <|> ZipList ys = ZipList (xs ++ drop (length xs) ys)+ ZipList xs0 <|> ZipList ys0 = ZipList $ go xs0 ys0+ where+ go (x:xs) (_:ys) = x : go xs ys+ go [] ys = ys+ go xs _ = xs -- extra functions
Control/Arrow.hs view
@@ -205,7 +205,7 @@ -- | The identity arrow, which plays the role of 'return' in arrow notation. returnA :: Arrow a => a b b-returnA = arr id+returnA = id -- | Precomposition with a pure function. (^>>) :: Arrow a => (b -> c) -> a c d -> a b d
Control/Category.hs view
@@ -13,7 +13,7 @@ -- License : BSD-style (see the LICENSE file in the distribution) -- -- Maintainer : ashley@semantic.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- https://gitlab.haskell.org/ghc/ghc/issues/1773
Control/Concurrent.hs view
@@ -16,7 +16,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable (concurrency) -- -- A common interface to a collection of useful concurrency
Control/Concurrent.hs-boot view
@@ -8,7 +8,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable (concurrency) -- -- A common interface to a collection of useful concurrency
Control/Concurrent/Chan.hs view
@@ -8,7 +8,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable (concurrency) -- -- Unbounded channels.
Control/Concurrent/MVar.hs view
@@ -6,9 +6,9 @@ -- Module : Control.Concurrent.MVar -- Copyright : (c) The University of Glasgow 2001 -- License : BSD-style (see the file libraries/base/LICENSE)--- +-- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable (concurrency) -- -- An @'MVar' t@ is mutable location that is either empty or contains a@@ -45,7 +45,7 @@ -- 'withMVar', 'modifyMVar_' and 'modifyMVar') are simply -- the composition of a 'takeMVar' followed by a 'putMVar' with -- exception safety.--- These only have atomicity guarantees if all other threads+-- These have atomicity guarantees only if all other threads -- perform a 'takeMVar' before a 'putMVar' as well; otherwise, they may -- block. --@@ -162,7 +162,10 @@ {-| Take a value from an 'MVar', put a new value into the 'MVar' and return the value taken. This function is atomic only if there are- no other producers for this 'MVar'.+ no other producers for this 'MVar'. In other words, it cannot guarantee+ that, by the time 'swapMVar' gets the chance to write to the MVar,+ the value of the MVar has not been altered+ by a write operation from another thread. -} swapMVar :: MVar a -> a -> IO a swapMVar mvar new =@@ -176,7 +179,10 @@ of an 'MVar'. This operation is exception-safe: it will replace the original contents of the 'MVar' if an exception is raised (see "Control.Exception"). However, it is only atomic if there are no- other producers for this 'MVar'.+ other producers for this 'MVar'. In other words, it cannot guarantee+ that, by the time 'withMVar' gets the chance to write to the MVar,+ the value of the MVar has not been altered+ by a write operation from another thread. -} {-# INLINE withMVar #-} -- inlining has been reported to have dramatic effects; see@@ -209,7 +215,9 @@ Like 'withMVar', 'modifyMVar' will replace the original contents of the 'MVar' if an exception is raised during the operation. This function is only atomic if there are no other producers for this- 'MVar'.+ 'MVar'. In other words, it cannot guarantee that, by the time+ 'modifyMVar_' gets the chance to write to the MVar, the value+ of the MVar has not been altered by a write operation from another thread. -} {-# INLINE modifyMVar_ #-} modifyMVar_ :: MVar a -> (a -> IO a) -> IO ()
Control/Concurrent/QSem.hs view
@@ -8,7 +8,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable (concurrency) -- -- Simple quantity semaphores.@@ -100,7 +100,7 @@ putMVar m r' -- Note [signal uninterruptible]---+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- If we have -- -- bracket waitQSem signalQSem (...)
Control/Concurrent/QSemN.hs view
@@ -8,7 +8,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable (concurrency) -- -- Quantity semaphores in which each thread may wait for an arbitrary
Control/Exception.hs view
@@ -8,7 +8,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable (extended exceptions) -- -- This module provides support for raising and catching both built-in
Control/Exception/Base.hs view
@@ -9,7 +9,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable (extended exceptions) -- -- Extensible exceptions, except for multiple handlers.
Control/Monad.hs view
@@ -222,7 +222,7 @@ zipWithM_ :: (Applicative m) => (a -> b -> m c) -> [a] -> [b] -> m () {-# INLINE zipWithM_ #-} -- Inline so that fusion with zipWith and sequenceA have a chance to fire--- See Note [Fusion for zipN/zipWithN] in List.hs]+-- See Note [Fusion for zipN/zipWithN] in List.hs. zipWithM_ f xs ys = sequenceA_ (zipWith f xs ys) {- | The 'foldM' function is analogous to 'Data.Foldable.foldl', except that its result is@@ -262,7 +262,6 @@ {- Note [Worker/wrapper transform on replicateM/replicateM_] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~- The implementations of replicateM and replicateM_ both leverage the worker/wrapper transform. The simpler implementation of replicateM_, as an example, would be:
Control/Monad/Fix.hs view
@@ -9,7 +9,7 @@ -- (c) Oregon Graduate Institute of Science and Technology, 2002 -- License : BSD-style (see the file libraries/base/LICENSE) -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- Monadic fixpoints.
Control/Monad/IO/Class.hs view
@@ -7,7 +7,7 @@ -- License : BSD-style (see the file LICENSE) -- -- Maintainer : R.Paterson@city.ac.uk--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- Class of monads based on @IO@.
Control/Monad/ST.hs view
@@ -7,7 +7,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable (requires universal quantification for runST) -- -- This library provides support for /strict/ state threads, as
Control/Monad/ST/Imp.hs view
@@ -9,7 +9,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable (requires universal quantification for runST) -- -- This library provides support for /strict/ state threads, as@@ -62,7 +62,6 @@ {- Note [fixST] ~~~~~~~~~~~~- For many years, we implemented fixST much like a pure fixpoint, using liftST:
Control/Monad/ST/Lazy/Imp.hs view
@@ -68,7 +68,7 @@ data State s = S# (State# s) {- Note [Lazy ST and multithreading]-+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ We used to imagine that passing a polymorphic state token was all that we needed to keep state threads separate (see Launchbury and Peyton Jones, 1994: https://www.microsoft.com/en-us/research/publication/lazy-functional-state-threads/).@@ -87,7 +87,7 @@ thin air. -} {- Note [Lazy ST: not producing lazy pairs]-+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The fixST and strictToLazyST functions used to construct functions that produced lazy pairs. Why don't we need that laziness? The ST type is kept abstract, so no one outside this module can ever get their hands on a (result,@@ -189,10 +189,6 @@ (r,new_s) = res in unST (k r) new_s---- | @since 4.10-instance MonadFail (ST s) where- fail s = errorWithoutStackTrace s -- | Return the value computed by an 'ST' computation. -- The @forall@ ensures that the internal state used by the 'ST'
Control/Monad/ST/Safe.hs view
@@ -7,7 +7,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable (requires universal quantification for runST) -- -- This library provides support for /strict/ state threads, as
Control/Monad/ST/Unsafe.hs view
@@ -7,7 +7,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable (requires universal quantification for runST) -- -- This library provides support for /strict/ state threads, as
Control/Monad/Zip.hs view
@@ -9,7 +9,7 @@ -- (c) University Tuebingen 2011 -- License : BSD-style (see the file libraries/base/LICENSE) -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- Monadic zipping (used for monad comprehensions)
+ Data/Array/Byte.hs view
@@ -0,0 +1,272 @@+-- |+-- Module : Data.Array.Byte+-- Copyright : (c) Roman Leshchinskiy 2009-2012+-- License : BSD-style+--+-- Maintainer : libraries@haskell.org+-- Portability : non-portable+--+-- Derived from @primitive@ package.++{-# LANGUAGE BangPatterns #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE Trustworthy #-}+{-# LANGUAGE UnboxedTuples #-}++module Data.Array.Byte (+ ByteArray(..),+ MutableByteArray(..),+) where++import Data.Bits ((.&.), unsafeShiftR)+import Data.Data (mkNoRepType, Data(..), Typeable)+import qualified Data.Foldable as F+import Data.Semigroup+import GHC.Show (intToDigit)+import GHC.Exts+import GHC.ST (ST(..), runST)+import GHC.Word (Word8(..))++-- | Boxed wrapper for 'ByteArray#'.+--+-- Since 'ByteArray#' is an unlifted type and not a member of kind 'Data.Kind.Type',+-- things like @[ByteArray#]@ or @IO ByteArray#@ are ill-typed. To work around this+-- inconvenience this module provides a standard boxed wrapper, inhabiting 'Data.Kind.Type'.+-- Clients are expected to use 'ByteArray' in higher-level APIs,+-- but wrap and unwrap 'ByteArray' internally as they please+-- and use functions from "GHC.Exts".+--+-- @since 4.17.0.0+data ByteArray = ByteArray ByteArray#++-- | Boxed wrapper for 'MutableByteArray#'.+--+-- Since 'MutableByteArray#' is an unlifted type and not a member of kind 'Data.Kind.Type',+-- things like @[MutableByteArray#]@ or @IO MutableByteArray#@ are ill-typed. To work around this+-- inconvenience this module provides a standard boxed wrapper, inhabiting 'Data.Kind.Type'.+-- Clients are expected to use 'MutableByteArray' in higher-level APIs,+-- but wrap and unwrap 'MutableByteArray' internally as they please+-- and use functions from "GHC.Exts".+--+-- @since 4.17.0.0+data MutableByteArray s = MutableByteArray (MutableByteArray# s)++-- | Create a new mutable byte array of the specified size in bytes.+--+-- /Note:/ this function does not check if the input is non-negative.+newByteArray :: Int -> ST s (MutableByteArray s)+{-# INLINE newByteArray #-}+newByteArray (I# n#) =+ ST (\s# -> case newByteArray# n# s# of+ (# s'#, arr# #) -> (# s'#, MutableByteArray arr# #))++-- | Convert a mutable byte array to an immutable one without copying. The+-- array should not be modified after the conversion.+unsafeFreezeByteArray :: MutableByteArray s -> ST s ByteArray+{-# INLINE unsafeFreezeByteArray #-}+unsafeFreezeByteArray (MutableByteArray arr#) =+ ST (\s# -> case unsafeFreezeByteArray# arr# s# of+ (# s'#, arr'# #) -> (# s'#, ByteArray arr'# #))++-- | Size of the byte array in bytes.+sizeofByteArray :: ByteArray -> Int+{-# INLINE sizeofByteArray #-}+sizeofByteArray (ByteArray arr#) = I# (sizeofByteArray# arr#)++-- | Read byte at specific index.+indexByteArray :: ByteArray -> Int -> Word8+{-# INLINE indexByteArray #-}+indexByteArray (ByteArray arr#) (I# i#) = W8# (indexWord8Array# arr# i#)++-- | Write byte at specific index.+writeByteArray :: MutableByteArray s -> Int -> Word8 -> ST s ()+{-# INLINE writeByteArray #-}+writeByteArray (MutableByteArray arr#) (I# i#) (W8# x#) =+ ST (\s# -> case writeWord8Array# arr# i# x# s# of+ s'# -> (# s'#, () #))++-- | Explode 'ByteArray' into a list of bytes.+byteArrayToList :: ByteArray -> [Word8]+{-# INLINE byteArrayToList #-}+byteArrayToList arr = go 0+ where+ go i+ | i < maxI = indexByteArray arr i : go (i+1)+ | otherwise = []+ maxI = sizeofByteArray arr++-- | Create a 'ByteArray' from a list of a known length. If the length+-- of the list does not match the given length, this throws an exception.+byteArrayFromListN :: Int -> [Word8] -> ByteArray+byteArrayFromListN n ys = runST $ do+ marr <- newByteArray n+ let go !ix [] = if ix == n+ then return ()+ else error $ "Data.Array.Byte.byteArrayFromListN: list length less than specified size"+ go !ix (x : xs) = if ix < n+ then do+ writeByteArray marr ix x+ go (ix + 1) xs+ else error $ "Data.Array.Byte.byteArrayFromListN: list length greater than specified size"+ go 0 ys+ unsafeFreezeByteArray marr++-- | Copy a slice of an immutable byte array to a mutable byte array.+--+-- /Note:/ this function does not do bounds or overlap checking.+copyByteArray+ :: MutableByteArray s -- ^ destination array+ -> Int -- ^ offset into destination array+ -> ByteArray -- ^ source array+ -> Int -- ^ offset into source array+ -> Int -- ^ number of bytes to copy+ -> ST s ()+{-# INLINE copyByteArray #-}+copyByteArray (MutableByteArray dst#) (I# doff#) (ByteArray src#) (I# soff#) (I# sz#) =+ ST (\s# -> case copyByteArray# src# soff# dst# doff# sz# s# of+ s'# -> (# s'#, () #))++-- | @since 4.17.0.0+instance Data ByteArray where+ toConstr _ = error "toConstr"+ gunfold _ _ = error "gunfold"+ dataTypeOf _ = mkNoRepType "Data.Array.Byte.ByteArray"++-- | @since 4.17.0.0+instance Typeable s => Data (MutableByteArray s) where+ toConstr _ = error "toConstr"+ gunfold _ _ = error "gunfold"+ dataTypeOf _ = mkNoRepType "Data.Array.Byte.MutableByteArray"++-- | @since 4.17.0.0+instance Show ByteArray where+ showsPrec _ ba =+ showString "[" . go 0+ where+ showW8 :: Word8 -> String -> String+ showW8 !w s =+ '0'+ : 'x'+ : intToDigit (fromIntegral (unsafeShiftR w 4))+ : intToDigit (fromIntegral (w .&. 0x0F))+ : s+ go i+ | i < sizeofByteArray ba = comma . showW8 (indexByteArray ba i :: Word8) . go (i+1)+ | otherwise = showChar ']'+ where+ comma | i == 0 = id+ | otherwise = showString ", "++-- | Compare prefixes of given length.+compareByteArraysFromBeginning :: ByteArray -> ByteArray -> Int -> Ordering+{-# INLINE compareByteArraysFromBeginning #-}+compareByteArraysFromBeginning (ByteArray ba1#) (ByteArray ba2#) (I# n#)+ = compare (I# (compareByteArrays# ba1# 0# ba2# 0# n#)) 0++-- | Do two byte arrays share the same pointer?+sameByteArray :: ByteArray# -> ByteArray# -> Bool+sameByteArray ba1 ba2 =+ case reallyUnsafePtrEquality# (unsafeCoerce# ba1 :: ()) (unsafeCoerce# ba2 :: ()) of+ r -> isTrue# r++-- | @since 4.17.0.0+instance Eq ByteArray where+ ba1@(ByteArray ba1#) == ba2@(ByteArray ba2#)+ | sameByteArray ba1# ba2# = True+ | n1 /= n2 = False+ | otherwise = compareByteArraysFromBeginning ba1 ba2 n1 == EQ+ where+ n1 = sizeofByteArray ba1+ n2 = sizeofByteArray ba2++-- | @since 4.17.0.0+instance Eq (MutableByteArray s) where+ (==) (MutableByteArray arr#) (MutableByteArray brr#)+ = isTrue# (sameMutableByteArray# arr# brr#)++-- | Non-lexicographic ordering. This compares the lengths of+-- the byte arrays first and uses a lexicographic ordering if+-- the lengths are equal. Subject to change between major versions.+-- @since 4.17.0.0+instance Ord ByteArray where+ ba1@(ByteArray ba1#) `compare` ba2@(ByteArray ba2#)+ | sameByteArray ba1# ba2# = EQ+ | n1 /= n2 = n1 `compare` n2+ | otherwise = compareByteArraysFromBeginning ba1 ba2 n1+ where+ n1 = sizeofByteArray ba1+ n2 = sizeofByteArray ba2+-- The primop compareByteArrays# (invoked from 'compareByteArraysFromBeginning')+-- performs a check for pointer equality as well. However, it+-- is included here because it is likely better to check for pointer equality+-- before checking for length equality. Getting the length requires deferencing+-- the pointers, which could cause accesses to memory that is not in the cache.+-- By contrast, a pointer equality check is always extremely cheap.++-- | Append two byte arrays.+appendByteArray :: ByteArray -> ByteArray -> ByteArray+appendByteArray a b = runST $ do+ marr <- newByteArray (sizeofByteArray a + sizeofByteArray b)+ copyByteArray marr 0 a 0 (sizeofByteArray a)+ copyByteArray marr (sizeofByteArray a) b 0 (sizeofByteArray b)+ unsafeFreezeByteArray marr++-- | Concatenate a list of 'ByteArray's.+concatByteArray :: [ByteArray] -> ByteArray+concatByteArray arrs = runST $ do+ let len = calcLength arrs 0+ marr <- newByteArray len+ pasteByteArrays marr 0 arrs+ unsafeFreezeByteArray marr++-- | Dump immutable 'ByteArray's into a mutable one, starting from a given offset.+pasteByteArrays :: MutableByteArray s -> Int -> [ByteArray] -> ST s ()+pasteByteArrays !_ !_ [] = return ()+pasteByteArrays !marr !ix (x : xs) = do+ copyByteArray marr ix x 0 (sizeofByteArray x)+ pasteByteArrays marr (ix + sizeofByteArray x) xs++-- | Compute total length of 'ByteArray's, increased by accumulator.+calcLength :: [ByteArray] -> Int -> Int+calcLength [] !n = n+calcLength (x : xs) !n = calcLength xs (sizeofByteArray x + n)++-- | An array of zero length.+emptyByteArray :: ByteArray+emptyByteArray = runST (newByteArray 0 >>= unsafeFreezeByteArray)++-- | Replicate 'ByteArray' given number of times and concatenate all together.+replicateByteArray :: Int -> ByteArray -> ByteArray+replicateByteArray n arr = runST $ do+ marr <- newByteArray (n * sizeofByteArray arr)+ let go i = if i < n+ then do+ copyByteArray marr (i * sizeofByteArray arr) arr 0 (sizeofByteArray arr)+ go (i + 1)+ else return ()+ go 0+ unsafeFreezeByteArray marr++-- | @since 4.17.0.0+instance Semigroup ByteArray where+ (<>) = appendByteArray+ sconcat = mconcat . F.toList+ stimes i arr+ | itgr < 1 = emptyByteArray+ | itgr <= (fromIntegral (maxBound :: Int)) = replicateByteArray (fromIntegral itgr) arr+ | otherwise = error "Data.Array.Byte#stimes: cannot allocate the requested amount of memory"+ where itgr = toInteger i :: Integer++-- | @since 4.17.0.0+instance Monoid ByteArray where+ mempty = emptyByteArray+ mconcat = concatByteArray++-- | @since 4.17.0.0+instance IsList ByteArray where+ type Item ByteArray = Word8++ toList = byteArrayToList+ fromList xs = byteArrayFromListN (length xs) xs+ fromListN = byteArrayFromListN
Data/Bitraversable.hs view
@@ -127,7 +127,6 @@ -- -- @since 4.10.0.0 bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> t a b -> f (t c d)- bitraverse f g = bisequenceA . bimap f g -- | Alias for 'bisequence'. --
Data/Bits.hs view
@@ -10,7 +10,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- This module defines bitwise operations for signed and unsigned@@ -53,6 +53,8 @@ popCountDefault, toIntegralSized, oneBits,+ (.^.),+ (.>>.), (.<<.), (!>>.), (!<<.), -- * Newtypes And(..), Ior(..), Xor(..), Iff(..) ) where@@ -60,6 +62,7 @@ import GHC.Base import GHC.Bits import GHC.Enum+import qualified GHC.List as List import GHC.Read import GHC.Show @@ -86,6 +89,46 @@ oneBits = complement zeroBits {-# INLINE oneBits #-} +-- | Infix version of 'xor'.+--+-- @since 4.17+(.^.) :: (Bits a) => a -> a -> a+(.^.) = xor++infixl 6 .^.++-- | Infix version of 'shiftR'.+--+-- @since 4.17+(.>>.) :: (Bits a) => a -> Int -> a+(.>>.) = shiftR++infixl 8 .>>.++-- | Infix version of 'shiftL'.+--+-- @since 4.17+(.<<.) :: (Bits a) => a -> Int -> a+(.<<.) = shiftL++infixl 8 .<<.++-- | Infix version of 'unsafeShiftR'.+--+-- @since 4.17+(!>>.) :: (Bits a) => a -> Int -> a+(!>>.) = unsafeShiftR++infixl 8 !>>.++-- | Infix version of 'unsafeShiftL'.+--+-- @since 4.17+(!<<.) :: (Bits a) => a -> Int -> a+(!<<.) = unsafeShiftL++infixl 8 !<<.+ -- | Monoid under bitwise AND. -- -- >>> getAnd (And 0xab <> And 0x12) :: Word8@@ -116,6 +159,10 @@ -- @since 4.16 instance (FiniteBits a) => Monoid (And a) where mempty = And oneBits+ -- By default, we would get a lazy right fold. This forces the use of a strict+ -- left fold instead.+ mconcat = List.foldl' (<>) mempty+ {-# INLINE mconcat #-} -- | Monoid under bitwise inclusive OR. --@@ -143,6 +190,10 @@ -- | @since 4.16 instance (Bits a) => Monoid (Ior a) where mempty = Ior zeroBits+ -- By default, we would get a lazy right fold. This forces the use of a strict+ -- left fold instead.+ mconcat = List.foldl' (<>) mempty+ {-# INLINE mconcat #-} -- | Monoid under bitwise XOR. --@@ -170,6 +221,10 @@ -- | @since 4.16 instance (Bits a) => Monoid (Xor a) where mempty = Xor zeroBits+ -- By default, we would get a lazy right fold. This forces the use of a strict+ -- left fold instead.+ mconcat = List.foldl' (<>) mempty+ {-# INLINE mconcat #-} -- | Monoid under bitwise \'equality\'; defined as @1@ if the corresponding -- bits match, and @0@ otherwise.@@ -206,3 +261,7 @@ -- @since 4.16 instance (FiniteBits a) => Monoid (Iff a) where mempty = Iff oneBits+ -- By default, we would get a lazy right fold. This forces the use of a strict+ -- left fold instead.+ mconcat = List.foldl' (<>) mempty+ {-# INLINE mconcat #-}
Data/Bool.hs view
@@ -8,7 +8,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- The 'Bool' type and related functions.
Data/Data.hs view
@@ -18,7 +18,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable (local universal quantification) -- -- \"Scrap your boilerplate\" --- Generic programming in Haskell. See
Data/Dynamic.hs view
@@ -11,7 +11,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- The Dynamic interface provides basic support for dynamic types.@@ -83,14 +83,6 @@ -- here so that it isn't an orphan: -- | @since 4.0.0.0 instance Exception Dynamic-- -- Use GHC's primitive 'Any' type to hold the dynamically typed value.- --- -- In GHC's new eval/apply execution model this type must not look- -- like a data type. If it did, GHC would use the constructor convention- -- when evaluating it, and this will go wrong if the object is really a- -- function. Using Any forces GHC to use- -- a fallback convention for evaluating it that works for all types. -- | Converts an arbitrary value into an object of type 'Dynamic'. --
Data/Either.hs view
@@ -13,7 +13,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- The Either type, and associated operations.
Data/Fixed.hs view
@@ -10,7 +10,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : Ashley Yakeley <ashley@semantic.org>--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- This module defines a \"Fixed\" type for fixed-precision arithmetic.@@ -103,7 +103,7 @@ -- resolution @10^-3@ of @type Milli = Fixed E3@, -- -- @--- succ (0.000 :: Milli) == 1.001+-- succ (0.000 :: Milli) == 0.001 -- @ -- --
Data/Foldable.hs view
@@ -13,7 +13,7 @@ -- License : BSD-style (see the LICENSE file in the distribution) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- Class of data structures that can be folded to a summary value.@@ -189,6 +189,7 @@ -- 2666668666666 -- fold :: Monoid m => t m -> m+ {-# INLINE fold #-} fold = foldMap id -- | Map each element of the structure into a monoid, and combine the@@ -316,13 +317,28 @@ foldr :: (a -> b -> b) -> b -> t a -> b foldr f z t = appEndo (foldMap (Endo #. f) t) z - -- | Right-associative fold of a structure, strict in the accumulator.- -- This is rarely what you want.+ -- | 'foldr'' is a variant of 'foldr' that performs strict reduction from+ -- right to left, i.e. starting with the right-most element. The input+ -- structure /must/ be finite, otherwise 'foldr'' runs out of space+ -- (/diverges/). --+ -- If you want a strict right fold in constant space, you need a structure+ -- that supports faster than /O(n)/ access to the right-most element, such+ -- as @Seq@ from the @containers@ package.+ --+ -- This method does not run in constant space for structures such as lists+ -- that don't support efficient right-to-left iteration and so require+ -- /O(n)/ space to perform right-to-left reduction. Use of this method+ -- with such a structure is a hint that the chosen structure may be a poor+ -- fit for the task at hand. If the order in which the elements are+ -- combined is not important, use 'foldl'' instead.+ -- -- @since 4.6.0.0 foldr' :: (a -> b -> b) -> b -> t a -> b- foldr' f z0 xs = foldl f' id xs z0- where f' k x z = k $! f x z+ foldr' f z0 = \ xs ->+ foldl (\ (k::b->b) (x::a) -> oneShot (\ (z::b) -> z `seq` k (f x z)))+ (id::b->b) xs z0+ -- Mirror image of 'foldl''. -- | Left-associative fold of a structure, lazy in the accumulator. This -- is rarely what you want, but can work well for structures with efficient@@ -343,8 +359,8 @@ -- 'foldl'' instead of 'foldl'. The reason for this is that the latter -- does not force the /inner/ results (e.g. @z \`f\` x1@ in the above -- example) before applying them to the operator (e.g. to @(\`f\` x2)@).- -- This results in a thunk chain \(\mathcal{O}(n)\) elements long, which- -- then must be evaluated from the outside-in.+ -- This results in a thunk chain /O(n)/ elements long, which then must be+ -- evaluated from the outside-in. -- -- For a general 'Foldable' structure this should be semantically identical -- to:@@ -394,8 +410,16 @@ -- -- @since 4.6.0.0 foldl' :: (b -> a -> b) -> b -> t a -> b- foldl' f z0 xs = foldr f' id xs z0- where f' x k z = k $! f z x+ {-# INLINE foldl' #-}+ foldl' f z0 = \ xs ->+ foldr (\ (x::a) (k::b->b) -> oneShot (\ (z::b) -> z `seq` k (f z x)))+ (id::b->b) xs z0+ --+ -- We now force the accumulator `z` rather than the value computed by the+ -- operator `k`, this matches the documented strictness.+ --+ -- For the rationale for the arity reduction from 3 to 2, inlining, etc.+ -- see Note [Definition of foldl'] in GHC.List. -- | A variant of 'foldr' that has no base case, -- and thus may only be applied to non-empty structures.@@ -713,7 +737,10 @@ foldl' = List.foldl' foldl1 = List.foldl1 foldr = List.foldr+ foldr' = List.foldr' foldr1 = List.foldr1+ foldMap = (mconcat .) . map -- See Note [Monoidal list folds]+ fold = mconcat -- See Note [Monoidal list folds] length = List.length maximum = List.maximum minimum = List.minimum@@ -1494,6 +1521,19 @@ https://gitlab.haskell.org/ghc/ghc/-/issues/17867 for more context. -} +{-+Note [Monoidal list folds]+~~~~~~~~~~~~~~~~~~~~~~~~~~+Folds of lists of monoid elements should generally use 'mconcat', rather than+@foldr mappend mempty@. This allows specialized mconcat implementations an+opportunity to combine elements efficiently. For example, `mappend` of strict+`Text` and `ByteString` values typically needs to reallocate and copy the+existing data, making incremental construction expensive (likely quadratic in+the number of elements combined). The `mconcat` implementations for `Text` and+`ByteString` preallocate the required storage, and then combine all the list+elements in a single pass.+-}+ -------------- -- $overview@@ -2328,11 +2368,11 @@ -- > in s / fromIntegral l -- -- The above example is somewhat contrived, some structures keep track of their--- length internally, and can return it in \(\mathcal{O}(1)\) time, so this--- particular recipe for averages is not always the most efficient. In--- general, composite aggregate functions of large structures benefit from--- single-pass reduction. This is especially the case when reuse of a list and--- memoisation of its elements is thereby avoided,+-- length internally, and can return it in /O(1)/ time, so this particular+-- recipe for averages is not always the most efficient. In general, composite+-- aggregate functions of large structures benefit from single-pass reduction.+-- This is especially the case when reuse of a list and memoisation of its+-- elements is thereby avoided. -------------- @@ -2456,12 +2496,12 @@ -- $linear -- -- It is perhaps worth noting that since the __`elem`__ function in the--- Foldable class carries only an __`Eq`__ constraint on the element type,+-- 'Foldable' class carries only an __`Eq`__ constraint on the element type, -- search for the presence or absence of an element in the structure generally--- takes \(\mathcal{O}(n)\) time, even for ordered structures like __@Set@__--- that are potentially capable of performing the search faster. (The @member@--- function of the @Set@ module carries an `Ord` constraint, and can perform--- the search in \(\mathcal{O}(log\ n)\) time).+-- takes /O(n)/ time, even for ordered structures like __@Set@__ that are+-- potentially capable of performing the search faster. (The @member@ function+-- of the @Set@ module carries an `Ord` constraint, and can perform the search+-- in /O(log n)/ time). -- -- An alternative to Foldable's __`elem`__ method is required in order to -- abstract potentially faster than linear search over general container
Data/Function.hs view
@@ -1,5 +1,7 @@ {-# LANGUAGE Trustworthy #-} {-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_HADDOCK print-explicit-runtime-reps #-}+ -- Show the levity-polymorphic signature of '$' ----------------------------------------------------------------------------- -- |@@ -9,7 +11,7 @@ -- License : BSD-style (see the LICENSE file in the distribution) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- Simple combinators working solely on and with functions.
Data/Functor/Classes.hs view
@@ -1,4 +1,7 @@-{-# LANGUAGE Safe #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE Safe #-}+{-# LANGUAGE UndecidableInstances #-} ----------------------------------------------------------------------------- -- | -- Module : Data.Functor.Classes@@ -6,7 +9,7 @@ -- License : BSD-style (see the file LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- Liftings of the Prelude classes 'Eq', 'Ord', 'Read' and 'Show' to@@ -72,6 +75,7 @@ import Data.Ord (Down(Down)) import Data.Complex (Complex((:+))) +import GHC.Generics (Generic1(..), Generically1(..)) import GHC.Tuple (Solo (..)) import GHC.Read (expectP, list, paren) @@ -688,7 +692,16 @@ instance (Show a, Show b, Show c) => Show1 ((,,,) a b c) where liftShowsPrec = liftShowsPrec2 showsPrec showList +-- | @since 4.17.0.0+instance (Generic1 f, Eq1 (Rep1 f)) => Eq1 (Generically1 f) where+ liftEq :: (a1 -> a2 -> Bool) -> (Generically1 f a1 -> Generically1 f a2 -> Bool)+ liftEq (===) (Generically1 as1) (Generically1 as2) = liftEq (===) (from1 as1) (from1 as2) +-- | @since 4.17.0.0+instance (Generic1 f, Ord1 (Rep1 f)) => Ord1 (Generically1 f) where+ liftCompare :: (a1 -> a2 -> Ordering) -> (Generically1 f a1 -> Generically1 f a2 -> Ordering)+ liftCompare cmp (Generically1 as1) (Generically1 as2) = liftCompare cmp (from1 as1) (from1 as2)+ -- | @since 4.9.0.0 instance Eq2 Either where liftEq2 e1 _ (Left x) (Left y) = e1 x y@@ -821,7 +834,10 @@ -- | @since 4.12.0.0 instance Ord1 Down where- liftCompare comp (Down x) (Down y) = comp x y+ liftCompare comp (Down x) (Down y) = case comp x y of+ LT -> GT+ EQ -> EQ+ GT -> LT -- | @since 4.12.0.0 instance Read1 Down where
Data/Functor/Compose.hs view
@@ -13,7 +13,7 @@ -- License : BSD-style (see the file LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- Composition of functors.
Data/Functor/Const.hs view
@@ -12,7 +12,7 @@ -- License : BSD-style (see the LICENSE file in the distribution) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- The 'Const' functor.
Data/Functor/Contravariant.hs view
@@ -280,7 +280,7 @@ -- @ -- (<>) :: Equivalence a -> Equivalence a -> Equivalence a -- Equivalence equiv <> Equivalence equiv' = Equivalence \a b ->- -- equiv a b && equiv a b+ -- equiv a b && equiv' a b -- @ Semigroup , -- | @'mempty'@ on equivalences always returns @True@. Without
Data/Functor/Identity.hs view
@@ -11,7 +11,7 @@ -- License : BSD-style (see the file LICENSE) -- -- Maintainer : ross@soi.city.ac.uk--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- The identity functor and monad.
Data/Functor/Product.hs view
@@ -9,7 +9,7 @@ -- License : BSD-style (see the file LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- Products, lifted to functors.
Data/Functor/Sum.hs view
@@ -9,7 +9,7 @@ -- License : BSD-style (see the file LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- Sums, lifted to functors.
Data/Functor/Utils.hs view
@@ -12,6 +12,7 @@ import Data.Coerce (Coercible, coerce) import GHC.Base ( Applicative(..), Functor(..), Maybe(..), Monoid(..), Ord(..) , Semigroup(..), ($), otherwise )+import qualified GHC.List as List -- We don't expose Max and Min because, as Edward Kmett pointed out to me, -- there are two reasonable ways to define them. One way is to use Maybe, as we@@ -34,6 +35,10 @@ -- | @since 4.8.0.0 instance Ord a => Monoid (Max a) where mempty = Max Nothing+ -- By default, we would get a lazy right fold. This forces the use of a strict+ -- left fold instead.+ mconcat = List.foldl' (<>) mempty+ {-# INLINE mconcat #-} -- | @since 4.11.0.0 instance Ord a => Semigroup (Min a) where@@ -47,6 +52,10 @@ -- | @since 4.8.0.0 instance Ord a => Monoid (Min a) where mempty = Min Nothing+ -- By default, we would get a lazy right fold. This forces the use of a strict+ -- left fold instead.+ mconcat = List.foldl' (<>) mempty+ {-# INLINE mconcat #-} -- left-to-right state-transforming monad newtype StateL s a = StateL { runStateL :: s -> (s, a) }
Data/IORef.hs view
@@ -9,7 +9,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- Mutable references in the IO monad.
Data/Int.hs view
@@ -8,7 +8,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- Signed integer types
Data/Kind.hs view
@@ -6,7 +6,7 @@ -- License : BSD-style (see the LICENSE file in the distribution) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : not portable -- -- Basic kinds
Data/List/NonEmpty.hs view
@@ -110,6 +110,7 @@ import qualified Data.List as List import Data.Ord (comparing) import GHC.Base (NonEmpty(..))+import GHC.Stack.Types (HasCallStack) infixr 5 <| @@ -194,9 +195,9 @@ -- | Converts a normal list to a 'NonEmpty' stream. -- -- Raises an error if given an empty list.-fromList :: [a] -> NonEmpty a+fromList :: HasCallStack => [a] -> NonEmpty a fromList (a:as) = a :| as-fromList [] = errorWithoutStackTrace "NonEmpty.fromList: empty list"+fromList [] = error "NonEmpty.fromList: empty list" -- | Convert a stream to a normal list efficiently. toList :: NonEmpty a -> [a]@@ -401,11 +402,11 @@ -- @n@. Note that the head of the stream has index 0. -- -- /Beware/: a negative or out-of-bounds index will cause an error.-(!!) :: NonEmpty a -> Int -> a+(!!) :: HasCallStack => NonEmpty a -> Int -> a (!!) ~(x :| xs) n | n == 0 = x | n > 0 = xs List.!! (n - 1)- | otherwise = errorWithoutStackTrace "NonEmpty.!! negative argument"+ | otherwise = error "NonEmpty.!! negative index" infixl 9 !! -- | The 'zip' function takes two streams and returns a stream of
Data/Maybe.hs view
@@ -145,6 +145,7 @@ -- *** Exception: Maybe.fromJust: Nothing -- ... --+-- WARNING: This function is partial. You can use case-matching instead. fromJust :: HasCallStack => Maybe a -> a fromJust Nothing = error "Maybe.fromJust: Nothing" -- yuck fromJust (Just x) = x
Data/Monoid.hs view
@@ -13,7 +13,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- A type @a@ is a 'Monoid' if it provides an associative function ('<>')
Data/OldList.hs view
@@ -722,8 +722,20 @@ -- 3 -- >>> genericLength [1, 2, 3] :: Float -- 3.0+--+-- Users should take care to pick a return type that is wide enough to contain+-- the full length of the list. If the width is insufficient, the overflow+-- behaviour will depend on the @(+)@ implementation in the selected 'Num'+-- instance. The following example overflows because the actual list length+-- of 200 lies outside of the 'Int8' range of @-128..127@.+--+-- >>> genericLength [1..200] :: Int8+-- -56 genericLength :: (Num i) => [a] -> i-{-# NOINLINE [1] genericLength #-}+{-# NOINLINE [2] genericLength #-}+ -- Give time for the RULEs for (++) to fire in InitialPhase+ -- It's recursive, so won't inline anyway,+ -- but saying so is more explicit genericLength [] = 0 genericLength (_:l) = 1 + genericLength l @@ -1349,6 +1361,7 @@ -- -- Note [INLINE unfoldr]+-- ~~~~~~~~~~~~~~~~~~~~~ -- We treat unfoldr a little differently from some other forms for list fusion -- for two reasons: --@@ -1383,35 +1396,40 @@ -- ----------------------------------------------------------------------------- -- Functions on strings --- | 'lines' breaks a string up into a list of strings at newline--- characters. The resulting strings do not contain newlines.+-- | Splits the argument into a list of /lines/ stripped of their terminating+-- @\n@ characters. The @\n@ terminator is optional in a final non-empty+-- line of the argument string. ----- Note that after splitting the string at newline characters, the--- last part of the string is considered a line even if it doesn't end--- with a newline. For example,+-- For example: ----- >>> lines ""+-- >>> lines "" -- empty input contains no lines -- [] ----- >>> lines "\n"+-- >>> lines "\n" -- single empty line -- [""] ----- >>> lines "one"+-- >>> lines "one" -- single unterminated line -- ["one"] ----- >>> lines "one\n"+-- >>> lines "one\n" -- single non-empty line -- ["one"] ----- >>> lines "one\n\n"+-- >>> lines "one\n\n" -- second line is empty -- ["one",""] ----- >>> lines "one\ntwo"+-- >>> lines "one\ntwo" -- second line is unterminated -- ["one","two"] ----- >>> lines "one\ntwo\n"+-- >>> lines "one\ntwo\n" -- two non-empty lines -- ["one","two"] ----- Thus @'lines' s@ contains at least as many elements as newlines in @s@.+-- When the argument string is empty, or ends in a @\n@ character, it can be+-- recovered by passing the result of 'lines' to the 'unlines' function.+-- Otherwise, 'unlines' appends the missing terminating @\n@. This makes+-- @unlines . lines@ /idempotent/:+--+-- > (unlines . lines) . (unlines . lines) = (unlines . lines)+-- lines :: String -> [String] lines "" = [] -- Somehow GHC doesn't detect the selector thunks in the below code,@@ -1425,11 +1443,18 @@ where cons ~(h, t) = h : t --- | 'unlines' is an inverse operation to 'lines'.--- It joins lines, after appending a terminating newline to each.+-- | Appends a @\n@ character to each input string, then concatenates the+-- results. Equivalent to @'foldMap' (\s -> s '++' "\n")@. -- -- >>> unlines ["Hello", "World", "!"] -- "Hello\nWorld\n!\n"+--+-- = Note+--+-- @'unlines' '.' 'lines' '/=' 'id'@ when the input is not @\n@-terminated:+--+-- >>> unlines . lines $ "foo\nbar"+-- "foo\nbar\n" unlines :: [String] -> String #if defined(USE_REPORT_PRELUDE) unlines = concatMap (++ "\n")
Data/Proxy.hs view
@@ -8,7 +8,7 @@ -- License : BSD-style (see the LICENSE file in the distribution) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- Definition of a Proxy type (poly-kinded in GHC)
Data/STRef.hs view
@@ -7,7 +7,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable (uses Control.Monad.ST) -- -- Mutable references in the (strict) ST monad.
Data/STRef/Lazy.hs view
@@ -7,7 +7,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable (uses Control.Monad.ST.Lazy) -- -- Mutable references in the lazy ST monad.
Data/Semigroup.hs view
@@ -112,6 +112,7 @@ import Data.Coerce import Data.Data import GHC.Generics+import qualified GHC.List as List -- $setup -- >>> import Prelude@@ -172,6 +173,10 @@ -- | @since 4.9.0.0 instance (Ord a, Bounded a) => Monoid (Min a) where mempty = maxBound+ -- By default, we would get a lazy right fold. This forces the use of a strict+ -- left fold instead.+ mconcat = List.foldl' (<>) mempty+ {-# INLINE mconcat #-} -- | @since 4.9.0.0 instance Functor Min where@@ -242,6 +247,10 @@ -- | @since 4.9.0.0 instance (Ord a, Bounded a) => Monoid (Max a) where mempty = minBound+ -- By default, we would get a lazy right fold. This forces the use of a strict+ -- left fold instead.+ mconcat = List.foldl' (<>) mempty+ {-# INLINE mconcat #-} -- | @since 4.9.0.0 instance Functor Max where@@ -483,6 +492,9 @@ -- | @since 4.9.0.0 instance Monoid m => Monoid (WrappedMonoid m) where mempty = WrapMonoid mempty+ -- This ensures that we use whatever mconcat is defined for the wrapped+ -- Monoid.+ mconcat = coerce (mconcat :: [m] -> m) -- | @since 4.9.0.0 instance Enum a => Enum (WrappedMonoid a) where@@ -500,10 +512,29 @@ -- -- > mtimesDefault n a = a <> a <> ... <> a -- using <> (n-1) times ----- Implemented using 'stimes' and 'mempty'.+-- In many cases, `stimes 0 a` for a `Monoid` will produce `mempty`.+-- However, there are situations when it cannot do so. In particular,+-- the following situation is fairly common: ----- This is a suitable definition for an 'mtimes' member of 'Monoid'.+-- @+-- data T a = ...+--+-- class Constraint1 a+-- class Constraint1 a => Constraint2 a+--+-- @+-- instance Constraint1 a => 'Semigroup' (T a)+-- instance Constraint2 a => 'Monoid' (T a)+-- @+--+-- Since @Constraint1@ is insufficient to implement 'mempty',+-- 'stimes' for @T a@ cannot do so.+--+-- When working with such a type, or when working polymorphically with+-- 'Semigroup' instances, @mtimesDefault@ should be used when the+-- multiplier might be zero. It is implemented using 'stimes' when+-- the multiplier is nonzero and 'mempty' when it is zero. mtimesDefault :: (Integral b, Monoid a) => b -> a -> a mtimesDefault n x | n == 0 = mempty- | otherwise = unwrapMonoid (stimes n (WrapMonoid x))+ | otherwise = stimes n x
Data/Semigroup/Internal.hs view
@@ -22,6 +22,7 @@ import GHC.Base hiding (Any) import GHC.Enum+import qualified GHC.List as List import GHC.Num import GHC.Read import GHC.Show@@ -230,6 +231,10 @@ -- | @since 2.01 instance Num a => Monoid (Sum a) where mempty = Sum 0+ -- By default, we would get a lazy right fold. This forces the use of a strict+ -- left fold instead.+ mconcat = List.foldl' (<>) mempty+ {-# INLINE mconcat #-} -- | @since 4.8.0.0 instance Functor Sum where@@ -268,6 +273,10 @@ -- | @since 2.01 instance Num a => Monoid (Product a) where mempty = Product 1+ -- By default, we would get a lazy right fold. This forces the use of a strict+ -- left fold instead.+ mconcat = List.foldl' (<>) mempty+ {-# INLINE mconcat #-} -- | @since 4.8.0.0 instance Functor Product where
Data/String.hs view
@@ -5,6 +5,7 @@ {-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE Trustworthy #-} {-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-} ----------------------------------------------------------------------------- -- |@@ -13,7 +14,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- The @String@ type and associated operations.
Data/Traversable.hs view
@@ -14,7 +14,7 @@ -- License : BSD-style (see the LICENSE file in the distribution) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- Class of data structures that can be traversed from left to right,@@ -1492,9 +1492,6 @@ -- -- @'traverse' 'pure' = 'pure'@ ----- (The naturality law is implied by parametricity and thus so is the--- purity law [1, p15].)--- -- The superclass instances should satisfy the following: -- -- * In the 'Functor' instance, 'fmap' should be equivalent to traversal@@ -1513,7 +1510,7 @@ -- $also ----- * [1] \"The Essence of the Iterator Pattern\",+-- * \"The Essence of the Iterator Pattern\", -- by Jeremy Gibbons and Bruno Oliveira, -- in /Mathematically-Structured Functional Programming/, 2006, online at -- <http://www.cs.ox.ac.uk/people/jeremy.gibbons/publications/#iterator>.
Data/Tuple.hs view
@@ -8,7 +8,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- Functions associated with the tuple data types.
Data/Type/Bool.hs view
@@ -11,7 +11,7 @@ -- License : BSD-style (see the LICENSE file in the distribution) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : not portable -- -- Basic operations on type-level Booleans.
Data/Type/Coercion.hs view
@@ -14,7 +14,7 @@ -- License : BSD-style (see the LICENSE file in the distribution) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : not portable -- -- Definition of representational equality ('Coercion').
Data/Type/Equality.hs view
@@ -18,7 +18,7 @@ -- License : BSD-style (see the LICENSE file in the distribution) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : not portable -- -- Definition of propositional equality @(':~:')@. Pattern-matching on a variable@@ -31,7 +31,9 @@ module Data.Type.Equality ( -- * The equality types- (:~:)(..), type (~~),+ type (~),+ type (~~),+ (:~:)(..), (:~~:)(..), -- * Working with equality@@ -145,8 +147,22 @@ deriving instance a ~~ b => Bounded (a :~~: b) -- | This class contains types where you can learn the equality of two types--- from information contained in /terms/. Typically, only singleton types should--- inhabit this class.+-- from information contained in /terms/.+--+-- The result should be @Just Refl@ if and only if the types applied to @f@ are+-- equal:+--+-- @TestEquality (x :: f a) (y :: f b) = Just Refl ⟺ a = b@+--+-- Typically, only singleton types should inhabit this class. In that case type+-- argument equality coincides with term equality:+--+-- @TestEquality (x :: f a) (y :: f b) = Just Refl ⟺ a = b ⟺ x = y@+--+-- @isJust (TestEquality x y) = x == y@+--+-- Singleton types are not required, however, and so the latter two would-be+-- laws are not in fact valid in general. class TestEquality f where -- | Conditionally prove the equality of @a@ and @b@. testEquality :: f a -> f b -> Maybe (a :~: b)
Data/Type/Ord.hs view
@@ -3,7 +3,7 @@ {-# LANGUAGE GADTs #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE PolyKinds #-}-{-# LANGUAGE Safe #-}+{-# LANGUAGE Trustworthy #-} {-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE StandaloneKindSignatures #-} {-# LANGUAGE TypeFamilies #-}@@ -16,7 +16,7 @@ -- License : BSD-style (see the LICENSE file in the distribution) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : not portable -- -- Basic operations on type-level Orderings.@@ -35,8 +35,10 @@ ) where import GHC.Show(Show(..))+import GHC.TypeError import GHC.TypeLits.Internal import GHC.TypeNats.Internal+import GHC.Types (type (~)) import Data.Bool import Data.Char(Char) import Data.Eq@@ -64,29 +66,31 @@ deriving instance Show (OrderingI a b) deriving instance Eq (OrderingI a b) - infix 4 <=?, <=, >=?, >=, <?, <, >?, > -- | Comparison (<=) of comparable types, as a constraint. -- -- @since 4.16.0.0-type x <= y = (x <=? y) ~ 'True+type x <= y = Assert (x <=? y) (LeErrMsg x y)+type LeErrMsg x y = TypeError ('Text "Cannot satisfy: " ':<>: 'ShowType x ':<>: 'Text " <= " ':<>: 'ShowType y) -- | Comparison (>=) of comparable types, as a constraint. -- -- @since 4.16.0.0-type x >= y = (x >=? y) ~ 'True+type x >= y = Assert (x >=? y) (GeErrMsg x y)+type GeErrMsg x y = TypeError ('Text "Cannot satisfy: " ':<>: 'ShowType x ':<>: 'Text " >= " ':<>: 'ShowType y) -- | Comparison (<) of comparable types, as a constraint. -- -- @since 4.16.0.0-type x < y = (x <? y) ~ 'True+type x < y = Assert (x <? y) (LtErrMsg x y)+type LtErrMsg x y = TypeError ('Text "Cannot satisfy: " ':<>: 'ShowType x ':<>: 'Text " < " ':<>: 'ShowType y) -- | Comparison (>) of comparable types, as a constraint. -- -- @since 4.16.0.0-type x > y = (x >? y) ~ 'True-+type x > y = Assert (x >? y) (GtErrMsg x y)+type GtErrMsg x y = TypeError ('Text "Cannot satisfy: " ':<>: 'ShowType x ':<>: 'Text " > " ':<>: 'ShowType y) -- | Comparison (<=) of comparable types, as a function. --
Data/Typeable.hs view
@@ -13,7 +13,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- The 'Typeable' class reifies types to some extent by associating type
Data/Typeable/Internal.hs view
@@ -15,7 +15,6 @@ {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE PolyKinds #-} {-# LANGUAGE ScopedTypeVariables #-}-{-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE UndecidableInstances #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeFamilies #-}@@ -59,6 +58,7 @@ -- * TypeRep TypeRep,+ pattern TypeRep, pattern App, pattern Con, pattern Con', pattern Fun, typeRep, typeOf,@@ -86,15 +86,14 @@ trLiftedRep ) where -import GHC.Prim ( FUN ) import GHC.Base import qualified GHC.Arr as A-import GHC.Types ( TYPE, Multiplicity (Many) ) import Data.Type.Equality import GHC.List ( splitAt, foldl', elem ) import GHC.Word import GHC.Show-import GHC.TypeLits ( KnownChar, charVal', KnownSymbol, symbolVal', AppendSymbol )+import GHC.TypeLits ( KnownChar, charVal', KnownSymbol, symbolVal'+ , TypeError, ErrorMessage(..) ) import GHC.TypeNats ( KnownNat, Nat, natVal' ) import Unsafe.Coerce ( unsafeCoerce ) @@ -229,6 +228,41 @@ , trFunRes :: !(TypeRep b) } -> TypeRep (FUN m a b) +-- | A 'TypeableInstance' wraps up a 'Typeable' instance for explicit+-- handling. For internal use: for defining 'TypeRep' pattern.+type TypeableInstance :: forall k. k -> Type+data TypeableInstance a where+ TypeableInstance :: Typeable a => TypeableInstance a++-- | Get a reified 'Typeable' instance from an explicit 'TypeRep'.+--+-- For internal use: for defining 'TypeRep' pattern.+typeableInstance :: forall {k :: Type} (a :: k). TypeRep a -> TypeableInstance a+typeableInstance rep = withTypeable rep TypeableInstance++-- | A explicitly bidirectional pattern synonym to construct a+-- concrete representation of a type.+--+-- As an __expression__: Constructs a singleton @TypeRep a@ given a+-- implicit 'Typeable a' constraint:+--+-- @+-- TypeRep @a :: Typeable a => TypeRep a+-- @+--+-- As a __pattern__: Matches on an explicit @TypeRep a@ witness bringing+-- an implicit @Typeable a@ constraint into scope.+--+-- @+-- f :: TypeRep a -> ..+-- f TypeRep = {- Typeable a in scope -}+-- @+--+-- @since 4.17.0.0+pattern TypeRep :: forall {k :: Type} (a :: k). () => Typeable @k a => TypeRep @k a+pattern TypeRep <- (typeableInstance -> TypeableInstance)+ where TypeRep = typeRep+ {- Note [TypeRep fingerprints] ~~~~~~~~~~~~~~~~~~~~~~~~~~~ We store a Fingerprint of each TypeRep in its constructor. This allows@@ -238,7 +272,6 @@ {- Note [Kind caching] ~~~~~~~~~~~~~~~~~~~- We cache the kind of the TypeRep in each TrTyCon and TrApp constructor. This is necessary to ensure that typeRepKind (which is used, at least, in deserialization and dynApply) is cheap. There are two reasons for this:@@ -433,14 +466,13 @@ TypeRep (a :: k1 -> k2) -> TypeRep (b :: k1) -> TypeRep (a b)-mkTrAppChecked rep@(TrApp {trAppFun = p, trAppArg = x :: TypeRep x})+mkTrAppChecked rep@(TrApp {trAppFun = p, trAppArg = x@TypeRep :: TypeRep x}) (y :: TypeRep y) | TrTyCon {trTyCon=con} <- p , con == funTyCon -- cheap check first- , Just (IsTYPE (rx :: TypeRep rx)) <- isTYPE (typeRepKind x)- , Just (IsTYPE (ry :: TypeRep ry)) <- isTYPE (typeRepKind y)- , Just HRefl <- withTypeable x $ withTypeable rx $ withTypeable ry- $ typeRep @((->) x :: TYPE ry -> Type) `eqTypeRep` rep+ , Just (IsTYPE TypeRep) <- isTYPE (typeRepKind x)+ , Just (IsTYPE (TypeRep :: TypeRep ry)) <- isTYPE (typeRepKind y)+ , Just HRefl <- typeRep @((->) x :: TYPE ry -> Type) `eqTypeRep` rep = mkTrFun trMany x y mkTrAppChecked a b = mkTrApp a b @@ -472,14 +504,16 @@ IsApp :: forall k k' (f :: k' -> k) (x :: k'). () => TypeRep f %1 -> TypeRep x %1 -> AppOrCon (f x) -- See Note [Con evidence]- IsCon :: IsApplication a ~ "" => TyCon %1 -> [SomeTypeRep] %1 -> AppOrCon a+ IsCon :: NotApplication a => TyCon %1 -> [SomeTypeRep] %1 -> AppOrCon a -type family IsApplication (x :: k) :: Symbol where- IsApplication (_ _) = "An error message about this unifying with \"\" "- `AppendSymbol` "means that you tried to match a TypeRep with Con or "- `AppendSymbol` "Con' when the represented type was known to be an "- `AppendSymbol` "application."- IsApplication _ = ""+type family NotApplication (x :: k) :: Constraint where+ NotApplication (f a)+ = TypeError+ ( 'Text "Cannot match this TypeRep with Con or Con': it is an application:"+ ':$$: 'Text " " ':<>: 'ShowType (f a)+ )+ NotApplication _+ = () splitApp :: forall k (a :: k). () => TypeRep a@@ -489,22 +523,28 @@ splitApp rep@(TrFun {trFunArg=a, trFunRes=b}) = IsApp (mkTrApp arr a) b where arr = bareArrow rep splitApp (TrTyCon{trTyCon = con, trKindVars = kinds})- = case unsafeCoerce Refl :: IsApplication a :~: "" of+ = case unsafeCoerce Refl :: NotApplication a :~: (() :: Constraint) of Refl -> IsCon con kinds -- | Use a 'TypeRep' as 'Typeable' evidence.+--+-- The 'TypeRep' pattern synonym brings a 'Typeable' constraint into+-- scope and can be used in place of 'withTypeable'.+--+-- @+-- f :: TypeRep a -> ..+-- f rep = withTypeable {- Typeable a in scope -}+--+-- f :: TypeRep a -> ..+-- f TypeRep = {- Typeable a in scope -}+-- @ withTypeable :: forall k (a :: k) rep (r :: TYPE rep). () => TypeRep a -> (Typeable a => r) -> r-withTypeable rep k = unsafeCoerce k' rep- where k' :: Gift a r- k' = Gift k---- | A helper to satisfy the type checker in 'withTypeable'.-newtype Gift a (r :: TYPE rep) = Gift (Typeable a => r)+withTypeable rep k = withDict @(Typeable a) rep k -- | Pattern match on a type constructor pattern Con :: forall k (a :: k). ()- => IsApplication a ~ "" -- See Note [Con evidence]+ => NotApplication a -- See Note [Con evidence] => TyCon -> TypeRep a pattern Con con <- (splitApp -> IsCon con _) @@ -526,39 +566,25 @@ -- @ -- pattern Con' :: forall k (a :: k). ()- => IsApplication a ~ "" -- See Note [Con evidence]+ => NotApplication a -- See Note [Con evidence] => TyCon -> [SomeTypeRep] -> TypeRep a pattern Con' con ks <- (splitApp -> IsCon con ks) --- TODO: Remove Fun when #14253 is fixed-{-# COMPLETE Fun, App, Con #-}-{-# COMPLETE Fun, App, Con' #-}+{-# COMPLETE App, Con #-}+{-# COMPLETE App, Con' #-} {- Note [Con evidence]- ~~~~~~~~~~~~~~~~~~~--Matching TypeRep t on Con or Con' fakes up evidence that-- IsApplication t ~ "".+~~~~~~~~~~~~~~~~~~~~~~+Matching TypeRep t on Con or Con' fakes up evidence of NotApplication t. Why should anyone care about the value of strange internal type family? Well, almost nobody cares about it, but the pattern checker does! For example, suppose we have TypeRep (f x) and we want to get TypeRep f and TypeRep x. There is no chance that the Con constructor will match, because (f x) is not a constructor, but without the-IsApplication evidence, omitting it will lead to an incomplete pattern+NotApplication evidence, omitting it will lead to an incomplete pattern warning. With the evidence, the pattern checker will see that Con wouldn't typecheck, so everything works out as it should.--Why do we use Symbols? We would really like to use something like-- type family NotApplication (t :: k) :: Constraint where- NotApplication (f a) = TypeError ...- NotApplication _ = ()--Unfortunately, #11503 means that the pattern checker and type checker-will fail to actually reject the mistaken patterns. So we describe the-error in the result type. It's a horrible hack. -} ----------------- Observation ---------------------
Data/Unique.hs view
@@ -7,7 +7,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable -- -- An abstract interface to a unique symbol generator.
Data/Version.hs view
@@ -9,7 +9,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable (local universal quantification in ReadP) -- -- A general library for representation and manipulation of versions.
Data/Word.hs view
@@ -8,7 +8,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- Unsigned integer types.
Foreign/Marshal/Alloc.hs view
@@ -37,6 +37,11 @@ -- aligned for that type. Array allocation routines need to obey the same -- alignment constraints for each array element. --+-- The underlying implementation is wrapping the @<stdlib.h>@+-- @malloc@, @realloc@, and @free@.+-- In other words it should be safe to allocate using C-@malloc@,+-- and free memory with 'free' from this module.+-- ----------------------------------------------------------------------------- module Foreign.Marshal.Alloc (
GHC/Arr.hs view
@@ -231,7 +231,16 @@ lessSafeIndex (l,u) _ i = index (l,u) i -- Don't inline this long error message everywhere!!-badSafeIndex :: Int -> Int -> Int+-- | Used to throw exceptions in array bounds-checking functions.+--+-- ⚠ This function throws 'SomeException' in all cases.+--+-- ==== __Examples__+-- >>> badSafeIndex 2 5+-- *** Exception: Error in array index; 2 not in range [0..5)+badSafeIndex :: Int -- ^ Index searched for.+ -> Int -- ^ Max bound of the array.+ -> Int -- ^ This isn't an Int. It's an exception. badSafeIndex i' n = errorWithoutStackTrace ("Error in array index; " ++ show i' ++ " not in range [0.." ++ show n ++ ")") @@ -497,7 +506,8 @@ l1 == l2 && u1 == u2 && and [unsafeAt arr1 i == unsafeAt arr2 i | i <- [0 .. n1 - 1]] -{-# INLINE [1] cmpArray #-}+{-# INLINE [2] cmpArray #-}+-- See Note [Allow time for type-specialisation rules to fire] in GHC.Real cmpArray :: (Ix i, Ord e) => Array i e -> Array i e -> Ordering cmpArray arr1 arr2 = compare (assocs arr1) (assocs arr2)
+ GHC/ArrayArray.hs view
@@ -0,0 +1,155 @@+{-# LANGUAGE Trustworthy #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE StandaloneKindSignatures #-}+{-# LANGUAGE UnboxedTuples #-}+{-# LANGUAGE UnliftedNewtypes #-}++-----------------------------------------------------------------------------+-- |+-- Module : GHC.ArrayArray+-- License : see libraries/base/LICENSE+--+-- Maintainer : cvs-ghc@haskell.org+-- Stability : internal+-- Portability : non-portable (GHC Extensions)+--+-- Legacy interface for arrays of arrays.+-- Deprecated, because the 'Array#' type can now store arrays directly.+-- Consider simply using 'Array#' instead of 'ArrayArray#'.+--+-- Use GHC.Exts instead of importing this module directly.+--+----------------------------------------------------------------------------++module GHC.ArrayArray+ ( ArrayArray#(..), MutableArrayArray#(..)+ , newArrayArray#+ , unsafeFreezeArrayArray#+ , sizeofArrayArray#+ , sizeofMutableArrayArray#+ , indexByteArrayArray#+ , indexArrayArrayArray#+ , readByteArrayArray#+ , readMutableByteArrayArray#+ , readArrayArrayArray#+ , readMutableArrayArrayArray#+ , writeByteArrayArray#+ , writeMutableByteArrayArray#+ , writeArrayArrayArray#+ , writeMutableArrayArrayArray#+ , copyArrayArray#+ , copyMutableArrayArray#+ , sameArrayArray#+ , sameMutableArrayArray#+ )+ where++import GHC.Prim+import GHC.Types ( Type, UnliftedType, isTrue# )+import Unsafe.Coerce ( unsafeCoerce, unsafeCoerceUnlifted )+default ()++{- **********************************************************************+* *+* Arrays of arrays (legacy interface) *+* *+********************************************************************** -}++type ArrayArray# :: UnliftedType+newtype ArrayArray# = ArrayArray# (Array# ByteArray#)++type MutableArrayArray# :: Type -> UnliftedType+newtype MutableArrayArray# s = MutableArrayArray# (MutableArray# s ByteArray#)++-- | Create a new mutable array of arrays with the specified number of elements,+-- in the specified state thread, with each element recursively referring to the+-- newly created array.+newArrayArray# :: Int# -> State# s -> (# State# s, MutableArrayArray# s #)+newArrayArray# sz s1 =+ -- Create a placeholder ByteArray to initialise the underlying MutableArray#.+ case newByteArray# 0# s1 of+ (# s2, placeholder #) ->+ -- Create a new MutableArray# holding the placeholder ByteArray# value.+ case newArray# sz (unsafeCoerceUnlifted placeholder) s2 of+ (# s3, arr #) ->+ -- Now update the MutableArray# so that the elements refer back+ -- to the mutable array itself.+ case write_array_to_array arr 0# s3 of+ s4 -> (# s4, MutableArrayArray# (unsafeCoerceUnlifted arr) #)++ where+ write_array_to_array :: MutableArray# s ByteArray# -> Int# -> State# s -> State# s+ write_array_to_array _ i s+ | isTrue# (i >=# sz)+ = s+ write_array_to_array arr i s+ = case writeArray# arr i (unsafeCoerceUnlifted arr) s of+ s' -> write_array_to_array arr (i +# 1#) s'++-- | Make a mutable array of arrays immutable, without copying.+unsafeFreezeArrayArray# :: MutableArrayArray# s -> State# s -> (# State# s, ArrayArray# #)+unsafeFreezeArrayArray# = unsafeCoerce unsafeFreezeArray#++-- | Return the number of elements in the array.+sizeofArrayArray# :: ArrayArray# -> Int#+sizeofArrayArray# = unsafeCoerce sizeofArray#++-- | Return the number of elements in the array.+sizeofMutableArrayArray# :: MutableArrayArray# s -> Int#+sizeofMutableArrayArray# = unsafeCoerce sizeofMutableArray#++indexByteArrayArray# :: ArrayArray# -> Int# -> ByteArray#+indexByteArrayArray# = unsafeCoerce indexArray#++indexArrayArrayArray# :: ArrayArray# -> Int# -> ArrayArray#+indexArrayArrayArray# = unsafeCoerce indexArray#++readByteArrayArray# :: MutableArrayArray# s -> Int# -> State# s -> (# State# s, ByteArray# #)+readByteArrayArray# = unsafeCoerce readArray#++readMutableByteArrayArray# :: MutableArrayArray# s -> Int# -> State# s -> (# State# s, MutableByteArray# s #)+readMutableByteArrayArray# = unsafeCoerce readArray#++readArrayArrayArray# :: MutableArrayArray# s -> Int# -> State# s -> (# State# s, ArrayArray# #)+readArrayArrayArray# = unsafeCoerce readArray#++readMutableArrayArrayArray# :: MutableArrayArray# s -> Int# -> State# s -> (# State# s, MutableArrayArray# s #)+readMutableArrayArrayArray# = unsafeCoerce readArray#++writeByteArrayArray# :: MutableArrayArray# s -> Int# -> ByteArray# -> State# s -> State# s+writeByteArrayArray# = unsafeCoerce writeArray#++writeMutableByteArrayArray# :: MutableArrayArray# s -> Int# -> MutableByteArray# s -> State# s -> State# s+writeMutableByteArrayArray# = unsafeCoerce writeArray#++writeArrayArrayArray# :: MutableArrayArray# s -> Int# -> ArrayArray# -> State# s -> State# s+writeArrayArrayArray# = unsafeCoerce writeArray#++writeMutableArrayArrayArray# :: MutableArrayArray# s -> Int# -> MutableArrayArray# s -> State# s -> State# s+writeMutableArrayArrayArray# = unsafeCoerce writeArray#++-- | Copy a range of the 'ArrayArray#' to the specified region in the 'MutableArrayArray#'.+-- Both arrays must fully contain the specified ranges, but this is not checked.+-- The two arrays must not be the same array in different states, but this is not checked either.+copyArrayArray# :: ArrayArray# -> Int# -> MutableArrayArray# s -> Int# -> Int# -> State# s -> State# s+copyArrayArray# = unsafeCoerce copyArray#++-- | Copy a range of the first MutableArrayArray# to the specified region in the second+-- MutableArrayArray#.+-- Both arrays must fully contain the specified ranges, but this is not checked.+-- The regions are allowed to overlap, although this is only possible when the same+-- array is provided as both the source and the destination.+copyMutableArrayArray# :: MutableArrayArray# s -> Int# -> MutableArrayArray# s -> Int# -> Int# -> State# s -> State# s+copyMutableArrayArray# = unsafeCoerce copyMutableArray#++-- | Compare the underlying pointers of two arrays of arrays.+sameArrayArray# :: ArrayArray# -> ArrayArray# -> Int#+sameArrayArray# (ArrayArray# arr1) (ArrayArray# arr2) = reallyUnsafePtrEquality# arr1 arr2++-- | Compare the underlying pointers of two mutable arrays of arrays.+sameMutableArrayArray# :: MutableArrayArray# s -> MutableArrayArray# s -> Int#+sameMutableArrayArray# (MutableArrayArray# marr1) (MutableArrayArray# marr2 ) = reallyUnsafePtrEquality# marr1 marr2
GHC/Base.hs view
@@ -100,10 +100,12 @@ module GHC.Classes, module GHC.CString, module GHC.Magic,+ module GHC.Magic.Dict, module GHC.Types,- module GHC.Prim, -- Re-export GHC.Prim and [boot] GHC.Err,- module GHC.Prim.Ext, -- to avoid lots of people having to- module GHC.Err, -- import it explicitly+ module GHC.Prim, -- Re-export GHC.Prim, GHC.Prim.Ext,+ module GHC.Prim.Ext, -- GHC.Prim.PtrEq and [boot] GHC.Err+ module GHC.Prim.PtrEq, -- to avoid lots of people having to+ module GHC.Err, -- import these modules explicitly module GHC.Maybe ) where@@ -112,8 +114,10 @@ import GHC.Classes import GHC.CString import GHC.Magic+import GHC.Magic.Dict import GHC.Prim import GHC.Prim.Ext+import GHC.Prim.PtrEq import GHC.Err import GHC.Maybe import {-# SOURCE #-} GHC.IO (mkUserError, mplusIO)@@ -146,7 +150,6 @@ {- Note [Depend on GHC.Num.Integer] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~- The Integer type is special because GHC.CoreToStg.Prep.mkConvertNumLiteral lookups names in ghc-bignum interfaces to construct Integer literal values. Currently it reads the interface file whether or not the current module *has*@@ -340,6 +343,11 @@ -- | @since 2.01 instance Monoid b => Monoid (a -> b) where mempty _ = mempty+ -- If `b` has a specialised mconcat, use that, rather than the default+ -- mconcat, which can be much less efficient. Inline in the hope that+ -- it may result in list fusion.+ mconcat = \fs x -> mconcat $ map (\f -> f x) fs+ {-# INLINE mconcat #-} -- | @since 4.9.0.0 instance Semigroup () where@@ -514,6 +522,9 @@ Note, that the second law follows from the free theorem of the type 'fmap' and the first law, so you need only check that the former condition holds.+See <https://www.schoolofhaskell.com/user/edwardk/snippets/fmap> or+<https://github.com/quchen/articles/blob/master/second_functor_law.md>+for an explanation. -} class Functor f where@@ -633,7 +644,7 @@ -- -- * @'pure' = 'return'@ ----- * @m1 '<*>' m2 = m1 '>>=' (\x1 -> m2 '>>=' (\x2 -> 'return' (x1 x2)))@+-- * @m1 '<*>' m2 = m1 '>>=' (\\x1 -> m2 '>>=' (\\x2 -> 'return' (x1 x2)))@ -- -- * @('*>') = ('>>')@ --@@ -820,7 +831,7 @@ Furthermore, the 'Monad' and 'Applicative' operations should relate as follows: * @'pure' = 'return'@-* @m1 '<*>' m2 = m1 '>>=' (\x1 -> m2 '>>=' (\x2 -> 'return' (x1 x2)))@+* @m1 '<*>' m2 = m1 '>>=' (\\x1 -> m2 '>>=' (\\x2 -> 'return' (x1 x2)))@ The above laws imply: @@ -1355,7 +1366,7 @@ -- http://research.microsoft.com/en-us/um/people/simonpj/papers/ext-f/coercible.pdf {-# RULES "map/coerce" [1] map coerce = coerce #-}--- See Note [Getting the map/coerce RULE to work] in CoreOpt+-- See Note [Getting the map/coerce RULE to work] in GHC.Core.SimpleOpt ---------------------------------------------- -- append@@ -1367,15 +1378,23 @@ -- > [x1, ..., xm] ++ [y1, ...] == [x1, ..., xm, y1, ...] -- -- If the first list is not finite, the result is the first list.+--+-- WARNING: This function takes linear time in the number of elements of the+-- first list. (++) :: [a] -> [a] -> [a]-{-# NOINLINE [1] (++) #-} -- We want the RULE to fire first.- -- It's recursive, so won't inline anyway,- -- but saying so is more explicit+{-# NOINLINE [2] (++) #-}+ -- Give time for the RULEs for (++) to fire in InitialPhase+ -- It's recursive, so won't inline anyway,+ -- but saying so is more explicit (++) [] ys = ys (++) (x:xs) ys = x : xs ++ ys {-# RULES+"++/literal" forall x. (++) (unpackCString# x) = unpackAppendCString# x+"++/literal_utf8" forall x. (++) (unpackCStringUtf8# x) = unpackAppendCStringUtf8# x #-}++{-# RULES "++" [~1] forall xs ys. xs ++ ys = augment (\c n -> foldr c n xs) ys #-} @@ -1473,7 +1492,7 @@ breakpointCond _ r = r data Opaque = forall a. O a--- | @const x@ is a unary function which evaluates to @x@ for all inputs.+-- | @const x y@ always evaluates to @x@, ignoring its second argument. -- -- >>> const 42 "hello" -- 42@@ -1507,7 +1526,7 @@ -- It is also useful in higher-order situations, such as @'map' ('$' 0) xs@, -- or @'Data.List.zipWith' ('$') fs xs@. ----- Note that @('$')@ is levity-polymorphic in its result type, so that+-- Note that @('$')@ is representation-polymorphic in its result type, so that -- @foo '$' True@ where @foo :: Bool -> Int#@ is well-typed. {-# INLINE ($) #-} ($) :: forall r a (b :: TYPE r). (a -> b) -> a -> b@@ -1609,32 +1628,87 @@ {-# INLINE quotRemInt #-} {-# INLINE divModInt #-} -quotInt, remInt, divInt, modInt :: Int -> Int -> Int+-- | Used to implement `quot` for the `Integral` typeclass.+-- This performs integer division on its two parameters, truncated towards zero.+--+-- ==== __Example__+-- >>> quotInt 10 2+-- 5+--+-- >>> quot 10 2+-- 5+quotInt :: Int -> Int -> Int (I# x) `quotInt` (I# y) = I# (x `quotInt#` y)+-- | Used to implement `rem` for the `Integral` typeclass.+-- This gives the remainder after integer division of its two parameters, satisfying+--+-- > ((x `quot` y) * y) + (x `rem` y) == x+--+-- ==== __Example__+-- >>> remInt 3 2+-- 1+--+-- >>> rem 3 2+-- 1+remInt :: Int -> Int -> Int (I# x) `remInt` (I# y) = I# (x `remInt#` y)+-- | Used to implement `div` for the `Integral` typeclass.+-- This performs integer division on its two parameters, truncated towards negative infinity.+--+-- ==== __Example__+-- >>> 10 `divInt` 2+-- 5+--+-- >>> 10 `div` 2+-- 5+divInt :: Int -> Int -> Int (I# x) `divInt` (I# y) = I# (x `divInt#` y)+-- | Used to implement `mod` for the `Integral` typeclass.+-- This performs the modulo operation, satisfying+--+-- > ((x `div` y) * y) + (x `mod` y) == x+--+-- ==== __Example__+-- >>> 7 `modInt` 3+-- 1+--+-- >>> 7 `mod` 3+-- 1+modInt :: Int -> Int -> Int (I# x) `modInt` (I# y) = I# (x `modInt#` y) ++-- | Used to implement `quotRem` for the `Integral` typeclass.+-- This gives a tuple equivalent to+--+-- > (quot x y, mod x y)+--+-- ==== __Example__+-- >>> quotRemInt 10 2+-- (5,0)+--+-- >>> quotRem 10 2+-- (5,0) quotRemInt :: Int -> Int -> (Int, Int) (I# x) `quotRemInt` (I# y) = case x `quotRemInt#` y of (# q, r #) -> (I# q, I# r) +-- | Used to implement `divMod` for the `Integral` typeclass.+-- This gives a tuple equivalent to+--+-- > (div x y, mod x y)+--+-- ==== __Example__+-- >>> divModInt 10 2+-- (5,0)+--+-- >>> divMod 10 2+-- (5,0) divModInt :: Int -> Int -> (Int, Int) (I# x) `divModInt` (I# y) = case x `divModInt#` y of (# q, r #) -> (I# q, I# r) -divModInt# :: Int# -> Int# -> (# Int#, Int# #)-x# `divModInt#` y#- | isTrue# (x# ># 0#) && isTrue# (y# <# 0#) =- case (x# -# 1#) `quotRemInt#` y# of- (# q, r #) -> (# q -# 1#, r +# y# +# 1# #)- | isTrue# (x# <# 0#) && isTrue# (y# ># 0#) =- case (x# +# 1#) `quotRemInt#` y# of- (# q, r #) -> (# q -# 1#, r +# y# -# 1# #)- | otherwise =- x# `quotRemInt#` y#- {- Note [INLINE division wrappers] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The Int division functions such as 'quotRemInt' and 'divModInt' have@@ -1654,51 +1728,60 @@ -- Note that these wrappers still produce undefined results when the -- second argument (the shift amount) is negative. +-- | This function is used to implement branchless shifts. If the number of bits+-- to shift is greater than or equal to the type size in bits, then the shift+-- must return 0. Instead of doing a test, we use a mask obtained via this+-- function which is branchless too.+--+-- shift_mask m b+-- | b < m = 0xFF..FF+-- | otherwise = 0+--+shift_mask :: Int# -> Int# -> Int#+{-# INLINE shift_mask #-}+shift_mask m b = negateInt# (b <# m)+ -- | Shift the argument left by the specified number of bits -- (which must be non-negative). shiftL# :: Word# -> Int# -> Word#-a `shiftL#` b | isTrue# (b >=# WORD_SIZE_IN_BITS#) = 0##- | otherwise = a `uncheckedShiftL#` b+a `shiftL#` b = (a `uncheckedShiftL#` b) `and#` int2Word# (shift_mask WORD_SIZE_IN_BITS# b) -- | Shift the argument right by the specified number of bits -- (which must be non-negative). -- The "RL" means "right, logical" (as opposed to RA for arithmetic) -- (although an arithmetic right shift wouldn't make sense for Word#) shiftRL# :: Word# -> Int# -> Word#-a `shiftRL#` b | isTrue# (b >=# WORD_SIZE_IN_BITS#) = 0##- | otherwise = a `uncheckedShiftRL#` b+a `shiftRL#` b = (a `uncheckedShiftRL#` b) `and#` int2Word# (shift_mask WORD_SIZE_IN_BITS# b) -- | Shift the argument left by the specified number of bits -- (which must be non-negative). iShiftL# :: Int# -> Int# -> Int#-a `iShiftL#` b | isTrue# (b >=# WORD_SIZE_IN_BITS#) = 0#- | otherwise = a `uncheckedIShiftL#` b+a `iShiftL#` b = (a `uncheckedIShiftL#` b) `andI#` shift_mask WORD_SIZE_IN_BITS# b -- | Shift the argument right (signed) by the specified number of bits -- (which must be non-negative). -- The "RA" means "right, arithmetic" (as opposed to RL for logical) iShiftRA# :: Int# -> Int# -> Int#-a `iShiftRA#` b | isTrue# (b >=# WORD_SIZE_IN_BITS#) = if isTrue# (a <# 0#)- then (-1#)- else 0#+a `iShiftRA#` b | isTrue# (b >=# WORD_SIZE_IN_BITS#) = negateInt# (a <# 0#) | otherwise = a `uncheckedIShiftRA#` b -- | Shift the argument right (unsigned) by the specified number of bits -- (which must be non-negative). -- The "RL" means "right, logical" (as opposed to RA for arithmetic) iShiftRL# :: Int# -> Int# -> Int#-a `iShiftRL#` b | isTrue# (b >=# WORD_SIZE_IN_BITS#) = 0#- | otherwise = a `uncheckedIShiftRL#` b+a `iShiftRL#` b = (a `uncheckedIShiftRL#` b) `andI#` shift_mask WORD_SIZE_IN_BITS# b -- Rules for C strings (the functions themselves are now in GHC.CString) {-# RULES "unpack" [~1] forall a . unpackCString# a = build (unpackFoldrCString# a) "unpack-list" [1] forall a . unpackFoldrCString# a (:) [] = unpackCString# a "unpack-append" forall a n . unpackFoldrCString# a (:) n = unpackAppendCString# a n+"unpack-append-nil" forall a . unpackAppendCString# a [] = unpackCString# a "unpack-utf8" [~1] forall a . unpackCStringUtf8# a = build (unpackFoldrCStringUtf8# a) "unpack-list-utf8" [1] forall a . unpackFoldrCStringUtf8# a (:) [] = unpackCStringUtf8# a "unpack-append-utf8" forall a n . unpackFoldrCStringUtf8# a (:) n = unpackAppendCStringUtf8# a n+"unpack-append-nil-utf8" forall a . unpackAppendCStringUtf8# a [] = unpackCStringUtf8# a -- There's a built-in rule (in GHC.Core.Op.ConstantFold) for -- unpackFoldr "foo" c (unpackFoldr "baz" c n) = unpackFoldr "foobaz" c n
GHC/Bits.hs view
@@ -4,6 +4,8 @@ {-# LANGUAGE MagicHash #-} {-# LANGUAGE Trustworthy #-} +{-# OPTIONS_HADDOCK not-home #-}+ ----------------------------------------------------------------------------- -- | -- Module : GHC.Bits@@ -11,7 +13,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- This module defines bitwise operations for signed and unsigned@@ -579,9 +581,11 @@ shift x i | i >= 0 = naturalShiftL x (fromIntegral i) | otherwise = naturalShiftR x (fromIntegral (negate i))- testBit x i = naturalTestBit x (fromIntegral i)- zeroBits = naturalZero- clearBit x i = x `xor` (bit i .&. x)+ testBit x i = naturalTestBit x (fromIntegral i)+ zeroBits = naturalZero+ setBit x i = naturalSetBit x (fromIntegral i)+ clearBit x i = naturalClearBit x (fromIntegral i)+ complementBit x i = naturalComplementBit x (fromIntegral i) bit (I# i) = naturalBit# (int2Word# i) popCount x = I# (word2Int# (naturalPopCount# x))@@ -601,10 +605,10 @@ -- -- > toIntegral :: (Integral a, Integral b) => a -> Maybe b -- > toIntegral x--- > | toInteger x == y = Just (fromInteger y)--- > | otherwise = Nothing+-- > | toInteger x == toInteger y = Just y+-- > | otherwise = Nothing -- > where--- > y = toInteger x+-- > y = fromIntegral x -- -- This version requires going through 'Integer', which can be inefficient. -- However, @toIntegralSized@ is optimized to allow GHC to statically determine@@ -668,8 +672,9 @@ ySigned = isSigned y {-# INLINE isBitSubType #-} -{- Note [Constant folding for rotate]- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+{-+Note [Constant folding for rotate]+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The INLINE on the Int instance of rotate enables it to be constant folded. For example: sumU . mapU (`rotate` 3) . replicateU 10000000 $ (7 :: Int)
GHC/Conc/Sync.hs view
@@ -152,7 +152,7 @@ showThreadId :: ThreadId -> String showThreadId = show -foreign import ccall unsafe "rts_getThreadId" getThreadId :: ThreadId# -> CInt+foreign import ccall unsafe "rts_getThreadId" getThreadId :: ThreadId# -> CULLong id2TSO :: ThreadId -> ThreadId# id2TSO (ThreadId t) = t@@ -260,10 +260,15 @@ exceptions 'BlockedIndefinitelyOnMVar', 'BlockedIndefinitelyOnSTM', and 'ThreadKilled', and passes all other exceptions to the uncaught exception handler.++WARNING: Exceptions in the new thread will not be rethrown in the thread that+created it. This means that you might be completely unaware of the problem+if/when this happens. You may want to use the+<hackage.haskell.org/package/async async> library instead. -} forkIO :: IO () -> IO ThreadId forkIO action = IO $ \ s ->- case (fork# action_plus s) of (# s1, tid #) -> (# s1, ThreadId tid #)+ case (fork# (unIO action_plus) s) of (# s1, tid #) -> (# s1, ThreadId tid #) where -- We must use 'catch' rather than 'catchException' because the action -- could be bottom. #13330@@ -313,7 +318,7 @@ -} forkOn :: Int -> IO () -> IO ThreadId forkOn (I# cpu) action = IO $ \ s ->- case (forkOn# cpu action_plus s) of (# s1, tid #) -> (# s1, ThreadId tid #)+ case (forkOn# cpu (unIO action_plus) s) of (# s1, tid #) -> (# s1, ThreadId tid #) where -- We must use 'catch' rather than 'catchException' because the action -- could be bottom. #13330@@ -568,7 +573,7 @@ case threadStatus# t s of (# s', stat, _cap, _locked #) -> (# s', mk_stat (I# stat) #) where- -- NB. keep these in sync with includes/rts/Constants.h+ -- NB. keep these in sync with rts/include/rts/Constants.h mk_stat 0 = ThreadRunning mk_stat 1 = ThreadBlocked BlockedOnMVar mk_stat 2 = ThreadBlocked BlockedOnBlackHole@@ -621,12 +626,12 @@ -- @hs_try_putmvar()@. The RTS wants a 'StablePtr' to the underlying -- 'MVar#', but a 'StablePtr#' can only refer to lifted types, so we -- have to cheat by coercing.-newStablePtrPrimMVar :: MVar () -> IO (StablePtr PrimMVar)+newStablePtrPrimMVar :: MVar a -> IO (StablePtr PrimMVar) newStablePtrPrimMVar (MVar m) = IO $ \s0 -> case makeStablePtr# (unsafeCoerce# m :: PrimMVar) s0 of- -- Coerce unlifted m :: MVar# RealWorld ()+ -- Coerce unlifted m :: MVar# RealWorld a -- to lifted PrimMVar- -- apparently because mkStablePtr is not levity-polymorphic+ -- apparently because mkStablePtr is not representation-polymorphic (# s1, sp #) -> (# s1, StablePtr sp #) -----------------------------------------------------------------------------@@ -661,6 +666,14 @@ {-# INLINE (>>=) #-} m >>= k = bindSTM m k (>>) = (*>)++-- | @since 4.17.0.0+instance Semigroup a => Semigroup (STM a) where+ (<>) = liftA2 (<>)++-- | @since 4.17.0.0+instance Monoid a => Monoid (STM a) where+ mempty = pure mempty bindSTM :: STM a -> (a -> STM b) -> STM b bindSTM (STM m) k = STM ( \s ->
GHC/Enum.hs view
@@ -179,7 +179,6 @@ {- Note [Stable Unfolding for list producers] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~- The INLINABLE/INLINE pragmas ensure that we export stable (unoptimised) unfoldings in the interface file so we can do list fusion at usage sites. -}@@ -422,7 +421,7 @@ go x | isTrue# (x ># y) = n | otherwise = C# (chr# x) `c` go (x +# 1#) -{-# NOINLINE [1] eftChar #-}+{-# NOINLINE [1] eftChar #-} -- Inline after rule "eftChar" is inactive eftChar :: Int# -> Int# -> String eftChar x y | isTrue# (x ># y ) = [] | otherwise = C# (chr# x) : eftChar (x +# 1#) y@@ -437,7 +436,7 @@ where !delta = x2 -# x1 -{-# NOINLINE [1] efdChar #-}+{-# NOINLINE [1] efdChar #-} -- Inline after rule "efdChar" is inactive efdChar :: Int# -> Int# -> String efdChar x1 x2 | isTrue# (delta >=# 0#) = go_up_char_list x1 delta 0x10FFFF#@@ -453,7 +452,7 @@ where !delta = x2 -# x1 -{-# NOINLINE [1] efdtChar #-}+{-# NOINLINE [1] efdtChar #-} -- Inline after rule "efdtChar" is inactive efdtChar :: Int# -> Int# -> Int# -> String efdtChar x1 x2 lim | isTrue# (delta >=# 0#) = go_up_char_list x1 delta lim@@ -892,6 +891,7 @@ #-} {- Note [Enum Integer rules for literal 1]+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The "1" rules above specialise for the common case where delta = 1, so that we can avoid the delta>=0 test in enumDeltaToIntegerFB. Then enumDeltaToInteger1FB is nice and small and can be inlined,@@ -910,7 +910,7 @@ enumDeltaIntegerFB c x0 d = go x0 where go x = x `seq` (x `c` go (x+d)) -{-# NOINLINE [1] enumDeltaInteger #-}+{-# NOINLINE [1] enumDeltaInteger #-} -- Inline after rule "enumDeltaInteger" is inactive enumDeltaInteger :: Integer -> Integer -> [Integer] enumDeltaInteger x d = x `seq` (x : enumDeltaInteger (x+d) d) -- strict accumulator, so@@ -936,13 +936,13 @@ go x | x > lim = n | otherwise = x `c` go (x+1) -{-# NOINLINE [1] enumDeltaToInteger #-}+{-# NOINLINE [1] enumDeltaToInteger #-} -- Inline after rule "efdtInteger" is inactive enumDeltaToInteger :: Integer -> Integer -> Integer -> [Integer] enumDeltaToInteger x delta lim | delta >= 0 = up_list x delta lim | otherwise = dn_list x delta lim -{-# NOINLINE [1] enumDeltaToInteger1 #-}+{-# NOINLINE [1] enumDeltaToInteger1 #-} -- Inline after rule "efdtInteger1" is inactive enumDeltaToInteger1 :: Integer -> Integer -> [Integer] -- Special case for Delta = 1 enumDeltaToInteger1 x0 lim = go (x0 :: Integer)@@ -984,19 +984,27 @@ | i >= 0 = naturalFromWord# (int2Word# i#) | otherwise = errorWithoutStackTrace "toEnum: unexpected negative Int" - fromEnum (NS w)- | i >= 0 = i- | otherwise = errorWithoutStackTrace "fromEnum: out of Int range"+ fromEnum (NS w) | i >= 0 = i where i = I# (word2Int# w)- fromEnum n = fromEnum (integerFromNatural n)+ fromEnum _ = errorWithoutStackTrace "fromEnum: out of Int range" + -- See Note [Stable Unfolding for list producers]+ {-# INLINE enumFrom #-} enumFrom x = enumDeltaNatural x 1++ -- See Note [Stable Unfolding for list producers]+ {-# INLINE enumFromThen #-} enumFromThen x y | x <= y = enumDeltaNatural x (y-x) | otherwise = enumNegDeltaToNatural x (x-y) 0 + -- See Note [Stable Unfolding for list producers]+ {-# INLINE enumFromTo #-} enumFromTo x lim = enumDeltaToNatural x 1 lim++ -- See Note [Stable Unfolding for list producers]+ {-# INLINE enumFromThenTo #-} enumFromThenTo x y lim | x <= y = enumDeltaToNatural x (y-x) lim | otherwise = enumNegDeltaToNatural x (x-y) lim@@ -1006,12 +1014,16 @@ enumDeltaNatural :: Natural -> Natural -> [Natural] enumDeltaNatural !x d = x : enumDeltaNatural (x+d) d +-- Inline to specialize+{-# INLINE enumDeltaToNatural #-} enumDeltaToNatural :: Natural -> Natural -> Natural -> [Natural] enumDeltaToNatural x0 delta lim = go x0 where go x | x > lim = [] | otherwise = x : go (x+delta) +-- Inline to specialize+{-# INLINE enumNegDeltaToNatural #-} enumNegDeltaToNatural :: Natural -> Natural -> Natural -> [Natural] enumNegDeltaToNatural x0 ndelta lim = go x0 where
GHC/Err.hs view
@@ -54,16 +54,12 @@ -- a partial stack trace, containing the call-site of each function -- with a HasCallStack constraint. ----- In base, however, the only functions that have such constraints are--- error and undefined, so the stack traces from partial functions in--- base will never contain a call-site in user code. Instead we'll--- usually just get the actual call to error. Base functions already--- have a good habit of providing detailed error messages, including the--- name of the offending partial function, so the partial stack-trace--- does not provide any extra information, just noise. Thus, we export--- the callstack-aware error, but within base we use the--- errorWithoutStackTrace variant for more hygienic error messages.-+-- In base, error and undefined were the only functions that had such+-- constraint. Errors like "Prelude.!!: negative index" are good, yet if the+-- code base contains dozens of !! applications (including dependencies,+-- which code is not as easily accessible), pinpointing the bad call is+-- where the stack trace would help. Therefore we annotate most calls to+-- error, so users have a chance to get a better idea. -- | A special case of 'error'. -- It is expected that compilers will recognize this and insert error@@ -71,7 +67,13 @@ -- appears. undefined :: forall (r :: RuntimeRep). forall (a :: TYPE r). HasCallStack => a-undefined = error "Prelude.undefined"+-- This used to be+-- undefined = error "Prelude.undefined"+-- but that would add an extra call stack entry that is not actually helpful+-- nor wanted (see #19886). We’d like to use withFrozenCallStack, but that+-- is not available in this module yet, and making it so is hard. So let’s just+-- use raise# directly.+undefined = raise# (errorCallWithCallStackException "Prelude.undefined" ?callStack) -- | Used for compiler-generated error message; -- encoding saves bytes of string junk.
GHC/Event/Internal/Types.hs view
@@ -6,7 +6,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable -- -- Abstraction over C Handle types for GHC, Unix wants FD (CInt) while Windows
GHC/Event/Thread.hs view
@@ -18,7 +18,7 @@ -- TODO: Use new Windows I/O manager import Control.Exception (finally, SomeException, toException) import Data.Foldable (forM_, mapM_, sequence_)-import Data.IORef (IORef, newIORef, readIORef, writeIORef, atomicWriteIORef)+import Data.IORef (IORef, newIORef, readIORef, writeIORef) import Data.Maybe (fromMaybe) import Data.Tuple (snd) import Foreign.C.Error (eBADF, errnoToIOError)@@ -29,8 +29,7 @@ import GHC.Conc.Sync (TVar, ThreadId, ThreadStatus(..), atomically, forkIO, labelThread, modifyMVar_, withMVar, newTVar, sharedCAF, getNumCapabilities, threadCapability, myThreadId, forkOn,- threadStatus, writeTVar, newTVarIO, readTVar, retry,- throwSTM, STM, yield)+ threadStatus, writeTVar, newTVarIO, readTVar, retry,throwSTM,STM) import GHC.IO (mask_, uninterruptibleMask_, onException) import GHC.IO.Exception (ioError) import GHC.IOArray (IOArray, newIOArray, readIOArray, writeIOArray,@@ -42,7 +41,6 @@ new, registerFd, unregisterFd_) import qualified GHC.Event.Manager as M import qualified GHC.Event.TimerManager as TM-import GHC.Ix (inRange) import GHC.Num ((-), (+)) import GHC.Real (fromIntegral) import GHC.Show (showSignedInt)@@ -100,45 +98,23 @@ closeFdWith :: (Fd -> IO ()) -- ^ Action that performs the close. -> Fd -- ^ File descriptor to close. -> IO ()-closeFdWith close fd = close_loop+closeFdWith close fd = do+ eventManagerArray <- readIORef eventManager+ let (low, high) = boundsIOArray eventManagerArray+ mgrs <- flip mapM [low..high] $ \i -> do+ Just (_,!mgr) <- readIOArray eventManagerArray i+ return mgr+ -- 'takeMVar', and 'M.closeFd_' might block, although for a very short time.+ -- To make 'closeFdWith' safe in presence of asynchronous exceptions we have+ -- to use uninterruptible mask.+ uninterruptibleMask_ $ do+ tables <- flip mapM mgrs $ \mgr -> takeMVar $ M.callbackTableVar mgr fd+ cbApps <- zipWithM (\mgr table -> M.closeFd_ mgr table fd) mgrs tables+ close fd `finally` sequence_ (zipWith3 finish mgrs tables cbApps) where finish mgr table cbApp = putMVar (M.callbackTableVar mgr fd) table >> cbApp zipWithM f xs ys = sequence (zipWith f xs ys)- -- The array inside 'eventManager' can be swapped out at any time, see- -- 'ioManagerCapabilitiesChanged'. See #21651. We detect this case by- -- checking the array bounds before and after. When such a swap has- -- happened we cleanup and try again- close_loop = do- eventManagerArray <- readIORef eventManager- let ema_bounds@(low, high) = boundsIOArray eventManagerArray- mgrs <- flip mapM [low..high] $ \i -> do- Just (_,!mgr) <- readIOArray eventManagerArray i- return mgr - -- 'takeMVar', and 'M.closeFd_' might block, although for a very short time.- -- To make 'closeFdWith' safe in presence of asynchronous exceptions we have- -- to use uninterruptible mask.- join $ uninterruptibleMask_ $ do- tables <- flip mapM mgrs $ \mgr -> takeMVar $ M.callbackTableVar mgr fd- new_ema_bounds <- boundsIOArray `fmap` readIORef eventManager- -- Here we exploit Note [The eventManager Array]- if new_ema_bounds /= ema_bounds- then do- -- the array has been modified.- -- mgrs still holds the right EventManagers, by the Note.- -- new_ema_bounds must be larger than ema_bounds, by the note.- -- return the MVars we took and try again- sequence_ $ zipWith (\mgr table -> finish mgr table (pure ())) mgrs tables- pure close_loop- else do- -- We surely have taken all the appropriate MVars. Even if the array- -- has been swapped, our mgrs is still correct.- -- Remove the Fd from all callback tables, close the Fd, and run all- -- callbacks.- cbApps <- zipWithM (\mgr table -> M.closeFd_ mgr table fd) mgrs tables- close fd `finally` sequence_ (zipWith3 finish mgrs tables cbApps)- pure (pure ())- threadWait :: Event -> Fd -> IO () threadWait evt fd = mask_ $ do m <- newEmptyMVar@@ -201,24 +177,10 @@ getSystemEventManager :: IO (Maybe EventManager) getSystemEventManager = do t <- myThreadId- eventManagerArray <- readIORef eventManager- let r = boundsIOArray eventManagerArray (cap, _) <- threadCapability t- -- It is possible that we've just increased the number of capabilities and the- -- new EventManager has not yet been constructed by- -- 'ioManagerCapabilitiesChanged'. We expect this to happen very rarely.- -- T21561 exercises this.- -- Two options to proceed:- -- 1) return the EventManager for capability 0. This is guaranteed to exist,- -- and "shouldn't" cause any correctness issues.- -- 2) Busy wait, with or without a call to 'yield'. This can't deadlock,- -- because we must be on a brand capability and there must be a call to- -- 'ioManagerCapabilitiesChanged' pending.- --- -- We take the second option, with the yield, judging it the most robust.- if not (inRange r cap)- then yield >> getSystemEventManager- else fmap snd `fmap` readIOArray eventManagerArray cap+ eventManagerArray <- readIORef eventManager+ mmgr <- readIOArray eventManagerArray cap+ return $ fmap snd mmgr getSystemEventManager_ :: IO EventManager getSystemEventManager_ = do@@ -229,22 +191,6 @@ foreign import ccall unsafe "getOrSetSystemEventThreadEventManagerStore" getOrSetSystemEventThreadEventManagerStore :: Ptr a -> IO (Ptr a) --- Note [The eventManager Array]--- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--- A mutable array holding the current EventManager for each capability--- An entry is Nothing only while the eventmanagers are initialised, see--- 'startIOManagerThread' and 'ioManagerCapabilitiesChanged'.--- The 'ThreadId' at array position 'cap' will have been 'forkOn'ed capabality--- 'cap'.--- The array will be swapped with newer arrays when the number of capabilities--- changes(via 'setNumCapabilities'). However:--- * the size of the arrays will never decrease; and--- * The 'EventManager's in the array are not replaced with other--- 'EventManager' constructors.------ This is a similar strategy as the rts uses for it's--- capabilities array (n_capabilities is the size of the array,--- enabled_capabilities' is the number of active capabilities). eventManager :: IORef (IOArray Int (Maybe (ThreadId, EventManager))) eventManager = unsafePerformIO $ do numCaps <- getNumCapabilities@@ -405,9 +351,7 @@ startIOManagerThread new_eventManagerArray -- update the event manager array reference:- atomicWriteIORef eventManager new_eventManagerArray- -- We need an atomic write here because 'eventManager' is accessed- -- unsynchronized in 'getSystemEventManager' and 'closeFdWith'+ writeIORef eventManager new_eventManagerArray else when (new_n_caps > numEnabled) $ forM_ [numEnabled..new_n_caps-1] $ \i -> do Just (_,mgr) <- readIOArray eventManagerArray i
GHC/Event/TimeOut.hs view
@@ -6,7 +6,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable -- -- Common Timer definitions shared between WinIO and RIO.
GHC/Event/Windows.hsc view
@@ -14,7 +14,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable -- -- WinIO Windows event manager.@@ -481,7 +481,7 @@ -- | A handle value representing an invalid handle. invalidHandle :: HANDLE-invalidHandle = intPtrToPtr (#{const INVALID_HANDLE_VALUE})+invalidHandle = iNVALID_HANDLE_VALUE -- | Associate a 'HANDLE' with the I/O manager's completion port. This must be -- done before using the handle with 'withOverlapped'.@@ -495,9 +495,8 @@ FFI.associateHandleWithIOCP mgrIOCP h (fromIntegral $ ptrToWordPtr h) -{- Note [Why use non-waiting getOverlappedResult requests.]- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-+{- Note [Why use non-waiting getOverlappedResult requests]+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When waiting for a request that is bound to be done soon we spin inside waitForCompletion. There are multiple reasons for this.@@ -549,6 +548,7 @@ IOFailed err -> signalThrow err -- Note [Memory Management]+ -- ~~~~~~~~~~~~~~~~~~~~~~~~ -- These callback data and especially the overlapped structs have to keep -- alive throughout the entire lifetime of the requests. Since this -- function will block until done so it can call completionCB at the end@@ -750,7 +750,7 @@ -- otherwise the RTS will lock up until we get a result back. -- In the threaded case it can be beneficial to spin on the haskell -- side versus- -- See also Note [Why use non-waiting getOverlappedResult requests.]+ -- See also Note [Why use non-waiting getOverlappedResult requests] res <- FFI.getOverlappedResult fhndl lpol False status <- FFI.overlappedIOStatus lpol case res of
GHC/Event/Windows/FFI.hsc view
@@ -13,7 +13,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable -- -- WinIO Windows API Foreign Function imports@@ -136,6 +136,7 @@ -> Ptr ULONG -> DWORD -> BOOL -> IO BOOL -- | Note [Completion Ports]+-- ~~~~~~~~~~~~~~~~~~~~~~~ -- When an I/O operation has been queued by an operation -- (ReadFile/WriteFile/etc) it is placed in a queue that the driver uses when -- servicing IRQs. This queue has some important properties:@@ -343,7 +344,8 @@ ------------------------------------------------------------------------ -- Request management --- [Note AsyncHandles]+-- Note [AsyncHandles]+-- ~~~~~~~~~~~~~~~~~~~ -- In `winio` we have designed it to work in asynchronous mode always. -- According to the MSDN documentation[1][2], when a handle is not opened -- in asynchronous mode then the operation would simply work but operate@@ -392,7 +394,7 @@ -- invalid. This is an issue because to pass `HANDLE`s we have to pass -- the native OS Handle not the Haskell one. i.e. remote-iserv. --- See [Note AsyncHandles]+-- See Note [AsyncHandles] withRequest :: Bool -> Word64 -> HANDLE -> IOCallback -> (Ptr HASKELL_OVERLAPPED -> Ptr CompletionData -> IO a) -> IO a
GHC/Event/Windows/ManagedThreadPool.hs view
@@ -11,7 +11,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable -- -- WinIO Windows Managed Thread pool API. This thread pool scales dynamically
GHC/Exception.hs view
@@ -38,13 +38,15 @@ import GHC.Show import GHC.Stack.Types import GHC.OldList-import GHC.Prim import GHC.IO.Unsafe import {-# SOURCE #-} GHC.Stack.CCS import GHC.Exception.Type -- | Throw an exception. Exceptions may be thrown from purely -- functional code, but may only be caught within the 'IO' monad.+--+-- WARNING: You may want to use 'throwIO' instead so that your pure code+-- stays exception-free. throw :: forall (r :: RuntimeRep). forall (a :: TYPE r). forall e. Exception e => e -> a throw e = raise# (toException e)
GHC/ExecutionStack/Internal.hsc view
@@ -41,7 +41,7 @@ import Foreign.Storable (Storable(..)) import System.IO.Unsafe (unsafePerformIO, unsafeInterleaveIO) --- N.B. See includes/rts/Libdw.h for notes on stack representation.+-- N.B. See rts/include/rts/Libdw.h for notes on stack representation. -- | A location in the original program source. data SrcLoc = SrcLoc { sourceFile :: String
GHC/Exts.hs view
@@ -6,6 +6,7 @@ {-# LANGUAGE UnboxedTuples #-} {-# LANGUAGE Unsafe #-} {-# LANGUAGE DeriveDataTypeable #-}+{-# OPTIONS_HADDOCK print-explicit-runtime-reps #-} ----------------------------------------------------------------------------- -- |@@ -24,26 +25,45 @@ module GHC.Exts (- -- * Representations of some basic types- Int(..),Word(..),Float(..),Double(..),- Char(..),+ -- ** Pointer types Ptr(..), FunPtr(..), - -- * The maximum tuple size- maxTupleSize,+ -- ** Other primitive types+ module GHC.Types, + -- ** Legacy interface for arrays of arrays+ module GHC.ArrayArray,+ -- * Primitive operations- FUN, -- See https://gitlab.haskell.org/ghc/ghc/issues/18302+ module GHC.Prim, module GHC.Prim.Ext,++ -- ** Running 'RealWorld' state thread+ runRW#,++ -- ** Bit shift operations shiftL#, shiftRL#, iShiftL#, iShiftRA#, iShiftRL#,- isTrue#,- Void#, -- Previously exported by GHC.Prim - -- * Compat wrapper+ -- ** Pointer comparison operations+ -- See `Note [Pointer comparison operations]` in primops.txt.pp+ reallyUnsafePtrEquality,+ eqStableName#,+ sameArray#,+ sameMutableArray#,+ sameSmallArray#,+ sameSmallMutableArray#,+ sameByteArray#,+ sameMutableByteArray#,+ sameMVar#,+ sameMutVar#,+ sameTVar#,+ sameIOPort#,++ -- ** Compat wrapper atomicModifyMutVar#, - -- * Resize functions+ -- ** Resize functions -- -- | Resizing arrays of boxed elements is currently handled in -- library space (rather than being a primop) since there is not@@ -51,13 +71,20 @@ -- may become primops in a future release of GHC. resizeSmallMutableArray#, - -- * Fusion+ -- ** Fusion build, augment, - -- * Overloaded string literals+ -- * Overloaded lists+ IsList(..),++ -- * Transform comprehensions+ Down(..), groupWith, sortWith, the,++ -- * Strings+ -- ** Overloaded string literals IsString(..), - -- * CString+ -- ** CString unpackCString#, unpackAppendCString#, unpackFoldrCString#,@@ -66,72 +93,61 @@ cstringLength#, -- * Debugging+ -- ** Breakpoints breakpoint, breakpointCond, + -- ** Event logging+ traceEvent,++ -- ** The call stack+ currentCallStack,+ -- * Ids with special behaviour- inline, noinline, lazy, oneShot, considerAccessible, SPEC (..),+ inline, noinline, lazy, oneShot, considerAccessible, - -- * Running 'RealWorld' state thread- runRW#,+ -- * SpecConstr annotations+ SpecConstrAnnotation(..), SPEC (..), - -- * Safe coercions+ -- * Coercions+ -- ** Safe coercions --- -- | These are available from the /Trustworthy/ module "Data.Coerce" as well+ -- | These are available from the /Trustworthy/ module "Data.Coerce" as well. -- -- @since 4.7.0.0- Data.Coerce.coerce, Data.Coerce.Coercible,+ Data.Coerce.coerce, - -- * Very unsafe coercion+ -- ** Very unsafe coercion unsafeCoerce#, - -- * Equality- type (~~),-- -- * Representation polymorphism- GHC.Prim.TYPE, RuntimeRep(..), Levity(..),- LiftedRep, UnliftedRep, UnliftedType,- VecCount(..), VecElem(..),-- -- * Transform comprehensions- Down(..), groupWith, sortWith, the,-- -- * Event logging- traceEvent,-- -- * SpecConstr annotations- SpecConstrAnnotation(..),-- -- * The call stack- currentCallStack,-- -- * The Constraint kind- Constraint,-- -- * The Any type- Any,+ -- ** Casting class dictionaries with single methods+ WithDict(..), - -- * Overloaded lists- IsList(..)+ -- * The maximum tuple size+ maxTupleSize, ) where -import GHC.Prim hiding ( coerce, TYPE )-import qualified GHC.Prim+import GHC.Prim hiding ( coerce )+import GHC.Types+ hiding ( IO -- Exported from "GHC.IO"+ , Type -- Exported from "Data.Kind"++ -- GHC's internal representation of 'TyCon's, for 'Typeable'+ , Module, TrName, TyCon, TypeLitSort, KindRep, KindBndr ) import qualified GHC.Prim.Ext+import GHC.ArrayArray import GHC.Base hiding ( coerce ) import GHC.Ptr import GHC.Stack+import GHC.IsList (IsList(..)) -- for re-export import qualified Data.Coerce import Data.String import Data.OldList import Data.Data import Data.Ord-import Data.Version ( Version(..), makeVersion ) import qualified Debug.Trace import Unsafe.Coerce ( unsafeCoerce# ) -- just for re-export -import Control.Applicative (ZipList(..))- -- XXX This should really be in Data.Tuple, where the definitions are maxTupleSize :: Int maxTupleSize = 64@@ -146,6 +162,11 @@ -- | The 'sortWith' function sorts a list of elements using the -- user supplied function to project something out of each element+--+-- In general if the user supplied function is expensive to compute then+-- you should probably be using 'Data.List.sortOn', as it only needs+-- to compute it once for each element. 'sortWith', on the other hand+-- must compute the mapping function for every comparison that it performs. sortWith :: Ord b => (a -> b) -> [a] -> [a] sortWith f = sortBy (\x y -> compare (f x) (f y)) @@ -191,73 +212,6 @@ ) -{- **********************************************************************-* *-* The IsList class *-* *-********************************************************************** -}---- | The 'IsList' class and its methods are intended to be used in--- conjunction with the OverloadedLists extension.------ @since 4.7.0.0-class IsList l where- -- | The 'Item' type function returns the type of items of the structure- -- @l@.- type Item l-- -- | The 'fromList' function constructs the structure @l@ from the given- -- list of @Item l@- fromList :: [Item l] -> l-- -- | The 'fromListN' function takes the input list's length and potentially- -- uses it to construct the structure @l@ more efficiently compared to- -- 'fromList'. If the given number does not equal to the input list's length- -- the behaviour of 'fromListN' is not specified.- --- -- prop> fromListN (length xs) xs == fromList xs- fromListN :: Int -> [Item l] -> l- fromListN _ = fromList-- -- | The 'toList' function extracts a list of @Item l@ from the structure @l@.- -- It should satisfy fromList . toList = id.- toList :: l -> [Item l]---- | @since 4.7.0.0-instance IsList [a] where- type (Item [a]) = a- fromList = id- toList = id---- | @since 4.15.0.0-instance IsList (ZipList a) where- type Item (ZipList a) = a- fromList = ZipList- toList = getZipList---- | @since 4.9.0.0-instance IsList (NonEmpty a) where- type Item (NonEmpty a) = a-- fromList (a:as) = a :| as- fromList [] = errorWithoutStackTrace "NonEmpty.fromList: empty list"-- toList ~(a :| as) = a : as---- | @since 4.8.0.0-instance IsList Version where- type (Item Version) = Int- fromList = makeVersion- toList = versionBranch---- | Be aware that 'fromList . toList = id' only for unfrozen 'CallStack's,--- since 'toList' removes frozenness information.------ @since 4.9.0.0-instance IsList CallStack where- type (Item CallStack) = (String, SrcLoc)- fromList = fromCallSiteList- toList = getCallStack -- | An implementation of the old @atomicModifyMutVar#@ primop in -- terms of the new 'atomicModifyMutVar2#' primop, for backwards
GHC/Float.hs view
@@ -355,32 +355,66 @@ minEx = FLT_MIN_EXP mantDigs = FLT_MANT_DIG +-- | @since 2.01+instance RealFrac Float where++ properFraction = properFractionFloat+ truncate = truncateFloat+ round = roundFloat+ floor = floorFloat+ ceiling = ceilingFloat+ -- RULES for Integer and Int+-- Note [Rules for overloaded class methods] {-# RULES-"properFraction/Float->Integer" properFraction = properFractionFloatInteger-"truncate/Float->Integer" truncate = truncateFloatInteger-"floor/Float->Integer" floor = floorFloatInteger-"ceiling/Float->Integer" ceiling = ceilingFloatInteger-"round/Float->Integer" round = roundFloatInteger-"properFraction/Float->Int" properFraction = properFractionFloatInt-"truncate/Float->Int" truncate = float2Int-"floor/Float->Int" floor = floorFloatInt-"ceiling/Float->Int" ceiling = ceilingFloatInt-"round/Float->Int" round = roundFloatInt+"properFraction/Float->Integer" properFractionFloat = properFractionFloatInteger+"truncate/Float->Integer" truncateFloat = truncateFloatInteger+"floor/Float->Integer" floorFloat = floorFloatInteger+"ceiling/Float->Integer" ceilingFloat = ceilingFloatInteger+"round/Float->Integer" roundFloat = roundFloatInteger+"properFraction/Float->Int" properFractionFloat = properFractionFloatInt+"truncate/Float->Int" truncateFloat = float2Int+"floor/Float->Int" floorFloat = floorFloatInt+"ceiling/Float->Int" ceilingFloat = ceilingFloatInt+"round/Float->Int" roundFloat = roundFloatInt #-}--- | @since 2.01-instance RealFrac Float where - -- ceiling, floor, and truncate are all small- {-# INLINE [1] ceiling #-}- {-# INLINE [1] floor #-}- {-# INLINE [1] truncate #-} +floorFloat :: Integral b => Float -> b+{-# INLINE [1] floorFloat #-}+floorFloat x = case properFractionFloat x of+ (n,r) -> if r < 0.0 then n - 1 else n++ceilingFloat :: Integral b => Float -> b+{-# INLINE [1] ceilingFloat #-}+ceilingFloat x = case properFraction x of+ (n,r) -> if r > 0.0 then n + 1 else n++truncateFloat :: Integral b => Float -> b+{-# INLINE [1] truncateFloat #-}+truncateFloat x = case properFractionFloat x of+ (n,_) -> n++roundFloat :: Integral b => Float -> b+{-# NOINLINE [1] roundFloat #-}+roundFloat x = case properFractionFloat x of+ (n,r) -> let+ m = if r < 0.0 then n - 1 else n + 1+ half_down = abs r - 0.5+ in+ case (compare half_down 0.0) of+ LT -> n+ EQ -> if even n then n else m+ GT -> m++properFractionFloat :: Integral b => Float -> (b,Float)+{-# NOINLINE [1] properFractionFloat #-}+ -- We assume that FLT_RADIX is 2 so that we can use more efficient code #if FLT_RADIX != 2 #error FLT_RADIX must be 2 #endif- properFraction (F# x#)+properFractionFloat (F# x#) = case decodeFloat_Int# x# of (# m#, n# #) -> let m = I# m#@@ -393,25 +427,8 @@ f = m - (i `shiftL` negate n) in (fromIntegral i, encodeFloat (fromIntegral f) n) - truncate x = case properFraction x of- (n,_) -> n - round x = case properFraction x of- (n,r) -> let- m = if r < 0.0 then n - 1 else n + 1- half_down = abs r - 0.5- in- case (compare half_down 0.0) of- LT -> n- EQ -> if even n then n else m- GT -> m - ceiling x = case properFraction x of- (n,r) -> if r > 0.0 then n + 1 else n-- floor x = case properFraction x of- (n,r) -> if r < 0.0 then n - 1 else n- -- | @since 2.01 instance Floating Float where pi = 3.141592653589793238@@ -600,56 +617,119 @@ | otherwise = a {-# INLINE log1pexp #-} +-- | @since 2.01+instance RealFrac Double where+ properFraction = properFractionDouble+ truncate = truncateDouble+ round = roundDouble+ ceiling = ceilingDouble+ floor = floorDouble+ -- RULES for Integer and Int+-- Note [Rules for overloaded class methods] {-# RULES-"properFraction/Double->Integer" properFraction = properFractionDoubleInteger-"truncate/Double->Integer" truncate = truncateDoubleInteger-"floor/Double->Integer" floor = floorDoubleInteger-"ceiling/Double->Integer" ceiling = ceilingDoubleInteger-"round/Double->Integer" round = roundDoubleInteger-"properFraction/Double->Int" properFraction = properFractionDoubleInt-"truncate/Double->Int" truncate = double2Int-"floor/Double->Int" floor = floorDoubleInt-"ceiling/Double->Int" ceiling = ceilingDoubleInt-"round/Double->Int" round = roundDoubleInt+"properFraction/Double->Integer" properFractionDouble = properFractionDoubleInteger+"truncate/Double->Integer" truncateDouble = truncateDoubleInteger+"floor/Double->Integer" floorDouble = floorDoubleInteger+"ceiling/Double->Integer" ceilingDouble = ceilingDoubleInteger+"round/Double->Integer" roundDouble = roundDoubleInteger+"properFraction/Double->Int" properFractionDouble = properFractionDoubleInt+"truncate/Double->Int" truncateDouble = double2Int+"floor/Double->Int" floorDouble = floorDoubleInt+"ceiling/Double->Int" ceilingDouble = ceilingDoubleInt+"round/Double->Int" roundDouble = roundDoubleInt #-}--- | @since 2.01-instance RealFrac Double where - -- ceiling, floor, and truncate are all small- {-# INLINE [1] ceiling #-}- {-# INLINE [1] floor #-}- {-# INLINE [1] truncate #-}+floorDouble :: Integral b => Double -> b+{-# INLINE [1] floorDouble #-}+floorDouble x = case properFractionDouble x of+ (n,r) -> if r < 0.0 then n - 1 else n - properFraction x- = case (decodeFloat x) of { (m,n) ->- if n >= 0 then- (fromInteger m * 2 ^ n, 0.0)- else- case (quotRem m (2^(negate n))) of { (w,r) ->- (fromInteger w, encodeFloat r n)- }- }+ceilingDouble :: Integral b => Double -> b+{-# INLINE [1] ceilingDouble #-}+ceilingDouble x = case properFractionDouble x of+ (n,r) -> if r > 0.0 then n + 1 else n - truncate x = case properFraction x of+truncateDouble :: Integral b => Double -> b+{-# INLINE [1] truncateDouble #-}+truncateDouble x = case properFractionDouble x of (n,_) -> n - round x = case properFraction x of- (n,r) -> let- m = if r < 0.0 then n - 1 else n + 1- half_down = abs r - 0.5- in- case (compare half_down 0.0) of- LT -> n- EQ -> if even n then n else m- GT -> m+roundDouble :: Integral b => Double -> b+{-# NOINLINE [1] roundDouble #-}+roundDouble x+ = case properFractionDouble x of+ (n,r) -> let+ m = if r < 0.0 then n - 1 else n + 1+ half_down = abs r - 0.5+ in+ case (compare half_down 0.0) of+ LT -> n+ EQ -> if even n then n else m+ GT -> m - ceiling x = case properFraction x of- (n,r) -> if r > 0.0 then n + 1 else n+properFractionDouble :: Integral b => Double -> (b,Double)+{-# NOINLINE [1] properFractionDouble #-}+properFractionDouble x+ = case (decodeFloat x) of { (m,n) ->+ if n >= 0 then+ (fromInteger m * 2 ^ n, 0.0)+ else+ case (quotRem m (2^(negate n))) of { (w,r) ->+ (fromInteger w, encodeFloat r n)+ }+ } - floor x = case properFraction x of- (n,r) -> if r < 0.0 then n - 1 else n+{- Note [Rules for overloaded class methods]+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+Consider a method like+ class ... => RealFrac a where+ floor :: Integral b => a -> b +So floor :: forall a. RealFrac a => forall b. Integral b => a -> b++Now suppose we want to hand-write specialised code for+(floor @Double d1 @Int d2). We used to do this:+ RULE "floor/Double->Int" floor = floorDoubleInt+where GHC.Float.RealFracMethods defines+ floorDoubleInt :: Double -> Int++This RULE in full is+ RULE "floor/Double->Int" forall d1 d2.+ floor @Double d1 @Int d2 = floorDoubleInt++But it's best not to write one rule for this entire step. I found cases+(in nofib/real/gamteb/Utils.hs, function fiRem) where we floated+out the (floor @Double d1) part, so the above two-argument rule didn't fire.+Instead the class-op rule fired. Boo! See #19582.++Best to define an instance+ instance RealFrac Double where+ floor = floorDouble++ floorDouble :: Integral b => Double -> b+ floorDouble = <code for floorDouble>+ {-# RULE "floorDouble/Int" floorDouble @Int d = floorDoubleInt #-}++Now we rewrite as follows+ floor @Double d1 @Int d2+ --> { ClassOp rule for floor }+ floorDouble @Int d2+ --> { Hand-written RULE "floorDouble/Int" }+ floorDoubleInt++More robust! This pattern applies for any class method that+has local overloading, in particular:+ * properFraction+ * truncate+ * floor+ * ceiling+ * round++All of this is really stated, in more general form, in the GHC+user manual section "How rules interact with class methods".+-}+ -- | @since 2.01 instance RealFloat Double where floatRadix _ = FLT_RADIX -- from float.h@@ -1045,7 +1125,8 @@ "fromRat/Double" fromRat = (fromRational :: Rational -> Double) #-} -{-# NOINLINE [1] fromRat #-}+{-# NOINLINE [2] fromRat #-}+-- See Note [Allow time for type-specialisation rules to fire] in GHC.Real fromRat :: (RealFloat a) => Rational -> a -- Deal with special cases first, delegating the real work to fromRat'@@ -1213,7 +1294,7 @@ then 2# else 1# -roundingMode# (IN bn) t = roundingMode# (IP bn) t -- dummy+roundingMode# (IN _) _ = errorWithoutStackTrace "roundingMode#: IN" -- See the Assumption roundingMode# (IP bn) t = let j = word2Int# (int2Word# t `and#` MMASK##) -- index of relevant bit in word@@ -1421,6 +1502,15 @@ We must have a large enough range to cover the maximum difference of exponents returned by decodeFloat. -}++-- | Used to prevent exponent over/underflow when encoding floating point numbers.+-- This is also the same as+--+-- > \(x,y) -> max (-x) (min x y)+--+-- ==== __Example__+-- >>> clamp (-10) 5+-- 10 clamp :: Int -> Int -> Int clamp bd k = max (-bd) (min bd k) @@ -1441,8 +1531,8 @@ that performs an integer/word operation on a floating-point register, which results in a compile error. -The correct way of implementing `reinterpret_cast` to implement a primpop, but-that requires a unique implementation for all supported archetectures. The next+The correct way of implementing `reinterpret_cast` to implement a primop, but+that requires a unique implementation for all supported architectures. The next best solution is to write the value from the source register to memory and then read it from memory into the destination register and the best way to do that is using CMM.@@ -1485,11 +1575,7 @@ castWord64ToDouble (W64# w) = D# (stgWord64ToDouble w) foreign import prim "stg_word64ToDoublezh"-#if WORD_SIZE_IN_BITS == 64- stgWord64ToDouble :: Word# -> Double#-#else stgWord64ToDouble :: Word64# -> Double#-#endif -- | @'castFloatToWord64' f@ does a bit-for-bit copy from a floating-point value@@ -1502,8 +1588,28 @@ castDoubleToWord64 (D# d#) = W64# (stgDoubleToWord64 d#) foreign import prim "stg_doubleToWord64zh"-#if WORD_SIZE_IN_BITS == 64- stgDoubleToWord64 :: Double# -> Word#-#else stgDoubleToWord64 :: Double# -> Word64#-#endif++++-- See Note [Optimising conversions between numeric types]+-- in GHC.Num.Integer+{-# RULES++"Int# -> Integer -> Float#"+ forall x. integerToFloat# (IS x) = int2Float# x++"Int# -> Integer -> Double#"+ forall x. integerToDouble# (IS x) = int2Double# x++"Word# -> Integer -> Float#"+ forall x. integerToFloat# (integerFromWord# x) = word2Float# x++"Word# -> Integer -> Double#"+ forall x. integerToDouble# (integerFromWord# x) = word2Double# x++"Word# -> Natural -> Float#"+ forall x. naturalToFloat# (NS x) = word2Float# x++"Word# -> Natural -> Double#"+ forall x. naturalToDouble# (NS x) = word2Double# x #-}
GHC/Float/RealFracMethods.hs view
@@ -56,10 +56,12 @@ import GHC.Num.Integer -import GHC.Base+import GHC.Base hiding (uncheckedIShiftRA64#, uncheckedIShiftL64#) import GHC.Num () #if WORD_SIZE_IN_BITS < 64++import GHC.Base (uncheckedIShiftRA64#, uncheckedIShiftL64#) #define TO64 integerToInt64# #define FROM64 integerFromInt64#
GHC/Foreign.hs view
@@ -295,7 +295,6 @@ {- Note [Check *before* fill in withEncodedCString] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~- It's very important that the size check and readjustment peformed by tryFillBuffer happens before the continuation is called. The size check is the part which can fail, the call to the continuation never fails and so the caller should respond
GHC/ForeignPtr.hs view
@@ -165,7 +165,7 @@ -- The invariants that apply to 'MallocPtr' apply to 'PlainPtr' as well. -- Note [Why FinalPtr]---+-- ~~~~~~~~~~~~~~~~~~~ -- FinalPtr exists as an optimization for foreign pointers created -- from Addr# literals. Most commonly, this happens in the bytestring -- library, where the combination of OverloadedStrings and a rewrite@@ -376,7 +376,9 @@ MallocPtr _ r -> insertCFinalizer r fp 0# nullAddr# p c _ -> errorWithoutStackTrace "GHC.ForeignPtr: attempt to add a finalizer to a plain pointer or a final pointer" --- Note [MallocPtr finalizers] (#10904)+-- Note [MallocPtr finalizers]+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~+-- Ticket: #10904 -- -- When we have C finalizers for a MallocPtr, the memory is -- heap-resident and would normally be recovered by the GC before the
GHC/Generics.hs view
@@ -1,3 +1,5 @@+{-# OPTIONS_GHC -Wno-noncanonical-monoid-instances #-}+ {-# LANGUAGE CPP #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveFunctor #-}@@ -7,12 +9,15 @@ {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE InstanceSigs #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE PolyKinds #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE StandaloneKindSignatures #-} {-# LANGUAGE Trustworthy #-}+{-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeOperators #-} {-# LANGUAGE UndecidableInstances #-}@@ -720,17 +725,21 @@ , Meta(..) -- * Generic type classes- , Generic(..), Generic1(..)+ , Generic(..)+ , Generic1(..) + -- * Generic wrapper+ , Generically(..)+ , Generically1(..) ) where -- We use some base types-import Data.Either ( Either (..) )-import Data.Maybe ( Maybe(..), fromMaybe )-import Data.Ord ( Down(..) )+import Data.Either ( Either (..) )+import Data.Maybe ( Maybe(..), fromMaybe )+import Data.Ord ( Down(..) ) import GHC.Num.Integer ( Integer, integerToInt )-import GHC.Prim ( Addr#, Char#, Double#, Float#, Int#, Word# )-import GHC.Ptr ( Ptr )+import GHC.Prim ( Addr#, Char#, Double#, Float#, Int#, Word# )+import GHC.Ptr ( Ptr ) import GHC.Types -- Needed for instances@@ -1364,6 +1373,147 @@ from1 :: f a -> (Rep1 f) a -- | Convert from the representation to the datatype to1 :: (Rep1 f) a -> f a++--------------------------------------------------------------------------------+-- 'Generic' wrapper+--------------------------------------------------------------------------------++-- | A datatype whose instances are defined generically, using the+-- 'Generic' representation. 'Generically1' is a higher-kinded version+-- of 'Generically' that uses 'Generic1'.+--+-- Generic instances can be derived via @'Generically' A@ using+-- @-XDerivingVia@.+--+-- @+-- {-# LANGUAGE DeriveGeneric #-}+-- {-# LANGUAGE DerivingStrategies #-}+-- {-# LANGUAGE DerivingVia #-}+--+-- import GHC.Generics (Generic)+--+-- data V4 a = V4 a a a a+-- deriving stock Generic+--+-- deriving (Semigroup, Monoid)+-- via Generically (V4 a)+-- @+--+-- This corresponds to 'Semigroup' and 'Monoid' instances defined by+-- pointwise lifting:+--+-- @+-- instance Semigroup a => Semigroup (V4 a) where+-- (<>) :: V4 a -> V4 a -> V4 a+-- V4 a1 b1 c1 d1 <> V4 a2 b2 c2 d2 =+-- V4 (a1 <> a2) (b1 <> b2) (c1 <> c2) (d1 <> d2)+--+-- instance Monoid a => Monoid (V4 a) where+-- mempty :: V4 a+-- mempty = V4 mempty mempty mempty mempty+-- @+--+-- Historically this required modifying the type class to include+-- generic method definitions (@-XDefaultSignatures@) and deriving it+-- with the @anyclass@ strategy (@-XDeriveAnyClass@). Having a /via+-- type/ like 'Generically' decouples the instance from the type+-- class.+--+-- @since 4.17.0.0+newtype Generically a = Generically a++-- | @since 4.17.0.0+instance (Generic a, Semigroup (Rep a ())) => Semigroup (Generically a) where+ (<>) :: Generically a -> Generically a -> Generically a+ Generically a <> Generically b = Generically (to (from a <> from b :: Rep a ()))++-- | @since 4.17.0.0+instance (Generic a, Monoid (Rep a ())) => Monoid (Generically a) where+ mempty :: Generically a+ mempty = Generically (to (mempty :: Rep a ()))++ mappend :: Generically a -> Generically a -> Generically a+ mappend = (<>)++-- | A type whose instances are defined generically, using the+-- 'Generic1' representation. 'Generically1' is a higher-kinded+-- version of 'Generically' that uses 'Generic'.+--+-- Generic instances can be derived for type constructors via+-- @'Generically1' F@ using @-XDerivingVia@.+--+-- @+-- {-# LANGUAGE DeriveGeneric #-}+-- {-# LANGUAGE DerivingStrategies #-}+-- {-# LANGUAGE DerivingVia #-}+--+-- import GHC.Generics (Generic)+--+-- data V4 a = V4 a a a a+-- deriving stock (Functor, Generic1)+--+-- deriving Applicative+-- via Generically1 V4+-- @+--+-- This corresponds to 'Applicative' instances defined by pointwise+-- lifting:+--+-- @+-- instance Applicative V4 where+-- pure :: a -> V4 a+-- pure a = V4 a a a a+--+-- liftA2 :: (a -> b -> c) -> (V4 a -> V4 b -> V4 c)+-- liftA2 (·) (V4 a1 b1 c1 d1) (V4 a2 b2 c2 d2) =+-- V4 (a1 · a2) (b1 · b2) (c1 · c2) (d1 · d2)+-- @+--+-- Historically this required modifying the type class to include+-- generic method definitions (@-XDefaultSignatures@) and deriving it+-- with the @anyclass@ strategy (@-XDeriveAnyClass@). Having a /via+-- type/ like 'Generically1' decouples the instance from the type+-- class.+--+-- @since 4.17.0.0+type Generically1 :: forall k. (k -> Type) -> (k -> Type)+newtype Generically1 f a where+ Generically1 :: forall {k} f a. f a -> Generically1 @k f a++-- | @since 4.17.0.0+instance (Generic1 f, Functor (Rep1 f)) => Functor (Generically1 f) where+ fmap :: (a -> a') -> (Generically1 f a -> Generically1 f a')+ fmap f (Generically1 as) = Generically1+ (to1 (fmap f (from1 as)))++ (<$) :: a -> Generically1 f b -> Generically1 f a+ a <$ Generically1 as = Generically1+ (to1 (a <$ from1 as))++-- | @since 4.17.0.0+instance (Generic1 f, Applicative (Rep1 f)) => Applicative (Generically1 f) where+ pure :: a -> Generically1 f a+ pure a = Generically1+ (to1 (pure a))++ (<*>) :: Generically1 f (a1 -> a2) -> Generically1 f a1 -> Generically1 f a2+ Generically1 fs <*> Generically1 as = Generically1+ (to1 (from1 fs <*> from1 as))++ liftA2 :: (a1 -> a2 -> a3)+ -> (Generically1 f a1 -> Generically1 f a2 -> Generically1 f a3)+ liftA2 (·) (Generically1 as) (Generically1 bs) = Generically1+ (to1 (liftA2 (·) (from1 as) (from1 bs)))++-- | @since 4.17.0.0+instance (Generic1 f, Alternative (Rep1 f)) => Alternative (Generically1 f) where+ empty :: Generically1 f a+ empty = Generically1+ (to1 empty)++ (<|>) :: Generically1 f a -> Generically1 f a -> Generically1 f a+ Generically1 as1 <|> Generically1 as2 = Generically1+ (to1 (from1 as1 <|> from1 as2)) -------------------------------------------------------------------------------- -- Meta-data
GHC/IO.hs view
@@ -207,16 +207,34 @@ -- Although 'throwIO' has a type that is an instance of the type of 'throw', the -- two functions are subtly different: ----- > throw e `seq` x ===> throw e--- > throwIO e `seq` x ===> x+-- > throw e `seq` () ===> throw e+-- > throwIO e `seq` () ===> () -- -- The first example will cause the exception @e@ to be raised, -- whereas the second one won\'t. In fact, 'throwIO' will only cause -- an exception to be raised when it is used within the 'IO' monad.+-- -- The 'throwIO' variant should be used in preference to 'throw' to -- raise an exception within the 'IO' monad because it guarantees--- ordering with respect to other 'IO' operations, whereas 'throw'--- does not.+-- ordering with respect to other operations, whereas 'throw'+-- does not. We say that 'throwIO' throws *precise* exceptions and+-- 'throw', 'error', etc. all throw *imprecise* exceptions.+-- For example+--+-- > throw e + error "boom" ===> error "boom"+-- > throw e + error "boom" ===> throw e+--+-- are both valid reductions and the compiler may pick any (loop, even), whereas+--+-- > throwIO e >> error "boom" ===> throwIO e+--+-- will always throw @e@ when executed.+--+-- See also the+-- [GHC wiki page on precise exceptions](https://gitlab.haskell.org/ghc/ghc/-/wikis/exceptions/precise-exceptions)+-- for a more technical introduction to how GHC optimises around precise vs.+-- imprecise exceptions.+-- throwIO :: Exception e => e -> IO a throwIO e = IO (raiseIO# (toException e))
GHC/IO/Encoding.hs view
@@ -109,8 +109,10 @@ getLocaleEncoding :: IO TextEncoding {-# NOINLINE getLocaleEncoding #-} --- | The Unicode encoding of the current locale, but allowing arbitrary+-- | The encoding of the current locale, but allowing arbitrary -- undecodable bytes to be round-tripped through it.+--+-- Do not expect the encoding to be Unicode-compatible: it could appear to be ASCII or anything else. -- -- This 'TextEncoding' is used to decode and encode command line arguments -- and environment variables on non-Windows platforms.
GHC/IO/Encoding/Failure.hs view
@@ -58,7 +58,6 @@ -- Note [Roundtripping] -- ~~~~~~~~~~~~~~~~~~~~--- -- Roundtripping is based on the ideas of PEP383. -- -- We used to use the range of private-use characters from 0xEF80 to@@ -149,7 +148,9 @@ output@Buffer{ bufRaw=oraw, bufL=_, bufR=ow } = --puts $ "recoverDecode " ++ show ir case cfm of- ErrorOnCodingFailure -> ioe_decodingError+ ErrorOnCodingFailure -> do+ b <- readWord8Buf iraw ir+ ioe_decodingError b IgnoreCodingFailure -> return (input { bufL=ir+1 }, output) TransliterateCodingFailure -> do ow' <- writeCharBuf oraw ow unrepresentableChar@@ -190,15 +191,17 @@ RoundtripFailure | Just x <- unescapeRoundtripCharacterSurrogate c -> do writeWord8Buf oraw ow x return (input { bufL=ir' }, output { bufR=ow+1 })- _ -> ioe_encodingError+ _ -> ioe_encodingError c -ioe_decodingError :: IO a-ioe_decodingError = ioException+ioe_decodingError :: Word8 -> IO a+ioe_decodingError b = ioException (IOError Nothing InvalidArgument "recoverDecode"- "invalid byte sequence" Nothing Nothing)+ ("cannot decode byte sequence starting from " ++ show b) Nothing Nothing) -ioe_encodingError :: IO a-ioe_encodingError = ioException+ioe_encodingError :: Char -> IO a+ioe_encodingError ch = ioException (IOError Nothing InvalidArgument "recoverEncode"- "invalid character" Nothing Nothing)+ -- This assumes that @show ch@ escapes non-ASCII symbols+ -- and thus does not cause recursive encoding failures.+ ("cannot encode character " ++ show ch) Nothing Nothing)
GHC/IO/FD.hs view
@@ -167,46 +167,6 @@ -- ----------------------------------------------------------------------------- -- opening files --- | A wrapper for 'System.Posix.Internals.c_interruptible_open' that takes--- two actions, @act1@ and @act2@, to perform after opening the file.------ @act1@ is passed a file descriptor for the newly opened file. If--- an exception occurs in @act1@, then the file will be closed.--- @act1@ /must not/ close the file itself. If it does so and then--- receives an exception, then the exception handler will attempt to--- close it again, which is impermissable.------ @act2@ is performed with asynchronous exceptions masked. It is passed a--- function to restore the masking state and the result of @act1@.--- It /must not/ throw an exception (or deliver one via an interruptible--- operation) without first closing the file or arranging for it to be--- closed. @act2@ /may/ close the file, but is not required to do so.--- If @act2@ leaves the file open, then the file will remain open on--- return from `c_interruptible_open_with`.------ Code calling `c_interruptible_open_with` that wishes to install a finalizer--- to close the file should do so in @act2@. Doing so in @act1@ could--- potentially close the file in the finalizer first and then in the--- exception handler.--c_interruptible_open_with- :: System.Posix.Internals.CFilePath -- ^ The file to open- -> CInt -- ^ The flags to pass to open- -> CMode -- ^ The permission mode to use for file creation- -> (CInt -> IO r) -- ^ @act1@: An action to perform on the file descriptor- -- with the masking state restored and an exception- -- handler that closes the file on exception.- -> ((forall x. IO x -> IO x) -> r -> IO s)- -- ^ @act2@: An action to perform with async exceptions- -- masked and no exception handler.- -> IO s-c_interruptible_open_with path oflags mode act1 act2 =- mask $ \restore -> do- fd <- throwErrnoIfMinus1Retry "openFile" $- c_interruptible_open path oflags mode- r <- restore (act1 fd) `onException` c_close fd- act2 restore r- -- | Open a file and make an 'FD' for it. Truncates the file to zero size when -- the `IOMode` is `WriteMode`. --@@ -265,24 +225,33 @@ oflags | non_blocking = oflags2 .|. nonblock_flags | otherwise = oflags2 in do- -- We want to be sure all the arguments to c_interruptible_open_with+ -- We want to be sure all the arguments to c_interruptible_open -- are fully evaluated *before* it slips under a mask (assuming we're -- not already under a user-imposed mask). oflags' <- evaluate oflags -- NB. always use a safe open(), because we don't know whether open() -- will be fast or not. It can be slow on NFS and FUSE filesystems, -- for example.- c_interruptible_open_with f oflags' 0o666 ( \ fileno -> do++ mask $ \restore -> do+ fileno <- throwErrnoIfMinus1Retry "openFile" $+ c_interruptible_open f oflags' 0o666+ (fD,fd_type) <- mkFD fileno iomode Nothing{-no stat-} False{-not a socket-}- non_blocking+ non_blocking `onException` c_close fileno+ -- we want to truncate() if this is an open in WriteMode, but only -- if the target is a RegularFile. ftruncate() fails on special files -- like /dev/null.+ when (iomode == WriteMode && fd_type == RegularFile) $- setSize fD 0- act1 fD fd_type ) act2+ setSize fD 0 `onException` close fD + carry <- restore (act1 fD fd_type) `onException` close fD++ act2 restore carry+ -- | Open a file and make an 'FD' for it. Truncates the file to zero -- size when the `IOMode` is `WriteMode`. This function is difficult -- to use without potentially leaking the file descriptor on exception.@@ -568,8 +537,8 @@ #if !defined(mingw32_HOST_OS) {--NOTE [nonblock]:-+Note [nonblock]+~~~~~~~~~~~~~~~ Unix has broken semantics when it comes to non-blocking I/O: you can set the O_NONBLOCK flag on an FD, but it applies to the all other FDs attached to the same underlying file, pipe or TTY; there's no way to
GHC/IO/Handle.hs view
@@ -563,7 +563,14 @@ _ -> IODevice.getEcho haDevice -- | Is the handle connected to a terminal?-+--+-- On Windows the result of 'hIsTerminalDevide' might be misleading,+-- because non-native terminals, such as MinTTY used in MSYS and Cygwin environments,+-- are implemented via redirection.+-- Use @System.Win32.Types.withHandleToHANDLE System.Win32.MinTTY.isMinTTYHandle@+-- to recognise it. Also consider @ansi-terminal@ package for crossplatform terminal+-- support.+-- hIsTerminalDevice :: Handle -> IO Bool hIsTerminalDevice handle = withHandle_ "hIsTerminalDevice" handle $ \ Handle__{..} -> do
GHC/IO/Handle/Internals.hs view
@@ -188,7 +188,7 @@ throwIO e -- Note [async]---+-- ~~~~~~~~~~~~ -- If an asynchronous exception is raised during an I/O operation, -- normally it is fine to just re-throw the exception synchronously. -- However, if we are inside an unsafePerformIO or an@@ -644,7 +644,6 @@ {- Note [Making offsets for append] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~- The WINIO subysstem keeps track of offsets for handles on the Haskell side of things instead of letting the OS handle it. This requires us to establish the correct offset
GHC/IO/Handle/Text.hs view
@@ -5,6 +5,7 @@ , BangPatterns , NondecreasingIndentation , MagicHash+ , LambdaCase #-} {-# OPTIONS_GHC -Wno-unused-matches #-} {-# OPTIONS_HADDOCK not-home #-}@@ -319,7 +320,7 @@ return (str, w) -- Note [#5536]---+-- ~~~~~~~~~~~~ -- We originally had -- -- let c' = desurrogatifyRoundtripCharacter c in@@ -550,8 +551,7 @@ -- * 'isPermissionError' if another system resource limit would be exceeded. hPutChar :: Handle -> Char -> IO ()-hPutChar handle c = do- c `seq` return ()+hPutChar handle !c = wantWritableHandle "hPutChar" handle $ \ handle_ -> hPutcBuffered handle_ c @@ -616,13 +616,15 @@ -- | The same as 'hPutStr', but adds a newline character. hPutStrLn :: Handle -> String -> IO () hPutStrLn handle str = hPutStr' handle str True- -- An optimisation: we treat hPutStrLn specially, to avoid the- -- overhead of a single putChar '\n', which is quite high now that we- -- have to encode eagerly. {-# NOINLINE hPutStr' #-} hPutStr' :: Handle -> String -> Bool -> IO () hPutStr' handle str add_nl =+ -- An optimisation: hPutStr' takes an additional "add_nl" boolean parameter to+ -- implement hPutStrLn efficiently. When LineBuffering or BlockBuffering modes+ -- are enabled, it performs the encoding of the string and of the new-line+ -- character(s) in the same loop, directly flushing buffers appropriately at+ -- the end if LineBuffering mode is used. do (buffer_mode, nl) <- wantWritableHandle "hPutStr" handle $ \h_ -> do@@ -662,37 +664,42 @@ -- NB. performance-critical code: eyeball the Core. writeBlocks :: Handle -> Bool -> Bool -> Newline -> Buffer CharBufElem -> String -> IO () writeBlocks hdl line_buffered add_nl nl- buf@Buffer{ bufRaw=raw, bufSize=len } s =- let- shoveString :: Int -> [Char] -> [Char] -> IO ()- shoveString !n [] [] =- commitBuffer hdl raw len n False{-no flush-} True{-release-}- shoveString !n [] rest =- shoveString n rest []- shoveString !n (c:cs) rest- -- n+1 so we have enough room to write '\r\n' if necessary- | n + 1 >= len = do- commitBuffer hdl raw len n False{-flush-} False- shoveString 0 (c:cs) rest- | c == '\n' = do- n' <- if nl == CRLF- then do- n1 <- writeCharBuf raw n '\r'- writeCharBuf raw n1 '\n'- else- writeCharBuf raw n c- if line_buffered+ buf@Buffer{ bufRaw=raw, bufSize=len } s = shoveString 0 s+ where+ {-# INLINE new_line #-} -- we don't want to allocate a closure for it+ new_line !n = do+ n1 <- case nl of+ CRLF -> writeCharBuf raw n '\r'+ _ -> pure n+ n2 <- writeCharBuf raw n1 '\n'+ if line_buffered then do -- end of line, so write and flush- commitBuffer hdl raw len n' True{-flush-} False- shoveString 0 cs rest+ commitBuffer hdl raw len n2 True{-flush-} False+ pure 0 else- shoveString n' cs rest- | otherwise = do+ pure n2++ shoveString !n = \case+ [] -> if add_nl+ then do+ n' <- new_line n+ commitBuffer hdl raw len n' False{-no flush-} True{-release-}+ else+ commitBuffer hdl raw len n False{-no flush-} True{-release-}++ -- n+1 so we have enough room to write '\r\n' if necessary+ cs | n + 1 >= len -> do+ commitBuffer hdl raw len n False{-flush-} False+ shoveString 0 cs++ ('\n':cs) -> do+ n' <- new_line n+ shoveString n' cs++ (c:cs) -> do n' <- writeCharBuf raw n c- shoveString n' cs rest- in- shoveString 0 s (if add_nl then "\n" else "")+ shoveString n' cs -- ----------------------------------------------------------------------------- -- commitBuffer handle buf sz count flush release
GHC/IO/Unsafe.hs view
@@ -27,8 +27,9 @@ import GHC.Base -{- Note [unsafePerformIO and strictness]-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+{-+Note [unsafePerformIO and strictness]+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Consider this sub-expression (from tests/lib/should_run/memo002) unsafePerformIO (do { lockMemoTable@@ -117,6 +118,10 @@ once you use 'unsafePerformIO'. Indeed, it is possible to write @coerce :: a -> b@ with the help of 'unsafePerformIO'. So be careful!++WARNING: If you're looking for "a way to get a 'String' from an 'IO String'",+then 'unsafePerformIO' is not the way to go. Learn about do-notation and the+@<-@ syntax element before you proceed. -} unsafePerformIO :: IO a -> a unsafePerformIO m = unsafeDupablePerformIO (noDuplicate >> m)
GHC/IO/Windows/Handle.hsc view
@@ -529,6 +529,7 @@ | otherwise = Mgr.ioFailed err -- Note [ReadFile/WriteFile]+-- ~~~~~~~~~~~~~~~~~~~~~~~~~ -- The results of these functions are somewhat different when working in an -- asynchronous manner. The returning bool has two meaning. --@@ -575,23 +576,24 @@ consoleRead :: Bool -> Io ConsoleHandle -> Ptr Word8 -> Word64 -> Int -> IO Int consoleRead blocking hwnd ptr _offset bytes- = alloca $ \res -> do- cooked <- isCooked hwnd- -- Cooked input must be handled differently when the STD handles are- -- attached to a real console handle. For File based handles we can't do- -- proper cooked inputs, but since the actions are async you would get- -- results as soon as available.- --- -- For console handles We have to use a lower level API then ReadConsole,- -- namely we must use ReadConsoleInput which requires us to process- -- all console message manually.- --- -- Do note that MSYS2 shells such as bash don't attach to a real handle,- -- and instead have by default a pipe/file based std handles. Which- -- means the cooked behaviour is best when used in a native Windows- -- terminal such as cmd, powershell or ConEmu.- case cooked || not blocking of- False -> withUTF16ToGhcInternal ptr bytes $ \reqBytes w_ptr -> do+ = withUTF16ToGhcInternal ptr bytes $ \reqBytes w_ptr ->+ alloca $ \res -> do+ cooked <- isCooked hwnd+ -- Cooked input must be handled differently when the STD handles are+ -- attached to a real console handle. For File based handles we can't do+ -- proper cooked inputs, but since the actions are async you would get+ -- results as soon as available.+ --+ -- For console handles We have to use a lower level API then ReadConsole,+ -- namely we must use ReadConsoleInput which requires us to process+ -- all console message manually.+ --+ -- Do note that MSYS2 shells such as bash don't attach to a real handle,+ -- and instead have by default a pipe/file based std handles. Which+ -- means the cooked behaviour is best when used in a native Windows+ -- terminal such as cmd, powershell or ConEmu.+ case cooked || not blocking of+ False -> do debugIO "consoleRead :: un-cooked I/O read." -- eotControl allows us to handle control characters like EOL -- without needing a newline, which would sort of defeat the point@@ -626,9 +628,9 @@ -- characters as they are. Technically this function can handle any -- console event. Including mouse, window and virtual key events -- but for now I'm only interested in key presses.- let entries = fromIntegral $ bytes `div` (#size INPUT_RECORD)+ let entries = fromIntegral $ reqBytes `div` (#size INPUT_RECORD) allocaBytes entries $ \p_inputs ->- maybeReadEvent p_inputs entries res ptr+ maybeReadEvent p_inputs entries res w_ptr -- Check to see if we have been explicitly asked to do a non-blocking -- I/O, and if we were, make sure that if we didn't have any console@@ -655,7 +657,6 @@ b_read <- fromIntegral <$> peek res read <- cobble b_read w_ptr p_inputs- debugIO $ "readEvent: =" ++ show read if read > 0 then return $ fromIntegral read else maybeReadEvent p_inputs entries res w_ptr@@ -664,7 +665,7 @@ -- minimum required to know which key/sequences were pressed. To do -- this and prevent having to fully port the PINPUT_RECORD structure -- in Haskell we use some GCC builtins to find the correct offsets.- cobble :: Int -> Ptr Word8 -> PINPUT_RECORD -> IO Int+ cobble :: Int -> Ptr Word16 -> PINPUT_RECORD -> IO Int cobble 0 _ _ = do debugIO "cobble: done." return 0 cobble n w_ptr p_inputs =@@ -689,18 +690,8 @@ debugIO $ "cobble: offset - " ++ show char_offset debugIO $ "cobble: show > " ++ show char debugIO $ "cobble: repeat: " ++ show repeated- -- The documentation here is rather subtle, but- -- according to MSDN the uWChar being provided here- -- has been "translated". What this actually means- -- is that the surrogate pairs have already been- -- translated into byte sequences. That is, despite- -- the Word16 storage type, it's actually a byte- -- stream. This means we shouldn't try to decode- -- to UTF-8 again since we'd end up incorrectly- -- interpreting two bytes as an extended unicode- -- character. pokeArray w_ptr $ replicate repeated char- (+repeated) <$> cobble n' w_ptr' p_inputs'+ (+1) <$> cobble n' w_ptr' p_inputs' else do debugIO $ "cobble: skip event." cobble n' w_ptr p_inputs'
GHC/IORef.hs view
@@ -127,7 +127,6 @@ -- Note [atomicModifyIORef' definition] -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--- -- atomicModifyIORef' was historically defined -- -- atomicModifyIORef' ref f = do
GHC/Int.hs view
@@ -27,6 +27,8 @@ module GHC.Int ( Int(..), Int8(..), Int16(..), Int32(..), Int64(..), uncheckedIShiftL64#, uncheckedIShiftRA64#,+ shiftRLInt8#, shiftRLInt16#, shiftRLInt32#,+ -- * Equality operators -- | See GHC.Classes#matching_overloaded_methods_in_rules eqInt, neInt, gtInt, geInt, ltInt, leInt,@@ -34,16 +36,15 @@ eqInt16, neInt16, gtInt16, geInt16, ltInt16, leInt16, eqInt32, neInt32, gtInt32, geInt32, ltInt32, leInt32, eqInt64, neInt64, gtInt64, geInt64, ltInt64, leInt64+ ) where import Data.Bits import Data.Maybe -#if WORD_SIZE_IN_BITS < 64 import GHC.Prim-#endif- import GHC.Base+ import GHC.Enum import GHC.Num import GHC.Real@@ -96,10 +97,10 @@ -- | @since 2.01 instance Num Int8 where- (I8# x#) + (I8# y#) = I8# (intToInt8# ((int8ToInt# x#) +# (int8ToInt# y#)))- (I8# x#) - (I8# y#) = I8# (intToInt8# ((int8ToInt# x#) -# (int8ToInt# y#)))- (I8# x#) * (I8# y#) = I8# (intToInt8# ((int8ToInt# x#) *# (int8ToInt# y#)))- negate (I8# x#) = I8# (intToInt8# (negateInt# (int8ToInt# x#)))+ (I8# x#) + (I8# y#) = I8# (x# `plusInt8#` y#)+ (I8# x#) - (I8# y#) = I8# (x# `subInt8#` y#)+ (I8# x#) * (I8# y#) = I8# (x# `timesInt8#` y#)+ negate (I8# x#) = I8# (negateInt8# x#) abs x | x >= 0 = x | otherwise = negate x signum x | x > 0 = 1@@ -136,7 +137,7 @@ quot x@(I8# x#) y@(I8# y#) | y == 0 = divZeroError | y == (-1) && x == minBound = overflowError -- Note [Order of tests]- | otherwise = I8# (intToInt8# ((int8ToInt# x#) `quotInt#` (int8ToInt# y#)))+ | otherwise = I8# (x# `quotInt8#` y#) rem (I8# x#) y@(I8# y#) | y == 0 = divZeroError -- The quotRem CPU instruction might fail for 'minBound@@ -144,11 +145,11 @@ -- width of signed integer. But, 'minBound `rem` -1' is -- well-defined (0). We therefore special-case it. | y == (-1) = 0- | otherwise = I8# (intToInt8# ((int8ToInt# x#) `remInt#` (int8ToInt# y#)))+ | otherwise = I8# (x# `remInt8#` y#) div x@(I8# x#) y@(I8# y#) | y == 0 = divZeroError | y == (-1) && x == minBound = overflowError -- Note [Order of tests]- | otherwise = I8# (intToInt8# ((int8ToInt# x#) `divInt#` (int8ToInt# y#)))+ | otherwise = I8# (x# `divInt8#` y#) mod (I8# x#) y@(I8# y#) | y == 0 = divZeroError -- The divMod CPU instruction might fail for 'minBound@@ -156,23 +157,19 @@ -- width of signed integer. But, 'minBound `mod` -1' is -- well-defined (0). We therefore special-case it. | y == (-1) = 0- | otherwise = I8# (intToInt8# ((int8ToInt# x#) `modInt#` (int8ToInt# y#)))+ | otherwise = I8# (x# `modInt8#` y#) quotRem x@(I8# x#) y@(I8# y#) | y == 0 = divZeroError- -- Note [Order of tests]+ -- See Note [Order of tests] | y == (-1) && x == minBound = (overflowError, 0)- | otherwise = case (int8ToInt# x#) `quotRemInt#` (int8ToInt# y#) of- (# q, r #) ->- (I8# (intToInt8# q),- I8# (intToInt8# r))+ | otherwise = case x# `quotRemInt8#` y# of+ (# q, r #) -> (I8# q, I8# r) divMod x@(I8# x#) y@(I8# y#) | y == 0 = divZeroError- -- Note [Order of tests]+ -- See Note [Order of tests] | y == (-1) && x == minBound = (overflowError, 0)- | otherwise = case (int8ToInt# x#) `divModInt#` (int8ToInt# y#) of- (# d, m #) ->- (I8# (intToInt8# d),- I8# (intToInt8# m))+ | otherwise = case x# `divModInt8#` y# of+ (# d, m #) -> (I8# d, I8# m) toInteger (I8# x#) = IS (int8ToInt# x#) -- | @since 2.01@@ -225,8 +222,8 @@ bitSize i = finiteBitSize i isSigned _ = True popCount (I8# x#) = I# (word2Int# (popCnt8# (int2Word# (int8ToInt# x#))))- bit = bitDefault- testBit = testBitDefault+ bit i = bitDefault i+ testBit a i = testBitDefault a i -- | @since 4.6.0.0 instance FiniteBits Int8 where@@ -311,10 +308,10 @@ -- | @since 2.01 instance Num Int16 where- (I16# x#) + (I16# y#) = I16# (intToInt16# ((int16ToInt# x#) +# (int16ToInt# y#)))- (I16# x#) - (I16# y#) = I16# (intToInt16# ((int16ToInt# x#) -# (int16ToInt# y#)))- (I16# x#) * (I16# y#) = I16# (intToInt16# ((int16ToInt# x#) *# (int16ToInt# y#)))- negate (I16# x#) = I16# (intToInt16# (negateInt# (int16ToInt# x#)))+ (I16# x#) + (I16# y#) = I16# (x# `plusInt16#` y#)+ (I16# x#) - (I16# y#) = I16# (x# `subInt16#` y#)+ (I16# x#) * (I16# y#) = I16# (x# `timesInt16#` y#)+ negate (I16# x#) = I16# (negateInt16# x#) abs x | x >= 0 = x | otherwise = negate x signum x | x > 0 = 1@@ -351,7 +348,7 @@ quot x@(I16# x#) y@(I16# y#) | y == 0 = divZeroError | y == (-1) && x == minBound = overflowError -- Note [Order of tests]- | otherwise = I16# (intToInt16# ((int16ToInt# x#) `quotInt#` (int16ToInt# y#)))+ | otherwise = I16# (x# `quotInt16#` y#) rem (I16# x#) y@(I16# y#) | y == 0 = divZeroError -- The quotRem CPU instruction might fail for 'minBound@@ -359,11 +356,11 @@ -- width of signed integer. But, 'minBound `rem` -1' is -- well-defined (0). We therefore special-case it. | y == (-1) = 0- | otherwise = I16# (intToInt16# ((int16ToInt# x#) `remInt#` (int16ToInt# y#)))+ | otherwise = I16# (x# `remInt16#` y#) div x@(I16# x#) y@(I16# y#) | y == 0 = divZeroError | y == (-1) && x == minBound = overflowError -- Note [Order of tests]- | otherwise = I16# (intToInt16# ((int16ToInt# x#) `divInt#` (int16ToInt# y#)))+ | otherwise = I16# (x# `divInt16#` y#) mod (I16# x#) y@(I16# y#) | y == 0 = divZeroError -- The divMod CPU instruction might fail for 'minBound@@ -371,23 +368,19 @@ -- width of signed integer. But, 'minBound `mod` -1' is -- well-defined (0). We therefore special-case it. | y == (-1) = 0- | otherwise = I16# (intToInt16# ((int16ToInt# x#) `modInt#` (int16ToInt# y#)))+ | otherwise = I16# (x# `modInt16#` y#) quotRem x@(I16# x#) y@(I16# y#) | y == 0 = divZeroError- -- Note [Order of tests]+ -- See Note [Order of tests] | y == (-1) && x == minBound = (overflowError, 0)- | otherwise = case (int16ToInt# x#) `quotRemInt#` (int16ToInt# y#) of- (# q, r #) ->- (I16# (intToInt16# q),- I16# (intToInt16# r))+ | otherwise = case x# `quotRemInt16#` y# of+ (# q, r #) -> (I16# q, I16# r) divMod x@(I16# x#) y@(I16# y#) | y == 0 = divZeroError- -- Note [Order of tests]+ -- See Note [Order of tests] | y == (-1) && x == minBound = (overflowError, 0)- | otherwise = case (int16ToInt# x#) `divModInt#` (int16ToInt# y#) of- (# d, m #) ->- (I16# (intToInt16# d),- I16# (intToInt16# m))+ | otherwise = case x# `divModInt16#` y# of+ (# d, m #) -> (I16# d, I16# m) toInteger (I16# x#) = IS (int16ToInt# x#) -- | @since 2.01@@ -440,8 +433,8 @@ bitSize i = finiteBitSize i isSigned _ = True popCount (I16# x#) = I# (word2Int# (popCnt16# (int2Word# (int16ToInt# x#))))- bit = bitDefault- testBit = testBitDefault+ bit i = bitDefault i+ testBit a i = testBitDefault a i -- | @since 4.6.0.0 instance FiniteBits Int16 where@@ -523,10 +516,10 @@ -- | @since 2.01 instance Num Int32 where- (I32# x#) + (I32# y#) = I32# (intToInt32# ((int32ToInt# x#) +# (int32ToInt# y#)))- (I32# x#) - (I32# y#) = I32# (intToInt32# ((int32ToInt# x#) -# (int32ToInt# y#)))- (I32# x#) * (I32# y#) = I32# (intToInt32# ((int32ToInt# x#) *# (int32ToInt# y#)))- negate (I32# x#) = I32# (intToInt32# (negateInt# (int32ToInt# x#)))+ (I32# x#) + (I32# y#) = I32# (x# `plusInt32#` y#)+ (I32# x#) - (I32# y#) = I32# (x# `subInt32#` y#)+ (I32# x#) * (I32# y#) = I32# (x# `timesInt32#` y#)+ negate (I32# x#) = I32# (negateInt32# x#) abs x | x >= 0 = x | otherwise = negate x signum x | x > 0 = 1@@ -563,7 +556,7 @@ quot x@(I32# x#) y@(I32# y#) | y == 0 = divZeroError | y == (-1) && x == minBound = overflowError -- Note [Order of tests]- | otherwise = I32# (intToInt32# ((int32ToInt# x#) `quotInt#` (int32ToInt# y#)))+ | otherwise = I32# (x# `quotInt32#` y#) rem (I32# x#) y@(I32# y#) | y == 0 = divZeroError -- The quotRem CPU instruction might fail for 'minBound@@ -571,11 +564,11 @@ -- width of signed integer. But, 'minBound `rem` -1' is -- well-defined (0). We therefore special-case it. | y == (-1) = 0- | otherwise = I32# (intToInt32# ((int32ToInt# x#) `remInt#` (int32ToInt# y#)))+ | otherwise = I32# (x# `remInt32#` y#) div x@(I32# x#) y@(I32# y#) | y == 0 = divZeroError | y == (-1) && x == minBound = overflowError -- Note [Order of tests]- | otherwise = I32# (intToInt32# ((int32ToInt# x#) `divInt#` (int32ToInt# y#)))+ | otherwise = I32# (x# `divInt32#` y#) mod (I32# x#) y@(I32# y#) | y == 0 = divZeroError -- The divMod CPU instruction might fail for 'minBound@@ -583,23 +576,19 @@ -- width of signed integer. But, 'minBound `mod` -1' is -- well-defined (0). We therefore special-case it. | y == (-1) = 0- | otherwise = I32# (intToInt32# ((int32ToInt# x#) `modInt#` (int32ToInt# y#)))+ | otherwise = I32# (x# `modInt32#` y#) quotRem x@(I32# x#) y@(I32# y#) | y == 0 = divZeroError- -- Note [Order of tests]+ -- See Note [Order of tests] | y == (-1) && x == minBound = (overflowError, 0)- | otherwise = case (int32ToInt# x#) `quotRemInt#` (int32ToInt# y#) of- (# q, r #) ->- (I32# (intToInt32# q),- I32# (intToInt32# r))+ | otherwise = case x# `quotRemInt32#` y# of+ (# q, r #) -> (I32# q, I32# r) divMod x@(I32# x#) y@(I32# y#) | y == 0 = divZeroError- -- Note [Order of tests]+ -- See Note [Order of tests] | y == (-1) && x == minBound = (overflowError, 0)- | otherwise = case (int32ToInt# x#) `divModInt#` (int32ToInt# y#) of- (# d, m #) ->- (I32# (intToInt32# d),- I32# (intToInt32# m))+ | otherwise = case x# `divModInt32#` y# of+ (# d, m #) -> (I32# d, I32# m) toInteger (I32# x#) = IS (int32ToInt# x#) -- | @since 2.01@@ -642,8 +631,8 @@ bitSize i = finiteBitSize i isSigned _ = True popCount (I32# x#) = I# (word2Int# (popCnt32# (int2Word# (int32ToInt# x#))))- bit = bitDefault- testBit = testBitDefault+ bit i = bitDefault i+ testBit a i = testBitDefault a i -- | @since 4.6.0.0 instance FiniteBits Int32 where@@ -702,8 +691,6 @@ -- type Int64 ------------------------------------------------------------------------ -#if WORD_SIZE_IN_BITS < 64- data {-# CTYPE "HsInt64" #-} Int64 = I64# Int64# -- ^ 64-bit signed integer type @@ -766,6 +753,7 @@ | x >= fromIntegral (minBound::Int) && x <= fromIntegral (maxBound::Int) = I# (int64ToInt# x#) | otherwise = fromEnumError "Int64" x+#if WORD_SIZE_IN_BITS < 64 -- See Note [Stable Unfolding for list producers] in GHC.Enum {-# INLINE enumFrom #-} enumFrom = integralEnumFrom@@ -778,12 +766,20 @@ -- See Note [Stable Unfolding for list producers] in GHC.Enum {-# INLINE enumFromThenTo #-} enumFromThenTo = integralEnumFromThenTo+#else+ -- See Note [Stable Unfolding for list producers] in GHC.Enum+ {-# INLINE enumFrom #-}+ enumFrom = boundedEnumFrom+ -- See Note [Stable Unfolding for list producers] in GHC.Enum+ {-# INLINE enumFromThen #-}+ enumFromThen = boundedEnumFromThen+#endif -- | @since 2.01 instance Integral Int64 where quot x@(I64# x#) y@(I64# y#) | y == 0 = divZeroError- | y == (-1) && x == minBound = overflowError -- Note [Order of tests]+ | y == (-1) && x == minBound = overflowError -- See Note [Order of tests] | otherwise = I64# (x# `quotInt64#` y#) rem (I64# x#) y@(I64# y#) | y == 0 = divZeroError@@ -795,7 +791,7 @@ | otherwise = I64# (x# `remInt64#` y#) div x@(I64# x#) y@(I64# y#) | y == 0 = divZeroError- | y == (-1) && x == minBound = overflowError -- Note [Order of tests]+ | y == (-1) && x == minBound = overflowError -- See Note [Order of tests] | otherwise = I64# (x# `divInt64#` y#) mod (I64# x#) y@(I64# y#) | y == 0 = divZeroError@@ -807,16 +803,26 @@ | otherwise = I64# (x# `modInt64#` y#) quotRem x@(I64# x#) y@(I64# y#) | y == 0 = divZeroError- -- Note [Order of tests]+ -- See Note [Order of tests] | y == (-1) && x == minBound = (overflowError, 0)- | otherwise = (I64# (x# `quotInt64#` y#),- I64# (x# `remInt64#` y#))+#if WORD_SIZE_IN_BITS < 64+ -- we don't have quotRemInt64# primop yet+ | otherwise = (I64# (x# `quotInt64#` y#), I64# (x# `remInt64#` y#))+#else+ | otherwise = case quotRemInt# (int64ToInt# x#) (int64ToInt# y#) of+ (# q, r #) -> (I64# (intToInt64# q), I64# (intToInt64# r))+#endif divMod x@(I64# x#) y@(I64# y#) | y == 0 = divZeroError- -- Note [Order of tests]+ -- See Note [Order of tests] | y == (-1) && x == minBound = (overflowError, 0)- | otherwise = (I64# (x# `divInt64#` y#),- I64# (x# `modInt64#` y#))+#if WORD_SIZE_IN_BITS < 64+ -- we don't have divModInt64# primop yet+ | otherwise = (I64# (x# `divInt64#` y#), I64# (x# `modInt64#` y#))+#else+ | otherwise = case divModInt# (int64ToInt# x#) (int64ToInt# y#) of+ (# q, r #) -> (I64# (intToInt64# q), I64# (intToInt64# r))+#endif toInteger (I64# x) = integerFromInt64# x @@ -859,14 +865,14 @@ (I64# x#) `xor` (I64# y#) = I64# (word64ToInt64# (int64ToWord64# x# `xor64#` int64ToWord64# y#)) complement (I64# x#) = I64# (word64ToInt64# (not64# (int64ToWord64# x#))) (I64# x#) `shift` (I# i#)- | isTrue# (i# >=# 0#) = I64# (x# `iShiftL64#` i#)- | otherwise = I64# (x# `iShiftRA64#` negateInt# i#)+ | isTrue# (i# >=# 0#) = I64# (x# `shiftLInt64#` i#)+ | otherwise = I64# (x# `shiftRAInt64#` negateInt# i#) (I64# x#) `shiftL` (I# i#)- | isTrue# (i# >=# 0#) = I64# (x# `iShiftL64#` i#)+ | isTrue# (i# >=# 0#) = I64# (x# `shiftLInt64#` i#) | otherwise = overflowError (I64# x#) `unsafeShiftL` (I# i#) = I64# (x# `uncheckedIShiftL64#` i#) (I64# x#) `shiftR` (I# i#)- | isTrue# (i# >=# 0#) = I64# (x# `iShiftRA64#` i#)+ | isTrue# (i# >=# 0#) = I64# (x# `shiftRAInt64#` i#) | otherwise = overflowError (I64# x#) `unsafeShiftR` (I# i#) = I64# (x# `uncheckedIShiftRA64#` i#) (I64# x#) `rotate` (I# i#)@@ -883,182 +889,13 @@ isSigned _ = True popCount (I64# x#) = I# (word2Int# (popCnt64# (int64ToWord64# x#)))- bit = bitDefault- testBit = testBitDefault---- give the 64-bit shift operations the same treatment as the 32-bit--- ones (see GHC.Base), namely we wrap them in tests to catch the--- cases when we're shifting more than 64 bits to avoid unspecified--- behaviour in the C shift operations.--iShiftL64#, iShiftRA64# :: Int64# -> Int# -> Int64#--a `iShiftL64#` b | isTrue# (b >=# 64#) = intToInt64# 0#- | otherwise = a `uncheckedIShiftL64#` b--a `iShiftRA64#` b | isTrue# (b >=# 64#) = if isTrue# (a `ltInt64#` (intToInt64# 0#))- then intToInt64# (-1#)- else intToInt64# 0#- | otherwise = a `uncheckedIShiftRA64#` b+ bit i = bitDefault i+ testBit a i = testBitDefault a i -- No RULES for RealFrac methods if Int is smaller than Int64, we can't -- go through Int and whether going through Integer is faster is uncertain.-#else --- Int64 is represented in the same way as Int.--- Operations may assume and must ensure that it holds only values--- from its logical range.--data {-# CTYPE "HsInt64" #-} Int64 = I64# Int#--- ^ 64-bit signed integer type---- See GHC.Classes#matching_overloaded_methods_in_rules--- | @since 2.01-instance Eq Int64 where- (==) = eqInt64- (/=) = neInt64--eqInt64, neInt64 :: Int64 -> Int64 -> Bool-eqInt64 (I64# x) (I64# y) = isTrue# (x ==# y)-neInt64 (I64# x) (I64# y) = isTrue# (x /=# y)-{-# INLINE [1] eqInt64 #-}-{-# INLINE [1] neInt64 #-}---- | @since 2.01-instance Ord Int64 where- (<) = ltInt64- (<=) = leInt64- (>=) = geInt64- (>) = gtInt64--{-# INLINE [1] gtInt64 #-}-{-# INLINE [1] geInt64 #-}-{-# INLINE [1] ltInt64 #-}-{-# INLINE [1] leInt64 #-}-gtInt64, geInt64, ltInt64, leInt64 :: Int64 -> Int64 -> Bool-(I64# x) `gtInt64` (I64# y) = isTrue# (x ># y)-(I64# x) `geInt64` (I64# y) = isTrue# (x >=# y)-(I64# x) `ltInt64` (I64# y) = isTrue# (x <# y)-(I64# x) `leInt64` (I64# y) = isTrue# (x <=# y)---- | @since 2.01-instance Show Int64 where- showsPrec p x = showsPrec p (fromIntegral x :: Int)---- | @since 2.01-instance Num Int64 where- (I64# x#) + (I64# y#) = I64# (x# +# y#)- (I64# x#) - (I64# y#) = I64# (x# -# y#)- (I64# x#) * (I64# y#) = I64# (x# *# y#)- negate (I64# x#) = I64# (negateInt# x#)- abs x | x >= 0 = x- | otherwise = negate x- signum x | x > 0 = 1- signum 0 = 0- signum _ = -1- fromInteger i = I64# (integerToInt# i)---- | @since 2.01-instance Enum Int64 where- succ x- | x /= maxBound = x + 1- | otherwise = succError "Int64"- pred x- | x /= minBound = x - 1- | otherwise = predError "Int64"- toEnum (I# i#) = I64# i#- fromEnum (I64# x#) = I# x#- -- See Note [Stable Unfolding for list producers] in GHC.Enum- {-# INLINE enumFrom #-}- enumFrom = boundedEnumFrom- -- See Note [Stable Unfolding for list producers] in GHC.Enum- {-# INLINE enumFromThen #-}- enumFromThen = boundedEnumFromThen---- | @since 2.01-instance Integral Int64 where- quot x@(I64# x#) y@(I64# y#)- | y == 0 = divZeroError- | y == (-1) && x == minBound = overflowError -- Note [Order of tests]- | otherwise = I64# (x# `quotInt#` y#)- rem (I64# x#) y@(I64# y#)- | y == 0 = divZeroError- -- The quotRem CPU instruction might fail for 'minBound- -- `quotRem` -1' if it is an instruction for exactly this- -- width of signed integer. But, 'minBound `rem` -1' is- -- well-defined (0). We therefore special-case it.- | y == (-1) = 0- | otherwise = I64# (x# `remInt#` y#)- div x@(I64# x#) y@(I64# y#)- | y == 0 = divZeroError- | y == (-1) && x == minBound = overflowError -- Note [Order of tests]- | otherwise = I64# (x# `divInt#` y#)- mod (I64# x#) y@(I64# y#)- | y == 0 = divZeroError- -- The divMod CPU instruction might fail for 'minBound- -- `divMod` -1' if it is an instruction for exactly this- -- width of signed integer. But, 'minBound `mod` -1' is- -- well-defined (0). We therefore special-case it.- | y == (-1) = 0- | otherwise = I64# (x# `modInt#` y#)- quotRem x@(I64# x#) y@(I64# y#)- | y == 0 = divZeroError- -- Note [Order of tests]- | y == (-1) && x == minBound = (overflowError, 0)- | otherwise = case x# `quotRemInt#` y# of- (# q, r #) ->- (I64# q, I64# r)- divMod x@(I64# x#) y@(I64# y#)- | y == 0 = divZeroError- -- Note [Order of tests]- | y == (-1) && x == minBound = (overflowError, 0)- | otherwise = case x# `divModInt#` y# of- (# d, m #) ->- (I64# d, I64# m)- toInteger (I64# x#) = IS x#---- | @since 2.01-instance Read Int64 where- readsPrec p s = [(fromIntegral (x::Int), r) | (x, r) <- readsPrec p s]---- | @since 2.01-instance Bits Int64 where- {-# INLINE shift #-}- {-# INLINE bit #-}- {-# INLINE testBit #-}- {-# INLINE popCount #-}-- (I64# x#) .&. (I64# y#) = I64# (x# `andI#` y#)- (I64# x#) .|. (I64# y#) = I64# (x# `orI#` y#)- (I64# x#) `xor` (I64# y#) = I64# (x# `xorI#` y#)- complement (I64# x#) = I64# (notI# x#)- (I64# x#) `shift` (I# i#)- | isTrue# (i# >=# 0#) = I64# (x# `iShiftL#` i#)- | otherwise = I64# (x# `iShiftRA#` negateInt# i#)- (I64# x#) `shiftL` (I# i#)- | isTrue# (i# >=# 0#) = I64# (x# `iShiftL#` i#)- | otherwise = overflowError- (I64# x#) `unsafeShiftL` (I# i#) = I64# (x# `uncheckedIShiftL#` i#)- (I64# x#) `shiftR` (I# i#)- | isTrue# (i# >=# 0#) = I64# (x# `iShiftRA#` i#)- | otherwise = overflowError- (I64# x#) `unsafeShiftR` (I# i#) = I64# (x# `uncheckedIShiftRA#` i#)- (I64# x#) `rotate` (I# i#)- | isTrue# (i'# ==# 0#)- = I64# x#- | otherwise- = I64# (word2Int# ((x'# `uncheckedShiftL#` i'#) `or#`- (x'# `uncheckedShiftRL#` (64# -# i'#))))- where- !x'# = int2Word# x#- !i'# = word2Int# (int2Word# i# `and#` 63##)- bitSizeMaybe i = Just (finiteBitSize i)- bitSize i = finiteBitSize i- isSigned _ = True- popCount (I64# x#) = I# (word2Int# (popCnt64# (int2Word# x#)))- bit = bitDefault- testBit = testBitDefault-+#if WORD_SIZE_IN_BITS == 64 {-# RULES "properFraction/Float->(Int64,Float)" properFraction = \x ->@@ -1088,12 +925,6 @@ "round/Double->Int64" round = (fromIntegral :: Int -> Int64) . (round :: Double -> Int) #-}--uncheckedIShiftL64# :: Int# -> Int# -> Int#-uncheckedIShiftL64# = uncheckedIShiftL#--uncheckedIShiftRA64# :: Int# -> Int# -> Int#-uncheckedIShiftRA64# = uncheckedIShiftRA# #endif -- | @since 4.6.0.0@@ -1101,13 +932,8 @@ {-# INLINE countLeadingZeros #-} {-# INLINE countTrailingZeros #-} finiteBitSize _ = 64-#if WORD_SIZE_IN_BITS < 64 countLeadingZeros (I64# x#) = I# (word2Int# (clz64# (int64ToWord64# x#))) countTrailingZeros (I64# x#) = I# (word2Int# (ctz64# (int64ToWord64# x#)))-#else- countLeadingZeros (I64# x#) = I# (word2Int# (clz64# (int2Word# x#)))- countTrailingZeros (I64# x#) = I# (word2Int# (ctz64# (int2Word# x#)))-#endif -- | @since 2.01 instance Real Int64 where@@ -1126,8 +952,9 @@ ------------------------------------------------------------------------------- -{- Note [Order of tests]-~~~~~~~~~~~~~~~~~~~~~~~~~+{-+Note [Order of tests]+~~~~~~~~~~~~~~~~~~~~~ (See #3065, #5161.) Suppose we had a definition like: quot x y@@ -1248,3 +1075,43 @@ y == (-1) && x == minBound order gives us better code in the common case. -}++-------------------------------------------------------------------------------++-- unchecked shift primops may be lowered into C shift operations which have+-- unspecified behaviour if the amount of bits to shift is greater or equal to the word+-- size in bits.+-- The following safe shift operations wrap unchecked primops to take this into+-- account: 0 is consistently returned when the shift amount is too big.++shiftRLInt8# :: Int8# -> Int# -> Int8#+a `shiftRLInt8#` b = uncheckedShiftRLInt8# a b `andInt8#` intToInt8# (shift_mask 8# b)++shiftRLInt16# :: Int16# -> Int# -> Int16#+a `shiftRLInt16#` b = uncheckedShiftRLInt16# a b `andInt16#` intToInt16# (shift_mask 16# b)++shiftRLInt32# :: Int32# -> Int# -> Int32#+a `shiftRLInt32#` b = uncheckedShiftRLInt32# a b `andInt32#` intToInt32# (shift_mask 32# b)++++shiftLInt64# :: Int64# -> Int# -> Int64#+a `shiftLInt64#` b = uncheckedIShiftL64# a b `andInt64#` intToInt64# (shift_mask 64# b)+++shiftRAInt64# :: Int64# -> Int# -> Int64#+a `shiftRAInt64#` b | isTrue# (b >=# 64#) = intToInt64# (negateInt# (a `ltInt64#` (intToInt64# 0#)))+ | otherwise = a `uncheckedIShiftRA64#` b+++andInt8# :: Int8# -> Int8# -> Int8#+x `andInt8#` y = word8ToInt8# (int8ToWord8# x `andWord8#` int8ToWord8# y)++andInt16# :: Int16# -> Int16# -> Int16#+x `andInt16#` y = word16ToInt16# (int16ToWord16# x `andWord16#` int16ToWord16# y)++andInt32# :: Int32# -> Int32# -> Int32#+x `andInt32#` y = word32ToInt32# (int32ToWord32# x `andWord32#` int32ToWord32# y)++andInt64# :: Int64# -> Int64# -> Int64#+x `andInt64#` y = word64ToInt64# (int64ToWord64# x `and64#` int64ToWord64# y)
GHC/Integer.hs view
@@ -100,62 +100,238 @@ decodeDoubleInteger :: Double# -> (# Integer, Int# #) decodeDoubleInteger = I.integerDecodeDouble# -+-- | Used to implement `(+)` for the `Num` typeclass.+-- This gives the sum of two integers.+--+-- ==== __Example__+-- >>> plusInteger 3 2+-- 5+--+-- >>> (+) 3 2+-- 5 plusInteger :: Integer -> Integer -> Integer plusInteger = I.integerAdd +-- | Used to implement `(-)` for the `Num` typeclass.+-- This gives the difference of two integers.+--+-- ==== __Example__+-- >>> minusInteger 3 2+-- 1+--+-- >>> (-) 3 2+-- 1 minusInteger :: Integer -> Integer -> Integer minusInteger = I.integerSub +-- | Used to implement `(*)` for the `Num` typeclass.+-- This gives the product of two integers.+--+-- ==== __Example__+-- >>> timesInteger 3 2+-- 6+--+-- >>> (*) 3 2+-- 6 timesInteger :: Integer -> Integer -> Integer timesInteger = I.integerMul +-- | Used to implement `negate` for the `Num` typeclass.+-- This changes the sign of whatever integer is passed into it.+--+-- ==== __Example__+-- >>> negateInteger (-6)+-- 6+--+-- >>> negate (-6)+-- 6 negateInteger :: Integer -> Integer negateInteger = I.integerNegate +-- | Used to implement `abs` for the `Num` typeclass.+-- This gives the absolute value of whatever integer is passed into it.+--+-- ==== __Example__+-- >>> absInteger (-6)+-- 6+--+-- >>> abs (-6)+-- 6 absInteger :: Integer -> Integer absInteger = I.integerAbs +-- | Used to implement `signum` for the `Num` typeclass.+-- This gives 1 for a positive integer, and -1 for a negative integer.+--+-- ==== __Example__+-- >>> signumInteger 5+-- 1+--+-- >>> signum 5+-- 1 signumInteger :: Integer -> Integer signumInteger = I.integerSignum +-- | Used to implement `divMod` for the `Integral` typeclass.+-- This gives a tuple equivalent to+--+-- >(div x y, mod x y)+--+-- ==== __Example__+-- >>> divModInteger 10 2+-- (5,0)+--+-- >>> divMod 10 2+-- (5,0) divModInteger :: Integer -> Integer -> (# Integer, Integer #) divModInteger = I.integerDivMod# +-- | Used to implement `div` for the `Integral` typeclass.+-- This performs integer division on its two parameters, truncated towards negative infinity.+--+-- ==== __Example__+-- >>> 10 `divInteger` 2+-- 5+--+-- >>> 10 `div` 2 divInteger :: Integer -> Integer -> Integer divInteger = I.integerDiv +-- | Used to implement `mod` for the `Integral` typeclass.+-- This performs the modulo operation, satisfying+--+-- > ((x `div` y) * y) + (x `mod` y) == x+--+-- ==== __Example__+-- >>> 7 `modInteger` 3+-- 1+--+-- >>> 7 `mod` 3+-- 1 modInteger :: Integer -> Integer -> Integer modInteger = I.integerMod +-- | Used to implement `quotRem` for the `Integral` typeclass.+-- This gives a tuple equivalent to+--+-- > (quot x y, mod x y)+--+-- ==== __Example__+-- >>> quotRemInteger 10 2+-- (5,0)+--+-- >>> quotRem 10 2+-- (5,0) quotRemInteger :: Integer -> Integer -> (# Integer, Integer #) quotRemInteger = I.integerQuotRem# +-- | Used to implement `quot` for the `Integral` typeclass.+-- This performs integer division on its two parameters, truncated towards zero.+--+-- ==== __Example__+-- >>> quotInteger 10 2+-- 5+--+-- >>> quot 10 2+-- 5 quotInteger :: Integer -> Integer -> Integer quotInteger = I.integerQuot +-- | Used to implement `rem` for the `Integral` typeclass.+-- This gives the remainder after integer division of its two parameters, satisfying+--+-- > ((x `quot` y) * y) + (x `rem` y) == x+--+-- ==== __Example__+-- >>> remInteger 3 2+-- 1+--+-- >>> rem 3 2+-- 1 remInteger :: Integer -> Integer -> Integer remInteger = I.integerRem -+-- | Used to implement `(==)` for the `Eq` typeclass.+-- Outputs `True` if two integers are equal to each other.+--+-- ==== __Example__+-- >>> 6 `eqInteger` 6+-- True+--+-- >>> 6 == 6+-- True eqInteger :: Integer -> Integer -> Bool eqInteger = I.integerEq +-- | Used to implement `(/=)` for the `Eq` typeclass.+-- Outputs `True` if two integers are not equal to each other.+--+-- ==== __Example__+-- >>> 6 `neqInteger` 7+-- True+--+-- >>> 6 /= 7+-- True neqInteger :: Integer -> Integer -> Bool neqInteger = I.integerNe +-- | Used to implement `(<=)` for the `Ord` typeclass.+-- Outputs `True` if the first argument is less than or equal to the second.+--+-- ==== __Example__+-- >>> 3 `leInteger` 5+-- True+--+-- >>> 3 <= 5+-- True leInteger :: Integer -> Integer -> Bool leInteger = I.integerLe +-- | Used to implement `(>)` for the `Ord` typeclass.+-- Outputs `True` if the first argument is greater than the second.+--+-- ==== __Example__+-- >>> 5 `gtInteger` 3+-- True+--+-- >>> 5 > 3+-- True gtInteger :: Integer -> Integer -> Bool gtInteger = I.integerGt +-- | Used to implement `(<)` for the `Ord` typeclass.+-- Outputs `True` if the first argument is less than the second.+--+-- ==== __Example__+-- >>> 3 `ltInteger` 5+-- True+--+-- >>> 3 < 5+-- True ltInteger :: Integer -> Integer -> Bool ltInteger = I.integerLt +-- | Used to implement `(>=)` for the `Ord` typeclass.+-- Outputs `True` if the first argument is greater than or equal to the second.+--+-- ==== __Example__+-- >>> 5 `geInteger` 3+-- True+--+-- >>> 5 >= 3+-- True geInteger :: Integer -> Integer -> Bool geInteger = I.integerGe +-- | Used to implement `compare` for the `Integral` typeclass.+-- This takes two integers, and outputs whether the first is less than, equal to, or greater than the second.+--+-- ==== __Example__+-- >>> compareInteger 2 10+-- LT+--+-- >>> compare 2 10+-- LT compareInteger :: Integer -> Integer -> Ordering compareInteger = I.integerCompare
+ GHC/IsList.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE Trustworthy #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeFamilies #-}++-----------------------------------------------------------------------------+-- |+-- Module : GHC.IsList+-- Copyright : (c) The University of Glasgow 2002+-- License : see libraries/base/LICENSE+--+-- Maintainer : cvs-ghc@haskell.org+-- Stability : internal+-- Portability : non-portable (GHC Extensions)+--+-- @since 4.17.0.0+-----------------------------------------------------------------------------++module GHC.IsList+ ( IsList(..)+ ) where++import GHC.Base+import GHC.Stack+import Data.Version ( Version(..), makeVersion )+import Control.Applicative (ZipList(..))++-- | The 'IsList' class and its methods are intended to be used in+-- conjunction with the OverloadedLists extension.+--+-- @since 4.7.0.0+class IsList l where+ -- | The 'Item' type function returns the type of items of the structure+ -- @l@.+ type Item l++ -- | The 'fromList' function constructs the structure @l@ from the given+ -- list of @Item l@+ fromList :: [Item l] -> l++ -- | The 'fromListN' function takes the input list's length and potentially+ -- uses it to construct the structure @l@ more efficiently compared to+ -- 'fromList'. If the given number does not equal to the input list's length+ -- the behaviour of 'fromListN' is not specified.+ --+ -- prop> fromListN (length xs) xs == fromList xs+ fromListN :: Int -> [Item l] -> l+ fromListN _ = fromList++ -- | The 'toList' function extracts a list of @Item l@ from the structure @l@.+ -- It should satisfy fromList . toList = id.+ toList :: l -> [Item l]++-- | @since 4.7.0.0+instance IsList [a] where+ type (Item [a]) = a+ fromList = id+ toList = id++-- | @since 4.15.0.0+instance IsList (ZipList a) where+ type Item (ZipList a) = a+ fromList = ZipList+ toList = getZipList++-- | @since 4.9.0.0+instance IsList (NonEmpty a) where+ type Item (NonEmpty a) = a++ fromList (a:as) = a :| as+ fromList [] = errorWithoutStackTrace "NonEmpty.fromList: empty list"++ toList ~(a :| as) = a : as++-- | @since 4.8.0.0+instance IsList Version where+ type (Item Version) = Int+ fromList = makeVersion+ toList = versionBranch++-- | Be aware that 'fromList . toList = id' only for unfrozen 'CallStack's,+-- since 'toList' removes frozenness information.+--+-- @since 4.9.0.0+instance IsList CallStack where+ type (Item CallStack) = (String, SrcLoc)+ fromList = fromCallSiteList+ toList = getCallStack
GHC/List.hs view
@@ -20,23 +20,32 @@ module GHC.List ( -- [] (..), -- built-in syntax; can't be used in export list - map, (++), filter, concat,- head, last, tail, init, uncons, null, length, (!!),- foldl, foldl', foldl1, foldl1', scanl, scanl1, scanl', foldr, foldr1,- scanr, scanr1, iterate, iterate', repeat, replicate, cycle,- take, drop, sum, product, maximum, minimum, splitAt, takeWhile, dropWhile,- span, break, reverse, and, or,- any, all, elem, notElem, lookup,- concatMap,+ -- List-monomorphic Foldable methods and misc functions+ foldr, foldr', foldr1,+ foldl, foldl', foldl1,+ null, length, elem, notElem,+ maximum, minimum, sum, product, and, or, any, all,++ -- Other functions+ foldl1', concat, concatMap,+ map, (++), filter, lookup,+ head, last, tail, init, uncons, (!!),+ scanl, scanl1, scanl', scanr, scanr1,+ iterate, iterate', repeat, replicate, cycle,+ take, drop, splitAt, takeWhile, dropWhile, span, break, reverse, zip, zip3, zipWith, zipWith3, unzip, unzip3, errorEmptyList, + -- * GHC List fusion+ augment, build,+ ) where import Data.Maybe import GHC.Base import GHC.Num (Num(..)) import GHC.Num.Integer (Integer)+import GHC.Stack.Types (HasCallStack) infixl 9 !! infix 4 `elem`, `notElem`@@ -64,12 +73,15 @@ -- 1 -- >>> head [] -- *** Exception: Prelude.head: empty list-head :: [a] -> a+--+-- WARNING: This function is partial. You can use case-matching, 'uncons' or+-- 'listToMaybe' instead.+head :: HasCallStack => [a] -> a head (x:_) = x head [] = badHead {-# NOINLINE [1] head #-} -badHead :: a+badHead :: HasCallStack => a badHead = errorEmptyList "head" -- This rule is useful in cases like@@ -108,7 +120,10 @@ -- [] -- >>> tail [] -- *** Exception: Prelude.tail: empty list-tail :: [a] -> [a]+--+-- WARNING: This function is partial. You can use case-matching or 'uncons'+-- instead.+tail :: HasCallStack => [a] -> [a] tail (_:xs) = xs tail [] = errorEmptyList "tail" @@ -121,7 +136,10 @@ -- * Hangs forever * -- >>> last [] -- *** Exception: Prelude.last: empty list-last :: [a] -> a+--+-- WARNING: This function is partial. You can use 'reverse' with case-matching,+-- 'uncons' or 'listToMaybe' instead.+last :: HasCallStack => [a] -> a #if defined(USE_REPORT_PRELUDE) last [x] = x last (_:xs) = last xs@@ -134,7 +152,7 @@ {-# INLINE last #-} -- The inline pragma is required to make GHC remember the implementation via -- foldl.-lastError :: a+lastError :: HasCallStack => a lastError = errorEmptyList "last" #endif @@ -147,7 +165,10 @@ -- [] -- >>> init [] -- *** Exception: Prelude.init: empty list-init :: [a] -> [a]+--+-- WARNING: This function is partial. You can use 'reverse' with case-matching+-- or 'uncons' instead.+init :: HasCallStack => [a] -> [a] #if defined(USE_REPORT_PRELUDE) init [x] = [] init (x:xs) = x : init xs@@ -266,7 +287,7 @@ {- Note [Left folds via right fold]-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Implementing foldl et. al. via foldr is only a good idea if the compiler can optimize the resulting code (eta-expand the recursive "go"). See #7994. We hope that one of the two measure kick in:@@ -291,7 +312,7 @@ * They are higher-order functions and therefore benefit from inlining. * When the final consumer is a left fold, inlining the FB functions is the only- way to make arity expansion happen. See Note [Left fold via right fold].+ way to make arity expansion happen. See Note [Left folds via right fold]. For this reason we mark all FB functions INLINE [0]. The [0] phase-specifier ensures that calls to FB functions can be written back to the original form@@ -304,12 +325,52 @@ -- ---------------------------------------------------------------------------- -- | A strict version of 'foldl'.-foldl' :: forall a b . (b -> a -> b) -> b -> [a] -> b+foldl' :: forall a b . (b -> a -> b) -> b -> [a] -> b {-# INLINE foldl' #-}-foldl' k z0 xs =+foldl' k z0 = \xs -> foldr (\(v::a) (fn::b->b) -> oneShot (\(z::b) -> z `seq` fn (k z v))) (id :: b -> b) xs z0- -- See Note [Left folds via right fold]+{-+Note [Definition of foldl']+~~~~~~~~~~~~~~~~~~~~~~~~~~~+We want foldl' to be a good consumer, so: +* We define it (rather cunningly) with `foldr`. That way, the `fold/build`+ rule might fire. See Note [Left folds via right fold]++* We give it an INLINE pragma, so that it'll inline at its call sites, again+ giving the `fold/build` rule a chance to fire.++* We eta-reduce it so that it has arity 2, not 3. Reason: consider++ sumlen :: [Float] -> (Float, Int)+ sumlen = foldl' f (0, 0)+ where+ f (!s, !n) !x = (s + x, n + 1)++The RHS of `sumlen` is a partial application of foldl', and is not+eta-expanded (and it isn't, because we don't eta-expand PAPs. See Note+[Do not eta-expand PAPs] in GHC.Core.Opt.Simplify.Utils)++So foldl' is partially applied to two arguments, /and it won't inline/+if its defn is:++ {-# INLINE foldl' #-}+ foldl' k z xs = ...++because INLINE functions only inline when saturated.++Conclusion: move the `xs` parameter to the RHS, and define it thus++ fold' k z = \xs -> ...++See !5259 for additional discussion. This may result in partial applications+of 'foldl'' inlining in some functions where they previously did not. Absent+an INLINE pragam for the calling function, it may become too expensive to+automatically inline, resulting in a loss of previously accidental list+fusion. Such call sites may now need explicit INLINE or INLINABLE pragmas+to make the desired list fusion robust.+-}+ -- | 'foldl1' is a variant of 'foldl' that has no starting value argument, -- and thus must be applied to non-empty lists. Note that unlike 'foldl', the accumulated value must be of the same type as the list elements. --@@ -325,12 +386,12 @@ -- True -- >>> foldl1 (+) [1..] -- * Hangs forever *-foldl1 :: (a -> a -> a) -> [a] -> a+foldl1 :: HasCallStack => (a -> a -> a) -> [a] -> a foldl1 f (x:xs) = foldl f x xs foldl1 _ [] = errorEmptyList "foldl1" -- | A strict version of 'foldl1'.-foldl1' :: (a -> a -> a) -> [a] -> a+foldl1' :: HasCallStack => (a -> a -> a) -> [a] -> a foldl1' f (x:xs) = foldl' f x xs foldl1' _ [] = errorEmptyList "foldl1'" @@ -400,7 +461,7 @@ [] -> [] x:xs -> scanlGo f (f q x) xs) --- Note [scanl rewrite rules]+-- See Note [scanl rewrite rules] {-# RULES "scanl" [~1] forall f a bs . scanl f a bs = build (\c n -> a `c` foldr (scanlFB f c) (constScanl n) bs a)@@ -451,7 +512,7 @@ [] -> [] x:xs -> scanlGo' f (f q x) xs) --- Note [scanl rewrite rules]+-- See Note [scanl rewrite rules] {-# RULES "scanl'" [~1] forall f a bs . scanl' f a bs = build (\c n -> a `c` foldr (scanlFB' f c) (flipSeqScanl' n) bs a)@@ -471,7 +532,6 @@ {- Note [scanl rewrite rules] ~~~~~~~~~~~~~~~~~~~~~~~~~~- In most cases, when we rewrite a form to one that can fuse, we try to rewrite it back to the original form if it does not fuse. For scanl, we do something a little different. In particular, we rewrite@@ -498,9 +558,37 @@ match on everything past the :, which is just the tail of scanl. -} --- foldr, foldr1, scanr, and scanr1 are the right-to-left duals of the+-- foldr, foldr', foldr1, scanr, and scanr1 are the right-to-left duals of the -- above functions. +-- | 'foldr'' is a variant of 'foldr' that begins list reduction from the last+-- element and evaluates the accumulator strictly as it unwinds the stack back+-- to the beginning of the list. The input list /must/ be finite, otherwise+-- 'foldr'' runs out of space (/diverges/).+--+-- Note that if the function that combines the accumulated value with each+-- element is strict in the accumulator, other than a possible improvement+-- in the constant factor, you get the same \(\mathcal{O}(n)\) space cost+-- as with just 'foldr'.+--+-- If you want a strict right fold in constant space, you need a structure+-- that supports faster than \(\mathcal{O}(n)\) access to the right-most+-- element, such as @Seq@ from the @containers@ package.+--+-- Use of this function is a hint that the @[]@ structure may be a poor fit+-- for the task at hand. If the order in which the elements are combined is+-- not important, use 'foldl'' instead.+--+-- >>> foldr' (+) [1..4] -- Use foldl' instead!+-- 10+-- >>> foldr' (&&) [True, False, True, True] -- Use foldr instead!+-- False+-- >>> foldr' (||) [False, False, True, True] -- Use foldr instead!+-- True+foldr' :: (a -> b -> b) -> b -> [a] -> b+foldr' f z0 xs = foldl f' id xs z0+ where f' k x z = k $! f x z+ -- | 'foldr1' is a variant of 'foldr' that has no starting value argument, -- and thus must be applied to non-empty lists. Note that unlike 'foldr', the accumulated value must be of the same type as the list elements. --@@ -516,7 +604,7 @@ -- True -- >>> force $ foldr1 (+) [1..] -- *** Exception: stack overflow-foldr1 :: (a -> a -> a) -> [a] -> a+foldr1 :: HasCallStack => (a -> a -> a) -> [a] -> a foldr1 f = go where go [x] = x go (x:xs) = f x (go xs)@@ -565,7 +653,9 @@ scanr f q0 ls #-} -{- Note [scanrFB and evaluation]+{-+Note [scanrFB and evaluation]+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In a previous Version, the pattern match on the tuple in scanrFB used to be strict. If scanr is called with a build expression, the following would happen: The rule "scanr" would fire, and we obtain@@ -622,7 +712,7 @@ -- 55 -- >>> maximum [1..] -- * Hangs forever *-maximum :: (Ord a) => [a] -> a+maximum :: (Ord a, HasCallStack) => [a] -> a {-# INLINABLE maximum #-} maximum [] = errorEmptyList "maximum" maximum xs = foldl1' max xs@@ -646,7 +736,7 @@ -- -89 -- >>> minimum [1..] -- * Hangs forever *-minimum :: (Ord a) => [a] -> a+minimum :: (Ord a, HasCallStack) => [a] -> a {-# INLINABLE minimum #-} minimum [] = errorEmptyList "minimum" minimum xs = foldl1' min xs@@ -751,7 +841,7 @@ -- [42,42,42,42,42,42,42,42,42,42... -- >>> take 20 $ cycle [2, 5, 7] -- [2,5,7,2,5,7,2,5,7,2,5,7...-cycle :: [a] -> [a]+cycle :: HasCallStack => [a] -> [a] cycle [] = errorEmptyList "cycle" cycle xs = xs' where xs' = xs ++ xs' @@ -1256,23 +1346,29 @@ -- *** Exception: Prelude.!!: index too large -- >>> ['a', 'b', 'c'] !! (-1) -- *** Exception: Prelude.!!: negative index-(!!) :: [a] -> Int -> a+--+-- WARNING: This function is partial. You can use <'atMay'+-- https://hackage.haskell.org/package/safe-0.3.19/docs/Safe.html#v:atMay>+-- instead. #if defined(USE_REPORT_PRELUDE)+(!!) :: [a] -> Int -> a xs !! n | n < 0 = errorWithoutStackTrace "Prelude.!!: negative index" [] !! _ = errorWithoutStackTrace "Prelude.!!: index too large" (x:_) !! 0 = x (_:xs) !! n = xs !! (n-1)+-- Prelude version is without HasCallStack to avoid building linear one #else+(!!) :: HasCallStack => [a] -> Int -> a -- We don't really want the errors to inline with (!!). -- We may want to fuss around a bit with NOINLINE, and -- if so we should be careful not to trip up known-bottom -- optimizations.-tooLarge :: Int -> a-tooLarge _ = errorWithoutStackTrace (prel_list_str ++ "!!: index too large")+tooLarge :: HasCallStack => Int -> a+tooLarge _ = error (prel_list_str ++ "!!: index too large") -negIndex :: a-negIndex = errorWithoutStackTrace $ prel_list_str ++ "!!: negative index"+negIndex :: HasCallStack => a+negIndex = error $ prel_list_str ++ "!!: negative index" {-# INLINABLE (!!) #-} xs !! n@@ -1325,8 +1421,9 @@ foldr3 k z (build g) = g (foldr3_left k z) (\_ _ -> z) #-} -{- Note [Fusion for foldrN]-~~~~~~~~~~~~~~~~~~~~~~~~~~~+{-+Note [Fusion for foldrN]+~~~~~~~~~~~~~~~~~~~~~~~~ We arrange that foldr2, foldr3, etc is a good consumer for its first (left) list argument. Here's how. See below for the second, third etc list arguments@@ -1352,7 +1449,7 @@ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ We arrange that zip, zip3, etc, and zipWith, zipWit3 etc, are all good consumers for their first (left) argument, and good producers.-Here's how. See Note [Fusion for foldr2] for why it can't fuse its+Here's how. See Note [Fusion for foldrN] for why it can't fuse its second (right) list argument. NB: Zips for larger tuples are in the List module.@@ -1366,7 +1463,7 @@ * To give this rule a chance to fire, we give zip a NOLINLINE[1] pragma (although since zip is recursive it might not need it) -* Now the rules for foldr2 (see Note [Fusion for foldr2]) may fire,+* Now the rules for foldr2 (see Note [Fusion for foldrN]) may fire, or rules that fuse the build-produced output of zip. * If none of these fire, rule "zipList" (active only in phase 1)@@ -1544,9 +1641,9 @@ -- Common up near identical calls to `error' to reduce the number -- constant strings created when compiled: -errorEmptyList :: String -> a+errorEmptyList :: HasCallStack => String -> a errorEmptyList fun =- errorWithoutStackTrace (prel_list_str ++ fun ++ ": empty list")+ error (prel_list_str ++ fun ++ ": empty list") prel_list_str :: String prel_list_str = "Prelude."
GHC/OldList.hs view
@@ -8,7 +8,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- This legacy module provides access to the list-specialised operations
GHC/OverloadedLabels.hs view
@@ -38,9 +38,9 @@ -- An overloaded label is represented by the 'HsOverLabel' constructor -- of 'HsExpr', which stores the 'FastString' text of the label and an -- optional id for the 'fromLabel' function to use (if--- RebindableSyntax is enabled) . The type-checker transforms it into--- a call to 'fromLabel'. See Note [Type-checking overloaded labels]--- in GHC.Tc.Gen.Expr for more details in how type-checking works.+-- RebindableSyntax is enabled) . The renamer transforms it into+-- a call to 'fromLabel'.+-- See Note [Handling overloaded and rebindable constructs] in GHC.Rename.Expr. module GHC.OverloadedLabels ( IsLabel(..)
GHC/Read.hs view
@@ -410,7 +410,7 @@ -- Note [Why readField]---+-- ~~~~~~~~~~~~~~~~~~~~ -- Previously, the code for automatically deriving Read instance (in -- typecheck/GHC.Tc.Deriv.Generate.hs) would generate inline code for parsing fields; -- this, however, turned out to produce massive amounts of intermediate code,
GHC/Real.hs view
@@ -40,6 +40,17 @@ default () -- Double isn't available yet, -- and we shouldn't be using defaults anyway +{- Note [Allow time for type-specialisation rules to fire]+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+Consider+ lcm = ...+ {-# RULES "lcm/Integer->Integer->Integer" lcm = integerLcm #-}++We want to delay inlining `lcm` until the rule (which is a form of manual+type specialisation) has had a chance to fire. It can fire in InitialPhase,+so INLINE[2] seems sufficient. c.f. #20709+-}+ ------------------------------------------------------------------------ -- Divide by zero and arithmetic overflow ------------------------------------------------------------------------@@ -144,20 +155,38 @@ -- 'abs'. class (Real a, Enum a) => Integral a where -- | integer division truncated toward zero+ --+ -- WARNING: This function is partial (because it throws when 0 is passed as+ -- the divisor) for all the integer types in @base@. quot :: a -> a -> a -- | integer remainder, satisfying -- -- > (x `quot` y)*y + (x `rem` y) == x+ --+ -- WARNING: This function is partial (because it throws when 0 is passed as+ -- the divisor) for all the integer types in @base@. rem :: a -> a -> a -- | integer division truncated toward negative infinity+ --+ -- WARNING: This function is partial (because it throws when 0 is passed as+ -- the divisor) for all the integer types in @base@. div :: a -> a -> a -- | integer modulus, satisfying -- -- > (x `div` y)*y + (x `mod` y) == x+ --+ -- WARNING: This function is partial (because it throws when 0 is passed as+ -- the divisor) for all the integer types in @base@. mod :: a -> a -> a -- | simultaneous 'quot' and 'rem'+ --+ -- WARNING: This function is partial (because it throws when 0 is passed as+ -- the divisor) for all the integer types in @base@. quotRem :: a -> a -> (a,a) -- | simultaneous 'div' and 'mod'+ --+ -- WARNING: This function is partial (because it throws when 0 is passed as+ -- the divisor) for all the integer types in @base@. divMod :: a -> a -> (a,a) -- | conversion to 'Integer' toInteger :: a -> Integer@@ -272,7 +301,7 @@ | otherwise = (>= e3 + mid) {- Note [Numeric Stability of Enumerating Floating Numbers]------------------------------------------------------------+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When enumerate floating numbers, we could add the increment to the last number at every run (as what we did previously): @@ -323,37 +352,43 @@ toRational x = toInteger x :% 1 -- | @since 2.0.1-instance Integral Int where+instance Integral Int where toInteger (I# i) = IS i + {-# INLINE quot #-} -- see Note [INLINE division wrappers] in GHC.Base a `quot` b | b == 0 = divZeroError | b == (-1) && a == minBound = overflowError -- Note [Order of tests] -- in GHC.Int | otherwise = a `quotInt` b + {-# INLINE rem #-} -- see Note [INLINE division wrappers] in GHC.Base !a `rem` b -- See Note [Special case of mod and rem is lazy] | b == 0 = divZeroError | b == (-1) = 0 | otherwise = a `remInt` b + {-# INLINE div #-} -- see Note [INLINE division wrappers] in GHC.Base a `div` b | b == 0 = divZeroError | b == (-1) && a == minBound = overflowError -- Note [Order of tests] -- in GHC.Int | otherwise = a `divInt` b + {-# INLINE mod #-} -- see Note [INLINE division wrappers] in GHC.Base !a `mod` b -- See Note [Special case of mod and rem is lazy] | b == 0 = divZeroError | b == (-1) = 0 | otherwise = a `modInt` b + {-# INLINE quotRem #-} -- see Note [INLINE division wrappers] in GHC.Base a `quotRem` b | b == 0 = divZeroError -- Note [Order of tests] in GHC.Int | b == (-1) && a == minBound = (overflowError, 0) | otherwise = a `quotRemInt` b + {-# INLINE divMod #-} -- see Note [INLINE division wrappers] in GHC.Base a `divMod` b | b == 0 = divZeroError -- Note [Order of tests] in GHC.Int@@ -379,26 +414,32 @@ -- | @since 2.01 instance Integral Word where+ -- see Note [INLINE division wrappers] in GHC.Base+ {-# INLINE quot #-}+ {-# INLINE rem #-}+ {-# INLINE quotRem #-}+ {-# INLINE div #-}+ {-# INLINE mod #-}+ {-# INLINE divMod #-}+ quot (W# x#) y@(W# y#) | y /= 0 = W# (x# `quotWord#` y#) | otherwise = divZeroError+ rem (W# x#) y@(W# y#) | y /= 0 = W# (x# `remWord#` y#) | otherwise = divZeroError- div (W# x#) y@(W# y#)- | y /= 0 = W# (x# `quotWord#` y#)- | otherwise = divZeroError- mod (W# x#) y@(W# y#)- | y /= 0 = W# (x# `remWord#` y#)- | otherwise = divZeroError+ quotRem (W# x#) y@(W# y#) | y /= 0 = case x# `quotRemWord#` y# of (# q, r #) -> (W# q, W# r) | otherwise = divZeroError- divMod (W# x#) y@(W# y#)- | y /= 0 = (W# (x# `quotWord#` y#), W# (x# `remWord#` y#))- | otherwise = divZeroError++ div x y = quot x y+ mod x y = rem x y+ divMod x y = quotRem x y+ toInteger (W# x#) = integerFromWord# x# --------------------------------------------------------------@@ -426,60 +467,59 @@ -- | @since 2.0.1-instance Integral Integer where+instance Integral Integer where+ -- see Note [INLINE division wrappers] in GHC.Base+ {-# INLINE quot #-}+ {-# INLINE rem #-}+ {-# INLINE quotRem #-}+ {-# INLINE div #-}+ {-# INLINE mod #-}+ {-# INLINE divMod #-}+ toInteger n = n - {-# INLINE quot #-}- _ `quot` 0 = divZeroError- n `quot` d = n `integerQuot` d+ !_ `quot` 0 = divZeroError+ n `quot` d = n `integerQuot` d - {-# INLINE rem #-}- _ `rem` 0 = divZeroError- n `rem` d = n `integerRem` d+ !_ `rem` 0 = divZeroError+ n `rem` d = n `integerRem` d - {-# INLINE div #-}- _ `div` 0 = divZeroError- n `div` d = n `integerDiv` d+ !_ `div` 0 = divZeroError+ n `div` d = n `integerDiv` d - {-# INLINE mod #-}- _ `mod` 0 = divZeroError- n `mod` d = n `integerMod` d+ !_ `mod` 0 = divZeroError+ n `mod` d = n `integerMod` d - {-# INLINE divMod #-}- _ `divMod` 0 = divZeroError- n `divMod` d = n `integerDivMod` d+ !_ `divMod` 0 = divZeroError+ n `divMod` d = n `integerDivMod` d - {-# INLINE quotRem #-}- _ `quotRem` 0 = divZeroError- n `quotRem` d = n `integerQuotRem` d+ !_ `quotRem` 0 = divZeroError+ n `quotRem` d = n `integerQuotRem` d -- | @since 4.8.0.0 instance Integral Natural where- toInteger x = integerFromNatural x-- {-# INLINE quot #-}- _ `quot` 0 = divZeroError- n `quot` d = n `naturalQuot` d+ -- see Note [INLINE division wrappers] in GHC.Base+ {-# INLINE quot #-}+ {-# INLINE rem #-}+ {-# INLINE quotRem #-}+ {-# INLINE div #-}+ {-# INLINE mod #-}+ {-# INLINE divMod #-} - {-# INLINE rem #-}- _ `rem` 0 = divZeroError- n `rem` d = n `naturalRem` d+ toInteger x = integerFromNatural x - {-# INLINE div #-}- _ `div` 0 = divZeroError- n `div` d = n `naturalQuot` d+ !_ `quot` 0 = divZeroError+ n `quot` d = n `naturalQuot` d - {-# INLINE mod #-}- _ `mod` 0 = divZeroError- n `mod` d = n `naturalRem` d+ !_ `rem` 0 = divZeroError+ n `rem` d = n `naturalRem` d - {-# INLINE divMod #-}- _ `divMod` 0 = divZeroError- n `divMod` d = n `naturalQuotRem` d+ !_ `quotRem` 0 = divZeroError+ n `quotRem` d = n `naturalQuotRem` d - {-# INLINE quotRem #-}- _ `quotRem` 0 = divZeroError- n `quotRem` d = n `naturalQuotRem` d+ div x y = quot x y+ mod x y = rem x y+ divMod x y = quotRem x y -------------------------------------------------------------- -- Instances for @Ratio@@@ -564,7 +604,10 @@ -- Coercions -------------------------------------------------------------- --- | general coercion from integral types+-- | General coercion from 'Integral' types.+--+-- WARNING: This function performs silent truncation if the result type is not+-- at least as big as the argument's type. {-# INLINE fromIntegral #-} -- Inlined to allow built-in rules to match. -- See Note [Optimising conversions between numeric types]@@ -572,9 +615,21 @@ fromIntegral :: (Integral a, Num b) => a -> b fromIntegral = fromInteger . toInteger --- | general coercion to fractional types+-- | General coercion to 'Fractional' types.+--+-- WARNING: This function goes through the 'Rational' type, which does not have values for 'NaN' for example.+-- This means it does not round-trip.+--+-- For 'Double' it also behaves differently with or without -O0:+--+-- > Prelude> realToFrac nan -- With -O0+-- > -Infinity+-- > Prelude> realToFrac nan+-- > NaN realToFrac :: (Real a, Fractional b) => a -> b {-# NOINLINE [1] realToFrac #-}+-- See Note [Allow time for type-specialisation rules to fire]+-- These rule actually appear in other modules, e.g. GHC.Float realToFrac = fromRational . toRational --------------------------------------------------------------@@ -623,47 +678,48 @@ x ^^ n = if n >= 0 then x^n else recip (x^(negate n)) {- Note [Half of y - 1]- ~~~~~~~~~~~~~~~~~~~~~- Since y is guaranteed to be odd and positive here,- half of y - 1 can be computed as y `quot` 2, optimising subtraction away.--}+~~~~~~~~~~~~~~~~~~~~~~~~+Since y is guaranteed to be odd and positive here,+half of y - 1 can be computed as y `quot` 2, optimising subtraction away. -{- Note [Inlining (^)- ~~~~~~~~~~~~~~~~~~~~~- The INLINABLE pragma allows (^) to be specialised at its call sites.- If it is called repeatedly at the same type, that can make a huge- difference, because of those constants which can be repeatedly- calculated.+Note [Inlining (^)+~~~~~~~~~~~~~~~~~~+The INLINABLE pragma allows (^) to be specialised at its call sites.+If it is called repeatedly at the same type, that can make a huge+difference, because of those constants which can be repeatedly+calculated. - Currently the fromInteger calls are not floated because we get- \d1 d2 x y -> blah- after the gentle round of simplification. -}+Currently the fromInteger calls are not floated because we get+ \d1 d2 x y -> blah+after the gentle round of simplification. -{- Rules for powers with known small exponent- see #5237- For small exponents, (^) is inefficient compared to manually- expanding the multiplication tree.- Here, rules for the most common exponent types are given.- The range of exponents for which rules are given is quite- arbitrary and kept small to not unduly increase the number of rules.- 0 and 1 are excluded based on the assumption that nobody would- write x^0 or x^1 in code and the cases where an exponent could- be statically resolved to 0 or 1 are rare.+Note [Powers with small exponent]+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+For small exponents, (^) is inefficient compared to manually+expanding the multiplication tree (see #5237). - It might be desirable to have corresponding rules also for- exponents of other types (e. g., Word), but it's doubtful they- would fire, since the exponents of other types tend to get- floated out before the rule has a chance to fire.+Here, rules for the most common exponent types are given.+The range of exponents for which rules are given is quite+arbitrary and kept small to not unduly increase the number of rules.+0 and 1 are excluded based on the assumption that nobody would+write x^0 or x^1 in code and the cases where an exponent could+be statically resolved to 0 or 1 are rare. - Also desirable would be rules for (^^), but I haven't managed- to get those to fire.+It might be desirable to have corresponding rules also for+exponents of other types (e. g., Word), but it's doubtful they+would fire, since the exponents of other types tend to get+floated out before the rule has a chance to fire. - Note: Trying to save multiplications by sharing the square for- exponents 4 and 5 does not save time, indeed, for Double, it is- up to twice slower, so the rules contain flat sequences of- multiplications.+Also desirable would be rules for (^^), but I haven't managed+to get those to fire.++Note: Trying to save multiplications by sharing the square for+exponents 4 and 5 does not save time, indeed, for Double, it is+up to twice slower, so the rules contain flat sequences of+multiplications. -} +-- See Note [Powers with small exponent] {-# RULES "^2/Int" forall x. x ^ (2 :: Int) = let u = x in u*u "^3/Int" forall x. x ^ (3 :: Int) = let u = x in u*u*u@@ -745,7 +801,9 @@ -- the result may be negative if one of the arguments is @'minBound'@ (and -- necessarily is if the other is @0@ or @'minBound'@) for such types. gcd :: (Integral a) => a -> a -> a-{-# NOINLINE [1] gcd #-}+{-# SPECIALISE gcd :: Int -> Int -> Int #-}+{-# SPECIALISE gcd :: Word -> Word -> Word #-}+{-# NOINLINE [2] gcd #-} -- See Note [Allow time for type-specialisation rules to fire] gcd x y = gcd' (abs x) (abs y) where gcd' a 0 = a gcd' a b = gcd' b (a `rem` b)@@ -754,7 +812,7 @@ lcm :: (Integral a) => a -> a -> a {-# SPECIALISE lcm :: Int -> Int -> Int #-} {-# SPECIALISE lcm :: Word -> Word -> Word #-}-{-# NOINLINE [1] lcm #-}+{-# NOINLINE [2] lcm #-} -- See Note [Allow time for type-specialisation rules to fire] lcm _ 0 = 0 lcm 0 _ = 0 lcm x y = abs ((x `quot` (gcd x y)) * y)
GHC/ResponseFile.hs view
@@ -77,7 +77,7 @@ -- are between the original, un-concatenated list of strings. These -- added whitespace characters are removed from the output. ----- > unescapeArgs "hello\\ \\\"world\\\"\n" == escapeArgs "hello \"world\""+-- > unescapeArgs "hello\\ \\\"world\\\"\n" == ["hello \"world\""] unescapeArgs :: String -> [String] unescapeArgs = filter (not . null) . unescape @@ -96,7 +96,7 @@ -- and thus will always escape any whitespace, quotes, and -- backslashes. ----- > unescapeArgs "hello\\ \\\"world\\\"\\n" == escapeArgs "hello \"world\""+-- > escapeArgs ["hello \"world\""] == "hello\\ \\\"world\\\"\n" escapeArgs :: [String] -> String escapeArgs = unlines . map escapeArg
GHC/ST.hs view
@@ -26,7 +26,6 @@ import GHC.Base import GHC.Show-import Control.Monad.Fail default () @@ -77,10 +76,6 @@ case (m s) of { (# new_s, r #) -> case (k r) of { ST k2 -> (k2 new_s) }})---- | @since 4.11.0.0-instance MonadFail (ST s) where- fail s = errorWithoutStackTrace s -- | @since 4.11.0.0 instance Semigroup a => Semigroup (ST s a) where
GHC/Show.hs view
@@ -202,9 +202,11 @@ showWord :: Word# -> ShowS showWord w# cs | isTrue# (w# `ltWord#` 10##) = C# (chr# (ord# '0'# +# word2Int# w#)) : cs- | otherwise = case chr# (ord# '0'# +# word2Int# (w# `remWord#` 10##)) of- c# ->- showWord (w# `quotWord#` 10##) (C# c# : cs)+ | otherwise =+ let+ !(# q, r #) = quotRemWord# w# 10##+ !c# = chr# (ord# '0'# +# word2Int# r)+ in showWord q (C# c# : cs) -- | @since 2.01 deriving instance Show a => Show (Maybe a)
GHC/Stable.hs view
@@ -81,7 +81,7 @@ -- | -- Coerce a stable pointer to an address. No guarantees are made about -- the resulting value, except that the original stable pointer can be--- recovered by 'castPtrToStablePtr'. In particular, the address may not+-- recovered by 'castPtrToStablePtr'. In particular, the address might not -- refer to an accessible memory location and any attempt to pass it to -- the member functions of the class 'Foreign.Storable.Storable' leads to -- undefined behaviour.
GHC/StableName.hs view
@@ -9,7 +9,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable -- -- Stable names are a way of performing fast ( \(\mathcal{O}(1)\) ),
GHC/Stack/CCS.hsc view
@@ -34,7 +34,11 @@ ccModule, ccSrcSpan, ccsToStrings,- renderStack+ renderStack,+ ipeProv,+ peekInfoProv,+ InfoProv(..),+ InfoProvEnt, ) where import Foreign@@ -45,6 +49,7 @@ import GHC.Foreign as GHC import GHC.IO.Encoding import GHC.List ( concatMap, reverse )+import GHC.Show (Show) #define PROFILING #include "Rts.h"@@ -139,7 +144,14 @@ -- Static Closure Information -data InfoProv+data InfoProv = InfoProv {+ ipName :: String,+ ipDesc :: String,+ ipTyDesc :: String,+ ipLabel :: String,+ ipMod :: String,+ ipLoc :: String+} deriving (Eq, Show) data InfoProvEnt getIPE :: a -> IO (Ptr InfoProvEnt)@@ -150,25 +162,31 @@ ipeProv :: Ptr InfoProvEnt -> Ptr InfoProv ipeProv p = (#ptr InfoProvEnt, prov) p -ipName, ipDesc, ipLabel, ipModule, ipSrcLoc, ipTyDesc :: Ptr InfoProv -> IO CString-ipName p = (# peek InfoProv, table_name) p-ipDesc p = (# peek InfoProv, closure_desc) p-ipLabel p = (# peek InfoProv, label) p-ipModule p = (# peek InfoProv, module) p-ipSrcLoc p = (# peek InfoProv, srcloc) p-ipTyDesc p = (# peek InfoProv, ty_desc) p+peekIpName, peekIpDesc, peekIpLabel, peekIpModule, peekIpSrcLoc, peekIpTyDesc :: Ptr InfoProv -> IO CString+peekIpName p = (# peek InfoProv, table_name) p+peekIpDesc p = (# peek InfoProv, closure_desc) p+peekIpLabel p = (# peek InfoProv, label) p+peekIpModule p = (# peek InfoProv, module) p+peekIpSrcLoc p = (# peek InfoProv, srcloc) p+peekIpTyDesc p = (# peek InfoProv, ty_desc) p -infoProvToStrings :: Ptr InfoProv -> IO [String]-infoProvToStrings infop = do- name <- GHC.peekCString utf8 =<< ipName infop- desc <- GHC.peekCString utf8 =<< ipDesc infop- ty_desc <- GHC.peekCString utf8 =<< ipTyDesc infop- label <- GHC.peekCString utf8 =<< ipLabel infop- mod <- GHC.peekCString utf8 =<< ipModule infop- loc <- GHC.peekCString utf8 =<< ipSrcLoc infop- return [name, desc, ty_desc, label, mod, loc]+peekInfoProv :: Ptr InfoProv -> IO InfoProv+peekInfoProv infop = do+ name <- GHC.peekCString utf8 =<< peekIpName infop+ desc <- GHC.peekCString utf8 =<< peekIpDesc infop+ tyDesc <- GHC.peekCString utf8 =<< peekIpTyDesc infop+ label <- GHC.peekCString utf8 =<< peekIpLabel infop+ mod <- GHC.peekCString utf8 =<< peekIpModule infop+ loc <- GHC.peekCString utf8 =<< peekIpSrcLoc infop+ return InfoProv {+ ipName = name,+ ipDesc = desc,+ ipTyDesc = tyDesc,+ ipLabel = label,+ ipMod = mod,+ ipLoc = loc+ } --- TODO: Add structured output of whereFrom -- | Get information about where a value originated from. -- This information is stored statically in a binary when `-finfo-table-map` is -- enabled. The source positions will be greatly improved by also enabled debug@@ -178,7 +196,7 @@ -- The information is collect by looking at the info table address of a specific closure and -- then consulting a specially generated map (by `-finfo-table-map`) to find out where we think -- the best source position to describe that info table arose from.-whereFrom :: a -> IO [String]+whereFrom :: a -> IO (Maybe InfoProv) whereFrom obj = do ipe <- getIPE obj -- The primop returns the null pointer in two situations at the moment@@ -186,5 +204,7 @@ -- 2. -finfo-table-map is not enabled. -- It would be good to distinguish between these two cases somehow. if ipe == nullPtr- then return []- else infoProvToStrings (ipeProv ipe)+ then return Nothing+ else do+ infoProv <- peekInfoProv (ipeProv ipe)+ return $ Just infoProv
+ GHC/Stack/CloneStack.hs view
@@ -0,0 +1,264 @@+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE UnboxedTuples #-}+{-# LANGUAGE UnliftedFFITypes#-}+{-# LANGUAGE GHCForeignImportPrim #-}++-- |+-- This module exposes an interface for capturing the state of a thread's+-- execution stack for diagnostics purposes: 'cloneMyStack',+-- 'cloneThreadStack'.+--+-- Such a "cloned" stack can be decoded with 'decode' to a stack trace, given+-- that the @-finfo-table-map@ is enabled.+--+-- @since 4.17.0.0+module GHC.Stack.CloneStack (+ StackSnapshot(..),+ StackEntry(..),+ cloneMyStack,+ cloneThreadStack,+ decode+ ) where++import Control.Concurrent.MVar+import Data.Maybe (catMaybes)+import Foreign+import GHC.Conc.Sync+import GHC.Exts (Int (I#), RealWorld, StackSnapshot#, ThreadId#, Array#, sizeofArray#, indexArray#, State#, StablePtr#)+import GHC.IO (IO (..))+import GHC.Stack.CCS (InfoProv (..), InfoProvEnt, ipeProv, peekInfoProv)+import GHC.Stable++-- | A frozen snapshot of the state of an execution stack.+--+-- @since 4.17.0.0+data StackSnapshot = StackSnapshot !StackSnapshot#++foreign import prim "stg_decodeStackzh" decodeStack# :: StackSnapshot# -> State# RealWorld -> (# State# RealWorld, Array# (Ptr InfoProvEnt) #)++foreign import prim "stg_cloneMyStackzh" cloneMyStack# :: State# RealWorld -> (# State# RealWorld, StackSnapshot# #)++foreign import prim "stg_sendCloneStackMessagezh" sendCloneStackMessage# :: ThreadId# -> StablePtr# PrimMVar -> State# RealWorld -> (# State# RealWorld, (# #) #)++{-+Note [Stack Cloning]+~~~~~~~~~~~~~~~~~~~~+"Cloning" a stack means that it's `StgStack` closure is copied including the+stack memory (`stack[]`). Closures referenced by stack closures are not copied,+i.e. pointer payloads are still referred to by the same pointer.+In other words: Only those parts that are affected by stack evaluation are+"cloned".++The stack pointer (sp) of the clone is adjusted to be valid, i.e. to point into+the cloned stack.++The clone is "offline"/"cold", i.e. it won't be evaluated any further. This is+useful for further analyses like stack unwinding or traversal because all+pointers stay valid.++StackSnapshot#+--------------+A cloned stack is represented in Haskell by `StackSnapshot !StackSnapshot#`.+`StackSnapshot#` is a primitive type, it's value is a pointer to the stack in+RTS (`StgStack*`).++To take advantage of the garbage collector, the representation cannot be `Ptr`+or `StablePtr`:+- Closures referenced by a `Ptr` may be garbage collected at any time (without+ checking if it's still in use).+- `StablePtr` has to be freed explictly, which would introduce nasty state+ handling.++By using a primitive type, the stack closure (and its transitive closures) is+kept and managed by the garbage collector as long as it's in use and+automatically freed later.+As closures referred to by stack closures (e.g. payloads) may be used by other+closures that are not related to stack cloning, the memory has to be managed by+the garbage collector; i.e. one cannot simply call free() in the RTS C code+because it's hard to figure out what to free while the garbage collector is+built to do this job.++RTS interface+-------------+There are two different ways to clone a stack:+1. `cloneMyStack#` - A primop for cloning the active thread's stack.+2. `sendCloneStackMessage#` - A primop for cloning another thread's stack.+ Sends a RTS message (Messages.c) with a MVar to that thread. The cloned+ stack is reveived by taking it out of this MVar.++`cloneMyStack#` has to be a primop, because new primitive types+(`StackSnapshot#`) cannot be marshalled by FFI. Using a `Ptr StackSnapshot` as+FFI return type would not save the snapshot from being garbage collected, as+discussed in the section above.++C API+-------------+`cloneStack` is the function that really clones a given stack and returns+the clone:+`StgStack* cloneStack(Capability* capability, const StgStack* stack)`++It's called directly by `stg_cloneMyStackzh` (`PrimOps.cmm`), the+`cloneMyStack#` primop.++To clone another thread's stack, there's a message passing mechanism such that+the receiver's capability clones its. So, there's no need to stop/pause the+other thread as it's capability will fulfill the cloning request when it's+ready to do so.++The message is defined in `Closures.h`:++```+typedef struct MessageCloneStack_ {+ StgHeader header;+ Message *link;+ StgMVar *result;+ StgTSO *tso;+} MessageCloneStack;+```++The fields are:+- `header`: It's a closure and thus subject to garbage collection (no manual+ memory management needed)+- `link`: Messages form a singly linked list in `Capability`, referred to by+ `capability->inbox`.+- `result`: An `MVar`. When the message is sent it's empty, after cloning the+ `StackSnapshot` is put into it.+- `tso`: `tso->stackobj` is the stack to clone.++The asynchronous flow can be split into sending this message and putting the+cloned stack into the MVar (expecting the sender to get it from there).++Sending:+The public C function to send is+`void sendCloneStackMessage(StgTSO *tso, HsStablePtr mvar)`.+It prepares the message for the thread to clone (identified by it's `tso`) and+sets the `result` MVar (pointed to by `mvar`). Then it sends the message by+calling `sendMessage` which puts it into the Capabilities `inbox`.++Receiving:+Inbox processing is part of the big work finding loop in `schedule`. The+function that dispatches messages is `executeMessage`. From there+`void handleCloneStackMessage(MessageCloneStack *msg)` is called.++`handleCloneStackMessage` clones the stack, lifts the result to `StackSnapshot`+(MVar needs a lifted value, no primitive) and puts it into the MVar+(`msg->mvar`).+-}++{-+Note [Stack Decoding]+~~~~~~~~~~~~~~~~~~~~~+A cloned stack is decoded (unwound) by looking up the Info Table Provenance+Entries (IPE) for every stack frame with `lookupIPE` in the RTS.++The IPEs contain source locations and are pulled from the RTS/C world into+Haskell.++RTS interface+-------------++The primop decodeStack# returns an array of IPE pointers that are later+unmarshalled with HSC. If there is no IPE for a return frame (which can easily+happen when a library wasn't compiled with `-finfo-table-map`), it's+represented by a null pointer.++Caveats:+- decodeStack# has to be a primop (not a simple C FFI function), because+ there always has to be at least one active `TSO`. Otherwise, allocating+ memory with the garbage collector for the returned value fails.+- decodeStack# has to be defined outside of `primops.txt.pp` because its+ return type `Array# (Ptr InfoProvEnt)` cannot be defined there:+ `InfoProvEnt` and `Ptr` would have to be imported which seems to be too+ specific for this file.++Notes+-----+The relevant notes are:+ - Note [Mapping Info Tables to Source Positions]+ - Note [Stacktraces from Info Table Provenance Entries (IPE based stack unwinding)]+-}++-- | Clone the stack of the executing thread+--+-- @since 4.17.0.0+cloneMyStack :: IO StackSnapshot+cloneMyStack = IO $ \s ->+ case (cloneMyStack# s) of (# s1, stack #) -> (# s1, StackSnapshot stack #)++-- | Clone the stack of a thread identified by its 'ThreadId'+--+-- @since 4.17.0.0+cloneThreadStack :: ThreadId -> IO StackSnapshot+cloneThreadStack (ThreadId tid#) = do+ resultVar <- newEmptyMVar @StackSnapshot+ boxedPtr@(StablePtr ptr) <- newStablePtrPrimMVar resultVar+ -- Use the RTS's "message" mechanism to request that+ -- the thread captures its stack, saving the result+ -- into resultVar.+ IO $ \s -> case sendCloneStackMessage# tid# ptr s of (# s', (# #) #) -> (# s', () #)+ freeStablePtr boxedPtr+ takeMVar resultVar++-- | Represetation for the source location where a return frame was pushed on the stack.+-- This happens every time when a @case ... of@ scrutinee is evaluated.+data StackEntry = StackEntry+ { functionName :: String,+ moduleName :: String,+ srcLoc :: String,+ closureType :: Word+ }+ deriving (Show, Eq)++-- | Decode a 'StackSnapshot' to a stacktrace (a list of 'StackEntry').+-- The stack trace is created from return frames with according 'InfoProvEnt'+-- entries. To generate them, use the GHC flag @-finfo-table-map@. If there are+-- no 'InfoProvEnt' entries, an empty list is returned.+--+-- Please note:+--+-- * To gather 'StackEntry' from libraries, these have to be+-- compiled with @-finfo-table-map@, too.+-- * Due to optimizations by GHC (e.g. inlining) the stacktrace may change+-- with different GHC parameters and versions.+-- * The stack trace is empty (by design) if there are no return frames on+-- the stack. (These are pushed every time when a @case ... of@ scrutinee+-- is evaluated.)+--+-- @since 4.17.0.0+decode :: StackSnapshot -> IO [StackEntry]+decode stackSnapshot = do+ stackEntries <- getDecodedStackArray stackSnapshot+ ipes <- mapM unmarshall stackEntries+ return $ catMaybes ipes++ where+ unmarshall :: Ptr InfoProvEnt -> IO (Maybe StackEntry)+ unmarshall ipe = if ipe == nullPtr then+ pure Nothing+ else do+ infoProv <- (peekInfoProv . ipeProv) ipe+ pure $ Just (toStackEntry infoProv)+ toStackEntry :: InfoProv -> StackEntry+ toStackEntry infoProv =+ StackEntry+ { functionName = ipLabel infoProv,+ moduleName = ipMod infoProv,+ srcLoc = ipLoc infoProv,+ -- read looks dangerous, be we can trust that the closure type is always there.+ closureType = read . ipDesc $ infoProv+ }++getDecodedStackArray :: StackSnapshot -> IO [Ptr InfoProvEnt]+getDecodedStackArray (StackSnapshot s) =+ IO $ \s0 -> case decodeStack# s s0 of+ (# s1, a #) -> (# s1, (go a ((I# (sizeofArray# a)) - 1)) #)+ where+ go :: Array# (Ptr InfoProvEnt) -> Int -> [Ptr InfoProvEnt]+ go stack 0 = [stackEntryAt stack 0]+ go stack i = (stackEntryAt stack i) : go stack (i - 1)++ stackEntryAt :: Array# (Ptr InfoProvEnt) -> Int -> Ptr InfoProvEnt+ stackEntryAt stack (I# i) = case indexArray# stack i of+ (# se #) -> se
GHC/StaticPtr.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE CPP #-} {-# LANGUAGE ExistentialQuantification #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE UnboxedTuples #-}@@ -48,6 +47,7 @@ , IsStatic(..) ) where +import Data.Typeable (Typeable) import Foreign.C.Types (CInt(..)) import Foreign.Marshal (allocaArray, peekArray, withArray) import GHC.Ptr (Ptr(..), nullPtr)@@ -56,17 +56,11 @@ import GHC.Word (Word64(..)) -#include "MachDeps.h"- -- | A reference to a value of type @a@.-#if WORD_SIZE_IN_BITS < 64 data StaticPtr a = StaticPtr Word64# Word64# -- The flattened Fingerprint is -- convenient in the compiler. StaticPtrInfo a-#else-data StaticPtr a = StaticPtr Word# Word#- StaticPtrInfo a-#endif+ -- | Dereferences a static pointer. deRefStaticPtr :: StaticPtr a -> a deRefStaticPtr (StaticPtr _ _ _ v) = v@@ -97,8 +91,13 @@ foreign import ccall unsafe hs_spt_lookup :: Ptr Word64 -> IO (Ptr a) -- | A class for things buildable from static pointers.+--+-- GHC wraps each use of the 'static' keyword with+-- 'fromStaticPtr'. Because the 'static' keyword requires its argument+-- to be an instance of 'Typeable', 'fromStaticPtr' carries a+-- 'Typeable' constraint as well. class IsStatic p where- fromStaticPtr :: StaticPtr a -> p a+ fromStaticPtr :: Typeable a => StaticPtr a -> p a -- | @since 4.9.0.0 instance IsStatic StaticPtr where
GHC/TopHandler.hs view
@@ -52,14 +52,13 @@ -- Note [rts_setMainThread must be called unsafely] -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--- -- rts_setMainThread must be called as unsafe, because it -- dereferences the Weak# and manipulates the raw Haskell value -- behind it. Therefore, it must not race with a garbage collection. + -- Note [rts_setMainThread has an unsound type] -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--- -- 'rts_setMainThread' is imported with type Weak# ThreadId -> IO (), -- but this is an unsound type for it: it grabs the /key/ of the -- 'Weak#' object, which isn't tracked by the type at all.@@ -212,9 +211,9 @@ "encode an error message. Check that your locale is configured " ++ "properly." -{- Note [Disaster with iconv]-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-+{-+Note [Disaster with iconv]+~~~~~~~~~~~~~~~~~~~~~~~~~~ When using iconv, it's possible for things like iconv_open to fail in restricted environments (like an initram or restricted container), but when this happens the error raised inevitably calls `peekCString`,
+ GHC/TypeError.hs view
@@ -0,0 +1,141 @@+{-# LANGUAGE Trustworthy #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE ExistentialQuantification #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE StandaloneKindSignatures #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_HADDOCK not-home #-}++{-|+This module exports the TypeError family, which is used to provide custom type+errors, and the ErrorMessage kind used to define these custom error messages.+This is a type-level analogue to the term level error function.++@since 4.16.0.0+-}++module GHC.TypeError+ ( ErrorMessage (..)+ , TypeError+ , Assert+ ) where++import Data.Bool+import GHC.Num.Integer () -- See Note [Depend on GHC.Num.Integer] in GHC.Base+import GHC.Types (Constraint, Symbol)++{-+Note [Custom type errors]+~~~~~~~~~~~~~~~~~~~~~~~~~+TypeError is used to provide custom type errors, similar to the term-level+error function. TypeError is somewhat magical: when the constraint solver+encounters a constraint where the RHS is TypeError, it reports the error to+GHC. Later, GHC renders this error for display to the user (see the function+GHC.Tc.Errors.mkUserTypeErrorReporter).++See also the wiki page on custom type errors:+https://gitlab.haskell.org/ghc/ghc/-/wikis/proposal/custom-type-errors+-}++-- | A description of a custom type error.+data {-kind-} ErrorMessage = Text Symbol+ -- ^ Show the text as is.++ | forall t. ShowType t+ -- ^ Pretty print the type.+ -- @ShowType :: k -> ErrorMessage@++ | ErrorMessage :<>: ErrorMessage+ -- ^ Put two pieces of error message next+ -- to each other.++ | ErrorMessage :$$: ErrorMessage+ -- ^ Stack two pieces of error message on top+ -- of each other.++infixl 5 :$$:+infixl 6 :<>:++-- | The type-level equivalent of 'Prelude.error'.+--+-- The polymorphic kind of this type allows it to be used in several settings.+-- For instance, it can be used as a constraint, e.g. to provide a better error+-- message for a non-existent instance,+--+-- @+-- -- in a context+-- instance TypeError (Text "Cannot 'Show' functions." :$$:+-- Text "Perhaps there is a missing argument?")+-- => Show (a -> b) where+-- showsPrec = error "unreachable"+-- @+--+-- It can also be placed on the right-hand side of a type-level function+-- to provide an error for an invalid case,+--+-- @+-- type family ByteSize x where+-- ByteSize Word16 = 2+-- ByteSize Word8 = 1+-- ByteSize a = TypeError (Text "The type " :<>: ShowType a :<>:+-- Text " is not exportable.")+-- @+--+-- @since 4.9.0.0+type family TypeError (a :: ErrorMessage) :: b where++{-+Note [Getting good error messages from boolean comparisons]+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+We want to write types like++ f :: forall (x :: Int) (y :: Int). (x <= y) => T x -> T y++so we need (<=) :: Int -> Int -> Constraint. We already have+(<=?) :: Int -> Int -> Bool, defined in Data.Type.Ord. One obvious way to get+(<=) is to say++ type (<=) x y = (x <=? y) ~ True++But suppose we call (f @4 @2); then we get the constraint (4 <=? 2) ~ True+which simplifies to False ~ True, which gives a very poor error message.++So we adopt a different idiom:++ type (<=) x y = Assert (x <=? y) (LeErrMsg x y)++The Assert function is defined so that++ Assert True msg ===> ()++so as soon as (x <=? y) evaluates to True, the Assert disappears. But as soon+as (x <=? y) is apart from True (i.e. cannot evaluate to True) the second+equation of Assert kicks in, and++ Assert non-true msg ==> msg+-}++-- | A type-level assert function.+--+-- If the first argument evaluates to true, then the empty constraint is+-- returned, otherwise the second argument (which is intended to be something+-- which reduces to 'TypeError' is used).+--+-- For example, given some type level predicate @P' :: Type -> Bool@, it is+-- possible to write the type synonym+--+-- @+-- type P a = Assert (P' a) (NotPError a)+-- @+--+-- where @NotPError@ reduces to a @TypeError@ which is reported if the+-- assertion fails.+--+-- @since 4.16.0.0+--+type Assert :: Bool -> Constraint -> Constraint+type family Assert check errMsg where+ Assert 'True _ = ()+ Assert _ errMsg = errMsg+ -- See Note [Getting good error messages from boolean comparisons]
GHC/TypeLits.hs view
@@ -10,7 +10,7 @@ {-# LANGUAGE RankNTypes #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE MagicHash #-}-{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE TypeApplications #-} {-| GHC's @DataKinds@ language extension lifts data constructors, natural@@ -58,13 +58,14 @@ ) where -import GHC.Base(Eq(..), Ord(..), Ordering(..), String, otherwise)+import GHC.Base(Eq(..), Ord(..), Ordering(..), String, otherwise, withDict) import GHC.Types(Symbol, Char)+import GHC.TypeError(ErrorMessage(..), TypeError) import GHC.Num(Integer, fromInteger) import GHC.Show(Show(..)) import GHC.Read(Read(..)) import GHC.Real(toInteger)-import GHC.Prim(magicDict, Proxy#)+import GHC.Prim(Proxy#) import Data.Maybe(Maybe(..)) import Data.Proxy (Proxy(..)) import Data.Type.Equality((:~:)(Refl))@@ -180,54 +181,6 @@ -- @since 4.10.0.0 type family AppendSymbol (m ::Symbol) (n :: Symbol) :: Symbol --- | A description of a custom type error.-data {-kind-} ErrorMessage = Text Symbol- -- ^ Show the text as is.-- | forall t. ShowType t- -- ^ Pretty print the type.- -- @ShowType :: k -> ErrorMessage@-- | ErrorMessage :<>: ErrorMessage- -- ^ Put two pieces of error message next- -- to each other.-- | ErrorMessage :$$: ErrorMessage- -- ^ Stack two pieces of error message on top- -- of each other.--infixl 5 :$$:-infixl 6 :<>:---- | The type-level equivalent of 'Prelude.error'.------ The polymorphic kind of this type allows it to be used in several settings.--- For instance, it can be used as a constraint, e.g. to provide a better error--- message for a non-existent instance,------ @--- -- in a context--- instance TypeError (Text "Cannot 'Show' functions." :$$:--- Text "Perhaps there is a missing argument?")--- => Show (a -> b) where--- showsPrec = error "unreachable"--- @------ It can also be placed on the right-hand side of a type-level function--- to provide an error for an invalid case,------ @--- type family ByteSize x where--- ByteSize Word16 = 2--- ByteSize Word8 = 1--- ByteSize a = TypeError (Text "The type " :<>: ShowType a :<>:--- Text " is not exportable.")--- @------ @since 4.9.0.0-type family TypeError (a :: ErrorMessage) :: b where-- -- Char-related type families -- | Extending a type-level symbol with a type-level character@@ -308,18 +261,16 @@ newtype SSymbol (s :: Symbol) = SSymbol String -data WrapS a b = WrapS (KnownSymbol a => Proxy a -> b)---- See Note [magicDictId magic] in "basicType/MkId.hs"-withSSymbol :: (KnownSymbol a => Proxy a -> b)+-- See Note [withDict] in "GHC.Tc.Instance.Class" in GHC+withSSymbol :: forall a b.+ (KnownSymbol a => Proxy a -> b) -> SSymbol a -> Proxy a -> b-withSSymbol f x y = magicDict (WrapS f) x y+withSSymbol f x y = withDict @(KnownSymbol a) x f y newtype SChar (s :: Char) = SChar Char -data WrapC a b = WrapC (KnownChar a => Proxy a -> b)---- See Note [q] in "basicType/MkId.hs"-withSChar :: (KnownChar a => Proxy a -> b)+-- See Note [withDict] in "GHC.Tc.Instance.Class" in GHC+withSChar :: forall a b.+ (KnownChar a => Proxy a -> b) -> SChar a -> Proxy a -> b-withSChar f x y = magicDict (WrapC f) x y+withSChar f x y = withDict @(KnownChar a) x f y
GHC/TypeNats.hs view
@@ -12,6 +12,7 @@ {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PolyKinds #-}+{-# LANGUAGE TypeApplications #-} {-| This module is an internal GHC module. It declares the constants used in the implementation of type-level natural numbers. The programmer interface@@ -38,12 +39,12 @@ ) where -import GHC.Base(Eq(..), Ord(..), otherwise)+import GHC.Base(Eq(..), Ord(..), otherwise, WithDict(..)) import GHC.Types import GHC.Num.Natural(Natural) import GHC.Show(Show(..)) import GHC.Read(Read(..))-import GHC.Prim(magicDict, Proxy#)+import GHC.Prim(Proxy#) import Data.Maybe(Maybe(..)) import Data.Proxy (Proxy(..)) import Data.Type.Equality((:~:)(Refl))@@ -91,8 +92,9 @@ someNatVal n = withSNat SomeNat (SNat n) Proxy {-# NOINLINE someNatVal #-} -- See Note [NOINLINE someNatVal] -{- Note [NOINLINE someNatVal]-+{-+Note [NOINLINE someNatVal]+~~~~~~~~~~~~~~~~~~~~~~~~~~ `someNatVal` converts a natural number to an existentially quantified dictionary for `KnownNat` (aka `SomeNat`). The existential quantification is very important, as it captures the fact that we don't know the type@@ -123,10 +125,10 @@ where type T = Any Nat `KnownNat` is the constructor for dictionaries for the class `KnownNat`.-See Note [magicDictId magic] in "basicType/MkId.hs" for details on how+See Note [withDict] in "GHC.Tc.Instance.Class" for details on how we actually construct the dictionary. -Note that using `Any Nat` is not really correct, as multilple calls to+Note that using `Any Nat` is not really correct, as multiple calls to `someNatVal` would violate coherence: type T = Any Nat@@ -243,9 +245,8 @@ newtype SNat (n :: Nat) = SNat Natural -data WrapN a b = WrapN (KnownNat a => Proxy a -> b)---- See Note [magicDictId magic] in "basicType/MkId.hs"-withSNat :: (KnownNat a => Proxy a -> b)+-- See Note [withDict] in "GHC.Tc.Instance.Class" in GHC+withSNat :: forall a b.+ (KnownNat a => Proxy a -> b) -> SNat a -> Proxy a -> b-withSNat f x y = magicDict (WrapN f) x y+withSNat f x y = withDict @(KnownNat a) x f y
GHC/Weak.hs view
@@ -78,14 +78,13 @@ for caches and memo tables where early finalization is benign. Finalizers /can/ be used reliably for types that are created explicitly-and have identity, such as @IORef@ and @MVar@. However, to place a-finalizer on one of these types, you should use the specific operation-provided for that type, e.g. @mkWeakIORef@ and @addMVarFinalizer@-respectively (the non-uniformity is accidental). These operations-attach the finalizer to the primitive object inside the box-(e.g. @MutVar#@ in the case of @IORef@), because attaching the-finalizer to the box itself fails when the outer box is optimised away-by the compiler.+and have identity, such as @IORef@, @MVar@, and @TVar@. However, to+place a finalizer on one of these types, you should use the specific+operation provided for that type, e.g. @mkWeakIORef@, @mkWeakMVar@ and+@mkWeakTVar@ respectively. These operations attach the finalizer to+the primitive object inside the box (e.g. @MutVar#@ in the case of+@IORef@), because attaching the finalizer to the box itself fails when+the outer box is optimised away by the compiler. -} data Weak v = Weak (Weak# v)
GHC/Word.hs view
@@ -48,11 +48,9 @@ import Data.Maybe -#if WORD_SIZE_IN_BITS < 64 import GHC.Prim-#endif- import GHC.Base+ import GHC.Bits import GHC.Enum import GHC.Num@@ -108,10 +106,10 @@ -- | @since 2.01 instance Num Word8 where- (W8# x#) + (W8# y#) = W8# (wordToWord8# ((word8ToWord# x#) `plusWord#` (word8ToWord# y#)))- (W8# x#) - (W8# y#) = W8# (wordToWord8# ((word8ToWord# x#) `minusWord#` (word8ToWord# y#)))- (W8# x#) * (W8# y#) = W8# (wordToWord8# ((word8ToWord# x#) `timesWord#` (word8ToWord# y#)))- negate (W8# x#) = W8# (wordToWord8# (int2Word# (negateInt# (word2Int# ((word8ToWord# x#))))))+ (W8# x#) + (W8# y#) = W8# (x# `plusWord8#` y#)+ (W8# x#) - (W8# y#) = W8# (x# `subWord8#` y#)+ (W8# x#) * (W8# y#) = W8# (x# `timesWord8#` y#)+ negate (W8# x#) = W8# (int8ToWord8# (negateInt8# (word8ToInt8# x#))) abs x = x signum 0 = 0 signum _ = 1@@ -143,27 +141,29 @@ -- | @since 2.01 instance Integral Word8 where+ -- see Note [INLINE division wrappers] in GHC.Base+ {-# INLINE quot #-}+ {-# INLINE rem #-}+ {-# INLINE quotRem #-}+ {-# INLINE div #-}+ {-# INLINE mod #-}+ {-# INLINE divMod #-}+ quot (W8# x#) y@(W8# y#)- | y /= 0 = W8# (wordToWord8# ((word8ToWord# x#) `quotWord#` (word8ToWord# y#)))+ | y /= 0 = W8# (x# `quotWord8#` y#) | otherwise = divZeroError rem (W8# x#) y@(W8# y#)- | y /= 0 = W8# (wordToWord8# ((word8ToWord# x#) `remWord#` (word8ToWord# y#)))- | otherwise = divZeroError- div (W8# x#) y@(W8# y#)- | y /= 0 = W8# (wordToWord8# ((word8ToWord# x#) `quotWord#` (word8ToWord# y#)))- | otherwise = divZeroError- mod (W8# x#) y@(W8# y#)- | y /= 0 = W8# (wordToWord8# ((word8ToWord# x#) `remWord#` (word8ToWord# y#)))+ | y /= 0 = W8# (x# `remWord8#` y#) | otherwise = divZeroError quotRem (W8# x#) y@(W8# y#)- | y /= 0 = case (word8ToWord# x#) `quotRemWord#` (word8ToWord# y#) of- (# q, r #) ->- (W8# (wordToWord8# q), W8# (wordToWord8# r))- | otherwise = divZeroError- divMod (W8# x#) y@(W8# y#)- | y /= 0 = (W8# (wordToWord8# ((word8ToWord# x#) `quotWord#` (word8ToWord# y#)))- ,W8# (wordToWord8# ((word8ToWord# x#) `remWord#` (word8ToWord# y#))))+ | y /= 0 = case x# `quotRemWord8#` y# of+ (# q, r #) -> (W8# q, W8# r) | otherwise = divZeroError++ div x y = quot x y+ mod x y = rem x y+ divMod x y = quotRem x y+ toInteger (W8# x#) = IS (word2Int# (word8ToWord# x#)) -- | @since 2.01@@ -210,8 +210,8 @@ bitSize i = finiteBitSize i isSigned _ = False popCount (W8# x#) = I# (word2Int# (popCnt8# (word8ToWord# x#)))- bit = bitDefault- testBit = testBitDefault+ bit i = bitDefault i+ testBit a i = testBitDefault a i -- | @since 4.6.0.0 instance FiniteBits Word8 where@@ -296,10 +296,10 @@ -- | @since 2.01 instance Num Word16 where- (W16# x#) + (W16# y#) = W16# (wordToWord16# ((word16ToWord# x#) `plusWord#` (word16ToWord# y#)))- (W16# x#) - (W16# y#) = W16# (wordToWord16# ((word16ToWord# x#) `minusWord#` (word16ToWord# y#)))- (W16# x#) * (W16# y#) = W16# (wordToWord16# ((word16ToWord# x#) `timesWord#` (word16ToWord# y#)))- negate (W16# x#) = W16# (wordToWord16# (int2Word# (negateInt# (word2Int# (word16ToWord# x#)))))+ (W16# x#) + (W16# y#) = W16# (x# `plusWord16#` y#)+ (W16# x#) - (W16# y#) = W16# (x# `subWord16#` y#)+ (W16# x#) * (W16# y#) = W16# (x# `timesWord16#` y#)+ negate (W16# x#) = W16# (int16ToWord16# (negateInt16# (word16ToInt16# x#))) abs x = x signum 0 = 0 signum _ = 1@@ -331,27 +331,29 @@ -- | @since 2.01 instance Integral Word16 where+ -- see Note [INLINE division wrappers] in GHC.Base+ {-# INLINE quot #-}+ {-# INLINE rem #-}+ {-# INLINE quotRem #-}+ {-# INLINE div #-}+ {-# INLINE mod #-}+ {-# INLINE divMod #-}+ quot (W16# x#) y@(W16# y#)- | y /= 0 = W16# (wordToWord16# ((word16ToWord# x#) `quotWord#` (word16ToWord# y#)))+ | y /= 0 = W16# (x# `quotWord16#` y#) | otherwise = divZeroError rem (W16# x#) y@(W16# y#)- | y /= 0 = W16# (wordToWord16# ((word16ToWord# x#) `remWord#` (word16ToWord# y#)))- | otherwise = divZeroError- div (W16# x#) y@(W16# y#)- | y /= 0 = W16# (wordToWord16# ((word16ToWord# x#) `quotWord#` (word16ToWord# y#)))- | otherwise = divZeroError- mod (W16# x#) y@(W16# y#)- | y /= 0 = W16# (wordToWord16# ((word16ToWord# x#) `remWord#` (word16ToWord# y#)))+ | y /= 0 = W16# (x# `remWord16#` y#) | otherwise = divZeroError quotRem (W16# x#) y@(W16# y#)- | y /= 0 = case (word16ToWord# x#) `quotRemWord#` (word16ToWord# y#) of- (# q, r #) ->- (W16# (wordToWord16# q), W16# (wordToWord16# r))- | otherwise = divZeroError- divMod (W16# x#) y@(W16# y#)- | y /= 0 = (W16# (wordToWord16# ((word16ToWord# x#) `quotWord#` (word16ToWord# y#)))- ,W16# (wordToWord16# ((word16ToWord# x#) `remWord#` (word16ToWord# y#))))+ | y /= 0 = case x# `quotRemWord16#` y# of+ (# q, r #) -> (W16# q, W16# r) | otherwise = divZeroError++ div x y = quot x y+ mod x y = rem x y+ divMod x y = quotRem x y+ toInteger (W16# x#) = IS (word2Int# (word16ToWord# x#)) -- | @since 2.01@@ -398,8 +400,8 @@ bitSize i = finiteBitSize i isSigned _ = False popCount (W16# x#) = I# (word2Int# (popCnt16# (word16ToWord# x#)))- bit = bitDefault- testBit = testBitDefault+ bit i = bitDefault i+ testBit a i = testBitDefault a i -- | @since 4.6.0.0 instance FiniteBits Word16 where@@ -522,10 +524,10 @@ -- | @since 2.01 instance Num Word32 where- (W32# x#) + (W32# y#) = W32# (wordToWord32# ((word32ToWord# x#) `plusWord#` (word32ToWord# y#)))- (W32# x#) - (W32# y#) = W32# (wordToWord32# ((word32ToWord# x#) `minusWord#` (word32ToWord# y#)))- (W32# x#) * (W32# y#) = W32# (wordToWord32# ((word32ToWord# x#) `timesWord#` (word32ToWord# y#)))- negate (W32# x#) = W32# (wordToWord32# (int2Word# (negateInt# (word2Int# (word32ToWord# x#)))))+ (W32# x#) + (W32# y#) = W32# (x# `plusWord32#` y#)+ (W32# x#) - (W32# y#) = W32# (x# `subWord32#` y#)+ (W32# x#) * (W32# y#) = W32# (x# `timesWord32#` y#)+ negate (W32# x#) = W32# (int32ToWord32# (negateInt32# (word32ToInt32# x#))) abs x = x signum 0 = 0 signum _ = 1@@ -567,27 +569,29 @@ -- | @since 2.01 instance Integral Word32 where+ -- see Note [INLINE division wrappers] in GHC.Base+ {-# INLINE quot #-}+ {-# INLINE rem #-}+ {-# INLINE quotRem #-}+ {-# INLINE div #-}+ {-# INLINE mod #-}+ {-# INLINE divMod #-}+ quot (W32# x#) y@(W32# y#)- | y /= 0 = W32# (wordToWord32# ((word32ToWord# x#) `quotWord#` (word32ToWord# y#)))+ | y /= 0 = W32# (x# `quotWord32#` y#) | otherwise = divZeroError rem (W32# x#) y@(W32# y#)- | y /= 0 = W32# (wordToWord32# ((word32ToWord# x#) `remWord#` (word32ToWord# y#)))- | otherwise = divZeroError- div (W32# x#) y@(W32# y#)- | y /= 0 = W32# (wordToWord32# ((word32ToWord# x#) `quotWord#` (word32ToWord# y#)))- | otherwise = divZeroError- mod (W32# x#) y@(W32# y#)- | y /= 0 = W32# (wordToWord32# ((word32ToWord# x#) `remWord#` (word32ToWord# y#)))+ | y /= 0 = W32# (x# `remWord32#` y#) | otherwise = divZeroError quotRem (W32# x#) y@(W32# y#)- | y /= 0 = case (word32ToWord# x#) `quotRemWord#` (word32ToWord# y#) of- (# q, r #) ->- (W32# (wordToWord32# q), W32# (wordToWord32# r))- | otherwise = divZeroError- divMod (W32# x#) y@(W32# y#)- | y /= 0 = (W32# (wordToWord32# ((word32ToWord# x#) `quotWord#` (word32ToWord# y#)))- ,W32# (wordToWord32# ((word32ToWord# x#) `remWord#` (word32ToWord# y#))))+ | y /= 0 = case x# `quotRemWord32#` y# of+ (# q, r #) -> (W32# q, W32# r) | otherwise = divZeroError++ div x y = quot x y+ mod x y = rem x y+ divMod x y = quotRem x y+ toInteger (W32# x#) = integerFromWord# (word32ToWord# x#) -- | @since 2.01@@ -623,8 +627,8 @@ bitSize i = finiteBitSize i isSigned _ = False popCount (W32# x#) = I# (word2Int# (popCnt32# (word32ToWord# x#)))- bit = bitDefault- testBit = testBitDefault+ bit i = bitDefault i+ testBit a i = testBitDefault a i -- | @since 4.6.0.0 instance FiniteBits Word32 where@@ -668,8 +672,6 @@ -- type Word64 ------------------------------------------------------------------------ -#if WORD_SIZE_IN_BITS < 64- data {-# CTYPE "HsWord64" #-} Word64 = W64# Word64# -- ^ 64-bit unsigned integer type @@ -704,9 +706,9 @@ -- | @since 2.01 instance Num Word64 where- (W64# x#) + (W64# y#) = W64# (int64ToWord64# (word64ToInt64# x# `plusInt64#` word64ToInt64# y#))- (W64# x#) - (W64# y#) = W64# (int64ToWord64# (word64ToInt64# x# `subInt64#` word64ToInt64# y#))- (W64# x#) * (W64# y#) = W64# (int64ToWord64# (word64ToInt64# x# `timesInt64#` word64ToInt64# y#))+ (W64# x#) + (W64# y#) = W64# (x# `plusWord64#` y#)+ (W64# x#) - (W64# y#) = W64# (x# `subWord64#` y#)+ (W64# x#) * (W64# y#) = W64# (x# `timesWord64#` y#) negate (W64# x#) = W64# (int64ToWord64# (negateInt64# (word64ToInt64# x#))) abs x = x signum 0 = 0@@ -728,6 +730,7 @@ | x <= fromIntegral (maxBound::Int) = I# (word2Int# (word64ToWord# x#)) | otherwise = fromEnumError "Word64" x+#if WORD_SIZE_IN_BITS < 64 -- See Note [Stable Unfolding for list producers] in GHC.Enum {-# INLINE enumFrom #-} enumFrom = integralEnumFrom@@ -740,27 +743,55 @@ -- See Note [Stable Unfolding for list producers] in GHC.Enum {-# INLINE enumFromThenTo #-} enumFromThenTo = integralEnumFromThenTo+#else+ -- use Word's Enum as it has better support for fusion. We can't use+ -- `boundedEnumFrom` and `boundedEnumFromThen` -- which use Int's Enum+ -- instance -- because Word64 isn't compatible with Int/Int64's domain.+ --+ -- See Note [Stable Unfolding for list producers] in GHC.Enum+ {-# INLINE enumFrom #-}+ enumFrom x = map fromIntegral (enumFrom (fromIntegral x :: Word))+ -- See Note [Stable Unfolding for list producers] in GHC.Enum+ {-# INLINE enumFromThen #-}+ enumFromThen x y = map fromIntegral (enumFromThen (fromIntegral x :: Word) (fromIntegral y))+ -- See Note [Stable Unfolding for list producers] in GHC.Enum+ {-# INLINE enumFromTo #-}+ enumFromTo x y = map fromIntegral (enumFromTo (fromIntegral x :: Word) (fromIntegral y))+ -- See Note [Stable Unfolding for list producers] in GHC.Enum+ {-# INLINE enumFromThenTo #-}+ enumFromThenTo x y z = map fromIntegral (enumFromThenTo (fromIntegral x :: Word) (fromIntegral y) (fromIntegral z))+#endif -- | @since 2.01 instance Integral Word64 where+ -- see Note [INLINE division wrappers] in GHC.Base+ {-# INLINE quot #-}+ {-# INLINE rem #-}+ {-# INLINE quotRem #-}+ {-# INLINE div #-}+ {-# INLINE mod #-}+ {-# INLINE divMod #-}+ quot (W64# x#) y@(W64# y#) | y /= 0 = W64# (x# `quotWord64#` y#) | otherwise = divZeroError rem (W64# x#) y@(W64# y#) | y /= 0 = W64# (x# `remWord64#` y#) | otherwise = divZeroError- div (W64# x#) y@(W64# y#)- | y /= 0 = W64# (x# `quotWord64#` y#)- | otherwise = divZeroError- mod (W64# x#) y@(W64# y#)- | y /= 0 = W64# (x# `remWord64#` y#)- | otherwise = divZeroError quotRem (W64# x#) y@(W64# y#)- | y /= 0 = (W64# (x# `quotWord64#` y#), W64# (x# `remWord64#` y#))- | otherwise = divZeroError- divMod (W64# x#) y@(W64# y#)+#if WORD_SIZE_IN_BITS < 64 | y /= 0 = (W64# (x# `quotWord64#` y#), W64# (x# `remWord64#` y#))+#else+ -- we don't have a `quotRemWord64#` primitive yet.+ | y /= 0 = case quotRemWord# (word64ToWord# x#) (word64ToWord# y#) of+ (# q, r #) -> (W64# (wordToWord64# q), W64# (wordToWord64# r))+#endif | otherwise = divZeroError++ div x y = quot x y+ mod x y = rem x y+ divMod x y = quotRem x y+ toInteger (W64# x#) = integerFromWord64# x# -- | @since 2.01@@ -775,14 +806,14 @@ (W64# x#) `xor` (W64# y#) = W64# (x# `xor64#` y#) complement (W64# x#) = W64# (not64# x#) (W64# x#) `shift` (I# i#)- | isTrue# (i# >=# 0#) = W64# (x# `shiftL64#` i#)- | otherwise = W64# (x# `shiftRL64#` negateInt# i#)+ | isTrue# (i# >=# 0#) = W64# (x# `shiftLWord64#` i#)+ | otherwise = W64# (x# `shiftRLWord64#` negateInt# i#) (W64# x#) `shiftL` (I# i#)- | isTrue# (i# >=# 0#) = W64# (x# `shiftL64#` i#)+ | isTrue# (i# >=# 0#) = W64# (x# `shiftLWord64#` i#) | otherwise = overflowError (W64# x#) `unsafeShiftL` (I# i#) = W64# (x# `uncheckedShiftL64#` i#) (W64# x#) `shiftR` (I# i#)- | isTrue# (i# >=# 0#) = W64# (x# `shiftRL64#` i#)+ | isTrue# (i# >=# 0#) = W64# (x# `shiftRLWord64#` i#) | otherwise = overflowError (W64# x#) `unsafeShiftR` (I# i#) = W64# (x# `uncheckedShiftRL64#` i#) (W64# x#) `rotate` (I# i#)@@ -795,199 +826,8 @@ bitSize i = finiteBitSize i isSigned _ = False popCount (W64# x#) = I# (word2Int# (popCnt64# x#))- bit = bitDefault- testBit = testBitDefault---- give the 64-bit shift operations the same treatment as the 32-bit--- ones (see GHC.Base), namely we wrap them in tests to catch the--- cases when we're shifting more than 64 bits to avoid unspecified--- behaviour in the C shift operations.--shiftL64#, shiftRL64# :: Word64# -> Int# -> Word64#--a `shiftL64#` b | isTrue# (b >=# 64#) = wordToWord64# 0##- | otherwise = a `uncheckedShiftL64#` b--a `shiftRL64#` b | isTrue# (b >=# 64#) = wordToWord64# 0##- | otherwise = a `uncheckedShiftRL64#` b--#else---- Word64 is represented in the same way as Word.--- Operations may assume and must ensure that it holds only values--- from its logical range.--data {-# CTYPE "HsWord64" #-} Word64 = W64# Word#--- ^ 64-bit unsigned integer type---- See GHC.Classes#matching_overloaded_methods_in_rules--- | @since 2.01-instance Eq Word64 where- (==) = eqWord64- (/=) = neWord64--eqWord64, neWord64 :: Word64 -> Word64 -> Bool-eqWord64 (W64# x) (W64# y) = isTrue# (x `eqWord#` y)-neWord64 (W64# x) (W64# y) = isTrue# (x `neWord#` y)-{-# INLINE [1] eqWord64 #-}-{-# INLINE [1] neWord64 #-}---- | @since 2.01-instance Ord Word64 where- (<) = ltWord64- (<=) = leWord64- (>=) = geWord64- (>) = gtWord64--{-# INLINE [1] gtWord64 #-}-{-# INLINE [1] geWord64 #-}-{-# INLINE [1] ltWord64 #-}-{-# INLINE [1] leWord64 #-}-gtWord64, geWord64, ltWord64, leWord64 :: Word64 -> Word64 -> Bool-(W64# x) `gtWord64` (W64# y) = isTrue# (x `gtWord#` y)-(W64# x) `geWord64` (W64# y) = isTrue# (x `geWord#` y)-(W64# x) `ltWord64` (W64# y) = isTrue# (x `ltWord#` y)-(W64# x) `leWord64` (W64# y) = isTrue# (x `leWord#` y)---- | @since 2.01-instance Num Word64 where- (W64# x#) + (W64# y#) = W64# (x# `plusWord#` y#)- (W64# x#) - (W64# y#) = W64# (x# `minusWord#` y#)- (W64# x#) * (W64# y#) = W64# (x# `timesWord#` y#)- negate (W64# x#) = W64# (int2Word# (negateInt# (word2Int# x#)))- abs x = x- signum 0 = 0- signum _ = 1- fromInteger i = W64# (integerToWord# i)---- | @since 2.01-instance Enum Word64 where- succ x- | x /= maxBound = x + 1- | otherwise = succError "Word64"- pred x- | x /= minBound = x - 1- | otherwise = predError "Word64"- toEnum i@(I# i#)- | i >= 0 = W64# (int2Word# i#)- | otherwise = toEnumError "Word64" i (minBound::Word64, maxBound::Word64)- fromEnum x@(W64# x#)- | x <= fromIntegral (maxBound::Int)- = I# (word2Int# x#)- | otherwise = fromEnumError "Word64" x--#if WORD_SIZE_IN_BITS < 64- -- See Note [Stable Unfolding for list producers] in GHC.Enum- {-# INLINE enumFrom #-}- enumFrom = integralEnumFrom- -- See Note [Stable Unfolding for list producers] in GHC.Enum- {-# INLINE enumFromThen #-}- enumFromThen = integralEnumFromThen- -- See Note [Stable Unfolding for list producers] in GHC.Enum- {-# INLINE enumFromTo #-}- enumFromTo = integralEnumFromTo- -- See Note [Stable Unfolding for list producers] in GHC.Enum- {-# INLINE enumFromThenTo #-}- enumFromThenTo = integralEnumFromThenTo-#else- -- See Note [Stable Unfolding for list producers] in GHC.Enum- {-# INLINABLE enumFrom #-}- enumFrom w- = map wordToWord64- $ enumFrom (word64ToWord w)-- -- See Note [Stable Unfolding for list producers] in GHC.Enum- {-# INLINABLE enumFromThen #-}- enumFromThen w s- = map wordToWord64- $ enumFromThen (word64ToWord w) (word64ToWord s)-- -- See Note [Stable Unfolding for list producers] in GHC.Enum- {-# INLINABLE enumFromTo #-}- enumFromTo w1 w2- = map wordToWord64- $ enumFromTo (word64ToWord w1) (word64ToWord w2)-- -- See Note [Stable Unfolding for list producers] in GHC.Enum- {-# INLINABLE enumFromThenTo #-}- enumFromThenTo w1 s w2- = map wordToWord64- $ enumFromThenTo (word64ToWord w1) (word64ToWord s) (word64ToWord w2)--word64ToWord :: Word64 -> Word-word64ToWord (W64# w#) = (W# w#)--wordToWord64 :: Word -> Word64-wordToWord64 (W# w#) = (W64# w#)-#endif----- | @since 2.01-instance Integral Word64 where- quot (W64# x#) y@(W64# y#)- | y /= 0 = W64# (x# `quotWord#` y#)- | otherwise = divZeroError- rem (W64# x#) y@(W64# y#)- | y /= 0 = W64# (x# `remWord#` y#)- | otherwise = divZeroError- div (W64# x#) y@(W64# y#)- | y /= 0 = W64# (x# `quotWord#` y#)- | otherwise = divZeroError- mod (W64# x#) y@(W64# y#)- | y /= 0 = W64# (x# `remWord#` y#)- | otherwise = divZeroError- quotRem (W64# x#) y@(W64# y#)- | y /= 0 = case x# `quotRemWord#` y# of- (# q, r #) ->- (W64# q, W64# r)- | otherwise = divZeroError- divMod (W64# x#) y@(W64# y#)- | y /= 0 = (W64# (x# `quotWord#` y#), W64# (x# `remWord#` y#))- | otherwise = divZeroError- toInteger (W64# x#) = integerFromWord# x#---- | @since 2.01-instance Bits Word64 where- {-# INLINE shift #-}- {-# INLINE bit #-}- {-# INLINE testBit #-}- {-# INLINE popCount #-}-- (W64# x#) .&. (W64# y#) = W64# (x# `and#` y#)- (W64# x#) .|. (W64# y#) = W64# (x# `or#` y#)- (W64# x#) `xor` (W64# y#) = W64# (x# `xor#` y#)- complement (W64# x#) = W64# (not# x#)- (W64# x#) `shift` (I# i#)- | isTrue# (i# >=# 0#) = W64# (x# `shiftL#` i#)- | otherwise = W64# (x# `shiftRL#` negateInt# i#)- (W64# x#) `shiftL` (I# i#)- | isTrue# (i# >=# 0#) = W64# (x# `shiftL#` i#)- | otherwise = overflowError- (W64# x#) `unsafeShiftL` (I# i#) = W64# (x# `uncheckedShiftL#` i#)- (W64# x#) `shiftR` (I# i#)- | isTrue# (i# >=# 0#) = W64# (x# `shiftRL#` i#)- | otherwise = overflowError- (W64# x#) `unsafeShiftR` (I# i#) = W64# (x# `uncheckedShiftRL#` i#)- (W64# x#) `rotate` (I# i#)- | isTrue# (i'# ==# 0#) = W64# x#- | otherwise = W64# ((x# `uncheckedShiftL#` i'#) `or#`- (x# `uncheckedShiftRL#` (64# -# i'#)))- where- !i'# = word2Int# (int2Word# i# `and#` 63##)- bitSizeMaybe i = Just (finiteBitSize i)- bitSize i = finiteBitSize i- isSigned _ = False- popCount (W64# x#) = I# (word2Int# (popCnt64# x#))- bit = bitDefault- testBit = testBitDefault--uncheckedShiftL64# :: Word# -> Int# -> Word#-uncheckedShiftL64# = uncheckedShiftL#--uncheckedShiftRL64# :: Word# -> Int# -> Word#-uncheckedShiftRL64# = uncheckedShiftRL#--#endif+ bit i = bitDefault i+ testBit a i = testBitDefault a i -- | @since 4.6.0.0 instance FiniteBits Word64 where@@ -1019,13 +859,8 @@ -- | Reverse order of bytes in 'Word64'. -- -- @since 4.7.0.0-#if WORD_SIZE_IN_BITS < 64 byteSwap64 :: Word64 -> Word64 byteSwap64 (W64# w#) = W64# (byteSwap64# w#)-#else-byteSwap64 :: Word64 -> Word64-byteSwap64 (W64# w#) = W64# (byteSwap# w#)-#endif -- | Reverse the order of the bits in a 'Word8'. --@@ -1048,11 +883,22 @@ -- | Reverse the order of the bits in a 'Word64'. -- -- @since 4.14.0.0-#if WORD_SIZE_IN_BITS < 64 bitReverse64 :: Word64 -> Word64 bitReverse64 (W64# w#) = W64# (bitReverse64# w#)-#else-bitReverse64 :: Word64 -> Word64-bitReverse64 (W64# w#) = W64# (bitReverse# w#)-#endif++-------------------------------------------------------------------------------++-- unchecked shift primops may be lowered into C shift operations which have+-- unspecified behaviour if the amount of bits to shift is greater or equal to the word+-- size in bits.+-- The following safe shift operations wrap unchecked primops to take this into+-- account: 0 is consistently returned when the shift amount is too big.++shiftRLWord64# :: Word64# -> Int# -> Word64#+a `shiftRLWord64#` b = uncheckedShiftRL64# a b+ `and64#` int64ToWord64# (intToInt64# (shift_mask 64# b))++shiftLWord64# :: Word64# -> Int# -> Word64#+a `shiftLWord64#` b = uncheckedShiftL64# a b+ `and64#` int64ToWord64# (intToInt64# (shift_mask 64# b))
Numeric.hs view
@@ -78,7 +78,7 @@ -- ----------------------------------------------------------------------------- -- Reading --- | Reads an /unsigned/ 'Integral' value in an arbitrary base.+-- | Reads an /unsigned/ integral value in an arbitrary base. readInt :: Num a => a -- ^ the base -> (Char -> Bool) -- ^ a predicate distinguishing valid digits in this base@@ -277,10 +277,10 @@ -- | Shows a /non-negative/ 'Integral' number using the base specified by the -- first argument, and the character representation specified by the second.-showIntAtBase :: (Integral a, Show a) => a -> (Int -> Char) -> a -> ShowS+showIntAtBase :: Integral a => a -> (Int -> Char) -> a -> ShowS showIntAtBase base toChr n0 r0- | base <= 1 = errorWithoutStackTrace ("Numeric.showIntAtBase: applied to unsupported base " ++ show base)- | n0 < 0 = errorWithoutStackTrace ("Numeric.showIntAtBase: applied to negative number " ++ show n0)+ | base <= 1 = errorWithoutStackTrace ("Numeric.showIntAtBase: applied to unsupported base " ++ show (toInteger base))+ | n0 < 0 = errorWithoutStackTrace ("Numeric.showIntAtBase: applied to negative number " ++ show (toInteger n0)) | otherwise = showIt (quotRem n0 base) r0 where showIt (n,d) r = seq c $ -- stricter than necessary@@ -292,13 +292,13 @@ r' = c : r -- | Show /non-negative/ 'Integral' numbers in base 16.-showHex :: (Integral a,Show a) => a -> ShowS+showHex :: Integral a => a -> ShowS showHex = showIntAtBase 16 intToDigit -- | Show /non-negative/ 'Integral' numbers in base 8.-showOct :: (Integral a, Show a) => a -> ShowS+showOct :: Integral a => a -> ShowS showOct = showIntAtBase 8 intToDigit -- | Show /non-negative/ 'Integral' numbers in base 2.-showBin :: (Integral a, Show a) => a -> ShowS+showBin :: Integral a => a -> ShowS showBin = showIntAtBase 2 intToDigit
Prelude.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE Trustworthy #-} {-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE ExplicitNamespaces #-} ----------------------------------------------------------------------------- -- |@@ -159,6 +160,8 @@ -- ** Exception handling in the I\/O monad IOError, ioError, userError, + -- ** The equality types+ type (~) ) where import Control.Monad
System/CPUTime/Posix/ClockGetTime.hsc view
@@ -21,12 +21,12 @@ getCPUTime :: IO Integer getCPUTime = fmap snd $ withTimespec $ \ts -> throwErrnoIfMinus1_ "clock_gettime"- $ clock_gettime (#const CLOCK_PROCESS_CPUTIME_ID) ts+ $ clock_gettime cLOCK_PROCESS_CPUTIME_ID ts getCpuTimePrecision :: IO Integer getCpuTimePrecision = fmap snd $ withTimespec $ \ts -> throwErrnoIfMinus1_ "clock_getres"- $ clock_getres (#const CLOCK_PROCESS_CPUTIME_ID) ts+ $ clock_getres cLOCK_PROCESS_CPUTIME_ID ts data Timespec @@ -40,8 +40,9 @@ u_nsec <- (#peek struct timespec,tv_nsec) p_ts :: IO CLong return (r, cTimeToInteger u_sec * 1e12 + fromIntegral u_nsec * 1e3) -foreign import capi unsafe "time.h clock_getres" clock_getres :: CInt -> Ptr Timespec -> IO CInt-foreign import capi unsafe "time.h clock_gettime" clock_gettime :: CInt -> Ptr Timespec -> IO CInt+foreign import capi unsafe "time.h clock_getres" clock_getres :: CUIntPtr -> Ptr Timespec -> IO CInt+foreign import capi unsafe "time.h clock_gettime" clock_gettime :: CUIntPtr -> Ptr Timespec -> IO CInt+foreign import capi unsafe "time.h value CLOCK_PROCESS_CPUTIME_ID" cLOCK_PROCESS_CPUTIME_ID :: CUIntPtr #else
System/Console/GetOpt.hs view
@@ -7,7 +7,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- This library provides facilities for parsing the command-line options@@ -96,17 +96,17 @@ | ReqArg (String -> a) String -- ^ option requires argument | OptArg (Maybe String -> a) String -- ^ optional argument --- | @since 4.6.0.0+-- | @since 4.7.0.0 instance Functor ArgOrder where fmap _ RequireOrder = RequireOrder fmap _ Permute = Permute fmap f (ReturnInOrder g) = ReturnInOrder (f . g) --- | @since 4.6.0.0+-- | @since 4.7.0.0 instance Functor OptDescr where fmap f (Option a b argDescr c) = Option a b (fmap f argDescr) c --- | @since 4.6.0.0+-- | @since 4.7.0.0 instance Functor ArgDescr where fmap f (NoArg a) = NoArg (f a) fmap f (ReqArg g s) = ReqArg (f . g) s
System/Environment.hs view
@@ -19,6 +19,7 @@ ( getArgs, getProgName,+ executablePath, getExecutablePath, getEnv, lookupEnv,
System/Environment/ExecutablePath.hsc view
@@ -16,28 +16,36 @@ -- @since 4.6.0.0 ----------------------------------------------------------------------------- -module System.Environment.ExecutablePath ( getExecutablePath ) where+module System.Environment.ExecutablePath+ ( getExecutablePath+ , executablePath+ ) where -- The imports are purposely kept completely disjoint to prevent edits -- to one OS implementation from breaking another. #if defined(darwin_HOST_OS)+import Control.Exception (catch, throw) import Data.Word import Foreign.C import Foreign.Marshal.Alloc import Foreign.Ptr import Foreign.Storable+import System.IO.Error (isDoesNotExistError) import System.Posix.Internals #elif defined(linux_HOST_OS)+import Data.List (isSuffixOf) import Foreign.C import Foreign.Marshal.Array import System.Posix.Internals-#elif defined(freebsd_HOST_OS)+#elif defined(freebsd_HOST_OS) || defined(netbsd_HOST_OS)+import Control.Exception (catch, throw) import Foreign.C import Foreign.Marshal.Alloc import Foreign.Marshal.Array import Foreign.Ptr import Foreign.Storable+import System.IO.Error (isDoesNotExistError) import System.Posix.Internals #include <sys/types.h> #include <sys/sysctl.h>@@ -48,6 +56,7 @@ import Foreign.C import Foreign.Marshal.Array import Foreign.Ptr+import GHC.Windows #include <windows.h> #include <stdint.h> #else@@ -61,7 +70,9 @@ -- The exported function is defined outside any if-guard to make sure -- every OS implements it with the same type. --- | Returns the absolute pathname of the current executable.+-- | Returns the absolute pathname of the current executable,+-- or @argv[0]@ if the operating system does not provide a reliable+-- way query the current executable. -- -- Note that for scripts and interactive sessions, this is the path to -- the interpreter (e.g. ghci.)@@ -70,9 +81,31 @@ -- If an executable is launched through a symlink, 'getExecutablePath' -- returns the absolute path of the original executable. --+-- If the executable has been deleted, behaviour is ill-defined and+-- varies by operating system. See 'executablePath' for a more+-- reliable way to query the current executable.+-- -- @since 4.6.0.0 getExecutablePath :: IO FilePath +-- | Get an action to query the absolute pathname of the current executable.+--+-- If the operating system provides a reliable way to determine the current+-- executable, return the query action, otherwise return @Nothing@. The action+-- is defined on FreeBSD, Linux, MacOS, NetBSD, and Windows.+--+-- Even where the query action is defined, there may be situations where no+-- result is available, e.g. if the executable file was deleted while the+-- program is running. Therefore the result of the query action is a @Maybe+-- FilePath@.+--+-- Note that for scripts and interactive sessions, the result is the path to+-- the interpreter (e.g. ghci.)+--+-- @since 4.17.0.0+executablePath :: Maybe (IO (Maybe FilePath))++ -------------------------------------------------------------------------------- -- Mac OS X @@ -118,6 +151,12 @@ getExecutablePath = _NSGetExecutablePath >>= realpath +-- realpath(3) fails with ENOENT file does not exist (e.g. was deleted)+executablePath = Just (fmap Just getExecutablePath `catch` f)+ where+ f e | isDoesNotExistError e = pure Nothing+ | otherwise = throw e+ -------------------------------------------------------------------------------- -- Linux @@ -140,10 +179,18 @@ getExecutablePath = readSymbolicLink $ "/proc/self/exe" +executablePath = Just (check <$> getExecutablePath) where+ -- procfs(5): If the pathname has been unlinked, the symbolic link will+ -- contain the string '(deleted)' appended to the original pathname.+ --+ -- See also https://gitlab.haskell.org/ghc/ghc/-/issues/10957+ check s | "(deleted)" `isSuffixOf` s = Nothing+ | otherwise = Just s+ ----------------------------------------------------------------------------------- FreeBSD+-- FreeBSD / NetBSD -#elif defined(freebsd_HOST_OS)+#elif defined(freebsd_HOST_OS) || defined(netbsd_HOST_OS) foreign import ccall unsafe "sysctl" c_sysctl@@ -172,13 +219,31 @@ where barf = throwErrno "getExecutablePath" mib =+# if defined(freebsd_HOST_OS) [ (#const CTL_KERN) , (#const KERN_PROC) , (#const KERN_PROC_PATHNAME) , -1 -- current process ]+# elif defined(netbsd_HOST_OS)+ [ (#const CTL_KERN)+ , (#const KERN_PROC_ARGS)+ , -1 -- current process+ , (#const KERN_PROC_PATHNAME)+ ]+# endif +executablePath = Just (fmap Just getExecutablePath `catch` f)+ where+ -- The sysctl fails with errno ENOENT when executable has been deleted;+ -- see https://gitlab.haskell.org/ghc/ghc/-/issues/12377#note_321346.+ f e | isDoesNotExistError e = pure Nothing + -- As far as I know, ENOENT is the only kind of failure that should be+ -- expected and handled. Re-throw other errors.+ | otherwise = throw e++ -------------------------------------------------------------------------------- -- Windows @@ -207,6 +272,10 @@ else fail path | otherwise -> go (size * 2) +-- Windows prevents deletion of executable file while program is running.+-- Therefore return @Just@ of the result.+executablePath = Just (Just <$> getExecutablePath)+ -- | Returns the final path of the given path. If the given -- path is a symbolic link, the returned value is the -- path the (possibly chain of) symbolic link(s) points to.@@ -218,7 +287,7 @@ getFinalPath :: FilePath -> IO FilePath getFinalPath path = withCWString path $ \s -> bracket (createFile s) c_closeHandle $ \h -> do- let invalid = h == wordPtrToPtr (#const (intptr_t)INVALID_HANDLE_VALUE)+ let invalid = h == iNVALID_HANDLE_VALUE if invalid then pure path else go h bufSize where go h sz = allocaArray (fromIntegral sz) $ \outPath -> do@@ -293,6 +362,8 @@ else errorWithoutStackTrace $ "getExecutablePath: " ++ msg where msg = "no OS specific implementation and program name couldn't be " ++ "found in argv"++executablePath = Nothing --------------------------------------------------------------------------------
System/IO.hs view
@@ -434,7 +434,6 @@ -- Note [Blackholing in fixIO] -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~--- -- We do our own explicit black holing here, because GHC's lazy -- blackholing isn't enough. In an infinite loop, GHC may run the IO -- computation a few times before it notices the loop, which is wrong.@@ -475,7 +474,9 @@ -> String -- ^ File name template. If the template is \"foo.ext\" then -- the created file will be \"fooXXX.ext\" where XXX is some -- random number. Note that this should not contain any path- -- separator characters.+ -- separator characters. On Windows, the template prefix may+ -- be truncated to 3 chars, e.g. \"foobar.ext\" will be+ -- \"fooXXX.ext\". -> IO (FilePath, Handle) openTempFile tmp_dir template = openTempFile' "openTempFile" tmp_dir template False 0o600
System/Info.hs view
@@ -8,7 +8,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : portable -- -- Information about the characteristics of the host
System/Mem/StableName.hs view
@@ -7,7 +7,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable -- -- Stable names are a way of performing fast ( \(\mathcal{O}(1)\) ),
System/Mem/Weak.hs view
@@ -7,7 +7,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable -- -- In general terms, a weak pointer is a reference to an object that is
System/Timeout.hs view
@@ -8,7 +8,7 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable -- -- Attach a timeout event to arbitrary 'IO' computations.
Text/Printf.hs view
@@ -1,5 +1,5 @@ {-# LANGUAGE Safe #-}-{-# LANGUAGE GADTs #-}+{-# LANGUAGE TypeOperators #-} {-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-} -----------------------------------------------------------------------------
Type/Reflection.hs view
@@ -9,16 +9,15 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org--- Stability : experimental+-- Stability : stable -- Portability : non-portable (requires GADTs and compiler support) -- -- This provides a type-indexed type representation mechanism, similar to that -- described by, -- -- * Simon Peyton-Jones, Stephanie Weirich, Richard Eisenberg,--- Dimitrios Vytiniotis. "A reflection on types."+-- Dimitrios Vytiniotis. "<https://www.microsoft.com/en-us/research/wp-content/uploads/2016/08/dynamic.pdf A reflection on types>". -- /Proc. Philip Wadler's 60th birthday Festschrift/, Edinburgh (April 2016).--- ([PDF](https://www.microsoft.com/en-us/research/wp-content/uploads/2016/08/dynamic.pdf)) -- -- The interface provides 'I.TypeRep', a type representation which can -- be safely decomposed and composed. See "Data.Dynamic" for an example of this.@@ -39,6 +38,7 @@ -- * Type representations -- ** Type-Indexed , I.TypeRep+ , pattern I.TypeRep , I.typeOf , pattern I.App, pattern I.Con, pattern I.Con', pattern I.Fun , I.typeRepTyCon
Unsafe/Coerce.hs view
@@ -22,8 +22,6 @@ import GHC.Arr (amap) -- For amap/unsafeCoerce rule import GHC.Base -import GHC.Types- {- Note [Implementing unsafeCoerce] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The implementation of unsafeCoerce is surprisingly subtle.@@ -166,15 +164,21 @@ (U7) We add a built-in RULE unsafeEqualityProof k t t ==> UnsafeRefl (Refl t)- to simplify the ase when the two tpyes are equal.+ to simplify the case when the two types are equal. (U8) The is a super-magic RULE in GHC.base map coerce = coerce- (see Note [Getting the map/coerce RULE to work] in CoreOpt)+ (see Note [Getting the map/coerce RULE to work] in GHC.Core.SimpleOpt) But it's all about turning coerce into a cast, and unsafeCoerce no longer does that. So we need a separate map/unsafeCoerce RULE, in this module. + Adding these RULES means we must delay inlinine unsafeCoerce+ until the RULES have had a chance to fire; hence the INLINE[1]+ pragma on unsafeCoerce. (Side note: this has the coincidental+ benefit of making the unsafeCoerce-based version of the `reflection`+ library work -- see #21575.)+ There are yet more wrinkles (U9) unsafeCoerce works only over types of kind `Type`.@@ -189,7 +193,7 @@ and similarly for unsafeCoerceAddr, unsafeCoerceInt, etc. -(U10) We also want a levity-polymorphic unsafeCoerce#:+(U10) We also want a representation-polymorphic unsafeCoerce#: unsafeCoerce# :: forall (r1 :: RuntimeRep) (r2 :: RuntimeRep) (a :: TYPE r1) (b :: TYPE r2).@@ -236,6 +240,9 @@ -- case unsafeEqualityProof of UnsafeRefl -> case blah of ... -- -- which is definitely better.+--+-- Why delay inlining to Phase 1? Because of the RULES for map/unsafeCoerce;+-- see (U8) in Note [Implementing unsafeCoerce] -- | Coerce a value from one type to another, bypassing the type-checker. --@@ -267,15 +274,19 @@ -- (which have different kinds!) because it's really just a newtype. -- Note: there is /no guarantee, at all/ that this behavior will be supported -- into perpetuity.+--+--+-- For safe zero-cost coercions you can instead use the 'Data.Coerce.coerce' function from+-- "Data.Coerce". unsafeCoerce :: forall (a :: Type) (b :: Type) . a -> b unsafeCoerce x = case unsafeEqualityProof @a @b of UnsafeRefl -> x unsafeCoerceUnlifted :: forall (a :: TYPE ('BoxedRep 'Unlifted)) (b :: TYPE ('BoxedRep 'Unlifted)) . a -> b--- Kind-homogeneous, but levity monomorphic (TYPE UnliftedRep)+-- Kind-homogeneous, but representation-monomorphic (TYPE UnliftedRep) unsafeCoerceUnlifted x = case unsafeEqualityProof @a @b of UnsafeRefl -> x unsafeCoerceAddr :: forall (a :: TYPE 'AddrRep) (b :: TYPE 'AddrRep) . a -> b--- Kind-homogeneous, but levity monomorphic (TYPE AddrRep)+-- Kind-homogeneous, but representation-monomorphic (TYPE AddrRep) unsafeCoerceAddr x = case unsafeEqualityProof @a @b of UnsafeRefl -> x -- | Highly, terribly dangerous coercion from one representation type@@ -286,7 +297,7 @@ (a :: TYPE r1) (b :: TYPE r2). a -> b unsafeCoerce# = error "GHC internal error: unsafeCoerce# not unfolded"--- See (U10) of Note [Implementing unsafeCorece]+-- See (U10) of Note [Implementing unsafeCoerce] -- The RHS is updated by Desugar.patchMagicDefns -- See Desugar Note [Wiring in unsafeCoerce#]
aclocal.m4 view
@@ -141,20 +141,20 @@ if test "$HTYPE_IS_INTEGRAL" -eq 0 then dnl If the C type isn't an integer, we check if it's a pointer type- dnl by trying to dereference one of its values. If that fails to+ dnl by trying to call memset() on it. If that fails to dnl compile, it's not a pointer, so we check to see if it's a dnl floating-point type. AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [FPTOOLS_HTYPE_INCLUDES],- [$1 val; *val;]+ [$1 val; memset(val, 0, 0);] )], [HTYPE_IS_POINTER=yes], [HTYPE_IS_POINTER=no]) if test "$HTYPE_IS_POINTER" = yes then- AC_CV_NAME="Ptr ()"+ AC_CV_NAME="CUIntPtr" else FP_COMPUTE_INT([HTYPE_IS_FLOAT],[sizeof($1) == sizeof(float)], [FPTOOLS_HTYPE_INCLUDES],@@ -252,4 +252,20 @@ $5], [$6])dnl AS_VAR_POPDEF([ac_Search])dnl+])++AC_DEFUN([FP_CHECK_ENVIRON],+[+ dnl--------------------------------------------------------------------+ dnl * Check whether the libc headers provide a declaration for the+ dnl environ symbol. If not then we will provide one in RtsSymbols.c.+ dnl See #20512, #20577, #20861.+ dnl+ dnl N.B. Windows declares environ in <stdlib.h>; most others declare it+ dnl in <unistd.h>.+ dnl--------------------------------------------------------------------+ AC_CHECK_DECLS([environ], [], [], [+ #include <stdlib.h>+ #include <unistd.h>+ ]) ])
base.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: base-version: 4.16.4.0+version: 4.17.0.0 -- NOTE: Don't forget to update ./changelog.md license: BSD-3-Clause@@ -27,8 +27,6 @@ aclocal.m4 base.buildinfo.in changelog.md- config.guess- config.sub configure configure.ac include/CTypes.h@@ -88,7 +86,7 @@ build-depends: rts == 1.0.*,- ghc-prim >= 0.5.1.0 && < 0.9,+ ghc-prim >= 0.5.1.0 && < 0.10, ghc-bignum >= 1.0 && < 2.0 exposed-modules:@@ -115,6 +113,7 @@ Control.Monad.ST.Strict Control.Monad.ST.Unsafe Control.Monad.Zip+ Data.Array.Byte Data.Bifoldable Data.Bifunctor Data.Bitraversable@@ -188,6 +187,7 @@ Foreign.StablePtr Foreign.Storable GHC.Arr+ GHC.ArrayArray GHC.Base GHC.Bits GHC.ByteOrder@@ -249,6 +249,7 @@ GHC.Int GHC.Integer GHC.Integer.Logarithms+ GHC.IsList GHC.Ix GHC.List GHC.Maybe@@ -266,6 +267,7 @@ GHC.ResponseFile GHC.RTS.Flags GHC.ST+ GHC.Stack.CloneStack GHC.StaticPtr GHC.STRef GHC.Show@@ -277,6 +279,7 @@ GHC.Stats GHC.Storable GHC.TopHandler+ GHC.TypeError GHC.TypeLits GHC.TypeLits.Internal GHC.TypeNats@@ -360,6 +363,7 @@ cmm-sources: cbits/CastFloatWord.cmm+ cbits/StackCloningDecoding.cmm include-dirs: include includes:@@ -373,8 +377,6 @@ if os(windows) -- Windows requires some extra libraries for linking because the RTS -- is no longer re-exporting them.- -- msvcrt: standard C library. The RTS will automatically include this,- -- but is added for completeness. -- mingwex: provides C99 compatibility. libm is a stub on MingW. -- mingw32: Unfortunately required because of a resource leak between -- mingwex and mingw32. the __math_err symbol is defined in@@ -384,8 +386,11 @@ -- ole32: provides UUID functionality. -- rpcrt4: provides RPC UUID creation. -- ntdll: provides access to functions to inspect window handles- extra-libraries: wsock32, user32, shell32, msvcrt, mingw32,- mingwex, ws2_32, shlwapi, ole32, rpcrt4, ntdll+ -- 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
+ cbits/StackCloningDecoding.cmm view
@@ -0,0 +1,26 @@+#include "Cmm.h"++stg_cloneMyStackzh () {+ gcptr stgStack;+ gcptr clonedStack;++ stgStack = StgTSO_stackobj(CurrentTSO);+ StgStack_sp(stgStack) = Sp;++ ("ptr" clonedStack) = ccall cloneStack(MyCapability() "ptr", stgStack "ptr");++ return (clonedStack);+}++stg_sendCloneStackMessagezh (gcptr threadId, gcptr mVarStablePtr) {+ ccall sendCloneStackMessage(threadId "ptr", mVarStablePtr "ptr");++ return ();+}++stg_decodeStackzh (gcptr stgStack) {+ gcptr stackEntries;+ ("ptr" stackEntries) = ccall decodeClonedStack(MyCapability() "ptr", stgStack "ptr");++ return (stackEntries);+}
cbits/inputReady.c view
@@ -21,8 +21,8 @@ #endif /* select and supporting types is not Posix */-/* #include "PosixSource.h" */-#include "Rts.h"+/* #include <rts/PosixSource.h> */+#include <Rts.h> #include <limits.h> #include <stdbool.h> #include "HsBase.h"@@ -168,7 +168,7 @@ Time remaining = MSToTime(msecs); // Note [Guaranteed syscall time spent]- //+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // The implementation ensures that if fdReady() is called with N `msecs`, // it will not return before an FD-polling syscall *returns* // with `endTime` having passed.
changelog.md view
@@ -1,29 +1,83 @@ # Changelog for [`base` package](http://hackage.haskell.org/package/base) -## 4.16.4.0 *Nov 2022*+## 4.17.0.0 *August 2022* - * Shipped with GHC 9.2.5+ * Add explicitly bidirectional `pattern TypeRep` to `Type.Reflection`. - * Fix races in IOManager (setNumCapabilities,closeFdWith) (#21651)+ * Add `Generically` and `Generically1` to `GHC.Generics` for deriving generic+ instances with `DerivingVia`. `Generically` instances include `Semigroup` and+ `Monoid`. `Generically1` instances: `Functor`, `Applicative`, `Alternative`,+ `Eq1` and `Ord1`. - * winio: do not re-translate input when handle is uncooked+ * Introduce `GHC.ExecutablePath.executablePath`, which is more robust than+ `getExecutablePath` in cases when the executable has been deleted. -## 4.16.3.0 *May 2022*+ * Add `Data.Array.Byte` module, providing boxed `ByteArray#` and `MutableByteArray#` wrappers. - * Shipped with GHC 9.2.4+ * `fromEnum` for `Natural` now throws an error for any number that cannot be+ repesented exactly by an `Int` (#20291). - * winio: make consoleReadNonBlocking not wait for any events at all.+ * `returnA` is defined as `Control.Category.id` instead of `arr id`. - * winio: Add support to console handles to handleToHANDLE+ * Added symbolic synonyms for `xor` and shift operators to `Data.Bits`: -## 4.16.2.0 *May 2022*+ - `.^.` (`xor`),+ - `.>>.` and `!>>.` (`shiftR` and `unsafeShiftR`),+ - `.<<.` and `!<<.` (`shiftL` and `unsafeShiftL`). - * Shipped with GHC 9.2.2+ These new operators have the same fixity as the originals. - * Export GHC.Event.Internal on Windows (#21245)+ * `GHC.Exts` now re-exports `Multiplicity` and `MultMul`. - # Documentation Fixes+ * A large number of partial functions in `Data.List` and `Data.List.NonEmpty` now+ have an HasCallStack constraint. Hopefully providing better error messages in case+ they are used in unexpected ways. + * Fix the `Ord1` instance for `Data.Ord.Down` to reverse sort order.++ * Any Haskell type that wraps a C pointer type has been changed from+ `Ptr ()` to `CUIntPtr`. For typical glibc based platforms, the+ affected type is `CTimer`.++ * Remove instances of `MonadFail` for the `ST` monad (lazy and strict) as per+ the [Core Libraries proposal](https://github.com/haskell/core-libraries-committee/issues/33).+ A [migration guide](https://github.com/haskell/core-libraries-committee/blob/main/guides/no-monadfail-st-inst.md)+ is available.++ * Re-export `augment` and `build` function from `GHC.List`++ * Re-export the `IsList` typeclass from the new `GHC.IsList` module.++ * There's a new special function ``withDict`` in ``GHC.Exts``: ::++ withDict :: forall {rr :: RuntimeRep} cls meth (r :: TYPE rr). WithDict cls meth => meth -> (cls => r) -> r++ where ``cls`` must be a class containing exactly one method, whose type+ must be ``meth``.++ This function converts ``meth`` to a type class dictionary.+ It removes the need for ``unsafeCoerce`` in implementation of reflection+ libraries. It should be used with care, because it can introduce+ incoherent instances.++ For example, the ``withTypeable`` function from the+ ``Type.Reflection`` module can now be defined as: ::++ withTypeable :: forall k (a :: k) rep (r :: TYPE rep). ()+ => TypeRep a -> (Typeable a => r) -> r+ withTypeable rep k = withDict @(Typeable a) rep k++ Note that the explicit type application is required, as the call to+ ``withDict`` would be ambiguous otherwise.++ This replaces the old ``GHC.Exts.magicDict``, which required+ an intermediate data type and was less reliable.++ * `Data.Word.Word64` and `Data.Int.Int64` are now always represented by+ `Word64#` and `Int64#`, respectively. Previously on 32-bit platforms these+ were rather represented by `Word#` and `Int#`. See GHC #11953.++ ## 4.16.1.0 *Feb 2022* * Shipped with GHC 9.2.2@@ -35,8 +89,6 @@ ## 4.16.0.0 *Nov 2021* - * Shipped with GHC 9.2.1- * The unary tuple type, `Solo`, is now exported by `Data.Tuple`. * Add a `Typeable` constraint to `fromStaticPtr` in the class `GHC.StaticPtr.IsStatic`.@@ -87,10 +139,13 @@ * `fromInteger :: Integer -> Float/Double` now consistently round to the nearest value, with ties to even. - * The `Data.Int.Int{8,16,32}` (resp. `Data.Word.Word{8,16,32}`) types are now- represented by their associated fixed-width unlifted types rather than- `Int#` (resp. `Word#`).+ * Add `GHC.TypeError` module to contain functionality related to custom type+ errors. `TypeError` is re-exported from `GHC.TypeLits` for backwards+ compatibility. + * Comparison constraints in `Data.Type.Ord` (e.g. `<=`) now use the new+ `GHC.TypeError.Assert` type family instead of type equality with `~`.+ * Additions to `Data.Bits`: - Newtypes `And`, `Ior`, `Xor` and `Iff` which wrap their argument,@@ -104,6 +159,9 @@ * `openFile` now calls the `open` system call with an `interruptible` FFI call, ensuring that the call can be interrupted with `SIGINT` on POSIX systems.++ * Make `openFile` more tolerant of asynchronous exceptions: more care taken+ to release the file descriptor and the read/write lock (#18832) * Add `hGetContents'`, `getContents'`, and `readFile'` in `System.IO`: Strict IO variants of `hGetContents`, `getContents`, and `readFile`.
− config.guess
@@ -1,1754 +0,0 @@-#! /bin/sh-# Attempt to guess a canonical system name.-# Copyright 1992-2022 Free Software Foundation, Inc.--# shellcheck disable=SC2006,SC2268 # see below for rationale--timestamp='2022-01-09'--# This file is free software; you can redistribute it and/or modify it-# under the terms of the GNU General Public License as published by-# the Free Software Foundation, either version 3 of the License, or-# (at your option) any later version.-#-# This program is distributed in the hope that it will be useful, but-# WITHOUT ANY WARRANTY; without even the implied warranty of-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU-# General Public License for more details.-#-# You should have received a copy of the GNU General Public License-# along with this program; if not, see <https://www.gnu.org/licenses/>.-#-# As a special exception to the GNU General Public License, if you-# distribute this file as part of a program that contains a-# configuration script generated by Autoconf, you may include it under-# the same distribution terms that you use for the rest of that-# program. This Exception is an additional permission under section 7-# of the GNU General Public License, version 3 ("GPLv3").-#-# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.-#-# You can get the latest version of this script from:-# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess-#-# Please send patches to <config-patches@gnu.org>.---# The "shellcheck disable" line above the timestamp inhibits complaints-# about features and limitations of the classic Bourne shell that were-# superseded or lifted in POSIX. However, this script identifies a wide-# variety of pre-POSIX systems that do not have POSIX shells at all, and-# even some reasonably current systems (Solaris 10 as case-in-point) still-# have a pre-POSIX /bin/sh.---me=`echo "$0" | sed -e 's,.*/,,'`--usage="\-Usage: $0 [OPTION]--Output the configuration name of the system \`$me' is run on.--Options:- -h, --help print this help, then exit- -t, --time-stamp print date of last modification, then exit- -v, --version print version number, then exit--Report bugs and patches to <config-patches@gnu.org>."--version="\-GNU config.guess ($timestamp)--Originally written by Per Bothner.-Copyright 1992-2022 Free Software Foundation, Inc.--This is free software; see the source for copying conditions. There is NO-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."--help="-Try \`$me --help' for more information."--# Parse command line-while test $# -gt 0 ; do- case $1 in- --time-stamp | --time* | -t )- echo "$timestamp" ; exit ;;- --version | -v )- echo "$version" ; exit ;;- --help | --h* | -h )- echo "$usage"; exit ;;- -- ) # Stop option processing- shift; break ;;- - ) # Use stdin as input.- break ;;- -* )- echo "$me: invalid option $1$help" >&2- exit 1 ;;- * )- break ;;- esac-done--if test $# != 0; then- echo "$me: too many arguments$help" >&2- exit 1-fi--# Just in case it came from the environment.-GUESS=--# CC_FOR_BUILD -- compiler used by this script. Note that the use of a-# compiler to aid in system detection is discouraged as it requires-# temporary files to be created and, as you can see below, it is a-# headache to deal with in a portable fashion.--# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still-# use `HOST_CC' if defined, but it is deprecated.--# Portable tmp directory creation inspired by the Autoconf team.--tmp=-# shellcheck disable=SC2172-trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15--set_cc_for_build() {- # prevent multiple calls if $tmp is already set- test "$tmp" && return 0- : "${TMPDIR=/tmp}"- # shellcheck disable=SC2039,SC3028- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }- dummy=$tmp/dummy- case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in- ,,) echo "int x;" > "$dummy.c"- for driver in cc gcc c89 c99 ; do- if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then- CC_FOR_BUILD=$driver- break- fi- done- if test x"$CC_FOR_BUILD" = x ; then- CC_FOR_BUILD=no_compiler_found- fi- ;;- ,,*) CC_FOR_BUILD=$CC ;;- ,*,*) CC_FOR_BUILD=$HOST_CC ;;- esac-}--# This is needed to find uname on a Pyramid OSx when run in the BSD universe.-# (ghazi@noc.rutgers.edu 1994-08-24)-if test -f /.attbin/uname ; then- PATH=$PATH:/.attbin ; export PATH-fi--UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown--case $UNAME_SYSTEM in-Linux|GNU|GNU/*)- LIBC=unknown-- set_cc_for_build- cat <<-EOF > "$dummy.c"- #include <features.h>- #if defined(__UCLIBC__)- LIBC=uclibc- #elif defined(__dietlibc__)- LIBC=dietlibc- #elif defined(__GLIBC__)- LIBC=gnu- #else- #include <stdarg.h>- /* First heuristic to detect musl libc. */- #ifdef __DEFINED_va_list- LIBC=musl- #endif- #endif- EOF- cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`- eval "$cc_set_libc"-- # Second heuristic to detect musl libc.- if [ "$LIBC" = unknown ] &&- command -v ldd >/dev/null &&- ldd --version 2>&1 | grep -q ^musl; then- LIBC=musl- fi-- # If the system lacks a compiler, then just pick glibc.- # We could probably try harder.- if [ "$LIBC" = unknown ]; then- LIBC=gnu- fi- ;;-esac--# Note: order is significant - the case branches are not exclusive.--case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in- *:NetBSD:*:*)- # NetBSD (nbsd) targets should (where applicable) match one or- # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,- # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently- # switched to ELF, *-*-netbsd* would select the old- # object file format. This provides both forward- # compatibility and a consistent mechanism for selecting the- # object file format.- #- # Note: NetBSD doesn't particularly care about the vendor- # portion of the name. We always set it to "unknown".- UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \- /sbin/sysctl -n hw.machine_arch 2>/dev/null || \- /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \- echo unknown)`- case $UNAME_MACHINE_ARCH in- aarch64eb) machine=aarch64_be-unknown ;;- armeb) machine=armeb-unknown ;;- arm*) machine=arm-unknown ;;- sh3el) machine=shl-unknown ;;- sh3eb) machine=sh-unknown ;;- sh5el) machine=sh5le-unknown ;;- earmv*)- arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`- endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`- machine=${arch}${endian}-unknown- ;;- *) machine=$UNAME_MACHINE_ARCH-unknown ;;- esac- # The Operating System including object format, if it has switched- # to ELF recently (or will in the future) and ABI.- case $UNAME_MACHINE_ARCH in- earm*)- os=netbsdelf- ;;- arm*|i386|m68k|ns32k|sh3*|sparc|vax)- set_cc_for_build- if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \- | grep -q __ELF__- then- # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).- # Return netbsd for either. FIX?- os=netbsd- else- os=netbsdelf- fi- ;;- *)- os=netbsd- ;;- esac- # Determine ABI tags.- case $UNAME_MACHINE_ARCH in- earm*)- expr='s/^earmv[0-9]/-eabi/;s/eb$//'- abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`- ;;- esac- # The OS release- # Debian GNU/NetBSD machines have a different userland, and- # thus, need a distinct triplet. However, they do not need- # kernel version information, so it can be replaced with a- # suitable tag, in the style of linux-gnu.- case $UNAME_VERSION in- Debian*)- release='-gnu'- ;;- *)- release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`- ;;- esac- # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:- # contains redundant information, the shorter form:- # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.- GUESS=$machine-${os}${release}${abi-}- ;;- *:Bitrig:*:*)- UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`- GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE- ;;- *:OpenBSD:*:*)- UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`- GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE- ;;- *:SecBSD:*:*)- UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'`- GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE- ;;- *:LibertyBSD:*:*)- UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`- GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE- ;;- *:MidnightBSD:*:*)- GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE- ;;- *:ekkoBSD:*:*)- GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE- ;;- *:SolidBSD:*:*)- GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE- ;;- *:OS108:*:*)- GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE- ;;- macppc:MirBSD:*:*)- GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE- ;;- *:MirBSD:*:*)- GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE- ;;- *:Sortix:*:*)- GUESS=$UNAME_MACHINE-unknown-sortix- ;;- *:Twizzler:*:*)- GUESS=$UNAME_MACHINE-unknown-twizzler- ;;- *:Redox:*:*)- GUESS=$UNAME_MACHINE-unknown-redox- ;;- mips:OSF1:*.*)- GUESS=mips-dec-osf1- ;;- alpha:OSF1:*:*)- # Reset EXIT trap before exiting to avoid spurious non-zero exit code.- trap '' 0- case $UNAME_RELEASE in- *4.0)- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`- ;;- *5.*)- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`- ;;- esac- # According to Compaq, /usr/sbin/psrinfo has been available on- # OSF/1 and Tru64 systems produced since 1995. I hope that- # covers most systems running today. This code pipes the CPU- # types through head -n 1, so we only detect the type of CPU 0.- ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`- case $ALPHA_CPU_TYPE in- "EV4 (21064)")- UNAME_MACHINE=alpha ;;- "EV4.5 (21064)")- UNAME_MACHINE=alpha ;;- "LCA4 (21066/21068)")- UNAME_MACHINE=alpha ;;- "EV5 (21164)")- UNAME_MACHINE=alphaev5 ;;- "EV5.6 (21164A)")- UNAME_MACHINE=alphaev56 ;;- "EV5.6 (21164PC)")- UNAME_MACHINE=alphapca56 ;;- "EV5.7 (21164PC)")- UNAME_MACHINE=alphapca57 ;;- "EV6 (21264)")- UNAME_MACHINE=alphaev6 ;;- "EV6.7 (21264A)")- UNAME_MACHINE=alphaev67 ;;- "EV6.8CB (21264C)")- UNAME_MACHINE=alphaev68 ;;- "EV6.8AL (21264B)")- UNAME_MACHINE=alphaev68 ;;- "EV6.8CX (21264D)")- UNAME_MACHINE=alphaev68 ;;- "EV6.9A (21264/EV69A)")- UNAME_MACHINE=alphaev69 ;;- "EV7 (21364)")- UNAME_MACHINE=alphaev7 ;;- "EV7.9 (21364A)")- UNAME_MACHINE=alphaev79 ;;- esac- # A Pn.n version is a patched version.- # A Vn.n version is a released version.- # A Tn.n version is a released field test version.- # A Xn.n version is an unreleased experimental baselevel.- # 1.2 uses "1.2" for uname -r.- OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`- GUESS=$UNAME_MACHINE-dec-osf$OSF_REL- ;;- Amiga*:UNIX_System_V:4.0:*)- GUESS=m68k-unknown-sysv4- ;;- *:[Aa]miga[Oo][Ss]:*:*)- GUESS=$UNAME_MACHINE-unknown-amigaos- ;;- *:[Mm]orph[Oo][Ss]:*:*)- GUESS=$UNAME_MACHINE-unknown-morphos- ;;- *:OS/390:*:*)- GUESS=i370-ibm-openedition- ;;- *:z/VM:*:*)- GUESS=s390-ibm-zvmoe- ;;- *:OS400:*:*)- GUESS=powerpc-ibm-os400- ;;- arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)- GUESS=arm-acorn-riscix$UNAME_RELEASE- ;;- arm*:riscos:*:*|arm*:RISCOS:*:*)- GUESS=arm-unknown-riscos- ;;- SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)- GUESS=hppa1.1-hitachi-hiuxmpp- ;;- Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)- # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.- case `(/bin/universe) 2>/dev/null` in- att) GUESS=pyramid-pyramid-sysv3 ;;- *) GUESS=pyramid-pyramid-bsd ;;- esac- ;;- NILE*:*:*:dcosx)- GUESS=pyramid-pyramid-svr4- ;;- DRS?6000:unix:4.0:6*)- GUESS=sparc-icl-nx6- ;;- DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)- case `/usr/bin/uname -p` in- sparc) GUESS=sparc-icl-nx7 ;;- esac- ;;- s390x:SunOS:*:*)- SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`- GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL- ;;- sun4H:SunOS:5.*:*)- SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`- GUESS=sparc-hal-solaris2$SUN_REL- ;;- sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)- SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`- GUESS=sparc-sun-solaris2$SUN_REL- ;;- i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)- GUESS=i386-pc-auroraux$UNAME_RELEASE- ;;- i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)- set_cc_for_build- SUN_ARCH=i386- # If there is a compiler, see if it is configured for 64-bit objects.- # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.- # This test works for both compilers.- if test "$CC_FOR_BUILD" != no_compiler_found; then- if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \- (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \- grep IS_64BIT_ARCH >/dev/null- then- SUN_ARCH=x86_64- fi- fi- SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`- GUESS=$SUN_ARCH-pc-solaris2$SUN_REL- ;;- sun4*:SunOS:6*:*)- # According to config.sub, this is the proper way to canonicalize- # SunOS6. Hard to guess exactly what SunOS6 will be like, but- # it's likely to be more like Solaris than SunOS4.- SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`- GUESS=sparc-sun-solaris3$SUN_REL- ;;- sun4*:SunOS:*:*)- case `/usr/bin/arch -k` in- Series*|S4*)- UNAME_RELEASE=`uname -v`- ;;- esac- # Japanese Language versions have a version number like `4.1.3-JL'.- SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`- GUESS=sparc-sun-sunos$SUN_REL- ;;- sun3*:SunOS:*:*)- GUESS=m68k-sun-sunos$UNAME_RELEASE- ;;- sun*:*:4.2BSD:*)- UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`- test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3- case `/bin/arch` in- sun3)- GUESS=m68k-sun-sunos$UNAME_RELEASE- ;;- sun4)- GUESS=sparc-sun-sunos$UNAME_RELEASE- ;;- esac- ;;- aushp:SunOS:*:*)- GUESS=sparc-auspex-sunos$UNAME_RELEASE- ;;- # The situation for MiNT is a little confusing. The machine name- # can be virtually everything (everything which is not- # "atarist" or "atariste" at least should have a processor- # > m68000). The system name ranges from "MiNT" over "FreeMiNT"- # to the lowercase version "mint" (or "freemint"). Finally- # the system name "TOS" denotes a system which is actually not- # MiNT. But MiNT is downward compatible to TOS, so this should- # be no problem.- atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)- GUESS=m68k-atari-mint$UNAME_RELEASE- ;;- atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)- GUESS=m68k-atari-mint$UNAME_RELEASE- ;;- *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)- GUESS=m68k-atari-mint$UNAME_RELEASE- ;;- milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)- GUESS=m68k-milan-mint$UNAME_RELEASE- ;;- hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)- GUESS=m68k-hades-mint$UNAME_RELEASE- ;;- *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)- GUESS=m68k-unknown-mint$UNAME_RELEASE- ;;- m68k:machten:*:*)- GUESS=m68k-apple-machten$UNAME_RELEASE- ;;- powerpc:machten:*:*)- GUESS=powerpc-apple-machten$UNAME_RELEASE- ;;- RISC*:Mach:*:*)- GUESS=mips-dec-mach_bsd4.3- ;;- RISC*:ULTRIX:*:*)- GUESS=mips-dec-ultrix$UNAME_RELEASE- ;;- VAX*:ULTRIX*:*:*)- GUESS=vax-dec-ultrix$UNAME_RELEASE- ;;- 2020:CLIX:*:* | 2430:CLIX:*:*)- GUESS=clipper-intergraph-clix$UNAME_RELEASE- ;;- mips:*:*:UMIPS | mips:*:*:RISCos)- set_cc_for_build- sed 's/^ //' << EOF > "$dummy.c"-#ifdef __cplusplus-#include <stdio.h> /* for printf() prototype */- int main (int argc, char *argv[]) {-#else- int main (argc, argv) int argc; char *argv[]; {-#endif- #if defined (host_mips) && defined (MIPSEB)- #if defined (SYSTYPE_SYSV)- printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);- #endif- #if defined (SYSTYPE_SVR4)- printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);- #endif- #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)- printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);- #endif- #endif- exit (-1);- }-EOF- $CC_FOR_BUILD -o "$dummy" "$dummy.c" &&- dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&- SYSTEM_NAME=`"$dummy" "$dummyarg"` &&- { echo "$SYSTEM_NAME"; exit; }- GUESS=mips-mips-riscos$UNAME_RELEASE- ;;- Motorola:PowerMAX_OS:*:*)- GUESS=powerpc-motorola-powermax- ;;- Motorola:*:4.3:PL8-*)- GUESS=powerpc-harris-powermax- ;;- Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)- GUESS=powerpc-harris-powermax- ;;- Night_Hawk:Power_UNIX:*:*)- GUESS=powerpc-harris-powerunix- ;;- m88k:CX/UX:7*:*)- GUESS=m88k-harris-cxux7- ;;- m88k:*:4*:R4*)- GUESS=m88k-motorola-sysv4- ;;- m88k:*:3*:R3*)- GUESS=m88k-motorola-sysv3- ;;- AViiON:dgux:*:*)- # DG/UX returns AViiON for all architectures- UNAME_PROCESSOR=`/usr/bin/uname -p`- if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110- then- if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \- test "$TARGET_BINARY_INTERFACE"x = x- then- GUESS=m88k-dg-dgux$UNAME_RELEASE- else- GUESS=m88k-dg-dguxbcs$UNAME_RELEASE- fi- else- GUESS=i586-dg-dgux$UNAME_RELEASE- fi- ;;- M88*:DolphinOS:*:*) # DolphinOS (SVR3)- GUESS=m88k-dolphin-sysv3- ;;- M88*:*:R3*:*)- # Delta 88k system running SVR3- GUESS=m88k-motorola-sysv3- ;;- XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)- GUESS=m88k-tektronix-sysv3- ;;- Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)- GUESS=m68k-tektronix-bsd- ;;- *:IRIX*:*:*)- IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'`- GUESS=mips-sgi-irix$IRIX_REL- ;;- ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.- GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id- ;; # Note that: echo "'`uname -s`'" gives 'AIX '- i*86:AIX:*:*)- GUESS=i386-ibm-aix- ;;- ia64:AIX:*:*)- if test -x /usr/bin/oslevel ; then- IBM_REV=`/usr/bin/oslevel`- else- IBM_REV=$UNAME_VERSION.$UNAME_RELEASE- fi- GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV- ;;- *:AIX:2:3)- if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then- set_cc_for_build- sed 's/^ //' << EOF > "$dummy.c"- #include <sys/systemcfg.h>-- main()- {- if (!__power_pc())- exit(1);- puts("powerpc-ibm-aix3.2.5");- exit(0);- }-EOF- if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`- then- GUESS=$SYSTEM_NAME- else- GUESS=rs6000-ibm-aix3.2.5- fi- elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then- GUESS=rs6000-ibm-aix3.2.4- else- GUESS=rs6000-ibm-aix3.2- fi- ;;- *:AIX:*:[4567])- IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`- if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then- IBM_ARCH=rs6000- else- IBM_ARCH=powerpc- fi- if test -x /usr/bin/lslpp ; then- IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \- awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`- else- IBM_REV=$UNAME_VERSION.$UNAME_RELEASE- fi- GUESS=$IBM_ARCH-ibm-aix$IBM_REV- ;;- *:AIX:*:*)- GUESS=rs6000-ibm-aix- ;;- ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)- GUESS=romp-ibm-bsd4.4- ;;- ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and- GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to- ;; # report: romp-ibm BSD 4.3- *:BOSX:*:*)- GUESS=rs6000-bull-bosx- ;;- DPX/2?00:B.O.S.:*:*)- GUESS=m68k-bull-sysv3- ;;- 9000/[34]??:4.3bsd:1.*:*)- GUESS=m68k-hp-bsd- ;;- hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)- GUESS=m68k-hp-bsd4.4- ;;- 9000/[34678]??:HP-UX:*:*)- HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`- case $UNAME_MACHINE in- 9000/31?) HP_ARCH=m68000 ;;- 9000/[34]??) HP_ARCH=m68k ;;- 9000/[678][0-9][0-9])- if test -x /usr/bin/getconf; then- sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`- case $sc_cpu_version in- 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0- 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1- 532) # CPU_PA_RISC2_0- case $sc_kernel_bits in- 32) HP_ARCH=hppa2.0n ;;- 64) HP_ARCH=hppa2.0w ;;- '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20- esac ;;- esac- fi- if test "$HP_ARCH" = ""; then- set_cc_for_build- sed 's/^ //' << EOF > "$dummy.c"-- #define _HPUX_SOURCE- #include <stdlib.h>- #include <unistd.h>-- int main ()- {- #if defined(_SC_KERNEL_BITS)- long bits = sysconf(_SC_KERNEL_BITS);- #endif- long cpu = sysconf (_SC_CPU_VERSION);-- switch (cpu)- {- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;- case CPU_PA_RISC2_0:- #if defined(_SC_KERNEL_BITS)- switch (bits)- {- case 64: puts ("hppa2.0w"); break;- case 32: puts ("hppa2.0n"); break;- default: puts ("hppa2.0"); break;- } break;- #else /* !defined(_SC_KERNEL_BITS) */- puts ("hppa2.0"); break;- #endif- default: puts ("hppa1.0"); break;- }- exit (0);- }-EOF- (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`- test -z "$HP_ARCH" && HP_ARCH=hppa- fi ;;- esac- if test "$HP_ARCH" = hppa2.0w- then- set_cc_for_build-- # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating- # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler- # generating 64-bit code. GNU and HP use different nomenclature:- #- # $ CC_FOR_BUILD=cc ./config.guess- # => hppa2.0w-hp-hpux11.23- # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess- # => hppa64-hp-hpux11.23-- if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |- grep -q __LP64__- then- HP_ARCH=hppa2.0w- else- HP_ARCH=hppa64- fi- fi- GUESS=$HP_ARCH-hp-hpux$HPUX_REV- ;;- ia64:HP-UX:*:*)- HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`- GUESS=ia64-hp-hpux$HPUX_REV- ;;- 3050*:HI-UX:*:*)- set_cc_for_build- sed 's/^ //' << EOF > "$dummy.c"- #include <unistd.h>- int- main ()- {- long cpu = sysconf (_SC_CPU_VERSION);- /* The order matters, because CPU_IS_HP_MC68K erroneously returns- true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct- results, however. */- if (CPU_IS_PA_RISC (cpu))- {- switch (cpu)- {- case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;- case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;- case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;- default: puts ("hppa-hitachi-hiuxwe2"); break;- }- }- else if (CPU_IS_HP_MC68K (cpu))- puts ("m68k-hitachi-hiuxwe2");- else puts ("unknown-hitachi-hiuxwe2");- exit (0);- }-EOF- $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&- { echo "$SYSTEM_NAME"; exit; }- GUESS=unknown-hitachi-hiuxwe2- ;;- 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)- GUESS=hppa1.1-hp-bsd- ;;- 9000/8??:4.3bsd:*:*)- GUESS=hppa1.0-hp-bsd- ;;- *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)- GUESS=hppa1.0-hp-mpeix- ;;- hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)- GUESS=hppa1.1-hp-osf- ;;- hp8??:OSF1:*:*)- GUESS=hppa1.0-hp-osf- ;;- i*86:OSF1:*:*)- if test -x /usr/sbin/sysversion ; then- GUESS=$UNAME_MACHINE-unknown-osf1mk- else- GUESS=$UNAME_MACHINE-unknown-osf1- fi- ;;- parisc*:Lites*:*:*)- GUESS=hppa1.1-hp-lites- ;;- C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)- GUESS=c1-convex-bsd- ;;- C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)- if getsysinfo -f scalar_acc- then echo c32-convex-bsd- else echo c2-convex-bsd- fi- exit ;;- C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)- GUESS=c34-convex-bsd- ;;- C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)- GUESS=c38-convex-bsd- ;;- C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)- GUESS=c4-convex-bsd- ;;- CRAY*Y-MP:*:*:*)- CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`- GUESS=ymp-cray-unicos$CRAY_REL- ;;- CRAY*[A-Z]90:*:*:*)- echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \- | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \- -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \- -e 's/\.[^.]*$/.X/'- exit ;;- CRAY*TS:*:*:*)- CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`- GUESS=t90-cray-unicos$CRAY_REL- ;;- CRAY*T3E:*:*:*)- CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`- GUESS=alphaev5-cray-unicosmk$CRAY_REL- ;;- CRAY*SV1:*:*:*)- CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`- GUESS=sv1-cray-unicos$CRAY_REL- ;;- *:UNICOS/mp:*:*)- CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`- GUESS=craynv-cray-unicosmp$CRAY_REL- ;;- F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)- FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`- FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`- FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`- GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}- ;;- 5000:UNIX_System_V:4.*:*)- FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`- FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`- GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}- ;;- i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)- GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE- ;;- sparc*:BSD/OS:*:*)- GUESS=sparc-unknown-bsdi$UNAME_RELEASE- ;;- *:BSD/OS:*:*)- GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE- ;;- arm:FreeBSD:*:*)- UNAME_PROCESSOR=`uname -p`- set_cc_for_build- if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \- | grep -q __ARM_PCS_VFP- then- FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`- GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi- else- FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`- GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf- fi- ;;- *:FreeBSD:*:*)- UNAME_PROCESSOR=`/usr/bin/uname -p`- case $UNAME_PROCESSOR in- amd64)- UNAME_PROCESSOR=x86_64 ;;- i386)- UNAME_PROCESSOR=i586 ;;- esac- FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`- GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL- ;;- i*:CYGWIN*:*)- GUESS=$UNAME_MACHINE-pc-cygwin- ;;- *:MINGW64*:*)- GUESS=$UNAME_MACHINE-pc-mingw64- ;;- *:MINGW*:*)- GUESS=$UNAME_MACHINE-pc-mingw32- ;;- *:MSYS*:*)- GUESS=$UNAME_MACHINE-pc-msys- ;;- i*:PW*:*)- GUESS=$UNAME_MACHINE-pc-pw32- ;;- *:SerenityOS:*:*)- GUESS=$UNAME_MACHINE-pc-serenity- ;;- *:Interix*:*)- case $UNAME_MACHINE in- x86)- GUESS=i586-pc-interix$UNAME_RELEASE- ;;- authenticamd | genuineintel | EM64T)- GUESS=x86_64-unknown-interix$UNAME_RELEASE- ;;- IA64)- GUESS=ia64-unknown-interix$UNAME_RELEASE- ;;- esac ;;- i*:UWIN*:*)- GUESS=$UNAME_MACHINE-pc-uwin- ;;- amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)- GUESS=x86_64-pc-cygwin- ;;- prep*:SunOS:5.*:*)- SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`- GUESS=powerpcle-unknown-solaris2$SUN_REL- ;;- *:GNU:*:*)- # the GNU system- GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'`- GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'`- GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL- ;;- *:GNU/*:*:*)- # other systems with GNU libc and userland- GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"`- GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`- GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC- ;;- *:Minix:*:*)- GUESS=$UNAME_MACHINE-unknown-minix- ;;- aarch64:Linux:*:*)- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC- ;;- aarch64_be:Linux:*:*)- UNAME_MACHINE=aarch64_be- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC- ;;- alpha:Linux:*:*)- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in- EV5) UNAME_MACHINE=alphaev5 ;;- EV56) UNAME_MACHINE=alphaev56 ;;- PCA56) UNAME_MACHINE=alphapca56 ;;- PCA57) UNAME_MACHINE=alphapca56 ;;- EV6) UNAME_MACHINE=alphaev6 ;;- EV67) UNAME_MACHINE=alphaev67 ;;- EV68*) UNAME_MACHINE=alphaev68 ;;- esac- objdump --private-headers /bin/sh | grep -q ld.so.1- if test "$?" = 0 ; then LIBC=gnulibc1 ; fi- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC- ;;- arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*)- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC- ;;- arm*:Linux:*:*)- set_cc_for_build- if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \- | grep -q __ARM_EABI__- then- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC- else- if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \- | grep -q __ARM_PCS_VFP- then- GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi- else- GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf- fi- fi- ;;- avr32*:Linux:*:*)- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC- ;;- cris:Linux:*:*)- GUESS=$UNAME_MACHINE-axis-linux-$LIBC- ;;- crisv32:Linux:*:*)- GUESS=$UNAME_MACHINE-axis-linux-$LIBC- ;;- e2k:Linux:*:*)- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC- ;;- frv:Linux:*:*)- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC- ;;- hexagon:Linux:*:*)- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC- ;;- i*86:Linux:*:*)- GUESS=$UNAME_MACHINE-pc-linux-$LIBC- ;;- ia64:Linux:*:*)- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC- ;;- k1om:Linux:*:*)- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC- ;;- loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*)- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC- ;;- m32r*:Linux:*:*)- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC- ;;- m68*:Linux:*:*)- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC- ;;- mips:Linux:*:* | mips64:Linux:*:*)- set_cc_for_build- IS_GLIBC=0- test x"${LIBC}" = xgnu && IS_GLIBC=1- sed 's/^ //' << EOF > "$dummy.c"- #undef CPU- #undef mips- #undef mipsel- #undef mips64- #undef mips64el- #if ${IS_GLIBC} && defined(_ABI64)- LIBCABI=gnuabi64- #else- #if ${IS_GLIBC} && defined(_ABIN32)- LIBCABI=gnuabin32- #else- LIBCABI=${LIBC}- #endif- #endif-- #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6- CPU=mipsisa64r6- #else- #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6- CPU=mipsisa32r6- #else- #if defined(__mips64)- CPU=mips64- #else- CPU=mips- #endif- #endif- #endif-- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)- MIPS_ENDIAN=el- #else- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)- MIPS_ENDIAN=- #else- MIPS_ENDIAN=- #endif- #endif-EOF- cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`- eval "$cc_set_vars"- test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }- ;;- mips64el:Linux:*:*)- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC- ;;- openrisc*:Linux:*:*)- GUESS=or1k-unknown-linux-$LIBC- ;;- or32:Linux:*:* | or1k*:Linux:*:*)- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC- ;;- padre:Linux:*:*)- GUESS=sparc-unknown-linux-$LIBC- ;;- parisc64:Linux:*:* | hppa64:Linux:*:*)- GUESS=hppa64-unknown-linux-$LIBC- ;;- parisc:Linux:*:* | hppa:Linux:*:*)- # Look for CPU level- case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in- PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;;- PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;;- *) GUESS=hppa-unknown-linux-$LIBC ;;- esac- ;;- ppc64:Linux:*:*)- GUESS=powerpc64-unknown-linux-$LIBC- ;;- ppc:Linux:*:*)- GUESS=powerpc-unknown-linux-$LIBC- ;;- ppc64le:Linux:*:*)- GUESS=powerpc64le-unknown-linux-$LIBC- ;;- ppcle:Linux:*:*)- GUESS=powerpcle-unknown-linux-$LIBC- ;;- riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC- ;;- s390:Linux:*:* | s390x:Linux:*:*)- GUESS=$UNAME_MACHINE-ibm-linux-$LIBC- ;;- sh64*:Linux:*:*)- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC- ;;- sh*:Linux:*:*)- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC- ;;- sparc:Linux:*:* | sparc64:Linux:*:*)- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC- ;;- tile*:Linux:*:*)- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC- ;;- vax:Linux:*:*)- GUESS=$UNAME_MACHINE-dec-linux-$LIBC- ;;- x86_64:Linux:*:*)- set_cc_for_build- LIBCABI=$LIBC- if test "$CC_FOR_BUILD" != no_compiler_found; then- if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \- grep IS_X32 >/dev/null- then- LIBCABI=${LIBC}x32- fi- fi- GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI- ;;- xtensa*:Linux:*:*)- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC- ;;- i*86:DYNIX/ptx:4*:*)- # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.- # earlier versions are messed up and put the nodename in both- # sysname and nodename.- GUESS=i386-sequent-sysv4- ;;- i*86:UNIX_SV:4.2MP:2.*)- # Unixware is an offshoot of SVR4, but it has its own version- # number series starting with 2...- # I am not positive that other SVR4 systems won't match this,- # I just have to hope. -- rms.- # Use sysv4.2uw... so that sysv4* matches it.- GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION- ;;- i*86:OS/2:*:*)- # If we were able to find `uname', then EMX Unix compatibility- # is probably installed.- GUESS=$UNAME_MACHINE-pc-os2-emx- ;;- i*86:XTS-300:*:STOP)- GUESS=$UNAME_MACHINE-unknown-stop- ;;- i*86:atheos:*:*)- GUESS=$UNAME_MACHINE-unknown-atheos- ;;- i*86:syllable:*:*)- GUESS=$UNAME_MACHINE-pc-syllable- ;;- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)- GUESS=i386-unknown-lynxos$UNAME_RELEASE- ;;- i*86:*DOS:*:*)- GUESS=$UNAME_MACHINE-pc-msdosdjgpp- ;;- i*86:*:4.*:*)- UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`- if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then- GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL- else- GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL- fi- ;;- i*86:*:5:[678]*)- # UnixWare 7.x, OpenUNIX and OpenServer 6.- case `/bin/uname -X | grep "^Machine"` in- *486*) UNAME_MACHINE=i486 ;;- *Pentium) UNAME_MACHINE=i586 ;;- *Pent*|*Celeron) UNAME_MACHINE=i686 ;;- esac- GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}- ;;- i*86:*:3.2:*)- if test -f /usr/options/cb.name; then- UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`- GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL- elif /bin/uname -X 2>/dev/null >/dev/null ; then- UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`- (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486- (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \- && UNAME_MACHINE=i586- (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \- && UNAME_MACHINE=i686- (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \- && UNAME_MACHINE=i686- GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL- else- GUESS=$UNAME_MACHINE-pc-sysv32- fi- ;;- pc:*:*:*)- # Left here for compatibility:- # uname -m prints for DJGPP always 'pc', but it prints nothing about- # the processor, so we play safe by assuming i586.- # Note: whatever this is, it MUST be the same as what config.sub- # prints for the "djgpp" host, or else GDB configure will decide that- # this is a cross-build.- GUESS=i586-pc-msdosdjgpp- ;;- Intel:Mach:3*:*)- GUESS=i386-pc-mach3- ;;- paragon:*:*:*)- GUESS=i860-intel-osf1- ;;- i860:*:4.*:*) # i860-SVR4- if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then- GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4- else # Add other i860-SVR4 vendors below as they are discovered.- GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4- fi- ;;- mini*:CTIX:SYS*5:*)- # "miniframe"- GUESS=m68010-convergent-sysv- ;;- mc68k:UNIX:SYSTEM5:3.51m)- GUESS=m68k-convergent-sysv- ;;- M680?0:D-NIX:5.3:*)- GUESS=m68k-diab-dnix- ;;- M68*:*:R3V[5678]*:*)- test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;- 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)- OS_REL=''- test -r /etc/.relid \- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \- && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \- && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;- 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \- && { echo i486-ncr-sysv4; exit; } ;;- NCR*:*:4.2:* | MPRAS*:*:4.2:*)- OS_REL='.3'- test -r /etc/.relid \- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \- && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \- && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }- /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \- && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;- m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)- GUESS=m68k-unknown-lynxos$UNAME_RELEASE- ;;- mc68030:UNIX_System_V:4.*:*)- GUESS=m68k-atari-sysv4- ;;- TSUNAMI:LynxOS:2.*:*)- GUESS=sparc-unknown-lynxos$UNAME_RELEASE- ;;- rs6000:LynxOS:2.*:*)- GUESS=rs6000-unknown-lynxos$UNAME_RELEASE- ;;- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)- GUESS=powerpc-unknown-lynxos$UNAME_RELEASE- ;;- SM[BE]S:UNIX_SV:*:*)- GUESS=mips-dde-sysv$UNAME_RELEASE- ;;- RM*:ReliantUNIX-*:*:*)- GUESS=mips-sni-sysv4- ;;- RM*:SINIX-*:*:*)- GUESS=mips-sni-sysv4- ;;- *:SINIX-*:*:*)- if uname -p 2>/dev/null >/dev/null ; then- UNAME_MACHINE=`(uname -p) 2>/dev/null`- GUESS=$UNAME_MACHINE-sni-sysv4- else- GUESS=ns32k-sni-sysv- fi- ;;- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort- # says <Richard.M.Bartel@ccMail.Census.GOV>- GUESS=i586-unisys-sysv4- ;;- *:UNIX_System_V:4*:FTX*)- # From Gerald Hewes <hewes@openmarket.com>.- # How about differentiating between stratus architectures? -djm- GUESS=hppa1.1-stratus-sysv4- ;;- *:*:*:FTX*)- # From seanf@swdc.stratus.com.- GUESS=i860-stratus-sysv4- ;;- i*86:VOS:*:*)- # From Paul.Green@stratus.com.- GUESS=$UNAME_MACHINE-stratus-vos- ;;- *:VOS:*:*)- # From Paul.Green@stratus.com.- GUESS=hppa1.1-stratus-vos- ;;- mc68*:A/UX:*:*)- GUESS=m68k-apple-aux$UNAME_RELEASE- ;;- news*:NEWS-OS:6*:*)- GUESS=mips-sony-newsos6- ;;- R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)- if test -d /usr/nec; then- GUESS=mips-nec-sysv$UNAME_RELEASE- else- GUESS=mips-unknown-sysv$UNAME_RELEASE- fi- ;;- BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.- GUESS=powerpc-be-beos- ;;- BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.- GUESS=powerpc-apple-beos- ;;- BePC:BeOS:*:*) # BeOS running on Intel PC compatible.- GUESS=i586-pc-beos- ;;- BePC:Haiku:*:*) # Haiku running on Intel PC compatible.- GUESS=i586-pc-haiku- ;;- x86_64:Haiku:*:*)- GUESS=x86_64-unknown-haiku- ;;- SX-4:SUPER-UX:*:*)- GUESS=sx4-nec-superux$UNAME_RELEASE- ;;- SX-5:SUPER-UX:*:*)- GUESS=sx5-nec-superux$UNAME_RELEASE- ;;- SX-6:SUPER-UX:*:*)- GUESS=sx6-nec-superux$UNAME_RELEASE- ;;- SX-7:SUPER-UX:*:*)- GUESS=sx7-nec-superux$UNAME_RELEASE- ;;- SX-8:SUPER-UX:*:*)- GUESS=sx8-nec-superux$UNAME_RELEASE- ;;- SX-8R:SUPER-UX:*:*)- GUESS=sx8r-nec-superux$UNAME_RELEASE- ;;- SX-ACE:SUPER-UX:*:*)- GUESS=sxace-nec-superux$UNAME_RELEASE- ;;- Power*:Rhapsody:*:*)- GUESS=powerpc-apple-rhapsody$UNAME_RELEASE- ;;- *:Rhapsody:*:*)- GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE- ;;- arm64:Darwin:*:*)- GUESS=aarch64-apple-darwin$UNAME_RELEASE- ;;- *:Darwin:*:*)- UNAME_PROCESSOR=`uname -p`- case $UNAME_PROCESSOR in- unknown) UNAME_PROCESSOR=powerpc ;;- esac- if command -v xcode-select > /dev/null 2> /dev/null && \- ! xcode-select --print-path > /dev/null 2> /dev/null ; then- # Avoid executing cc if there is no toolchain installed as- # cc will be a stub that puts up a graphical alert- # prompting the user to install developer tools.- CC_FOR_BUILD=no_compiler_found- else- set_cc_for_build- fi- if test "$CC_FOR_BUILD" != no_compiler_found; then- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \- grep IS_64BIT_ARCH >/dev/null- then- case $UNAME_PROCESSOR in- i386) UNAME_PROCESSOR=x86_64 ;;- powerpc) UNAME_PROCESSOR=powerpc64 ;;- esac- fi- # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc- if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \- grep IS_PPC >/dev/null- then- UNAME_PROCESSOR=powerpc- fi- elif test "$UNAME_PROCESSOR" = i386 ; then- # uname -m returns i386 or x86_64- UNAME_PROCESSOR=$UNAME_MACHINE- fi- GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE- ;;- *:procnto*:*:* | *:QNX:[0123456789]*:*)- UNAME_PROCESSOR=`uname -p`- if test "$UNAME_PROCESSOR" = x86; then- UNAME_PROCESSOR=i386- UNAME_MACHINE=pc- fi- GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE- ;;- *:QNX:*:4*)- GUESS=i386-pc-qnx- ;;- NEO-*:NONSTOP_KERNEL:*:*)- GUESS=neo-tandem-nsk$UNAME_RELEASE- ;;- NSE-*:NONSTOP_KERNEL:*:*)- GUESS=nse-tandem-nsk$UNAME_RELEASE- ;;- NSR-*:NONSTOP_KERNEL:*:*)- GUESS=nsr-tandem-nsk$UNAME_RELEASE- ;;- NSV-*:NONSTOP_KERNEL:*:*)- GUESS=nsv-tandem-nsk$UNAME_RELEASE- ;;- NSX-*:NONSTOP_KERNEL:*:*)- GUESS=nsx-tandem-nsk$UNAME_RELEASE- ;;- *:NonStop-UX:*:*)- GUESS=mips-compaq-nonstopux- ;;- BS2000:POSIX*:*:*)- GUESS=bs2000-siemens-sysv- ;;- DS/*:UNIX_System_V:*:*)- GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE- ;;- *:Plan9:*:*)- # "uname -m" is not consistent, so use $cputype instead. 386- # is converted to i386 for consistency with other x86- # operating systems.- if test "${cputype-}" = 386; then- UNAME_MACHINE=i386- elif test "x${cputype-}" != x; then- UNAME_MACHINE=$cputype- fi- GUESS=$UNAME_MACHINE-unknown-plan9- ;;- *:TOPS-10:*:*)- GUESS=pdp10-unknown-tops10- ;;- *:TENEX:*:*)- GUESS=pdp10-unknown-tenex- ;;- KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)- GUESS=pdp10-dec-tops20- ;;- XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)- GUESS=pdp10-xkl-tops20- ;;- *:TOPS-20:*:*)- GUESS=pdp10-unknown-tops20- ;;- *:ITS:*:*)- GUESS=pdp10-unknown-its- ;;- SEI:*:*:SEIUX)- GUESS=mips-sei-seiux$UNAME_RELEASE- ;;- *:DragonFly:*:*)- DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`- GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL- ;;- *:*VMS:*:*)- UNAME_MACHINE=`(uname -p) 2>/dev/null`- case $UNAME_MACHINE in- A*) GUESS=alpha-dec-vms ;;- I*) GUESS=ia64-dec-vms ;;- V*) GUESS=vax-dec-vms ;;- esac ;;- *:XENIX:*:SysV)- GUESS=i386-pc-xenix- ;;- i*86:skyos:*:*)- SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`- GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL- ;;- i*86:rdos:*:*)- GUESS=$UNAME_MACHINE-pc-rdos- ;;- i*86:Fiwix:*:*)- GUESS=$UNAME_MACHINE-pc-fiwix- ;;- *:AROS:*:*)- GUESS=$UNAME_MACHINE-unknown-aros- ;;- x86_64:VMkernel:*:*)- GUESS=$UNAME_MACHINE-unknown-esx- ;;- amd64:Isilon\ OneFS:*:*)- GUESS=x86_64-unknown-onefs- ;;- *:Unleashed:*:*)- GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE- ;;-esac--# Do we have a guess based on uname results?-if test "x$GUESS" != x; then- echo "$GUESS"- exit-fi--# No uname command or uname output not recognized.-set_cc_for_build-cat > "$dummy.c" <<EOF-#ifdef _SEQUENT_-#include <sys/types.h>-#include <sys/utsname.h>-#endif-#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)-#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)-#include <signal.h>-#if defined(_SIZE_T_) || defined(SIGLOST)-#include <sys/utsname.h>-#endif-#endif-#endif-main ()-{-#if defined (sony)-#if defined (MIPSEB)- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,- I don't know.... */- printf ("mips-sony-bsd\n"); exit (0);-#else-#include <sys/param.h>- printf ("m68k-sony-newsos%s\n",-#ifdef NEWSOS4- "4"-#else- ""-#endif- ); exit (0);-#endif-#endif--#if defined (NeXT)-#if !defined (__ARCHITECTURE__)-#define __ARCHITECTURE__ "m68k"-#endif- int version;- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;- if (version < 4)- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);- else- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);- exit (0);-#endif--#if defined (MULTIMAX) || defined (n16)-#if defined (UMAXV)- printf ("ns32k-encore-sysv\n"); exit (0);-#else-#if defined (CMU)- printf ("ns32k-encore-mach\n"); exit (0);-#else- printf ("ns32k-encore-bsd\n"); exit (0);-#endif-#endif-#endif--#if defined (__386BSD__)- printf ("i386-pc-bsd\n"); exit (0);-#endif--#if defined (sequent)-#if defined (i386)- printf ("i386-sequent-dynix\n"); exit (0);-#endif-#if defined (ns32000)- printf ("ns32k-sequent-dynix\n"); exit (0);-#endif-#endif--#if defined (_SEQUENT_)- struct utsname un;-- uname(&un);- if (strncmp(un.version, "V2", 2) == 0) {- printf ("i386-sequent-ptx2\n"); exit (0);- }- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */- printf ("i386-sequent-ptx1\n"); exit (0);- }- printf ("i386-sequent-ptx\n"); exit (0);-#endif--#if defined (vax)-#if !defined (ultrix)-#include <sys/param.h>-#if defined (BSD)-#if BSD == 43- printf ("vax-dec-bsd4.3\n"); exit (0);-#else-#if BSD == 199006- printf ("vax-dec-bsd4.3reno\n"); exit (0);-#else- printf ("vax-dec-bsd\n"); exit (0);-#endif-#endif-#else- printf ("vax-dec-bsd\n"); exit (0);-#endif-#else-#if defined(_SIZE_T_) || defined(SIGLOST)- struct utsname un;- uname (&un);- printf ("vax-dec-ultrix%s\n", un.release); exit (0);-#else- printf ("vax-dec-ultrix\n"); exit (0);-#endif-#endif-#endif-#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)-#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)-#if defined(_SIZE_T_) || defined(SIGLOST)- struct utsname *un;- uname (&un);- printf ("mips-dec-ultrix%s\n", un.release); exit (0);-#else- printf ("mips-dec-ultrix\n"); exit (0);-#endif-#endif-#endif--#if defined (alliant) && defined (i860)- printf ("i860-alliant-bsd\n"); exit (0);-#endif-- exit (1);-}-EOF--$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` &&- { echo "$SYSTEM_NAME"; exit; }--# Apollos put the system type in the environment.-test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; }--echo "$0: unable to guess system type" >&2--case $UNAME_MACHINE:$UNAME_SYSTEM in- mips:Linux | mips64:Linux)- # If we got here on MIPS GNU/Linux, output extra information.- cat >&2 <<EOF--NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize-the system type. Please install a C compiler and try again.-EOF- ;;-esac--cat >&2 <<EOF--This script (version $timestamp), has failed to recognize the-operating system you are using. If your script is old, overwrite *all*-copies of config.guess and config.sub with the latest versions from:-- https://git.savannah.gnu.org/cgit/config.git/plain/config.guess-and- https://git.savannah.gnu.org/cgit/config.git/plain/config.sub-EOF--our_year=`echo $timestamp | sed 's,-.*,,'`-thisyear=`date +%Y`-# shellcheck disable=SC2003-script_age=`expr "$thisyear" - "$our_year"`-if test "$script_age" -lt 3 ; then- cat >&2 <<EOF--If $0 has already been updated, send the following data and any-information you think might be pertinent to config-patches@gnu.org to-provide the necessary information to handle your system.--config.guess timestamp = $timestamp--uname -m = `(uname -m) 2>/dev/null || echo unknown`-uname -r = `(uname -r) 2>/dev/null || echo unknown`-uname -s = `(uname -s) 2>/dev/null || echo unknown`-uname -v = `(uname -v) 2>/dev/null || echo unknown`--/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`-/bin/uname -X = `(/bin/uname -X) 2>/dev/null`--hostinfo = `(hostinfo) 2>/dev/null`-/bin/universe = `(/bin/universe) 2>/dev/null`-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`-/bin/arch = `(/bin/arch) 2>/dev/null`-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`--UNAME_MACHINE = "$UNAME_MACHINE"-UNAME_RELEASE = "$UNAME_RELEASE"-UNAME_SYSTEM = "$UNAME_SYSTEM"-UNAME_VERSION = "$UNAME_VERSION"-EOF-fi--exit 1--# Local variables:-# eval: (add-hook 'before-save-hook 'time-stamp)-# time-stamp-start: "timestamp='"-# time-stamp-format: "%:y-%02m-%02d"-# time-stamp-end: "'"-# End:
− config.sub
@@ -1,1890 +0,0 @@-#! /bin/sh-# Configuration validation subroutine script.-# Copyright 1992-2022 Free Software Foundation, Inc.--# shellcheck disable=SC2006,SC2268 # see below for rationale--timestamp='2022-01-03'--# This file is free software; you can redistribute it and/or modify it-# under the terms of the GNU General Public License as published by-# the Free Software Foundation, either version 3 of the License, or-# (at your option) any later version.-#-# This program is distributed in the hope that it will be useful, but-# WITHOUT ANY WARRANTY; without even the implied warranty of-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU-# General Public License for more details.-#-# You should have received a copy of the GNU General Public License-# along with this program; if not, see <https://www.gnu.org/licenses/>.-#-# As a special exception to the GNU General Public License, if you-# distribute this file as part of a program that contains a-# configuration script generated by Autoconf, you may include it under-# the same distribution terms that you use for the rest of that-# program. This Exception is an additional permission under section 7-# of the GNU General Public License, version 3 ("GPLv3").---# Please send patches to <config-patches@gnu.org>.-#-# Configuration subroutine to validate and canonicalize a configuration type.-# Supply the specified configuration type as an argument.-# If it is invalid, we print an error message on stderr and exit with code 1.-# Otherwise, we print the canonical config type on stdout and succeed.--# You can get the latest version of this script from:-# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub--# This file is supposed to be the same for all GNU packages-# and recognize all the CPU types, system types and aliases-# that are meaningful with *any* GNU software.-# Each package is responsible for reporting which valid configurations-# it does not support. The user should be able to distinguish-# a failure to support a valid configuration from a meaningless-# configuration.--# The goal of this file is to map all the various variations of a given-# machine specification into a single specification in the form:-# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM-# or in some cases, the newer four-part form:-# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM-# It is wrong to echo any other type of specification.--# The "shellcheck disable" line above the timestamp inhibits complaints-# about features and limitations of the classic Bourne shell that were-# superseded or lifted in POSIX. However, this script identifies a wide-# variety of pre-POSIX systems that do not have POSIX shells at all, and-# even some reasonably current systems (Solaris 10 as case-in-point) still-# have a pre-POSIX /bin/sh.--me=`echo "$0" | sed -e 's,.*/,,'`--usage="\-Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS--Canonicalize a configuration name.--Options:- -h, --help print this help, then exit- -t, --time-stamp print date of last modification, then exit- -v, --version print version number, then exit--Report bugs and patches to <config-patches@gnu.org>."--version="\-GNU config.sub ($timestamp)--Copyright 1992-2022 Free Software Foundation, Inc.--This is free software; see the source for copying conditions. There is NO-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."--help="-Try \`$me --help' for more information."--# Parse command line-while test $# -gt 0 ; do- case $1 in- --time-stamp | --time* | -t )- echo "$timestamp" ; exit ;;- --version | -v )- echo "$version" ; exit ;;- --help | --h* | -h )- echo "$usage"; exit ;;- -- ) # Stop option processing- shift; break ;;- - ) # Use stdin as input.- break ;;- -* )- echo "$me: invalid option $1$help" >&2- exit 1 ;;-- *local*)- # First pass through any local machine types.- echo "$1"- exit ;;-- * )- break ;;- esac-done--case $# in- 0) echo "$me: missing argument$help" >&2- exit 1;;- 1) ;;- *) echo "$me: too many arguments$help" >&2- exit 1;;-esac--# Split fields of configuration type-# shellcheck disable=SC2162-saved_IFS=$IFS-IFS="-" read field1 field2 field3 field4 <<EOF-$1-EOF-IFS=$saved_IFS--# Separate into logical components for further validation-case $1 in- *-*-*-*-*)- echo Invalid configuration \`"$1"\': more than four components >&2- exit 1- ;;- *-*-*-*)- basic_machine=$field1-$field2- basic_os=$field3-$field4- ;;- *-*-*)- # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two- # parts- maybe_os=$field2-$field3- case $maybe_os in- nto-qnx* | linux-* | uclinux-uclibc* \- | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \- | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \- | storm-chaos* | os2-emx* | rtmk-nova*)- basic_machine=$field1- basic_os=$maybe_os- ;;- android-linux)- basic_machine=$field1-unknown- basic_os=linux-android- ;;- *)- basic_machine=$field1-$field2- basic_os=$field3- ;;- esac- ;;- *-*)- # A lone config we happen to match not fitting any pattern- case $field1-$field2 in- decstation-3100)- basic_machine=mips-dec- basic_os=- ;;- *-*)- # Second component is usually, but not always the OS- case $field2 in- # Prevent following clause from handling this valid os- sun*os*)- basic_machine=$field1- basic_os=$field2- ;;- zephyr*)- basic_machine=$field1-unknown- basic_os=$field2- ;;- # Manufacturers- dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \- | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \- | unicom* | ibm* | next | hp | isi* | apollo | altos* \- | convergent* | ncr* | news | 32* | 3600* | 3100* \- | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \- | ultra | tti* | harris | dolphin | highlevel | gould \- | cbm | ns | masscomp | apple | axis | knuth | cray \- | microblaze* | sim | cisco \- | oki | wec | wrs | winbond)- basic_machine=$field1-$field2- basic_os=- ;;- *)- basic_machine=$field1- basic_os=$field2- ;;- esac- ;;- esac- ;;- *)- # Convert single-component short-hands not valid as part of- # multi-component configurations.- case $field1 in- 386bsd)- basic_machine=i386-pc- basic_os=bsd- ;;- a29khif)- basic_machine=a29k-amd- basic_os=udi- ;;- adobe68k)- basic_machine=m68010-adobe- basic_os=scout- ;;- alliant)- basic_machine=fx80-alliant- basic_os=- ;;- altos | altos3068)- basic_machine=m68k-altos- basic_os=- ;;- am29k)- basic_machine=a29k-none- basic_os=bsd- ;;- amdahl)- basic_machine=580-amdahl- basic_os=sysv- ;;- amiga)- basic_machine=m68k-unknown- basic_os=- ;;- amigaos | amigados)- basic_machine=m68k-unknown- basic_os=amigaos- ;;- amigaunix | amix)- basic_machine=m68k-unknown- basic_os=sysv4- ;;- apollo68)- basic_machine=m68k-apollo- basic_os=sysv- ;;- apollo68bsd)- basic_machine=m68k-apollo- basic_os=bsd- ;;- aros)- basic_machine=i386-pc- basic_os=aros- ;;- aux)- basic_machine=m68k-apple- basic_os=aux- ;;- balance)- basic_machine=ns32k-sequent- basic_os=dynix- ;;- blackfin)- basic_machine=bfin-unknown- basic_os=linux- ;;- cegcc)- basic_machine=arm-unknown- basic_os=cegcc- ;;- convex-c1)- basic_machine=c1-convex- basic_os=bsd- ;;- convex-c2)- basic_machine=c2-convex- basic_os=bsd- ;;- convex-c32)- basic_machine=c32-convex- basic_os=bsd- ;;- convex-c34)- basic_machine=c34-convex- basic_os=bsd- ;;- convex-c38)- basic_machine=c38-convex- basic_os=bsd- ;;- cray)- basic_machine=j90-cray- basic_os=unicos- ;;- crds | unos)- basic_machine=m68k-crds- basic_os=- ;;- da30)- basic_machine=m68k-da30- basic_os=- ;;- decstation | pmax | pmin | dec3100 | decstatn)- basic_machine=mips-dec- basic_os=- ;;- delta88)- basic_machine=m88k-motorola- basic_os=sysv3- ;;- dicos)- basic_machine=i686-pc- basic_os=dicos- ;;- djgpp)- basic_machine=i586-pc- basic_os=msdosdjgpp- ;;- ebmon29k)- basic_machine=a29k-amd- basic_os=ebmon- ;;- es1800 | OSE68k | ose68k | ose | OSE)- basic_machine=m68k-ericsson- basic_os=ose- ;;- gmicro)- basic_machine=tron-gmicro- basic_os=sysv- ;;- go32)- basic_machine=i386-pc- basic_os=go32- ;;- h8300hms)- basic_machine=h8300-hitachi- basic_os=hms- ;;- h8300xray)- basic_machine=h8300-hitachi- basic_os=xray- ;;- h8500hms)- basic_machine=h8500-hitachi- basic_os=hms- ;;- harris)- basic_machine=m88k-harris- basic_os=sysv3- ;;- hp300 | hp300hpux)- basic_machine=m68k-hp- basic_os=hpux- ;;- hp300bsd)- basic_machine=m68k-hp- basic_os=bsd- ;;- hppaosf)- basic_machine=hppa1.1-hp- basic_os=osf- ;;- hppro)- basic_machine=hppa1.1-hp- basic_os=proelf- ;;- i386mach)- basic_machine=i386-mach- basic_os=mach- ;;- isi68 | isi)- basic_machine=m68k-isi- basic_os=sysv- ;;- m68knommu)- basic_machine=m68k-unknown- basic_os=linux- ;;- magnum | m3230)- basic_machine=mips-mips- basic_os=sysv- ;;- merlin)- basic_machine=ns32k-utek- basic_os=sysv- ;;- mingw64)- basic_machine=x86_64-pc- basic_os=mingw64- ;;- mingw32)- basic_machine=i686-pc- basic_os=mingw32- ;;- mingw32ce)- basic_machine=arm-unknown- basic_os=mingw32ce- ;;- monitor)- basic_machine=m68k-rom68k- basic_os=coff- ;;- morphos)- basic_machine=powerpc-unknown- basic_os=morphos- ;;- moxiebox)- basic_machine=moxie-unknown- basic_os=moxiebox- ;;- msdos)- basic_machine=i386-pc- basic_os=msdos- ;;- msys)- basic_machine=i686-pc- basic_os=msys- ;;- mvs)- basic_machine=i370-ibm- basic_os=mvs- ;;- nacl)- basic_machine=le32-unknown- basic_os=nacl- ;;- ncr3000)- basic_machine=i486-ncr- basic_os=sysv4- ;;- netbsd386)- basic_machine=i386-pc- basic_os=netbsd- ;;- netwinder)- basic_machine=armv4l-rebel- basic_os=linux- ;;- news | news700 | news800 | news900)- basic_machine=m68k-sony- basic_os=newsos- ;;- news1000)- basic_machine=m68030-sony- basic_os=newsos- ;;- necv70)- basic_machine=v70-nec- basic_os=sysv- ;;- nh3000)- basic_machine=m68k-harris- basic_os=cxux- ;;- nh[45]000)- basic_machine=m88k-harris- basic_os=cxux- ;;- nindy960)- basic_machine=i960-intel- basic_os=nindy- ;;- mon960)- basic_machine=i960-intel- basic_os=mon960- ;;- nonstopux)- basic_machine=mips-compaq- basic_os=nonstopux- ;;- os400)- basic_machine=powerpc-ibm- basic_os=os400- ;;- OSE68000 | ose68000)- basic_machine=m68000-ericsson- basic_os=ose- ;;- os68k)- basic_machine=m68k-none- basic_os=os68k- ;;- paragon)- basic_machine=i860-intel- basic_os=osf- ;;- parisc)- basic_machine=hppa-unknown- basic_os=linux- ;;- psp)- basic_machine=mipsallegrexel-sony- basic_os=psp- ;;- pw32)- basic_machine=i586-unknown- basic_os=pw32- ;;- rdos | rdos64)- basic_machine=x86_64-pc- basic_os=rdos- ;;- rdos32)- basic_machine=i386-pc- basic_os=rdos- ;;- rom68k)- basic_machine=m68k-rom68k- basic_os=coff- ;;- sa29200)- basic_machine=a29k-amd- basic_os=udi- ;;- sei)- basic_machine=mips-sei- basic_os=seiux- ;;- sequent)- basic_machine=i386-sequent- basic_os=- ;;- sps7)- basic_machine=m68k-bull- basic_os=sysv2- ;;- st2000)- basic_machine=m68k-tandem- basic_os=- ;;- stratus)- basic_machine=i860-stratus- basic_os=sysv4- ;;- sun2)- basic_machine=m68000-sun- basic_os=- ;;- sun2os3)- basic_machine=m68000-sun- basic_os=sunos3- ;;- sun2os4)- basic_machine=m68000-sun- basic_os=sunos4- ;;- sun3)- basic_machine=m68k-sun- basic_os=- ;;- sun3os3)- basic_machine=m68k-sun- basic_os=sunos3- ;;- sun3os4)- basic_machine=m68k-sun- basic_os=sunos4- ;;- sun4)- basic_machine=sparc-sun- basic_os=- ;;- sun4os3)- basic_machine=sparc-sun- basic_os=sunos3- ;;- sun4os4)- basic_machine=sparc-sun- basic_os=sunos4- ;;- sun4sol2)- basic_machine=sparc-sun- basic_os=solaris2- ;;- sun386 | sun386i | roadrunner)- basic_machine=i386-sun- basic_os=- ;;- sv1)- basic_machine=sv1-cray- basic_os=unicos- ;;- symmetry)- basic_machine=i386-sequent- basic_os=dynix- ;;- t3e)- basic_machine=alphaev5-cray- basic_os=unicos- ;;- t90)- basic_machine=t90-cray- basic_os=unicos- ;;- toad1)- basic_machine=pdp10-xkl- basic_os=tops20- ;;- tpf)- basic_machine=s390x-ibm- basic_os=tpf- ;;- udi29k)- basic_machine=a29k-amd- basic_os=udi- ;;- ultra3)- basic_machine=a29k-nyu- basic_os=sym1- ;;- v810 | necv810)- basic_machine=v810-nec- basic_os=none- ;;- vaxv)- basic_machine=vax-dec- basic_os=sysv- ;;- vms)- basic_machine=vax-dec- basic_os=vms- ;;- vsta)- basic_machine=i386-pc- basic_os=vsta- ;;- vxworks960)- basic_machine=i960-wrs- basic_os=vxworks- ;;- vxworks68)- basic_machine=m68k-wrs- basic_os=vxworks- ;;- vxworks29k)- basic_machine=a29k-wrs- basic_os=vxworks- ;;- xbox)- basic_machine=i686-pc- basic_os=mingw32- ;;- ymp)- basic_machine=ymp-cray- basic_os=unicos- ;;- *)- basic_machine=$1- basic_os=- ;;- esac- ;;-esac--# Decode 1-component or ad-hoc basic machines-case $basic_machine in- # Here we handle the default manufacturer of certain CPU types. It is in- # some cases the only manufacturer, in others, it is the most popular.- w89k)- cpu=hppa1.1- vendor=winbond- ;;- op50n)- cpu=hppa1.1- vendor=oki- ;;- op60c)- cpu=hppa1.1- vendor=oki- ;;- ibm*)- cpu=i370- vendor=ibm- ;;- orion105)- cpu=clipper- vendor=highlevel- ;;- mac | mpw | mac-mpw)- cpu=m68k- vendor=apple- ;;- pmac | pmac-mpw)- cpu=powerpc- vendor=apple- ;;-- # Recognize the various machine names and aliases which stand- # for a CPU type and a company and sometimes even an OS.- 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)- cpu=m68000- vendor=att- ;;- 3b*)- cpu=we32k- vendor=att- ;;- bluegene*)- cpu=powerpc- vendor=ibm- basic_os=cnk- ;;- decsystem10* | dec10*)- cpu=pdp10- vendor=dec- basic_os=tops10- ;;- decsystem20* | dec20*)- cpu=pdp10- vendor=dec- basic_os=tops20- ;;- delta | 3300 | motorola-3300 | motorola-delta \- | 3300-motorola | delta-motorola)- cpu=m68k- vendor=motorola- ;;- dpx2*)- cpu=m68k- vendor=bull- basic_os=sysv3- ;;- encore | umax | mmax)- cpu=ns32k- vendor=encore- ;;- elxsi)- cpu=elxsi- vendor=elxsi- basic_os=${basic_os:-bsd}- ;;- fx2800)- cpu=i860- vendor=alliant- ;;- genix)- cpu=ns32k- vendor=ns- ;;- h3050r* | hiux*)- cpu=hppa1.1- vendor=hitachi- basic_os=hiuxwe2- ;;- hp3k9[0-9][0-9] | hp9[0-9][0-9])- cpu=hppa1.0- vendor=hp- ;;- hp9k2[0-9][0-9] | hp9k31[0-9])- cpu=m68000- vendor=hp- ;;- hp9k3[2-9][0-9])- cpu=m68k- vendor=hp- ;;- hp9k6[0-9][0-9] | hp6[0-9][0-9])- cpu=hppa1.0- vendor=hp- ;;- hp9k7[0-79][0-9] | hp7[0-79][0-9])- cpu=hppa1.1- vendor=hp- ;;- hp9k78[0-9] | hp78[0-9])- # FIXME: really hppa2.0-hp- cpu=hppa1.1- vendor=hp- ;;- hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)- # FIXME: really hppa2.0-hp- cpu=hppa1.1- vendor=hp- ;;- hp9k8[0-9][13679] | hp8[0-9][13679])- cpu=hppa1.1- vendor=hp- ;;- hp9k8[0-9][0-9] | hp8[0-9][0-9])- cpu=hppa1.0- vendor=hp- ;;- i*86v32)- cpu=`echo "$1" | sed -e 's/86.*/86/'`- vendor=pc- basic_os=sysv32- ;;- i*86v4*)- cpu=`echo "$1" | sed -e 's/86.*/86/'`- vendor=pc- basic_os=sysv4- ;;- i*86v)- cpu=`echo "$1" | sed -e 's/86.*/86/'`- vendor=pc- basic_os=sysv- ;;- i*86sol2)- cpu=`echo "$1" | sed -e 's/86.*/86/'`- vendor=pc- basic_os=solaris2- ;;- j90 | j90-cray)- cpu=j90- vendor=cray- basic_os=${basic_os:-unicos}- ;;- iris | iris4d)- cpu=mips- vendor=sgi- case $basic_os in- irix*)- ;;- *)- basic_os=irix4- ;;- esac- ;;- miniframe)- cpu=m68000- vendor=convergent- ;;- *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)- cpu=m68k- vendor=atari- basic_os=mint- ;;- news-3600 | risc-news)- cpu=mips- vendor=sony- basic_os=newsos- ;;- next | m*-next)- cpu=m68k- vendor=next- case $basic_os in- openstep*)- ;;- nextstep*)- ;;- ns2*)- basic_os=nextstep2- ;;- *)- basic_os=nextstep3- ;;- esac- ;;- np1)- cpu=np1- vendor=gould- ;;- op50n-* | op60c-*)- cpu=hppa1.1- vendor=oki- basic_os=proelf- ;;- pa-hitachi)- cpu=hppa1.1- vendor=hitachi- basic_os=hiuxwe2- ;;- pbd)- cpu=sparc- vendor=tti- ;;- pbb)- cpu=m68k- vendor=tti- ;;- pc532)- cpu=ns32k- vendor=pc532- ;;- pn)- cpu=pn- vendor=gould- ;;- power)- cpu=power- vendor=ibm- ;;- ps2)- cpu=i386- vendor=ibm- ;;- rm[46]00)- cpu=mips- vendor=siemens- ;;- rtpc | rtpc-*)- cpu=romp- vendor=ibm- ;;- sde)- cpu=mipsisa32- vendor=sde- basic_os=${basic_os:-elf}- ;;- simso-wrs)- cpu=sparclite- vendor=wrs- basic_os=vxworks- ;;- tower | tower-32)- cpu=m68k- vendor=ncr- ;;- vpp*|vx|vx-*)- cpu=f301- vendor=fujitsu- ;;- w65)- cpu=w65- vendor=wdc- ;;- w89k-*)- cpu=hppa1.1- vendor=winbond- basic_os=proelf- ;;- none)- cpu=none- vendor=none- ;;- leon|leon[3-9])- cpu=sparc- vendor=$basic_machine- ;;- leon-*|leon[3-9]-*)- cpu=sparc- vendor=`echo "$basic_machine" | sed 's/-.*//'`- ;;-- *-*)- # shellcheck disable=SC2162- saved_IFS=$IFS- IFS="-" read cpu vendor <<EOF-$basic_machine-EOF- IFS=$saved_IFS- ;;- # We use `pc' rather than `unknown'- # because (1) that's what they normally are, and- # (2) the word "unknown" tends to confuse beginning users.- i*86 | x86_64)- cpu=$basic_machine- vendor=pc- ;;- # These rules are duplicated from below for sake of the special case above;- # i.e. things that normalized to x86 arches should also default to "pc"- pc98)- cpu=i386- vendor=pc- ;;- x64 | amd64)- cpu=x86_64- vendor=pc- ;;- # Recognize the basic CPU types without company name.- *)- cpu=$basic_machine- vendor=unknown- ;;-esac--unset -v basic_machine--# Decode basic machines in the full and proper CPU-Company form.-case $cpu-$vendor in- # Here we handle the default manufacturer of certain CPU types in canonical form. It is in- # some cases the only manufacturer, in others, it is the most popular.- craynv-unknown)- vendor=cray- basic_os=${basic_os:-unicosmp}- ;;- c90-unknown | c90-cray)- vendor=cray- basic_os=${Basic_os:-unicos}- ;;- fx80-unknown)- vendor=alliant- ;;- romp-unknown)- vendor=ibm- ;;- mmix-unknown)- vendor=knuth- ;;- microblaze-unknown | microblazeel-unknown)- vendor=xilinx- ;;- rs6000-unknown)- vendor=ibm- ;;- vax-unknown)- vendor=dec- ;;- pdp11-unknown)- vendor=dec- ;;- we32k-unknown)- vendor=att- ;;- cydra-unknown)- vendor=cydrome- ;;- i370-ibm*)- vendor=ibm- ;;- orion-unknown)- vendor=highlevel- ;;- xps-unknown | xps100-unknown)- cpu=xps100- vendor=honeywell- ;;-- # Here we normalize CPU types with a missing or matching vendor- armh-unknown | armh-alt)- cpu=armv7l- vendor=alt- basic_os=${basic_os:-linux-gnueabihf}- ;;- dpx20-unknown | dpx20-bull)- cpu=rs6000- vendor=bull- basic_os=${basic_os:-bosx}- ;;-- # Here we normalize CPU types irrespective of the vendor- amd64-*)- cpu=x86_64- ;;- blackfin-*)- cpu=bfin- basic_os=linux- ;;- c54x-*)- cpu=tic54x- ;;- c55x-*)- cpu=tic55x- ;;- c6x-*)- cpu=tic6x- ;;- e500v[12]-*)- cpu=powerpc- basic_os=${basic_os}"spe"- ;;- mips3*-*)- cpu=mips64- ;;- ms1-*)- cpu=mt- ;;- m68knommu-*)- cpu=m68k- basic_os=linux- ;;- m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)- cpu=s12z- ;;- openrisc-*)- cpu=or32- ;;- parisc-*)- cpu=hppa- basic_os=linux- ;;- pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)- cpu=i586- ;;- pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)- cpu=i686- ;;- pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)- cpu=i686- ;;- pentium4-*)- cpu=i786- ;;- pc98-*)- cpu=i386- ;;- ppc-* | ppcbe-*)- cpu=powerpc- ;;- ppcle-* | powerpclittle-*)- cpu=powerpcle- ;;- ppc64-*)- cpu=powerpc64- ;;- ppc64le-* | powerpc64little-*)- cpu=powerpc64le- ;;- sb1-*)- cpu=mipsisa64sb1- ;;- sb1el-*)- cpu=mipsisa64sb1el- ;;- sh5e[lb]-*)- cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'`- ;;- spur-*)- cpu=spur- ;;- strongarm-* | thumb-*)- cpu=arm- ;;- tx39-*)- cpu=mipstx39- ;;- tx39el-*)- cpu=mipstx39el- ;;- x64-*)- cpu=x86_64- ;;- xscale-* | xscalee[bl]-*)- cpu=`echo "$cpu" | sed 's/^xscale/arm/'`- ;;- arm64-* | aarch64le-*)- cpu=aarch64- ;;-- # Recognize the canonical CPU Types that limit and/or modify the- # company names they are paired with.- cr16-*)- basic_os=${basic_os:-elf}- ;;- crisv32-* | etraxfs*-*)- cpu=crisv32- vendor=axis- ;;- cris-* | etrax*-*)- cpu=cris- vendor=axis- ;;- crx-*)- basic_os=${basic_os:-elf}- ;;- neo-tandem)- cpu=neo- vendor=tandem- ;;- nse-tandem)- cpu=nse- vendor=tandem- ;;- nsr-tandem)- cpu=nsr- vendor=tandem- ;;- nsv-tandem)- cpu=nsv- vendor=tandem- ;;- nsx-tandem)- cpu=nsx- vendor=tandem- ;;- mipsallegrexel-sony)- cpu=mipsallegrexel- vendor=sony- ;;- tile*-*)- basic_os=${basic_os:-linux-gnu}- ;;-- *)- # Recognize the canonical CPU types that are allowed with any- # company name.- case $cpu in- 1750a | 580 \- | a29k \- | aarch64 | aarch64_be \- | abacus \- | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \- | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \- | alphapca5[67] | alpha64pca5[67] \- | am33_2.0 \- | amdgcn \- | arc | arceb | arc32 | arc64 \- | arm | arm[lb]e | arme[lb] | armv* \- | avr | avr32 \- | asmjs \- | ba \- | be32 | be64 \- | bfin | bpf | bs2000 \- | c[123]* | c30 | [cjt]90 | c4x \- | c8051 | clipper | craynv | csky | cydra \- | d10v | d30v | dlx | dsp16xx \- | e2k | elxsi | epiphany \- | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \- | h8300 | h8500 \- | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \- | hexagon \- | i370 | i*86 | i860 | i960 | ia16 | ia64 \- | ip2k | iq2000 \- | k1om \- | le32 | le64 \- | lm32 \- | loongarch32 | loongarch64 | loongarchx32 \- | m32c | m32r | m32rle \- | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \- | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \- | m88110 | m88k | maxq | mb | mcore | mep | metag \- | microblaze | microblazeel \- | mips | mipsbe | mipseb | mipsel | mipsle \- | mips16 \- | mips64 | mips64eb | mips64el \- | mips64octeon | mips64octeonel \- | mips64orion | mips64orionel \- | mips64r5900 | mips64r5900el \- | mips64vr | mips64vrel \- | mips64vr4100 | mips64vr4100el \- | mips64vr4300 | mips64vr4300el \- | mips64vr5000 | mips64vr5000el \- | mips64vr5900 | mips64vr5900el \- | mipsisa32 | mipsisa32el \- | mipsisa32r2 | mipsisa32r2el \- | mipsisa32r3 | mipsisa32r3el \- | mipsisa32r5 | mipsisa32r5el \- | mipsisa32r6 | mipsisa32r6el \- | mipsisa64 | mipsisa64el \- | mipsisa64r2 | mipsisa64r2el \- | mipsisa64r3 | mipsisa64r3el \- | mipsisa64r5 | mipsisa64r5el \- | mipsisa64r6 | mipsisa64r6el \- | mipsisa64sb1 | mipsisa64sb1el \- | mipsisa64sr71k | mipsisa64sr71kel \- | mipsr5900 | mipsr5900el \- | mipstx39 | mipstx39el \- | mmix \- | mn10200 | mn10300 \- | moxie \- | mt \- | msp430 \- | nds32 | nds32le | nds32be \- | nfp \- | nios | nios2 | nios2eb | nios2el \- | none | np1 | ns16k | ns32k | nvptx \- | open8 \- | or1k* \- | or32 \- | orion \- | picochip \- | pdp10 | pdp11 | pj | pjl | pn | power \- | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \- | pru \- | pyramid \- | riscv | riscv32 | riscv32be | riscv64 | riscv64be \- | rl78 | romp | rs6000 | rx \- | s390 | s390x \- | score \- | sh | shl \- | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \- | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \- | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \- | sparclite \- | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \- | spu \- | tahoe \- | thumbv7* \- | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \- | tron \- | ubicom32 \- | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \- | vax \- | visium \- | w65 \- | wasm32 | wasm64 \- | we32k \- | x86 | x86_64 | xc16x | xgate | xps100 \- | xstormy16 | xtensa* \- | ymp \- | z8k | z80)- ;;-- *)- echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2- exit 1- ;;- esac- ;;-esac--# Here we canonicalize certain aliases for manufacturers.-case $vendor in- digital*)- vendor=dec- ;;- commodore*)- vendor=cbm- ;;- *)- ;;-esac--# Decode manufacturer-specific aliases for certain operating systems.--if test x$basic_os != x-then--# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just-# set os.-case $basic_os in- gnu/linux*)- kernel=linux- os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'`- ;;- os2-emx)- kernel=os2- os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'`- ;;- nto-qnx*)- kernel=nto- os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'`- ;;- *-*)- # shellcheck disable=SC2162- saved_IFS=$IFS- IFS="-" read kernel os <<EOF-$basic_os-EOF- IFS=$saved_IFS- ;;- # Default OS when just kernel was specified- nto*)- kernel=nto- os=`echo "$basic_os" | sed -e 's|nto|qnx|'`- ;;- linux*)- kernel=linux- os=`echo "$basic_os" | sed -e 's|linux|gnu|'`- ;;- *)- kernel=- os=$basic_os- ;;-esac--# Now, normalize the OS (knowing we just have one component, it's not a kernel,-# etc.)-case $os in- # First match some system type aliases that might get confused- # with valid system types.- # solaris* is a basic system type, with this one exception.- auroraux)- os=auroraux- ;;- bluegene*)- os=cnk- ;;- solaris1 | solaris1.*)- os=`echo "$os" | sed -e 's|solaris1|sunos4|'`- ;;- solaris)- os=solaris2- ;;- unixware*)- os=sysv4.2uw- ;;- # es1800 is here to avoid being matched by es* (a different OS)- es1800*)- os=ose- ;;- # Some version numbers need modification- chorusos*)- os=chorusos- ;;- isc)- os=isc2.2- ;;- sco6)- os=sco5v6- ;;- sco5)- os=sco3.2v5- ;;- sco4)- os=sco3.2v4- ;;- sco3.2.[4-9]*)- os=`echo "$os" | sed -e 's/sco3.2./sco3.2v/'`- ;;- sco*v* | scout)- # Don't match below- ;;- sco*)- os=sco3.2v2- ;;- psos*)- os=psos- ;;- qnx*)- os=qnx- ;;- hiux*)- os=hiuxwe2- ;;- lynx*178)- os=lynxos178- ;;- lynx*5)- os=lynxos5- ;;- lynxos*)- # don't get caught up in next wildcard- ;;- lynx*)- os=lynxos- ;;- mac[0-9]*)- os=`echo "$os" | sed -e 's|mac|macos|'`- ;;- opened*)- os=openedition- ;;- os400*)- os=os400- ;;- sunos5*)- os=`echo "$os" | sed -e 's|sunos5|solaris2|'`- ;;- sunos6*)- os=`echo "$os" | sed -e 's|sunos6|solaris3|'`- ;;- wince*)- os=wince- ;;- utek*)- os=bsd- ;;- dynix*)- os=bsd- ;;- acis*)- os=aos- ;;- atheos*)- os=atheos- ;;- syllable*)- os=syllable- ;;- 386bsd)- os=bsd- ;;- ctix* | uts*)- os=sysv- ;;- nova*)- os=rtmk-nova- ;;- ns2)- os=nextstep2- ;;- # Preserve the version number of sinix5.- sinix5.*)- os=`echo "$os" | sed -e 's|sinix|sysv|'`- ;;- sinix*)- os=sysv4- ;;- tpf*)- os=tpf- ;;- triton*)- os=sysv3- ;;- oss*)- os=sysv3- ;;- svr4*)- os=sysv4- ;;- svr3)- os=sysv3- ;;- sysvr4)- os=sysv4- ;;- ose*)- os=ose- ;;- *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)- os=mint- ;;- dicos*)- os=dicos- ;;- pikeos*)- # Until real need of OS specific support for- # particular features comes up, bare metal- # configurations are quite functional.- case $cpu in- arm*)- os=eabi- ;;- *)- os=elf- ;;- esac- ;;- *)- # No normalization, but not necessarily accepted, that comes below.- ;;-esac--else--# Here we handle the default operating systems that come with various machines.-# The value should be what the vendor currently ships out the door with their-# machine or put another way, the most popular os provided with the machine.--# Note that if you're going to try to match "-MANUFACTURER" here (say,-# "-sun"), then you have to tell the case statement up towards the top-# that MANUFACTURER isn't an operating system. Otherwise, code above-# will signal an error saying that MANUFACTURER isn't an operating-# system, and we'll never get to this point.--kernel=-case $cpu-$vendor in- score-*)- os=elf- ;;- spu-*)- os=elf- ;;- *-acorn)- os=riscix1.2- ;;- arm*-rebel)- kernel=linux- os=gnu- ;;- arm*-semi)- os=aout- ;;- c4x-* | tic4x-*)- os=coff- ;;- c8051-*)- os=elf- ;;- clipper-intergraph)- os=clix- ;;- hexagon-*)- os=elf- ;;- tic54x-*)- os=coff- ;;- tic55x-*)- os=coff- ;;- tic6x-*)- os=coff- ;;- # This must come before the *-dec entry.- pdp10-*)- os=tops20- ;;- pdp11-*)- os=none- ;;- *-dec | vax-*)- os=ultrix4.2- ;;- m68*-apollo)- os=domain- ;;- i386-sun)- os=sunos4.0.2- ;;- m68000-sun)- os=sunos3- ;;- m68*-cisco)- os=aout- ;;- mep-*)- os=elf- ;;- mips*-cisco)- os=elf- ;;- mips*-*)- os=elf- ;;- or32-*)- os=coff- ;;- *-tti) # must be before sparc entry or we get the wrong os.- os=sysv3- ;;- sparc-* | *-sun)- os=sunos4.1.1- ;;- pru-*)- os=elf- ;;- *-be)- os=beos- ;;- *-ibm)- os=aix- ;;- *-knuth)- os=mmixware- ;;- *-wec)- os=proelf- ;;- *-winbond)- os=proelf- ;;- *-oki)- os=proelf- ;;- *-hp)- os=hpux- ;;- *-hitachi)- os=hiux- ;;- i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)- os=sysv- ;;- *-cbm)- os=amigaos- ;;- *-dg)- os=dgux- ;;- *-dolphin)- os=sysv3- ;;- m68k-ccur)- os=rtu- ;;- m88k-omron*)- os=luna- ;;- *-next)- os=nextstep- ;;- *-sequent)- os=ptx- ;;- *-crds)- os=unos- ;;- *-ns)- os=genix- ;;- i370-*)- os=mvs- ;;- *-gould)- os=sysv- ;;- *-highlevel)- os=bsd- ;;- *-encore)- os=bsd- ;;- *-sgi)- os=irix- ;;- *-siemens)- os=sysv4- ;;- *-masscomp)- os=rtu- ;;- f30[01]-fujitsu | f700-fujitsu)- os=uxpv- ;;- *-rom68k)- os=coff- ;;- *-*bug)- os=coff- ;;- *-apple)- os=macos- ;;- *-atari*)- os=mint- ;;- *-wrs)- os=vxworks- ;;- *)- os=none- ;;-esac--fi--# Now, validate our (potentially fixed-up) OS.-case $os in- # Sometimes we do "kernel-libc", so those need to count as OSes.- musl* | newlib* | relibc* | uclibc*)- ;;- # Likewise for "kernel-abi"- eabi* | gnueabi*)- ;;- # VxWorks passes extra cpu info in the 4th filed.- simlinux | simwindows | spe)- ;;- # Now accept the basic system types.- # The portable systems comes first.- # Each alternative MUST end in a * to match a version number.- gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \- | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \- | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \- | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \- | hiux* | abug | nacl* | netware* | windows* \- | os9* | macos* | osx* | ios* \- | mpw* | magic* | mmixware* | mon960* | lnews* \- | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \- | aos* | aros* | cloudabi* | sortix* | twizzler* \- | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \- | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \- | mirbsd* | netbsd* | dicos* | openedition* | ose* \- | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \- | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \- | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \- | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \- | udi* | lites* | ieee* | go32* | aux* | hcos* \- | chorusrdb* | cegcc* | glidix* | serenity* \- | cygwin* | msys* | pe* | moss* | proelf* | rtems* \- | midipix* | mingw32* | mingw64* | mint* \- | uxpv* | beos* | mpeix* | udk* | moxiebox* \- | interix* | uwin* | mks* | rhapsody* | darwin* \- | openstep* | oskit* | conix* | pw32* | nonstopux* \- | storm-chaos* | tops10* | tenex* | tops20* | its* \- | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \- | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \- | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \- | skyos* | haiku* | rdos* | toppers* | drops* | es* \- | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \- | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \- | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \- | fiwix* )- ;;- # This one is extra strict with allowed versions- sco3.2v2 | sco3.2v[4-9]* | sco5v6*)- # Don't forget version if it is 3.2v4 or newer.- ;;- none)- ;;- *)- echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2- exit 1- ;;-esac--# As a final step for OS-related things, validate the OS-kernel combination-# (given a valid OS), if there is a kernel.-case $kernel-$os in- linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \- | linux-musl* | linux-relibc* | linux-uclibc* )- ;;- uclinux-uclibc* )- ;;- -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* )- # These are just libc implementations, not actual OSes, and thus- # require a kernel.- echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2- exit 1- ;;- kfreebsd*-gnu* | kopensolaris*-gnu*)- ;;- vxworks-simlinux | vxworks-simwindows | vxworks-spe)- ;;- nto-qnx*)- ;;- os2-emx)- ;;- *-eabi* | *-gnueabi*)- ;;- -*)- # Blank kernel with real OS is always fine.- ;;- *-*)- echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2- exit 1- ;;-esac--# Here we handle the case where we know the os, and the CPU type, but not the-# manufacturer. We pick the logical manufacturer.-case $vendor in- unknown)- case $cpu-$os in- *-riscix*)- vendor=acorn- ;;- *-sunos*)- vendor=sun- ;;- *-cnk* | *-aix*)- vendor=ibm- ;;- *-beos*)- vendor=be- ;;- *-hpux*)- vendor=hp- ;;- *-mpeix*)- vendor=hp- ;;- *-hiux*)- vendor=hitachi- ;;- *-unos*)- vendor=crds- ;;- *-dgux*)- vendor=dg- ;;- *-luna*)- vendor=omron- ;;- *-genix*)- vendor=ns- ;;- *-clix*)- vendor=intergraph- ;;- *-mvs* | *-opened*)- vendor=ibm- ;;- *-os400*)- vendor=ibm- ;;- s390-* | s390x-*)- vendor=ibm- ;;- *-ptx*)- vendor=sequent- ;;- *-tpf*)- vendor=ibm- ;;- *-vxsim* | *-vxworks* | *-windiss*)- vendor=wrs- ;;- *-aux*)- vendor=apple- ;;- *-hms*)- vendor=hitachi- ;;- *-mpw* | *-macos*)- vendor=apple- ;;- *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*)- vendor=atari- ;;- *-vos*)- vendor=stratus- ;;- esac- ;;-esac--echo "$cpu-$vendor-${kernel:+$kernel-}$os"-exit--# Local variables:-# eval: (add-hook 'before-save-hook 'time-stamp)-# time-stamp-start: "timestamp='"-# time-stamp-format: "%:y-%02m-%02d"-# time-stamp-end: "'"-# End:
configure view
@@ -1,34005 +1,32977 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles.-# Generated by GNU Autoconf 2.71 for Haskell base package 1.0.-#-# Report bugs to <libraries@haskell.org>.-#-#-# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,-# Inc.-#-#-# This configure script is free software; the Free Software Foundation-# gives unlimited permission to copy, distribute and modify it.-## -------------------- ##-## M4sh Initialization. ##-## -------------------- ##--# Be more Bourne compatible-DUALCASE=1; export DUALCASE # for MKS sh-as_nop=:-if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1-then :- emulate sh- NULLCMD=:- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which- # is contrary to our usage. Disable this feature.- alias -g '${1+"$@"}'='"$@"'- setopt NO_GLOB_SUBST-else $as_nop- case `(set -o) 2>/dev/null` in #(- *posix*) :- set -o posix ;; #(- *) :- ;;-esac-fi----# Reset variables that may have inherited troublesome values from-# the environment.--# IFS needs to be set, to space, tab, and newline, in precisely that order.-# (If _AS_PATH_WALK were called with IFS unset, it would have the-# side effect of setting IFS to empty, thus disabling word splitting.)-# Quoting is to prevent editors from complaining about space-tab.-as_nl='-'-export as_nl-IFS=" "" $as_nl"--PS1='$ '-PS2='> '-PS4='+ '--# Ensure predictable behavior from utilities with locale-dependent output.-LC_ALL=C-export LC_ALL-LANGUAGE=C-export LANGUAGE--# We cannot yet rely on "unset" to work, but we need these variables-# to be unset--not just set to an empty or harmless value--now, to-# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct-# also avoids known problems related to "unset" and subshell syntax-# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).-for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH-do eval test \${$as_var+y} \- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :-done--# Ensure that fds 0, 1, and 2 are open.-if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi-if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi-if (exec 3>&2) ; then :; else exec 2>/dev/null; fi--# The user is always right.-if ${PATH_SEPARATOR+false} :; then- PATH_SEPARATOR=:- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||- PATH_SEPARATOR=';'- }-fi---# Find who we are. Look in the path if we contain no directory separator.-as_myself=-case $0 in #((- *[\\/]* ) as_myself=$0 ;;- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR-for as_dir in $PATH-do- IFS=$as_save_IFS- case $as_dir in #(((- '') as_dir=./ ;;- */) ;;- *) as_dir=$as_dir/ ;;- esac- test -r "$as_dir$0" && as_myself=$as_dir$0 && break- done-IFS=$as_save_IFS-- ;;-esac-# We did not find ourselves, most probably we were run as `sh COMMAND'-# in which case we are not to be found in the path.-if test "x$as_myself" = x; then- as_myself=$0-fi-if test ! -f "$as_myself"; then- printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2- exit 1-fi---# Use a proper internal environment variable to ensure we don't fall- # into an infinite loop, continuously re-executing ourselves.- if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then- _as_can_reexec=no; export _as_can_reexec;- # We cannot yet assume a decent shell, so we have to provide a-# neutralization value for shells without unset; and this also-# works around shells that cannot unset nonexistent variables.-# Preserve -v and -x to the replacement shell.-BASH_ENV=/dev/null-ENV=/dev/null-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV-case $- in # ((((- *v*x* | *x*v* ) as_opts=-vx ;;- *v* ) as_opts=-v ;;- *x* ) as_opts=-x ;;- * ) as_opts= ;;-esac-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}-# Admittedly, this is quite paranoid, since all the known shells bail-# out after a failed `exec'.-printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2-exit 255- fi- # We don't want this to propagate to other subprocesses.- { _as_can_reexec=; unset _as_can_reexec;}-if test "x$CONFIG_SHELL" = x; then- as_bourne_compatible="as_nop=:-if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1-then :- emulate sh- NULLCMD=:- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which- # is contrary to our usage. Disable this feature.- alias -g '\${1+\"\$@\"}'='\"\$@\"'- setopt NO_GLOB_SUBST-else \$as_nop- case \`(set -o) 2>/dev/null\` in #(- *posix*) :- set -o posix ;; #(- *) :- ;;-esac-fi-"- as_required="as_fn_return () { (exit \$1); }-as_fn_success () { as_fn_return 0; }-as_fn_failure () { as_fn_return 1; }-as_fn_ret_success () { return 0; }-as_fn_ret_failure () { return 1; }--exitcode=0-as_fn_success || { exitcode=1; echo as_fn_success failed.; }-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }-if ( set x; as_fn_ret_success y && test x = \"\$1\" )-then :--else \$as_nop- exitcode=1; echo positional parameters were not saved.-fi-test x\$exitcode = x0 || exit 1-blah=\$(echo \$(echo blah))-test x\"\$blah\" = xblah || exit 1-test -x / || exit 1"- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1-test \$(( 1 + 1 )) = 2 || exit 1"- if (eval "$as_required") 2>/dev/null-then :- as_have_required=yes-else $as_nop- as_have_required=no-fi- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null-then :--else $as_nop- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR-as_found=false-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH-do- IFS=$as_save_IFS- case $as_dir in #(((- '') as_dir=./ ;;- */) ;;- *) as_dir=$as_dir/ ;;- esac- as_found=:- case $as_dir in #(- /*)- for as_base in sh bash ksh sh5; do- # Try only shells that exist, to save several forks.- as_shell=$as_dir$as_base- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&- as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null-then :- CONFIG_SHELL=$as_shell as_have_required=yes- if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null-then :- break 2-fi-fi- done;;- esac- as_found=false-done-IFS=$as_save_IFS-if $as_found-then :--else $as_nop- if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&- as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null-then :- CONFIG_SHELL=$SHELL as_have_required=yes-fi-fi--- if test "x$CONFIG_SHELL" != x-then :- export CONFIG_SHELL- # We cannot yet assume a decent shell, so we have to provide a-# neutralization value for shells without unset; and this also-# works around shells that cannot unset nonexistent variables.-# Preserve -v and -x to the replacement shell.-BASH_ENV=/dev/null-ENV=/dev/null-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV-case $- in # ((((- *v*x* | *x*v* ) as_opts=-vx ;;- *v* ) as_opts=-v ;;- *x* ) as_opts=-x ;;- * ) as_opts= ;;-esac-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}-# Admittedly, this is quite paranoid, since all the known shells bail-# out after a failed `exec'.-printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2-exit 255-fi-- if test x$as_have_required = xno-then :- printf "%s\n" "$0: This script requires a shell more modern than all"- printf "%s\n" "$0: the shells that I found on your system."- if test ${ZSH_VERSION+y} ; then- printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should"- printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later."- else- printf "%s\n" "$0: Please tell bug-autoconf@gnu.org and-$0: libraries@haskell.org about your system, including any-$0: error possibly output before this message. Then install-$0: a modern shell, or manually run the script under such a-$0: shell if you do have one."- fi- exit 1-fi-fi-fi-SHELL=${CONFIG_SHELL-/bin/sh}-export SHELL-# Unset more variables known to interfere with behavior of common tools.-CLICOLOR_FORCE= GREP_OPTIONS=-unset CLICOLOR_FORCE GREP_OPTIONS--## --------------------- ##-## M4sh Shell Functions. ##-## --------------------- ##-# as_fn_unset VAR-# ----------------# Portably unset VAR.-as_fn_unset ()-{- { eval $1=; unset $1;}-}-as_unset=as_fn_unset---# as_fn_set_status STATUS-# ------------------------# Set $? to STATUS, without forking.-as_fn_set_status ()-{- return $1-} # as_fn_set_status--# as_fn_exit STATUS-# ------------------# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.-as_fn_exit ()-{- set +e- as_fn_set_status $1- exit $1-} # as_fn_exit-# as_fn_nop-# ----------# Do nothing but, unlike ":", preserve the value of $?.-as_fn_nop ()-{- return $?-}-as_nop=as_fn_nop--# as_fn_mkdir_p-# --------------# Create "$as_dir" as a directory, including parents if necessary.-as_fn_mkdir_p ()-{-- case $as_dir in #(- -*) as_dir=./$as_dir;;- esac- test -d "$as_dir" || eval $as_mkdir_p || {- as_dirs=- while :; do- case $as_dir in #(- *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(- *) as_qdir=$as_dir;;- esac- as_dirs="'$as_qdir' $as_dirs"- as_dir=`$as_dirname -- "$as_dir" ||-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \- X"$as_dir" : 'X\(//\)[^/]' \| \- X"$as_dir" : 'X\(//\)$' \| \- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||-printf "%s\n" X"$as_dir" |- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{- s//\1/- q- }- /^X\(\/\/\)[^/].*/{- s//\1/- q- }- /^X\(\/\/\)$/{- s//\1/- q- }- /^X\(\/\).*/{- s//\1/- q- }- s/.*/./; q'`- test -d "$as_dir" && break- done- test -z "$as_dirs" || eval "mkdir $as_dirs"- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"---} # as_fn_mkdir_p--# as_fn_executable_p FILE-# ------------------------# Test if FILE is an executable regular file.-as_fn_executable_p ()-{- test -f "$1" && test -x "$1"-} # as_fn_executable_p-# as_fn_append VAR VALUE-# -----------------------# Append the text in VALUE to the end of the definition contained in VAR. Take-# advantage of any shell optimizations that allow amortized linear growth over-# repeated appends, instead of the typical quadratic growth present in naive-# implementations.-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null-then :- eval 'as_fn_append ()- {- eval $1+=\$2- }'-else $as_nop- as_fn_append ()- {- eval $1=\$$1\$2- }-fi # as_fn_append--# as_fn_arith ARG...-# -------------------# Perform arithmetic evaluation on the ARGs, and store the result in the-# global $as_val. Take advantage of shells that can avoid forks. The arguments-# must be portable across $(()) and expr.-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null-then :- eval 'as_fn_arith ()- {- as_val=$(( $* ))- }'-else $as_nop- as_fn_arith ()- {- as_val=`expr "$@" || test $? -eq 1`- }-fi # as_fn_arith--# as_fn_nop-# ----------# Do nothing but, unlike ":", preserve the value of $?.-as_fn_nop ()-{- return $?-}-as_nop=as_fn_nop--# as_fn_error STATUS ERROR [LINENO LOG_FD]-# -----------------------------------------# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the-# script with STATUS, using 1 if that was 0.-as_fn_error ()-{- as_status=$1; test $as_status -eq 0 && as_status=1- if test "$4"; then- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack- printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4- fi- printf "%s\n" "$as_me: error: $2" >&2- as_fn_exit $as_status-} # as_fn_error--if expr a : '\(a\)' >/dev/null 2>&1 &&- test "X`expr 00001 : '.*\(...\)'`" = X001; then- as_expr=expr-else- as_expr=false-fi--if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then- as_basename=basename-else- as_basename=false-fi--if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then- as_dirname=dirname-else- as_dirname=false-fi--as_me=`$as_basename -- "$0" ||-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \- X"$0" : 'X\(//\)$' \| \- X"$0" : 'X\(/\)' \| . 2>/dev/null ||-printf "%s\n" X/"$0" |- sed '/^.*\/\([^/][^/]*\)\/*$/{- s//\1/- q- }- /^X\/\(\/\/\)$/{- s//\1/- q- }- /^X\/\(\/\).*/{- s//\1/- q- }- s/.*/./; q'`--# Avoid depending upon Character Ranges.-as_cr_letters='abcdefghijklmnopqrstuvwxyz'-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'-as_cr_Letters=$as_cr_letters$as_cr_LETTERS-as_cr_digits='0123456789'-as_cr_alnum=$as_cr_Letters$as_cr_digits--- as_lineno_1=$LINENO as_lineno_1a=$LINENO- as_lineno_2=$LINENO as_lineno_2a=$LINENO- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)- sed -n '- p- /[$]LINENO/=- ' <$as_myself |- sed '- s/[$]LINENO.*/&-/- t lineno- b- :lineno- N- :loop- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/- t loop- s/-\n.*//- ' >$as_me.lineno &&- chmod +x "$as_me.lineno" ||- { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }-- # If we had to re-execute with $CONFIG_SHELL, we're ensured to have- # already done that, so ensure we don't try to do so again and fall- # in an infinite loop. This has already happened in practice.- _as_can_reexec=no; export _as_can_reexec- # Don't try to exec as it changes $[0], causing all sort of problems- # (the dirname of $[0] is not the place where we might find the- # original and so on. Autoconf is especially sensitive to this).- . "./$as_me.lineno"- # Exit status is that of the last command.- exit-}---# Determine whether it's possible to make 'echo' print without a newline.-# These variables are no longer used directly by Autoconf, but are AC_SUBSTed-# for compatibility with existing Makefiles.-ECHO_C= ECHO_N= ECHO_T=-case `echo -n x` in #(((((--n*)- case `echo 'xy\c'` in- *c*) ECHO_T=' ';; # ECHO_T is single tab character.- xy) ECHO_C='\c';;- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null- ECHO_T=' ';;- esac;;-*)- ECHO_N='-n';;-esac--# For backward compatibility with old third-party macros, we provide-# the shell variables $as_echo and $as_echo_n. New code should use-# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.-as_echo='printf %s\n'-as_echo_n='printf %s'---rm -f conf$$ conf$$.exe conf$$.file-if test -d conf$$.dir; then- rm -f conf$$.dir/conf$$.file-else- rm -f conf$$.dir- mkdir conf$$.dir 2>/dev/null-fi-if (echo >conf$$.file) 2>/dev/null; then- if ln -s conf$$.file conf$$ 2>/dev/null; then- as_ln_s='ln -s'- # ... but there are two gotchas:- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.- # In both cases, we have to default to `cp -pR'.- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||- as_ln_s='cp -pR'- elif ln conf$$.file conf$$ 2>/dev/null; then- as_ln_s=ln- else- as_ln_s='cp -pR'- fi-else- as_ln_s='cp -pR'-fi-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file-rmdir conf$$.dir 2>/dev/null--if mkdir -p . 2>/dev/null; then- as_mkdir_p='mkdir -p "$as_dir"'-else- test -d ./-p && rmdir ./-p- as_mkdir_p=false-fi--as_test_x='test -x'-as_executable_p=as_fn_executable_p--# Sed expression to map a string onto a valid CPP name.-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"--# Sed expression to map a string onto a valid variable name.-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"---test -n "$DJDIR" || exec 7<&0 </dev/null-exec 6>&1--# Name of the host.-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,-# so uname gets run too.-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`--#-# Initializations.-#-ac_default_prefix=/usr/local-ac_clean_files=-ac_config_libobj_dir=.-LIBOBJS=-cross_compiling=no-subdirs=-MFLAGS=-MAKEFLAGS=--# Identity of this package.-PACKAGE_NAME='Haskell base package'-PACKAGE_TARNAME='base'-PACKAGE_VERSION='1.0'-PACKAGE_STRING='Haskell base package 1.0'-PACKAGE_BUGREPORT='libraries@haskell.org'-PACKAGE_URL=''--ac_unique_file="include/HsBase.h"-# Factoring default headers for most tests.-ac_includes_default="\-#include <stddef.h>-#ifdef HAVE_STDIO_H-# include <stdio.h>-#endif-#ifdef HAVE_STDLIB_H-# include <stdlib.h>-#endif-#ifdef HAVE_STRING_H-# include <string.h>-#endif-#ifdef HAVE_INTTYPES_H-# include <inttypes.h>-#endif-#ifdef HAVE_STDINT_H-# include <stdint.h>-#endif-#ifdef HAVE_STRINGS_H-# include <strings.h>-#endif-#ifdef HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif-#ifdef HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif-#ifdef HAVE_UNISTD_H-# include <unistd.h>-#endif"--ac_header_c_list=-ac_subst_vars='LTLIBOBJS-LIBOBJS-EXTRA_LIBS-ICONV_LIB_DIRS-ICONV_INCLUDE_DIRS-EGREP-GREP-CPP-OBJEXT-EXEEXT-ac_ct_CC-CPPFLAGS-LDFLAGS-CFLAGS-CC-target_alias-host_alias-build_alias-LIBS-ECHO_T-ECHO_N-ECHO_C-DEFS-mandir-localedir-libdir-psdir-pdfdir-dvidir-htmldir-infodir-docdir-oldincludedir-includedir-runstatedir-localstatedir-sharedstatedir-sysconfdir-datadir-datarootdir-libexecdir-sbindir-bindir-program_transform_name-prefix-exec_prefix-PACKAGE_URL-PACKAGE_BUGREPORT-PACKAGE_STRING-PACKAGE_VERSION-PACKAGE_TARNAME-PACKAGE_NAME-PATH_SEPARATOR-SHELL'-ac_subst_files=''-ac_user_opts='-enable_option_checking-enable_largefile-with_iconv_includes-with_iconv_libraries-with_libcharset-'- ac_precious_vars='build_alias-host_alias-target_alias-CC-CFLAGS-LDFLAGS-LIBS-CPPFLAGS-CPP'---# Initialize some variables set by options.-ac_init_help=-ac_init_version=false-ac_unrecognized_opts=-ac_unrecognized_sep=-# The variables have the same names as the options, with-# dashes changed to underlines.-cache_file=/dev/null-exec_prefix=NONE-no_create=-no_recursion=-prefix=NONE-program_prefix=NONE-program_suffix=NONE-program_transform_name=s,x,x,-silent=-site=-srcdir=-verbose=-x_includes=NONE-x_libraries=NONE--# Installation directory options.-# These are left unexpanded so users can "make install exec_prefix=/foo"-# and all the variables that are supposed to be based on exec_prefix-# by default will actually change.-# Use braces instead of parens because sh, perl, etc. also accept them.-# (The list follows the same order as the GNU Coding Standards.)-bindir='${exec_prefix}/bin'-sbindir='${exec_prefix}/sbin'-libexecdir='${exec_prefix}/libexec'-datarootdir='${prefix}/share'-datadir='${datarootdir}'-sysconfdir='${prefix}/etc'-sharedstatedir='${prefix}/com'-localstatedir='${prefix}/var'-runstatedir='${localstatedir}/run'-includedir='${prefix}/include'-oldincludedir='/usr/include'-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'-infodir='${datarootdir}/info'-htmldir='${docdir}'-dvidir='${docdir}'-pdfdir='${docdir}'-psdir='${docdir}'-libdir='${exec_prefix}/lib'-localedir='${datarootdir}/locale'-mandir='${datarootdir}/man'--ac_prev=-ac_dashdash=-for ac_option-do- # If the previous option needs an argument, assign it.- if test -n "$ac_prev"; then- eval $ac_prev=\$ac_option- ac_prev=- continue- fi-- case $ac_option in- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;- *=) ac_optarg= ;;- *) ac_optarg=yes ;;- esac-- case $ac_dashdash$ac_option in- --)- ac_dashdash=yes ;;-- -bindir | --bindir | --bindi | --bind | --bin | --bi)- ac_prev=bindir ;;- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)- bindir=$ac_optarg ;;-- -build | --build | --buil | --bui | --bu)- ac_prev=build_alias ;;- -build=* | --build=* | --buil=* | --bui=* | --bu=*)- build_alias=$ac_optarg ;;-- -cache-file | --cache-file | --cache-fil | --cache-fi \- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)- ac_prev=cache_file ;;- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)- cache_file=$ac_optarg ;;-- --config-cache | -C)- cache_file=config.cache ;;-- -datadir | --datadir | --datadi | --datad)- ac_prev=datadir ;;- -datadir=* | --datadir=* | --datadi=* | --datad=*)- datadir=$ac_optarg ;;-- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \- | --dataroo | --dataro | --datar)- ac_prev=datarootdir ;;- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)- datarootdir=$ac_optarg ;;-- -disable-* | --disable-*)- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`- # Reject names that are not valid shell variable names.- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&- as_fn_error $? "invalid feature name: \`$ac_useropt'"- ac_useropt_orig=$ac_useropt- ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`- case $ac_user_opts in- *"-"enable_$ac_useropt"-"*) ;;- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"- ac_unrecognized_sep=', ';;- esac- eval enable_$ac_useropt=no ;;-- -docdir | --docdir | --docdi | --doc | --do)- ac_prev=docdir ;;- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)- docdir=$ac_optarg ;;-- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)- ac_prev=dvidir ;;- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)- dvidir=$ac_optarg ;;-- -enable-* | --enable-*)- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`- # Reject names that are not valid shell variable names.- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&- as_fn_error $? "invalid feature name: \`$ac_useropt'"- ac_useropt_orig=$ac_useropt- ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`- case $ac_user_opts in- *"-"enable_$ac_useropt"-"*) ;;- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"- ac_unrecognized_sep=', ';;- esac- eval enable_$ac_useropt=\$ac_optarg ;;-- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \- | --exec | --exe | --ex)- ac_prev=exec_prefix ;;- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \- | --exec=* | --exe=* | --ex=*)- exec_prefix=$ac_optarg ;;-- -gas | --gas | --ga | --g)- # Obsolete; use --with-gas.- with_gas=yes ;;-- -help | --help | --hel | --he | -h)- ac_init_help=long ;;- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)- ac_init_help=recursive ;;- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)- ac_init_help=short ;;-- -host | --host | --hos | --ho)- ac_prev=host_alias ;;- -host=* | --host=* | --hos=* | --ho=*)- host_alias=$ac_optarg ;;-- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)- ac_prev=htmldir ;;- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \- | --ht=*)- htmldir=$ac_optarg ;;-- -includedir | --includedir | --includedi | --included | --include \- | --includ | --inclu | --incl | --inc)- ac_prev=includedir ;;- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \- | --includ=* | --inclu=* | --incl=* | --inc=*)- includedir=$ac_optarg ;;-- -infodir | --infodir | --infodi | --infod | --info | --inf)- ac_prev=infodir ;;- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)- infodir=$ac_optarg ;;-- -libdir | --libdir | --libdi | --libd)- ac_prev=libdir ;;- -libdir=* | --libdir=* | --libdi=* | --libd=*)- libdir=$ac_optarg ;;-- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \- | --libexe | --libex | --libe)- ac_prev=libexecdir ;;- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \- | --libexe=* | --libex=* | --libe=*)- libexecdir=$ac_optarg ;;-- -localedir | --localedir | --localedi | --localed | --locale)- ac_prev=localedir ;;- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)- localedir=$ac_optarg ;;-- -localstatedir | --localstatedir | --localstatedi | --localstated \- | --localstate | --localstat | --localsta | --localst | --locals)- ac_prev=localstatedir ;;- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)- localstatedir=$ac_optarg ;;-- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)- ac_prev=mandir ;;- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)- mandir=$ac_optarg ;;-- -nfp | --nfp | --nf)- # Obsolete; use --without-fp.- with_fp=no ;;-- -no-create | --no-create | --no-creat | --no-crea | --no-cre \- | --no-cr | --no-c | -n)- no_create=yes ;;-- -no-recursion | --no-recursion | --no-recursio | --no-recursi \- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)- no_recursion=yes ;;-- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \- | --oldin | --oldi | --old | --ol | --o)- ac_prev=oldincludedir ;;- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)- oldincludedir=$ac_optarg ;;-- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)- ac_prev=prefix ;;- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)- prefix=$ac_optarg ;;-- -program-prefix | --program-prefix | --program-prefi | --program-pref \- | --program-pre | --program-pr | --program-p)- ac_prev=program_prefix ;;- -program-prefix=* | --program-prefix=* | --program-prefi=* \- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)- program_prefix=$ac_optarg ;;-- -program-suffix | --program-suffix | --program-suffi | --program-suff \- | --program-suf | --program-su | --program-s)- ac_prev=program_suffix ;;- -program-suffix=* | --program-suffix=* | --program-suffi=* \- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)- program_suffix=$ac_optarg ;;-- -program-transform-name | --program-transform-name \- | --program-transform-nam | --program-transform-na \- | --program-transform-n | --program-transform- \- | --program-transform | --program-transfor \- | --program-transfo | --program-transf \- | --program-trans | --program-tran \- | --progr-tra | --program-tr | --program-t)- ac_prev=program_transform_name ;;- -program-transform-name=* | --program-transform-name=* \- | --program-transform-nam=* | --program-transform-na=* \- | --program-transform-n=* | --program-transform-=* \- | --program-transform=* | --program-transfor=* \- | --program-transfo=* | --program-transf=* \- | --program-trans=* | --program-tran=* \- | --progr-tra=* | --program-tr=* | --program-t=*)- program_transform_name=$ac_optarg ;;-- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)- ac_prev=pdfdir ;;- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)- pdfdir=$ac_optarg ;;-- -psdir | --psdir | --psdi | --psd | --ps)- ac_prev=psdir ;;- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)- psdir=$ac_optarg ;;-- -q | -quiet | --quiet | --quie | --qui | --qu | --q \- | -silent | --silent | --silen | --sile | --sil)- silent=yes ;;-- -runstatedir | --runstatedir | --runstatedi | --runstated \- | --runstate | --runstat | --runsta | --runst | --runs \- | --run | --ru | --r)- ac_prev=runstatedir ;;- -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \- | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \- | --run=* | --ru=* | --r=*)- runstatedir=$ac_optarg ;;-- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)- ac_prev=sbindir ;;- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \- | --sbi=* | --sb=*)- sbindir=$ac_optarg ;;-- -sharedstatedir | --sharedstatedir | --sharedstatedi \- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \- | --sharedst | --shareds | --shared | --share | --shar \- | --sha | --sh)- ac_prev=sharedstatedir ;;- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \- | --sha=* | --sh=*)- sharedstatedir=$ac_optarg ;;-- -site | --site | --sit)- ac_prev=site ;;- -site=* | --site=* | --sit=*)- site=$ac_optarg ;;-- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)- ac_prev=srcdir ;;- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)- srcdir=$ac_optarg ;;-- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \- | --syscon | --sysco | --sysc | --sys | --sy)- ac_prev=sysconfdir ;;- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)- sysconfdir=$ac_optarg ;;-- -target | --target | --targe | --targ | --tar | --ta | --t)- ac_prev=target_alias ;;- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)- target_alias=$ac_optarg ;;-- -v | -verbose | --verbose | --verbos | --verbo | --verb)- verbose=yes ;;-- -version | --version | --versio | --versi | --vers | -V)- ac_init_version=: ;;-- -with-* | --with-*)- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`- # Reject names that are not valid shell variable names.- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&- as_fn_error $? "invalid package name: \`$ac_useropt'"- ac_useropt_orig=$ac_useropt- ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`- case $ac_user_opts in- *"-"with_$ac_useropt"-"*) ;;- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"- ac_unrecognized_sep=', ';;- esac- eval with_$ac_useropt=\$ac_optarg ;;-- -without-* | --without-*)- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`- # Reject names that are not valid shell variable names.- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&- as_fn_error $? "invalid package name: \`$ac_useropt'"- ac_useropt_orig=$ac_useropt- ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`- case $ac_user_opts in- *"-"with_$ac_useropt"-"*) ;;- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"- ac_unrecognized_sep=', ';;- esac- eval with_$ac_useropt=no ;;-- --x)- # Obsolete; use --with-x.- with_x=yes ;;-- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \- | --x-incl | --x-inc | --x-in | --x-i)- ac_prev=x_includes ;;- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)- x_includes=$ac_optarg ;;-- -x-libraries | --x-libraries | --x-librarie | --x-librari \- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)- ac_prev=x_libraries ;;- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)- x_libraries=$ac_optarg ;;-- -*) as_fn_error $? "unrecognized option: \`$ac_option'-Try \`$0 --help' for more information"- ;;-- *=*)- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`- # Reject names that are not valid shell variable names.- case $ac_envvar in #(- '' | [0-9]* | *[!_$as_cr_alnum]* )- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;- esac- eval $ac_envvar=\$ac_optarg- export $ac_envvar ;;-- *)- # FIXME: should be removed in autoconf 3.0.- printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&- printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"- ;;-- esac-done--if test -n "$ac_prev"; then- ac_option=--`echo $ac_prev | sed 's/_/-/g'`- as_fn_error $? "missing argument to $ac_option"-fi--if test -n "$ac_unrecognized_opts"; then- case $enable_option_checking in- no) ;;- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;- *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;- esac-fi--# Check all directory arguments for consistency.-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \- datadir sysconfdir sharedstatedir localstatedir includedir \- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \- libdir localedir mandir runstatedir-do- eval ac_val=\$$ac_var- # Remove trailing slashes.- case $ac_val in- */ )- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`- eval $ac_var=\$ac_val;;- esac- # Be sure to have absolute directory names.- case $ac_val in- [\\/$]* | ?:[\\/]* ) continue;;- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;- esac- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"-done--# There might be people who depend on the old broken behavior: `$host'-# used to hold the argument of --host etc.-# FIXME: To remove some day.-build=$build_alias-host=$host_alias-target=$target_alias--# FIXME: To remove some day.-if test "x$host_alias" != x; then- if test "x$build_alias" = x; then- cross_compiling=maybe- elif test "x$build_alias" != "x$host_alias"; then- cross_compiling=yes- fi-fi--ac_tool_prefix=-test -n "$host_alias" && ac_tool_prefix=$host_alias---test "$silent" = yes && exec 6>/dev/null---ac_pwd=`pwd` && test -n "$ac_pwd" &&-ac_ls_di=`ls -di .` &&-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||- as_fn_error $? "working directory cannot be determined"-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||- as_fn_error $? "pwd does not report name of working directory"---# Find the source files, if location was not specified.-if test -z "$srcdir"; then- ac_srcdir_defaulted=yes- # Try the directory containing this script, then the parent directory.- ac_confdir=`$as_dirname -- "$as_myself" ||-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \- X"$as_myself" : 'X\(//\)[^/]' \| \- X"$as_myself" : 'X\(//\)$' \| \- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||-printf "%s\n" X"$as_myself" |- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{- s//\1/- q- }- /^X\(\/\/\)[^/].*/{- s//\1/- q- }- /^X\(\/\/\)$/{- s//\1/- q- }- /^X\(\/\).*/{- s//\1/- q- }- s/.*/./; q'`- srcdir=$ac_confdir- if test ! -r "$srcdir/$ac_unique_file"; then- srcdir=..- fi-else- ac_srcdir_defaulted=no-fi-if test ! -r "$srcdir/$ac_unique_file"; then- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"-fi-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"-ac_abs_confdir=`(- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"- pwd)`-# When building in place, set srcdir=.-if test "$ac_abs_confdir" = "$ac_pwd"; then- srcdir=.-fi-# Remove unnecessary trailing slashes from srcdir.-# Double slashes in file names in object file debugging info-# mess up M-x gdb in Emacs.-case $srcdir in-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;-esac-for ac_var in $ac_precious_vars; do- eval ac_env_${ac_var}_set=\${${ac_var}+set}- eval ac_env_${ac_var}_value=\$${ac_var}- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}- eval ac_cv_env_${ac_var}_value=\$${ac_var}-done--#-# Report the --help message.-#-if test "$ac_init_help" = "long"; then- # Omit some internal or obsolete options to make the list less imposing.- # This message is too long to be a string in the A/UX 3.1 sh.- cat <<_ACEOF-\`configure' configures Haskell base package 1.0 to adapt to many kinds of systems.--Usage: $0 [OPTION]... [VAR=VALUE]...--To assign environment variables (e.g., CC, CFLAGS...), specify them as-VAR=VALUE. See below for descriptions of some of the useful variables.--Defaults for the options are specified in brackets.--Configuration:- -h, --help display this help and exit- --help=short display options specific to this package- --help=recursive display the short help of all the included packages- -V, --version display version information and exit- -q, --quiet, --silent do not print \`checking ...' messages- --cache-file=FILE cache test results in FILE [disabled]- -C, --config-cache alias for \`--cache-file=config.cache'- -n, --no-create do not create output files- --srcdir=DIR find the sources in DIR [configure dir or \`..']--Installation directories:- --prefix=PREFIX install architecture-independent files in PREFIX- [$ac_default_prefix]- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX- [PREFIX]--By default, \`make install' will install all the files in-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify-an installation prefix other than \`$ac_default_prefix' using \`--prefix',-for instance \`--prefix=\$HOME'.--For better control, use the options below.--Fine tuning of the installation directories:- --bindir=DIR user executables [EPREFIX/bin]- --sbindir=DIR system admin executables [EPREFIX/sbin]- --libexecdir=DIR program executables [EPREFIX/libexec]- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]- --localstatedir=DIR modifiable single-machine data [PREFIX/var]- --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]- --libdir=DIR object code libraries [EPREFIX/lib]- --includedir=DIR C header files [PREFIX/include]- --oldincludedir=DIR C header files for non-gcc [/usr/include]- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]- --infodir=DIR info documentation [DATAROOTDIR/info]- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]- --mandir=DIR man documentation [DATAROOTDIR/man]- --docdir=DIR documentation root [DATAROOTDIR/doc/base]- --htmldir=DIR html documentation [DOCDIR]- --dvidir=DIR dvi documentation [DOCDIR]- --pdfdir=DIR pdf documentation [DOCDIR]- --psdir=DIR ps documentation [DOCDIR]-_ACEOF-- cat <<\_ACEOF-_ACEOF-fi--if test -n "$ac_init_help"; then- case $ac_init_help in- short | recursive ) echo "Configuration of Haskell base package 1.0:";;- esac- cat <<\_ACEOF--Optional Features:- --disable-option-checking ignore unrecognized --enable/--with options- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]- --disable-largefile omit support for large files--Optional Packages:- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)- --with-iconv-includes directory containing iconv.h- --with-iconv-libraries directory containing iconv library- --with-libcharset Use libcharset [default=only if available]--Some influential environment variables:- CC C compiler command- CFLAGS C compiler flags- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a- nonstandard directory <lib dir>- LIBS libraries to pass to the linker, e.g. -l<library>- CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if- you have headers in a nonstandard directory <include dir>- CPP C preprocessor--Use these variables to override the choices made by `configure' or to help-it to find libraries and programs with nonstandard names/locations.--Report bugs to <libraries@haskell.org>.-_ACEOF-ac_status=$?-fi--if test "$ac_init_help" = "recursive"; then- # If there are subdirs, report their specific --help.- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue- test -d "$ac_dir" ||- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||- continue- ac_builddir=.--case "$ac_dir" in-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;-*)- ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`- # A ".." for each directory in $ac_dir_suffix.- ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`- case $ac_top_builddir_sub in- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;- esac ;;-esac-ac_abs_top_builddir=$ac_pwd-ac_abs_builddir=$ac_pwd$ac_dir_suffix-# for backward compatibility:-ac_top_builddir=$ac_top_build_prefix--case $srcdir in- .) # We are building in place.- ac_srcdir=.- ac_top_srcdir=$ac_top_builddir_sub- ac_abs_top_srcdir=$ac_pwd ;;- [\\/]* | ?:[\\/]* ) # Absolute name.- ac_srcdir=$srcdir$ac_dir_suffix;- ac_top_srcdir=$srcdir- ac_abs_top_srcdir=$srcdir ;;- *) # Relative name.- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix- ac_top_srcdir=$ac_top_build_prefix$srcdir- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;-esac-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix-- cd "$ac_dir" || { ac_status=$?; continue; }- # Check for configure.gnu first; this name is used for a wrapper for- # Metaconfig's "Configure" on case-insensitive file systems.- if test -f "$ac_srcdir/configure.gnu"; then- echo &&- $SHELL "$ac_srcdir/configure.gnu" --help=recursive- elif test -f "$ac_srcdir/configure"; then- echo &&- $SHELL "$ac_srcdir/configure" --help=recursive- else- printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2- fi || ac_status=$?- cd "$ac_pwd" || { ac_status=$?; break; }- done-fi--test -n "$ac_init_help" && exit $ac_status-if $ac_init_version; then- cat <<\_ACEOF-Haskell base package configure 1.0-generated by GNU Autoconf 2.71--Copyright (C) 2021 Free Software Foundation, Inc.-This configure script is free software; the Free Software Foundation-gives unlimited permission to copy, distribute and modify it.-_ACEOF- exit-fi--## ------------------------ ##-## Autoconf initialization. ##-## ------------------------ ##--# ac_fn_c_try_compile LINENO-# ---------------------------# Try to compile conftest.$ac_ext, and return whether this succeeded.-ac_fn_c_try_compile ()-{- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack- rm -f conftest.$ac_objext conftest.beam- if { { ac_try="$ac_compile"-case "(($ac_try" in- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;- *) ac_try_echo=$ac_try;;-esac-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""-printf "%s\n" "$ac_try_echo"; } >&5- (eval "$ac_compile") 2>conftest.err- ac_status=$?- if test -s conftest.err; then- grep -v '^ *+' conftest.err >conftest.er1- cat conftest.er1 >&5- mv -f conftest.er1 conftest.err- fi- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5- test $ac_status = 0; } && {- test -z "$ac_c_werror_flag" ||- test ! -s conftest.err- } && test -s conftest.$ac_objext-then :- ac_retval=0-else $as_nop- printf "%s\n" "$as_me: failed program was:" >&5-sed 's/^/| /' conftest.$ac_ext >&5-- ac_retval=1-fi- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno- as_fn_set_status $ac_retval--} # ac_fn_c_try_compile--# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES-# --------------------------------------------------------# Tests whether HEADER exists and can be compiled using the include files in-# INCLUDES, setting the cache variable VAR accordingly.-ac_fn_c_check_header_compile ()-{- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5-printf %s "checking for $2... " >&6; }-if eval test \${$3+y}-then :- printf %s "(cached) " >&6-else $as_nop- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-$4-#include <$2>-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- eval "$3=yes"-else $as_nop- eval "$3=no"-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-fi-eval ac_res=\$$3- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5-printf "%s\n" "$ac_res" >&6; }- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno--} # ac_fn_c_check_header_compile--# ac_fn_c_check_type LINENO TYPE VAR INCLUDES-# --------------------------------------------# Tests whether TYPE exists after having included INCLUDES, setting cache-# variable VAR accordingly.-ac_fn_c_check_type ()-{- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5-printf %s "checking for $2... " >&6; }-if eval test \${$3+y}-then :- printf %s "(cached) " >&6-else $as_nop- eval "$3=no"- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-$4-int-main (void)-{-if (sizeof ($2))- return 0;- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-$4-int-main (void)-{-if (sizeof (($2)))- return 0;- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :--else $as_nop- eval "$3=yes"-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-fi-eval ac_res=\$$3- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5-printf "%s\n" "$ac_res" >&6; }- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno--} # ac_fn_c_check_type--# ac_fn_c_try_link LINENO-# ------------------------# Try to link conftest.$ac_ext, and return whether this succeeded.-ac_fn_c_try_link ()-{- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack- rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext- if { { ac_try="$ac_link"-case "(($ac_try" in- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;- *) ac_try_echo=$ac_try;;-esac-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""-printf "%s\n" "$ac_try_echo"; } >&5- (eval "$ac_link") 2>conftest.err- ac_status=$?- if test -s conftest.err; then- grep -v '^ *+' conftest.err >conftest.er1- cat conftest.er1 >&5- mv -f conftest.er1 conftest.err- fi- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5- test $ac_status = 0; } && {- test -z "$ac_c_werror_flag" ||- test ! -s conftest.err- } && test -s conftest$ac_exeext && {- test "$cross_compiling" = yes ||- test -x conftest$ac_exeext- }-then :- ac_retval=0-else $as_nop- printf "%s\n" "$as_me: failed program was:" >&5-sed 's/^/| /' conftest.$ac_ext >&5-- ac_retval=1-fi- # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information- # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would- # interfere with the next link command; also delete a directory that is- # left behind by Apple's compiler. We do this before executing the actions.- rm -rf conftest.dSYM conftest_ipa8_conftest.oo- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno- as_fn_set_status $ac_retval--} # ac_fn_c_try_link--# ac_fn_c_check_func LINENO FUNC VAR-# -----------------------------------# Tests whether FUNC exists, setting the cache variable VAR accordingly-ac_fn_c_check_func ()-{- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5-printf %s "checking for $2... " >&6; }-if eval test \${$3+y}-then :- printf %s "(cached) " >&6-else $as_nop- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.- For example, HP-UX 11i <limits.h> declares gettimeofday. */-#define $2 innocuous_$2--/* System header to define __stub macros and hopefully few prototypes,- which can conflict with char $2 (); below. */--#include <limits.h>-#undef $2--/* Override any GCC internal prototype to avoid an error.- Use char because int might match the return type of a GCC- builtin and then its argument prototype would still apply. */-#ifdef __cplusplus-extern "C"-#endif-char $2 ();-/* The GNU C library defines this for functions which it implements- to always fail with ENOSYS. Some functions are actually named- something starting with __ and the normal name is an alias. */-#if defined __stub_$2 || defined __stub___$2-choke me-#endif--int-main (void)-{-return $2 ();- ;- return 0;-}-_ACEOF-if ac_fn_c_try_link "$LINENO"-then :- eval "$3=yes"-else $as_nop- eval "$3=no"-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam \- conftest$ac_exeext conftest.$ac_ext-fi-eval ac_res=\$$3- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5-printf "%s\n" "$ac_res" >&6; }- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno--} # ac_fn_c_check_func--# ac_fn_c_try_run LINENO-# -----------------------# Try to run conftest.$ac_ext, and return whether this succeeded. Assumes that-# executables *can* be run.-ac_fn_c_try_run ()-{- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack- if { { ac_try="$ac_link"-case "(($ac_try" in- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;- *) ac_try_echo=$ac_try;;-esac-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""-printf "%s\n" "$ac_try_echo"; } >&5- (eval "$ac_link") 2>&5- ac_status=$?- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'- { { case "(($ac_try" in- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;- *) ac_try_echo=$ac_try;;-esac-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""-printf "%s\n" "$ac_try_echo"; } >&5- (eval "$ac_try") 2>&5- ac_status=$?- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5- test $ac_status = 0; }; }-then :- ac_retval=0-else $as_nop- printf "%s\n" "$as_me: program exited with status $ac_status" >&5- printf "%s\n" "$as_me: failed program was:" >&5-sed 's/^/| /' conftest.$ac_ext >&5-- ac_retval=$ac_status-fi- rm -rf conftest.dSYM conftest_ipa8_conftest.oo- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno- as_fn_set_status $ac_retval--} # ac_fn_c_try_run--# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES-# ---------------------------------------------# Tries to find the compile-time value of EXPR in a program that includes-# INCLUDES, setting VAR accordingly. Returns whether the value could be-# computed-ac_fn_c_compute_int ()-{- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack- if test "$cross_compiling" = yes; then- # Depending upon the size, compute the lo and hi bounds.-cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-$4-int-main (void)-{-static int test_array [1 - 2 * !(($2) >= 0)];-test_array [0] = 0;-return test_array [0];-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- ac_lo=0 ac_mid=0- while :; do- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-$4-int-main (void)-{-static int test_array [1 - 2 * !(($2) <= $ac_mid)];-test_array [0] = 0;-return test_array [0];-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- ac_hi=$ac_mid; break-else $as_nop- as_fn_arith $ac_mid + 1 && ac_lo=$as_val- if test $ac_lo -le $ac_mid; then- ac_lo= ac_hi=- break- fi- as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext- done-else $as_nop- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-$4-int-main (void)-{-static int test_array [1 - 2 * !(($2) < 0)];-test_array [0] = 0;-return test_array [0];-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- ac_hi=-1 ac_mid=-1- while :; do- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-$4-int-main (void)-{-static int test_array [1 - 2 * !(($2) >= $ac_mid)];-test_array [0] = 0;-return test_array [0];-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- ac_lo=$ac_mid; break-else $as_nop- as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val- if test $ac_mid -le $ac_hi; then- ac_lo= ac_hi=- break- fi- as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext- done-else $as_nop- ac_lo= ac_hi=-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-# Binary search between lo and hi bounds.-while test "x$ac_lo" != "x$ac_hi"; do- as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-$4-int-main (void)-{-static int test_array [1 - 2 * !(($2) <= $ac_mid)];-test_array [0] = 0;-return test_array [0];-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- ac_hi=$ac_mid-else $as_nop- as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-done-case $ac_lo in #((-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;-'') ac_retval=1 ;;-esac- else- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-$4-static long int longval (void) { return $2; }-static unsigned long int ulongval (void) { return $2; }-#include <stdio.h>-#include <stdlib.h>-int-main (void)-{-- FILE *f = fopen ("conftest.val", "w");- if (! f)- return 1;- if (($2) < 0)- {- long int i = longval ();- if (i != ($2))- return 1;- fprintf (f, "%ld", i);- }- else- {- unsigned long int i = ulongval ();- if (i != ($2))- return 1;- fprintf (f, "%lu", i);- }- /* Do not output a trailing newline, as this causes \r\n confusion- on some platforms. */- return ferror (f) || fclose (f) != 0;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_run "$LINENO"-then :- echo >>conftest.val; read $3 <conftest.val; ac_retval=0-else $as_nop- ac_retval=1-fi-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \- conftest.$ac_objext conftest.beam conftest.$ac_ext-rm -f conftest.val-- fi- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno- as_fn_set_status $ac_retval--} # ac_fn_c_compute_int--# ac_fn_check_decl LINENO SYMBOL VAR INCLUDES EXTRA-OPTIONS FLAG-VAR-# -------------------------------------------------------------------# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR-# accordingly. Pass EXTRA-OPTIONS to the compiler, using FLAG-VAR.-ac_fn_check_decl ()-{- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack- as_decl_name=`echo $2|sed 's/ *(.*//'`- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5-printf %s "checking whether $as_decl_name is declared... " >&6; }-if eval test \${$3+y}-then :- printf %s "(cached) " >&6-else $as_nop- as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`- eval ac_save_FLAGS=\$$6- as_fn_append $6 " $5"- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-$4-int-main (void)-{-#ifndef $as_decl_name-#ifdef __cplusplus- (void) $as_decl_use;-#else- (void) $as_decl_name;-#endif-#endif-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- eval "$3=yes"-else $as_nop- eval "$3=no"-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext- eval $6=\$ac_save_FLAGS--fi-eval ac_res=\$$3- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5-printf "%s\n" "$ac_res" >&6; }- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno--} # ac_fn_check_decl--# ac_fn_c_try_cpp LINENO-# -----------------------# Try to preprocess conftest.$ac_ext, and return whether this succeeded.-ac_fn_c_try_cpp ()-{- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack- if { { ac_try="$ac_cpp conftest.$ac_ext"-case "(($ac_try" in- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;- *) ac_try_echo=$ac_try;;-esac-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""-printf "%s\n" "$ac_try_echo"; } >&5- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err- ac_status=$?- if test -s conftest.err; then- grep -v '^ *+' conftest.err >conftest.er1- cat conftest.er1 >&5- mv -f conftest.er1 conftest.err- fi- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5- test $ac_status = 0; } > conftest.i && {- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||- test ! -s conftest.err- }-then :- ac_retval=0-else $as_nop- printf "%s\n" "$as_me: failed program was:" >&5-sed 's/^/| /' conftest.$ac_ext >&5-- ac_retval=1-fi- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno- as_fn_set_status $ac_retval--} # ac_fn_c_try_cpp-ac_configure_args_raw=-for ac_arg-do- case $ac_arg in- *\'*)- ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;- esac- as_fn_append ac_configure_args_raw " '$ac_arg'"-done--case $ac_configure_args_raw in- *$as_nl*)- ac_safe_unquote= ;;- *)- ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab.- ac_unsafe_a="$ac_unsafe_z#~"- ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g"- ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;;-esac--cat >config.log <<_ACEOF-This file contains any messages produced by compilers while-running configure, to aid debugging if configure makes a mistake.--It was created by Haskell base package $as_me 1.0, which was-generated by GNU Autoconf 2.71. Invocation command line was-- $ $0$ac_configure_args_raw--_ACEOF-exec 5>>config.log-{-cat <<_ASUNAME-## --------- ##-## Platform. ##-## --------- ##--hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`-uname -m = `(uname -m) 2>/dev/null || echo unknown`-uname -r = `(uname -r) 2>/dev/null || echo unknown`-uname -s = `(uname -s) 2>/dev/null || echo unknown`-uname -v = `(uname -v) 2>/dev/null || echo unknown`--/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`--/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`--_ASUNAME--as_save_IFS=$IFS; IFS=$PATH_SEPARATOR-for as_dir in $PATH-do- IFS=$as_save_IFS- case $as_dir in #(((- '') as_dir=./ ;;- */) ;;- *) as_dir=$as_dir/ ;;- esac- printf "%s\n" "PATH: $as_dir"- done-IFS=$as_save_IFS--} >&5--cat >&5 <<_ACEOF---## ----------- ##-## Core tests. ##-## ----------- ##--_ACEOF---# Keep a trace of the command line.-# Strip out --no-create and --no-recursion so they do not pile up.-# Strip out --silent because we don't want to record it for future runs.-# Also quote any args containing shell meta-characters.-# Make two passes to allow for proper duplicate-argument suppression.-ac_configure_args=-ac_configure_args0=-ac_configure_args1=-ac_must_keep_next=false-for ac_pass in 1 2-do- for ac_arg- do- case $ac_arg in- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;- -q | -quiet | --quiet | --quie | --qui | --qu | --q \- | -silent | --silent | --silen | --sile | --sil)- continue ;;- *\'*)- ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;- esac- case $ac_pass in- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;- 2)- as_fn_append ac_configure_args1 " '$ac_arg'"- if test $ac_must_keep_next = true; then- ac_must_keep_next=false # Got value, back to normal.- else- case $ac_arg in- *=* | --config-cache | -C | -disable-* | --disable-* \- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \- | -with-* | --with-* | -without-* | --without-* | --x)- case "$ac_configure_args0 " in- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;- esac- ;;- -* ) ac_must_keep_next=true ;;- esac- fi- as_fn_append ac_configure_args " '$ac_arg'"- ;;- esac- done-done-{ ac_configure_args0=; unset ac_configure_args0;}-{ ac_configure_args1=; unset ac_configure_args1;}--# When interrupted or exit'd, cleanup temporary files, and complete-# config.log. We remove comments because anyway the quotes in there-# would cause problems or look ugly.-# WARNING: Use '\'' to represent an apostrophe within the trap.-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.-trap 'exit_status=$?- # Sanitize IFS.- IFS=" "" $as_nl"- # Save into config.log some information that might help in debugging.- {- echo-- printf "%s\n" "## ---------------- ##-## Cache variables. ##-## ---------------- ##"- echo- # The following way of writing the cache mishandles newlines in values,-(- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do- eval ac_val=\$$ac_var- case $ac_val in #(- *${as_nl}*)- case $ac_var in #(- *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5-printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;- esac- case $ac_var in #(- _ | IFS | as_nl) ;; #(- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(- *) { eval $ac_var=; unset $ac_var;} ;;- esac ;;- esac- done- (set) 2>&1 |- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(- *${as_nl}ac_space=\ *)- sed -n \- "s/'\''/'\''\\\\'\'''\''/g;- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"- ;; #(- *)- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"- ;;- esac |- sort-)- echo-- printf "%s\n" "## ----------------- ##-## Output variables. ##-## ----------------- ##"- echo- for ac_var in $ac_subst_vars- do- eval ac_val=\$$ac_var- case $ac_val in- *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;- esac- printf "%s\n" "$ac_var='\''$ac_val'\''"- done | sort- echo-- if test -n "$ac_subst_files"; then- printf "%s\n" "## ------------------- ##-## File substitutions. ##-## ------------------- ##"- echo- for ac_var in $ac_subst_files- do- eval ac_val=\$$ac_var- case $ac_val in- *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;- esac- printf "%s\n" "$ac_var='\''$ac_val'\''"- done | sort- echo- fi-- if test -s confdefs.h; then- printf "%s\n" "## ----------- ##-## confdefs.h. ##-## ----------- ##"- echo- cat confdefs.h- echo- fi- test "$ac_signal" != 0 &&- printf "%s\n" "$as_me: caught signal $ac_signal"- printf "%s\n" "$as_me: exit $exit_status"- } >&5- rm -f core *.core core.conftest.* &&- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&- exit $exit_status-' 0-for ac_signal in 1 2 13 15; do- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal-done-ac_signal=0--# confdefs.h avoids OS command line length limits that DEFS can exceed.-rm -f -r conftest* confdefs.h--printf "%s\n" "/* confdefs.h */" > confdefs.h--# Predefined preprocessor variables.--printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h--printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h--printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h--printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h--printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h--printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h---# Let the site file select an alternate cache file if it wants to.-# Prefer an explicitly selected file to automatically selected ones.-if test -n "$CONFIG_SITE"; then- ac_site_files="$CONFIG_SITE"-elif test "x$prefix" != xNONE; then- ac_site_files="$prefix/share/config.site $prefix/etc/config.site"-else- ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"-fi--for ac_site_file in $ac_site_files-do- case $ac_site_file in #(- */*) :- ;; #(- *) :- ac_site_file=./$ac_site_file ;;-esac- if test -f "$ac_site_file" && test -r "$ac_site_file"; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5-printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;}- sed 's/^/| /' "$ac_site_file" >&5- . "$ac_site_file" \- || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}-as_fn_error $? "failed to load site script $ac_site_file-See \`config.log' for more details" "$LINENO" 5; }- fi-done--if test -r "$cache_file"; then- # Some versions of bash will fail to source /dev/null (special files- # actually), so we avoid doing that. DJGPP emulates it as a regular file.- if test /dev/null != "$cache_file" && test -f "$cache_file"; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5-printf "%s\n" "$as_me: loading cache $cache_file" >&6;}- case $cache_file in- [\\/]* | ?:[\\/]* ) . "$cache_file";;- *) . "./$cache_file";;- esac- fi-else- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5-printf "%s\n" "$as_me: creating cache $cache_file" >&6;}- >$cache_file-fi--# Test code for whether the C compiler supports C89 (global declarations)-ac_c_conftest_c89_globals='-/* Does the compiler advertise C89 conformance?- Do not test the value of __STDC__, because some compilers set it to 0- while being otherwise adequately conformant. */-#if !defined __STDC__-# error "Compiler does not advertise C89 conformance"-#endif--#include <stddef.h>-#include <stdarg.h>-struct stat;-/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */-struct buf { int x; };-struct buf * (*rcsopen) (struct buf *, struct stat *, int);-static char *e (p, i)- char **p;- int i;-{- return p[i];-}-static char *f (char * (*g) (char **, int), char **p, ...)-{- char *s;- va_list v;- va_start (v,p);- s = g (p, va_arg (v,int));- va_end (v);- return s;-}--/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has- function prototypes and stuff, but not \xHH hex character constants.- These do not provoke an error unfortunately, instead are silently treated- as an "x". The following induces an error, until -std is added to get- proper ANSI mode. Curiously \x00 != x always comes out true, for an- array size at least. It is necessary to write \x00 == 0 to get something- that is true only with -std. */-int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1];--/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters- inside strings and character constants. */-#define FOO(x) '\''x'\''-int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1];--int test (int i, double x);-struct s1 {int (*f) (int a);};-struct s2 {int (*f) (double a);};-int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),- int, int);'--# Test code for whether the C compiler supports C89 (body of main).-ac_c_conftest_c89_main='-ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);-'--# Test code for whether the C compiler supports C99 (global declarations)-ac_c_conftest_c99_globals='-// Does the compiler advertise C99 conformance?-#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L-# error "Compiler does not advertise C99 conformance"-#endif--#include <stdbool.h>-extern int puts (const char *);-extern int printf (const char *, ...);-extern int dprintf (int, const char *, ...);-extern void *malloc (size_t);--// Check varargs macros. These examples are taken from C99 6.10.3.5.-// dprintf is used instead of fprintf to avoid needing to declare-// FILE and stderr.-#define debug(...) dprintf (2, __VA_ARGS__)-#define showlist(...) puts (#__VA_ARGS__)-#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))-static void-test_varargs_macros (void)-{- int x = 1234;- int y = 5678;- debug ("Flag");- debug ("X = %d\n", x);- showlist (The first, second, and third items.);- report (x>y, "x is %d but y is %d", x, y);-}--// Check long long types.-#define BIG64 18446744073709551615ull-#define BIG32 4294967295ul-#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)-#if !BIG_OK- #error "your preprocessor is broken"-#endif-#if BIG_OK-#else- #error "your preprocessor is broken"-#endif-static long long int bignum = -9223372036854775807LL;-static unsigned long long int ubignum = BIG64;--struct incomplete_array-{- int datasize;- double data[];-};--struct named_init {- int number;- const wchar_t *name;- double average;-};--typedef const char *ccp;--static inline int-test_restrict (ccp restrict text)-{- // See if C++-style comments work.- // Iterate through items via the restricted pointer.- // Also check for declarations in for loops.- for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i)- continue;- return 0;-}--// Check varargs and va_copy.-static bool-test_varargs (const char *format, ...)-{- va_list args;- va_start (args, format);- va_list args_copy;- va_copy (args_copy, args);-- const char *str = "";- int number = 0;- float fnumber = 0;-- while (*format)- {- switch (*format++)- {- case '\''s'\'': // string- str = va_arg (args_copy, const char *);- break;- case '\''d'\'': // int- number = va_arg (args_copy, int);- break;- case '\''f'\'': // float- fnumber = va_arg (args_copy, double);- break;- default:- break;- }- }- va_end (args_copy);- va_end (args);-- return *str && number && fnumber;-}-'--# Test code for whether the C compiler supports C99 (body of main).-ac_c_conftest_c99_main='- // Check bool.- _Bool success = false;- success |= (argc != 0);-- // Check restrict.- if (test_restrict ("String literal") == 0)- success = true;- char *restrict newvar = "Another string";-- // Check varargs.- success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234);- test_varargs_macros ();-- // Check flexible array members.- struct incomplete_array *ia =- malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));- ia->datasize = 10;- for (int i = 0; i < ia->datasize; ++i)- ia->data[i] = i * 1.234;-- // Check named initializers.- struct named_init ni = {- .number = 34,- .name = L"Test wide string",- .average = 543.34343,- };-- ni.number = 58;-- int dynamic_array[ni.number];- dynamic_array[0] = argv[0][0];- dynamic_array[ni.number - 1] = 543;-- // work around unused variable warnings- ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\''- || dynamic_array[ni.number - 1] != 543);-'--# Test code for whether the C compiler supports C11 (global declarations)-ac_c_conftest_c11_globals='-// Does the compiler advertise C11 conformance?-#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L-# error "Compiler does not advertise C11 conformance"-#endif--// Check _Alignas.-char _Alignas (double) aligned_as_double;-char _Alignas (0) no_special_alignment;-extern char aligned_as_int;-char _Alignas (0) _Alignas (int) aligned_as_int;--// Check _Alignof.-enum-{- int_alignment = _Alignof (int),- int_array_alignment = _Alignof (int[100]),- char_alignment = _Alignof (char)-};-_Static_assert (0 < -_Alignof (int), "_Alignof is signed");--// Check _Noreturn.-int _Noreturn does_not_return (void) { for (;;) continue; }--// Check _Static_assert.-struct test_static_assert-{- int x;- _Static_assert (sizeof (int) <= sizeof (long int),- "_Static_assert does not work in struct");- long int y;-};--// Check UTF-8 literals.-#define u8 syntax error!-char const utf8_literal[] = u8"happens to be ASCII" "another string";--// Check duplicate typedefs.-typedef long *long_ptr;-typedef long int *long_ptr;-typedef long_ptr long_ptr;--// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1.-struct anonymous-{- union {- struct { int i; int j; };- struct { int k; long int l; } w;- };- int m;-} v1;-'--# Test code for whether the C compiler supports C11 (body of main).-ac_c_conftest_c11_main='- _Static_assert ((offsetof (struct anonymous, i)- == offsetof (struct anonymous, w.k)),- "Anonymous union alignment botch");- v1.i = 2;- v1.w.k = 5;- ok |= v1.i != 5;-'--# Test code for whether the C compiler supports C11 (complete).-ac_c_conftest_c11_program="${ac_c_conftest_c89_globals}-${ac_c_conftest_c99_globals}-${ac_c_conftest_c11_globals}--int-main (int argc, char **argv)-{- int ok = 0;- ${ac_c_conftest_c89_main}- ${ac_c_conftest_c99_main}- ${ac_c_conftest_c11_main}- return ok;-}-"--# Test code for whether the C compiler supports C99 (complete).-ac_c_conftest_c99_program="${ac_c_conftest_c89_globals}-${ac_c_conftest_c99_globals}--int-main (int argc, char **argv)-{- int ok = 0;- ${ac_c_conftest_c89_main}- ${ac_c_conftest_c99_main}- return ok;-}-"--# Test code for whether the C compiler supports C89 (complete).-ac_c_conftest_c89_program="${ac_c_conftest_c89_globals}--int-main (int argc, char **argv)-{- int ok = 0;- ${ac_c_conftest_c89_main}- return ok;-}-"--as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H"-as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H"-as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H"-as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H"-as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H"-as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H"-as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H"-as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H"-as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H"-as_fn_append ac_header_c_list " wchar.h wchar_h HAVE_WCHAR_H"-as_fn_append ac_header_c_list " minix/config.h minix_config_h HAVE_MINIX_CONFIG_H"-# Check that the precious variables saved in the cache have kept the same-# value.-ac_cache_corrupted=false-for ac_var in $ac_precious_vars; do- eval ac_old_set=\$ac_cv_env_${ac_var}_set- eval ac_new_set=\$ac_env_${ac_var}_set- eval ac_old_val=\$ac_cv_env_${ac_var}_value- eval ac_new_val=\$ac_env_${ac_var}_value- case $ac_old_set,$ac_new_set in- set,)- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5-printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}- ac_cache_corrupted=: ;;- ,set)- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5-printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}- ac_cache_corrupted=: ;;- ,);;- *)- if test "x$ac_old_val" != "x$ac_new_val"; then- # differences in whitespace do not lead to failure.- ac_old_val_w=`echo x $ac_old_val`- ac_new_val_w=`echo x $ac_new_val`- if test "$ac_old_val_w" != "$ac_new_val_w"; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5-printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}- ac_cache_corrupted=:- else- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5-printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}- eval $ac_var=\$ac_old_val- fi- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5-printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;}- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5-printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;}- fi;;- esac- # Pass precious variables to config.status.- if test "$ac_new_set" = set; then- case $ac_new_val in- *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;- *) ac_arg=$ac_var=$ac_new_val ;;- esac- case " $ac_configure_args " in- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.- *) as_fn_append ac_configure_args " '$ac_arg'" ;;- esac- fi-done-if $ac_cache_corrupted; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5-printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;}- as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file'- and start over" "$LINENO" 5-fi-## -------------------- ##-## Main body of script. ##-## -------------------- ##--ac_ext=c-ac_cpp='$CPP $CPPFLAGS'-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'-ac_compiler_gnu=$ac_cv_c_compiler_gnu----# Safety check: Ensure that we are in the correct source directory.---ac_config_headers="$ac_config_headers include/HsBaseConfig.h include/EventConfig.h"------------ac_ext=c-ac_cpp='$CPP $CPPFLAGS'-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'-ac_compiler_gnu=$ac_cv_c_compiler_gnu-if test -n "$ac_tool_prefix"; then- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.-set dummy ${ac_tool_prefix}gcc; ac_word=$2-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5-printf %s "checking for $ac_word... " >&6; }-if test ${ac_cv_prog_CC+y}-then :- printf %s "(cached) " >&6-else $as_nop- if test -n "$CC"; then- ac_cv_prog_CC="$CC" # Let the user override the test.-else-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR-for as_dir in $PATH-do- IFS=$as_save_IFS- case $as_dir in #(((- '') as_dir=./ ;;- */) ;;- *) as_dir=$as_dir/ ;;- esac- for ac_exec_ext in '' $ac_executable_extensions; do- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then- ac_cv_prog_CC="${ac_tool_prefix}gcc"- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5- break 2- fi-done- done-IFS=$as_save_IFS--fi-fi-CC=$ac_cv_prog_CC-if test -n "$CC"; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5-printf "%s\n" "$CC" >&6; }-else- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5-printf "%s\n" "no" >&6; }-fi---fi-if test -z "$ac_cv_prog_CC"; then- ac_ct_CC=$CC- # Extract the first word of "gcc", so it can be a program name with args.-set dummy gcc; ac_word=$2-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5-printf %s "checking for $ac_word... " >&6; }-if test ${ac_cv_prog_ac_ct_CC+y}-then :- printf %s "(cached) " >&6-else $as_nop- if test -n "$ac_ct_CC"; then- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.-else-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR-for as_dir in $PATH-do- IFS=$as_save_IFS- case $as_dir in #(((- '') as_dir=./ ;;- */) ;;- *) as_dir=$as_dir/ ;;- esac- for ac_exec_ext in '' $ac_executable_extensions; do- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then- ac_cv_prog_ac_ct_CC="gcc"- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5- break 2- fi-done- done-IFS=$as_save_IFS--fi-fi-ac_ct_CC=$ac_cv_prog_ac_ct_CC-if test -n "$ac_ct_CC"; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5-printf "%s\n" "$ac_ct_CC" >&6; }-else- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5-printf "%s\n" "no" >&6; }-fi-- if test "x$ac_ct_CC" = x; then- CC=""- else- case $cross_compiling:$ac_tool_warned in-yes:)-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5-printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}-ac_tool_warned=yes ;;-esac- CC=$ac_ct_CC- fi-else- CC="$ac_cv_prog_CC"-fi--if test -z "$CC"; then- if test -n "$ac_tool_prefix"; then- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.-set dummy ${ac_tool_prefix}cc; ac_word=$2-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5-printf %s "checking for $ac_word... " >&6; }-if test ${ac_cv_prog_CC+y}-then :- printf %s "(cached) " >&6-else $as_nop- if test -n "$CC"; then- ac_cv_prog_CC="$CC" # Let the user override the test.-else-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR-for as_dir in $PATH-do- IFS=$as_save_IFS- case $as_dir in #(((- '') as_dir=./ ;;- */) ;;- *) as_dir=$as_dir/ ;;- esac- for ac_exec_ext in '' $ac_executable_extensions; do- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then- ac_cv_prog_CC="${ac_tool_prefix}cc"- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5- break 2- fi-done- done-IFS=$as_save_IFS--fi-fi-CC=$ac_cv_prog_CC-if test -n "$CC"; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5-printf "%s\n" "$CC" >&6; }-else- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5-printf "%s\n" "no" >&6; }-fi--- fi-fi-if test -z "$CC"; then- # Extract the first word of "cc", so it can be a program name with args.-set dummy cc; ac_word=$2-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5-printf %s "checking for $ac_word... " >&6; }-if test ${ac_cv_prog_CC+y}-then :- printf %s "(cached) " >&6-else $as_nop- if test -n "$CC"; then- ac_cv_prog_CC="$CC" # Let the user override the test.-else- ac_prog_rejected=no-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR-for as_dir in $PATH-do- IFS=$as_save_IFS- case $as_dir in #(((- '') as_dir=./ ;;- */) ;;- *) as_dir=$as_dir/ ;;- esac- for ac_exec_ext in '' $ac_executable_extensions; do- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then- if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then- ac_prog_rejected=yes- continue- fi- ac_cv_prog_CC="cc"- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5- break 2- fi-done- done-IFS=$as_save_IFS--if test $ac_prog_rejected = yes; then- # We found a bogon in the path, so make sure we never use it.- set dummy $ac_cv_prog_CC- shift- if test $# != 0; then- # We chose a different compiler from the bogus one.- # However, it has the same basename, so the bogon will be chosen- # first if we set CC to just the basename; use the full file name.- shift- ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@"- fi-fi-fi-fi-CC=$ac_cv_prog_CC-if test -n "$CC"; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5-printf "%s\n" "$CC" >&6; }-else- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5-printf "%s\n" "no" >&6; }-fi---fi-if test -z "$CC"; then- if test -n "$ac_tool_prefix"; then- for ac_prog in cl.exe- do- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.-set dummy $ac_tool_prefix$ac_prog; ac_word=$2-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5-printf %s "checking for $ac_word... " >&6; }-if test ${ac_cv_prog_CC+y}-then :- printf %s "(cached) " >&6-else $as_nop- if test -n "$CC"; then- ac_cv_prog_CC="$CC" # Let the user override the test.-else-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR-for as_dir in $PATH-do- IFS=$as_save_IFS- case $as_dir in #(((- '') as_dir=./ ;;- */) ;;- *) as_dir=$as_dir/ ;;- esac- for ac_exec_ext in '' $ac_executable_extensions; do- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5- break 2- fi-done- done-IFS=$as_save_IFS--fi-fi-CC=$ac_cv_prog_CC-if test -n "$CC"; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5-printf "%s\n" "$CC" >&6; }-else- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5-printf "%s\n" "no" >&6; }-fi--- test -n "$CC" && break- done-fi-if test -z "$CC"; then- ac_ct_CC=$CC- for ac_prog in cl.exe-do- # Extract the first word of "$ac_prog", so it can be a program name with args.-set dummy $ac_prog; ac_word=$2-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5-printf %s "checking for $ac_word... " >&6; }-if test ${ac_cv_prog_ac_ct_CC+y}-then :- printf %s "(cached) " >&6-else $as_nop- if test -n "$ac_ct_CC"; then- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.-else-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR-for as_dir in $PATH-do- IFS=$as_save_IFS- case $as_dir in #(((- '') as_dir=./ ;;- */) ;;- *) as_dir=$as_dir/ ;;- esac- for ac_exec_ext in '' $ac_executable_extensions; do- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then- ac_cv_prog_ac_ct_CC="$ac_prog"- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5- break 2- fi-done- done-IFS=$as_save_IFS--fi-fi-ac_ct_CC=$ac_cv_prog_ac_ct_CC-if test -n "$ac_ct_CC"; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5-printf "%s\n" "$ac_ct_CC" >&6; }-else- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5-printf "%s\n" "no" >&6; }-fi--- test -n "$ac_ct_CC" && break-done-- if test "x$ac_ct_CC" = x; then- CC=""- else- case $cross_compiling:$ac_tool_warned in-yes:)-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5-printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}-ac_tool_warned=yes ;;-esac- CC=$ac_ct_CC- fi-fi--fi-if test -z "$CC"; then- if test -n "$ac_tool_prefix"; then- # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args.-set dummy ${ac_tool_prefix}clang; ac_word=$2-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5-printf %s "checking for $ac_word... " >&6; }-if test ${ac_cv_prog_CC+y}-then :- printf %s "(cached) " >&6-else $as_nop- if test -n "$CC"; then- ac_cv_prog_CC="$CC" # Let the user override the test.-else-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR-for as_dir in $PATH-do- IFS=$as_save_IFS- case $as_dir in #(((- '') as_dir=./ ;;- */) ;;- *) as_dir=$as_dir/ ;;- esac- for ac_exec_ext in '' $ac_executable_extensions; do- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then- ac_cv_prog_CC="${ac_tool_prefix}clang"- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5- break 2- fi-done- done-IFS=$as_save_IFS--fi-fi-CC=$ac_cv_prog_CC-if test -n "$CC"; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5-printf "%s\n" "$CC" >&6; }-else- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5-printf "%s\n" "no" >&6; }-fi---fi-if test -z "$ac_cv_prog_CC"; then- ac_ct_CC=$CC- # Extract the first word of "clang", so it can be a program name with args.-set dummy clang; ac_word=$2-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5-printf %s "checking for $ac_word... " >&6; }-if test ${ac_cv_prog_ac_ct_CC+y}-then :- printf %s "(cached) " >&6-else $as_nop- if test -n "$ac_ct_CC"; then- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.-else-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR-for as_dir in $PATH-do- IFS=$as_save_IFS- case $as_dir in #(((- '') as_dir=./ ;;- */) ;;- *) as_dir=$as_dir/ ;;- esac- for ac_exec_ext in '' $ac_executable_extensions; do- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then- ac_cv_prog_ac_ct_CC="clang"- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5- break 2- fi-done- done-IFS=$as_save_IFS--fi-fi-ac_ct_CC=$ac_cv_prog_ac_ct_CC-if test -n "$ac_ct_CC"; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5-printf "%s\n" "$ac_ct_CC" >&6; }-else- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5-printf "%s\n" "no" >&6; }-fi-- if test "x$ac_ct_CC" = x; then- CC=""- else- case $cross_compiling:$ac_tool_warned in-yes:)-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5-printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}-ac_tool_warned=yes ;;-esac- CC=$ac_ct_CC- fi-else- CC="$ac_cv_prog_CC"-fi--fi---test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}-as_fn_error $? "no acceptable C compiler found in \$PATH-See \`config.log' for more details" "$LINENO" 5; }--# Provide some information about the compiler.-printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5-set X $ac_compile-ac_compiler=$2-for ac_option in --version -v -V -qversion -version; do- { { ac_try="$ac_compiler $ac_option >&5"-case "(($ac_try" in- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;- *) ac_try_echo=$ac_try;;-esac-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""-printf "%s\n" "$ac_try_echo"; } >&5- (eval "$ac_compiler $ac_option >&5") 2>conftest.err- ac_status=$?- if test -s conftest.err; then- sed '10a\-... rest of stderr output deleted ...- 10q' conftest.err >conftest.er1- cat conftest.er1 >&5- fi- rm -f conftest.er1 conftest.err- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5- test $ac_status = 0; }-done--cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--int-main (void)-{-- ;- return 0;-}-_ACEOF-ac_clean_files_save=$ac_clean_files-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"-# Try to create an executable without -o first, disregard a.out.-# It will help us diagnose broken compilers, and finding out an intuition-# of exeext.-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5-printf %s "checking whether the C compiler works... " >&6; }-ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'`--# The possible output files:-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"--ac_rmfiles=-for ac_file in $ac_files-do- case $ac_file in- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;- * ) ac_rmfiles="$ac_rmfiles $ac_file";;- esac-done-rm -f $ac_rmfiles--if { { ac_try="$ac_link_default"-case "(($ac_try" in- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;- *) ac_try_echo=$ac_try;;-esac-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""-printf "%s\n" "$ac_try_echo"; } >&5- (eval "$ac_link_default") 2>&5- ac_status=$?- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5- test $ac_status = 0; }-then :- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'-# in a Makefile. We should not override ac_cv_exeext if it was cached,-# so that the user can short-circuit this test for compilers unknown to-# Autoconf.-for ac_file in $ac_files ''-do- test -f "$ac_file" || continue- case $ac_file in- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )- ;;- [ab].out )- # We found the default executable, but exeext='' is most- # certainly right.- break;;- *.* )- if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no;- then :; else- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`- fi- # We set ac_cv_exeext here because the later test for it is not- # safe: cross compilers may not add the suffix if given an `-o'- # argument, so we may need to know it at that point already.- # Even if this section looks crufty: it has the advantage of- # actually working.- break;;- * )- break;;- esac-done-test "$ac_cv_exeext" = no && ac_cv_exeext=--else $as_nop- ac_file=''-fi-if test -z "$ac_file"-then :- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5-printf "%s\n" "no" >&6; }-printf "%s\n" "$as_me: failed program was:" >&5-sed 's/^/| /' conftest.$ac_ext >&5--{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}-as_fn_error 77 "C compiler cannot create executables-See \`config.log' for more details" "$LINENO" 5; }-else $as_nop- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5-printf "%s\n" "yes" >&6; }-fi-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5-printf %s "checking for C compiler default output file name... " >&6; }-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5-printf "%s\n" "$ac_file" >&6; }-ac_exeext=$ac_cv_exeext--rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out-ac_clean_files=$ac_clean_files_save-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5-printf %s "checking for suffix of executables... " >&6; }-if { { ac_try="$ac_link"-case "(($ac_try" in- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;- *) ac_try_echo=$ac_try;;-esac-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""-printf "%s\n" "$ac_try_echo"; } >&5- (eval "$ac_link") 2>&5- ac_status=$?- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5- test $ac_status = 0; }-then :- # If both `conftest.exe' and `conftest' are `present' (well, observable)-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will-# work properly (i.e., refer to `conftest.exe'), while it won't with-# `rm'.-for ac_file in conftest.exe conftest conftest.*; do- test -f "$ac_file" || continue- case $ac_file in- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`- break;;- * ) break;;- esac-done-else $as_nop- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}-as_fn_error $? "cannot compute suffix of executables: cannot compile and link-See \`config.log' for more details" "$LINENO" 5; }-fi-rm -f conftest conftest$ac_cv_exeext-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5-printf "%s\n" "$ac_cv_exeext" >&6; }--rm -f conftest.$ac_ext-EXEEXT=$ac_cv_exeext-ac_exeext=$EXEEXT-cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-#include <stdio.h>-int-main (void)-{-FILE *f = fopen ("conftest.out", "w");- return ferror (f) || fclose (f) != 0;-- ;- return 0;-}-_ACEOF-ac_clean_files="$ac_clean_files conftest.out"-# Check that the compiler produces executables we can run. If not, either-# the compiler is broken, or we cross compile.-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5-printf %s "checking whether we are cross compiling... " >&6; }-if test "$cross_compiling" != yes; then- { { ac_try="$ac_link"-case "(($ac_try" in- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;- *) ac_try_echo=$ac_try;;-esac-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""-printf "%s\n" "$ac_try_echo"; } >&5- (eval "$ac_link") 2>&5- ac_status=$?- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5- test $ac_status = 0; }- if { ac_try='./conftest$ac_cv_exeext'- { { case "(($ac_try" in- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;- *) ac_try_echo=$ac_try;;-esac-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""-printf "%s\n" "$ac_try_echo"; } >&5- (eval "$ac_try") 2>&5- ac_status=$?- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5- test $ac_status = 0; }; }; then- cross_compiling=no- else- if test "$cross_compiling" = maybe; then- cross_compiling=yes- else- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}-as_fn_error 77 "cannot run C compiled programs.-If you meant to cross compile, use \`--host'.-See \`config.log' for more details" "$LINENO" 5; }- fi- fi-fi-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5-printf "%s\n" "$cross_compiling" >&6; }--rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out-ac_clean_files=$ac_clean_files_save-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5-printf %s "checking for suffix of object files... " >&6; }-if test ${ac_cv_objext+y}-then :- printf %s "(cached) " >&6-else $as_nop- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--int-main (void)-{-- ;- return 0;-}-_ACEOF-rm -f conftest.o conftest.obj-if { { ac_try="$ac_compile"-case "(($ac_try" in- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;- *) ac_try_echo=$ac_try;;-esac-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""-printf "%s\n" "$ac_try_echo"; } >&5- (eval "$ac_compile") 2>&5- ac_status=$?- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5- test $ac_status = 0; }-then :- for ac_file in conftest.o conftest.obj conftest.*; do- test -f "$ac_file" || continue;- case $ac_file in- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`- break;;- esac-done-else $as_nop- printf "%s\n" "$as_me: failed program was:" >&5-sed 's/^/| /' conftest.$ac_ext >&5--{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}-as_fn_error $? "cannot compute suffix of object files: cannot compile-See \`config.log' for more details" "$LINENO" 5; }-fi-rm -f conftest.$ac_cv_objext conftest.$ac_ext-fi-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5-printf "%s\n" "$ac_cv_objext" >&6; }-OBJEXT=$ac_cv_objext-ac_objext=$OBJEXT-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5-printf %s "checking whether the compiler supports GNU C... " >&6; }-if test ${ac_cv_c_compiler_gnu+y}-then :- printf %s "(cached) " >&6-else $as_nop- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--int-main (void)-{-#ifndef __GNUC__- choke me-#endif-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- ac_compiler_gnu=yes-else $as_nop- ac_compiler_gnu=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-ac_cv_c_compiler_gnu=$ac_compiler_gnu--fi-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5-printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; }-ac_compiler_gnu=$ac_cv_c_compiler_gnu--if test $ac_compiler_gnu = yes; then- GCC=yes-else- GCC=-fi-ac_test_CFLAGS=${CFLAGS+y}-ac_save_CFLAGS=$CFLAGS-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5-printf %s "checking whether $CC accepts -g... " >&6; }-if test ${ac_cv_prog_cc_g+y}-then :- printf %s "(cached) " >&6-else $as_nop- ac_save_c_werror_flag=$ac_c_werror_flag- ac_c_werror_flag=yes- ac_cv_prog_cc_g=no- CFLAGS="-g"- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--int-main (void)-{-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- ac_cv_prog_cc_g=yes-else $as_nop- CFLAGS=""- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--int-main (void)-{-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :--else $as_nop- ac_c_werror_flag=$ac_save_c_werror_flag- CFLAGS="-g"- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--int-main (void)-{-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- ac_cv_prog_cc_g=yes-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext- ac_c_werror_flag=$ac_save_c_werror_flag-fi-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5-printf "%s\n" "$ac_cv_prog_cc_g" >&6; }-if test $ac_test_CFLAGS; then- CFLAGS=$ac_save_CFLAGS-elif test $ac_cv_prog_cc_g = yes; then- if test "$GCC" = yes; then- CFLAGS="-g -O2"- else- CFLAGS="-g"- fi-else- if test "$GCC" = yes; then- CFLAGS="-O2"- else- CFLAGS=- fi-fi-ac_prog_cc_stdc=no-if test x$ac_prog_cc_stdc = xno-then :- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5-printf %s "checking for $CC option to enable C11 features... " >&6; }-if test ${ac_cv_prog_cc_c11+y}-then :- printf %s "(cached) " >&6-else $as_nop- ac_cv_prog_cc_c11=no-ac_save_CC=$CC-cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-$ac_c_conftest_c11_program-_ACEOF-for ac_arg in '' -std=gnu11-do- CC="$ac_save_CC $ac_arg"- if ac_fn_c_try_compile "$LINENO"-then :- ac_cv_prog_cc_c11=$ac_arg-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam- test "x$ac_cv_prog_cc_c11" != "xno" && break-done-rm -f conftest.$ac_ext-CC=$ac_save_CC-fi--if test "x$ac_cv_prog_cc_c11" = xno-then :- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5-printf "%s\n" "unsupported" >&6; }-else $as_nop- if test "x$ac_cv_prog_cc_c11" = x-then :- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5-printf "%s\n" "none needed" >&6; }-else $as_nop- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5-printf "%s\n" "$ac_cv_prog_cc_c11" >&6; }- CC="$CC $ac_cv_prog_cc_c11"-fi- ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11- ac_prog_cc_stdc=c11-fi-fi-if test x$ac_prog_cc_stdc = xno-then :- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5-printf %s "checking for $CC option to enable C99 features... " >&6; }-if test ${ac_cv_prog_cc_c99+y}-then :- printf %s "(cached) " >&6-else $as_nop- ac_cv_prog_cc_c99=no-ac_save_CC=$CC-cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-$ac_c_conftest_c99_program-_ACEOF-for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99=-do- CC="$ac_save_CC $ac_arg"- if ac_fn_c_try_compile "$LINENO"-then :- ac_cv_prog_cc_c99=$ac_arg-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam- test "x$ac_cv_prog_cc_c99" != "xno" && break-done-rm -f conftest.$ac_ext-CC=$ac_save_CC-fi--if test "x$ac_cv_prog_cc_c99" = xno-then :- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5-printf "%s\n" "unsupported" >&6; }-else $as_nop- if test "x$ac_cv_prog_cc_c99" = x-then :- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5-printf "%s\n" "none needed" >&6; }-else $as_nop- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5-printf "%s\n" "$ac_cv_prog_cc_c99" >&6; }- CC="$CC $ac_cv_prog_cc_c99"-fi- ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99- ac_prog_cc_stdc=c99-fi-fi-if test x$ac_prog_cc_stdc = xno-then :- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5-printf %s "checking for $CC option to enable C89 features... " >&6; }-if test ${ac_cv_prog_cc_c89+y}-then :- printf %s "(cached) " >&6-else $as_nop- ac_cv_prog_cc_c89=no-ac_save_CC=$CC-cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-$ac_c_conftest_c89_program-_ACEOF-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"-do- CC="$ac_save_CC $ac_arg"- if ac_fn_c_try_compile "$LINENO"-then :- ac_cv_prog_cc_c89=$ac_arg-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam- test "x$ac_cv_prog_cc_c89" != "xno" && break-done-rm -f conftest.$ac_ext-CC=$ac_save_CC-fi--if test "x$ac_cv_prog_cc_c89" = xno-then :- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5-printf "%s\n" "unsupported" >&6; }-else $as_nop- if test "x$ac_cv_prog_cc_c89" = x-then :- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5-printf "%s\n" "none needed" >&6; }-else $as_nop- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5-printf "%s\n" "$ac_cv_prog_cc_c89" >&6; }- CC="$CC $ac_cv_prog_cc_c89"-fi- ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89- ac_prog_cc_stdc=c89-fi-fi--ac_ext=c-ac_cpp='$CPP $CPPFLAGS'-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'-ac_compiler_gnu=$ac_cv_c_compiler_gnu---ac_header= ac_cache=-for ac_item in $ac_header_c_list-do- if test $ac_cache; then- ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default"- if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then- printf "%s\n" "#define $ac_item 1" >> confdefs.h- fi- ac_header= ac_cache=- elif test $ac_header; then- ac_cache=$ac_item- else- ac_header=$ac_item- fi-done---------if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes-then :--printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h--fi------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5-printf %s "checking whether it is safe to define __EXTENSIONS__... " >&6; }-if test ${ac_cv_safe_to_define___extensions__+y}-then :- printf %s "(cached) " >&6-else $as_nop- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--# define __EXTENSIONS__ 1- $ac_includes_default-int-main (void)-{-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- ac_cv_safe_to_define___extensions__=yes-else $as_nop- ac_cv_safe_to_define___extensions__=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-fi-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5-printf "%s\n" "$ac_cv_safe_to_define___extensions__" >&6; }-- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether _XOPEN_SOURCE should be defined" >&5-printf %s "checking whether _XOPEN_SOURCE should be defined... " >&6; }-if test ${ac_cv_should_define__xopen_source+y}-then :- printf %s "(cached) " >&6-else $as_nop- ac_cv_should_define__xopen_source=no- if test $ac_cv_header_wchar_h = yes-then :- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-- #include <wchar.h>- mbstate_t x;-int-main (void)-{-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :--else $as_nop- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-- #define _XOPEN_SOURCE 500- #include <wchar.h>- mbstate_t x;-int-main (void)-{-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- ac_cv_should_define__xopen_source=yes-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-fi-fi-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_should_define__xopen_source" >&5-printf "%s\n" "$ac_cv_should_define__xopen_source" >&6; }-- printf "%s\n" "#define _ALL_SOURCE 1" >>confdefs.h-- printf "%s\n" "#define _DARWIN_C_SOURCE 1" >>confdefs.h-- printf "%s\n" "#define _GNU_SOURCE 1" >>confdefs.h-- printf "%s\n" "#define _HPUX_ALT_XOPEN_SOCKET_API 1" >>confdefs.h-- printf "%s\n" "#define _NETBSD_SOURCE 1" >>confdefs.h-- printf "%s\n" "#define _OPENBSD_SOURCE 1" >>confdefs.h-- printf "%s\n" "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h-- printf "%s\n" "#define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1" >>confdefs.h-- printf "%s\n" "#define __STDC_WANT_IEC_60559_BFP_EXT__ 1" >>confdefs.h-- printf "%s\n" "#define __STDC_WANT_IEC_60559_DFP_EXT__ 1" >>confdefs.h-- printf "%s\n" "#define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1" >>confdefs.h-- printf "%s\n" "#define __STDC_WANT_IEC_60559_TYPES_EXT__ 1" >>confdefs.h-- printf "%s\n" "#define __STDC_WANT_LIB_EXT2__ 1" >>confdefs.h-- printf "%s\n" "#define __STDC_WANT_MATH_SPEC_FUNCS__ 1" >>confdefs.h-- printf "%s\n" "#define _TANDEM_SOURCE 1" >>confdefs.h-- if test $ac_cv_header_minix_config_h = yes-then :- MINIX=yes- printf "%s\n" "#define _MINIX 1" >>confdefs.h-- printf "%s\n" "#define _POSIX_SOURCE 1" >>confdefs.h-- printf "%s\n" "#define _POSIX_1_SOURCE 2" >>confdefs.h--else $as_nop- MINIX=-fi- if test $ac_cv_safe_to_define___extensions__ = yes-then :- printf "%s\n" "#define __EXTENSIONS__ 1" >>confdefs.h--fi- if test $ac_cv_should_define__xopen_source = yes-then :- printf "%s\n" "#define _XOPEN_SOURCE 500" >>confdefs.h--fi---{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for WINDOWS platform" >&5-printf %s "checking for WINDOWS platform... " >&6; }-case $host_alias in- *mingw32*|*mingw64*|*cygwin*|*msys*)- WINDOWS=YES;;- *)- WINDOWS=NO;;-esac-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $WINDOWS" >&5-printf "%s\n" "$WINDOWS" >&6; }--# do we have long longs?-ac_fn_c_check_type "$LINENO" "long long" "ac_cv_type_long_long" "$ac_includes_default"-if test "x$ac_cv_type_long_long" = xyes-then :--printf "%s\n" "#define HAVE_LONG_LONG 1" >>confdefs.h---fi---# check for specific header (.h) files that we are interested in-ac_fn_c_check_header_compile "$LINENO" "ctype.h" "ac_cv_header_ctype_h" "$ac_includes_default"-if test "x$ac_cv_header_ctype_h" = xyes-then :- printf "%s\n" "#define HAVE_CTYPE_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "errno.h" "ac_cv_header_errno_h" "$ac_includes_default"-if test "x$ac_cv_header_errno_h" = xyes-then :- printf "%s\n" "#define HAVE_ERRNO_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "fcntl.h" "ac_cv_header_fcntl_h" "$ac_includes_default"-if test "x$ac_cv_header_fcntl_h" = xyes-then :- printf "%s\n" "#define HAVE_FCNTL_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "inttypes.h" "ac_cv_header_inttypes_h" "$ac_includes_default"-if test "x$ac_cv_header_inttypes_h" = xyes-then :- printf "%s\n" "#define HAVE_INTTYPES_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "limits.h" "ac_cv_header_limits_h" "$ac_includes_default"-if test "x$ac_cv_header_limits_h" = xyes-then :- printf "%s\n" "#define HAVE_LIMITS_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "signal.h" "ac_cv_header_signal_h" "$ac_includes_default"-if test "x$ac_cv_header_signal_h" = xyes-then :- printf "%s\n" "#define HAVE_SIGNAL_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "sys/file.h" "ac_cv_header_sys_file_h" "$ac_includes_default"-if test "x$ac_cv_header_sys_file_h" = xyes-then :- printf "%s\n" "#define HAVE_SYS_FILE_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "sys/resource.h" "ac_cv_header_sys_resource_h" "$ac_includes_default"-if test "x$ac_cv_header_sys_resource_h" = xyes-then :- printf "%s\n" "#define HAVE_SYS_RESOURCE_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "sys/select.h" "ac_cv_header_sys_select_h" "$ac_includes_default"-if test "x$ac_cv_header_sys_select_h" = xyes-then :- printf "%s\n" "#define HAVE_SYS_SELECT_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "sys/stat.h" "ac_cv_header_sys_stat_h" "$ac_includes_default"-if test "x$ac_cv_header_sys_stat_h" = xyes-then :- printf "%s\n" "#define HAVE_SYS_STAT_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "sys/syscall.h" "ac_cv_header_sys_syscall_h" "$ac_includes_default"-if test "x$ac_cv_header_sys_syscall_h" = xyes-then :- printf "%s\n" "#define HAVE_SYS_SYSCALL_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default"-if test "x$ac_cv_header_sys_time_h" = xyes-then :- printf "%s\n" "#define HAVE_SYS_TIME_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "sys/timeb.h" "ac_cv_header_sys_timeb_h" "$ac_includes_default"-if test "x$ac_cv_header_sys_timeb_h" = xyes-then :- printf "%s\n" "#define HAVE_SYS_TIMEB_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "sys/timers.h" "ac_cv_header_sys_timers_h" "$ac_includes_default"-if test "x$ac_cv_header_sys_timers_h" = xyes-then :- printf "%s\n" "#define HAVE_SYS_TIMERS_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "sys/times.h" "ac_cv_header_sys_times_h" "$ac_includes_default"-if test "x$ac_cv_header_sys_times_h" = xyes-then :- printf "%s\n" "#define HAVE_SYS_TIMES_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "sys/types.h" "ac_cv_header_sys_types_h" "$ac_includes_default"-if test "x$ac_cv_header_sys_types_h" = xyes-then :- printf "%s\n" "#define HAVE_SYS_TYPES_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "sys/utsname.h" "ac_cv_header_sys_utsname_h" "$ac_includes_default"-if test "x$ac_cv_header_sys_utsname_h" = xyes-then :- printf "%s\n" "#define HAVE_SYS_UTSNAME_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "sys/wait.h" "ac_cv_header_sys_wait_h" "$ac_includes_default"-if test "x$ac_cv_header_sys_wait_h" = xyes-then :- printf "%s\n" "#define HAVE_SYS_WAIT_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "termios.h" "ac_cv_header_termios_h" "$ac_includes_default"-if test "x$ac_cv_header_termios_h" = xyes-then :- printf "%s\n" "#define HAVE_TERMIOS_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "time.h" "ac_cv_header_time_h" "$ac_includes_default"-if test "x$ac_cv_header_time_h" = xyes-then :- printf "%s\n" "#define HAVE_TIME_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default"-if test "x$ac_cv_header_unistd_h" = xyes-then :- printf "%s\n" "#define HAVE_UNISTD_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "utime.h" "ac_cv_header_utime_h" "$ac_includes_default"-if test "x$ac_cv_header_utime_h" = xyes-then :- printf "%s\n" "#define HAVE_UTIME_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default"-if test "x$ac_cv_header_windows_h" = xyes-then :- printf "%s\n" "#define HAVE_WINDOWS_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "winsock.h" "ac_cv_header_winsock_h" "$ac_includes_default"-if test "x$ac_cv_header_winsock_h" = xyes-then :- printf "%s\n" "#define HAVE_WINSOCK_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "langinfo.h" "ac_cv_header_langinfo_h" "$ac_includes_default"-if test "x$ac_cv_header_langinfo_h" = xyes-then :- printf "%s\n" "#define HAVE_LANGINFO_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "poll.h" "ac_cv_header_poll_h" "$ac_includes_default"-if test "x$ac_cv_header_poll_h" = xyes-then :- printf "%s\n" "#define HAVE_POLL_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "sys/epoll.h" "ac_cv_header_sys_epoll_h" "$ac_includes_default"-if test "x$ac_cv_header_sys_epoll_h" = xyes-then :- printf "%s\n" "#define HAVE_SYS_EPOLL_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "sys/event.h" "ac_cv_header_sys_event_h" "$ac_includes_default"-if test "x$ac_cv_header_sys_event_h" = xyes-then :- printf "%s\n" "#define HAVE_SYS_EVENT_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "sys/eventfd.h" "ac_cv_header_sys_eventfd_h" "$ac_includes_default"-if test "x$ac_cv_header_sys_eventfd_h" = xyes-then :- printf "%s\n" "#define HAVE_SYS_EVENTFD_H 1" >>confdefs.h--fi-ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default"-if test "x$ac_cv_header_sys_socket_h" = xyes-then :- printf "%s\n" "#define HAVE_SYS_SOCKET_H 1" >>confdefs.h--fi---# Enable large file support. Do this before testing the types ino_t, off_t, and-# rlim_t, because it will affect the result of that test.-# Check whether --enable-largefile was given.-if test ${enable_largefile+y}-then :- enableval=$enable_largefile;-fi--if test "$enable_largefile" != no; then-- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5-printf %s "checking for special C compiler options needed for large files... " >&6; }-if test ${ac_cv_sys_largefile_CC+y}-then :- printf %s "(cached) " >&6-else $as_nop- ac_cv_sys_largefile_CC=no- if test "$GCC" != yes; then- ac_save_CC=$CC- while :; do- # IRIX 6.2 and later do not support large files by default,- # so use the C compiler's -n32 option if that helps.- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-#include <sys/types.h>- /* Check that off_t can represent 2**63 - 1 correctly.- We can't simply define LARGE_OFF_T to be 9223372036854775807,- since some C++ compilers masquerading as C compilers- incorrectly reject 9223372036854775807. */-#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721- && LARGE_OFF_T % 2147483647 == 1)- ? 1 : -1];-int-main (void)-{-- ;- return 0;-}-_ACEOF- if ac_fn_c_try_compile "$LINENO"-then :- break-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam- CC="$CC -n32"- if ac_fn_c_try_compile "$LINENO"-then :- ac_cv_sys_largefile_CC=' -n32'; break-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam- break- done- CC=$ac_save_CC- rm -f conftest.$ac_ext- fi-fi-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5-printf "%s\n" "$ac_cv_sys_largefile_CC" >&6; }- if test "$ac_cv_sys_largefile_CC" != no; then- CC=$CC$ac_cv_sys_largefile_CC- fi-- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5-printf %s "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }-if test ${ac_cv_sys_file_offset_bits+y}-then :- printf %s "(cached) " >&6-else $as_nop- while :; do- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-#include <sys/types.h>- /* Check that off_t can represent 2**63 - 1 correctly.- We can't simply define LARGE_OFF_T to be 9223372036854775807,- since some C++ compilers masquerading as C compilers- incorrectly reject 9223372036854775807. */-#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721- && LARGE_OFF_T % 2147483647 == 1)- ? 1 : -1];-int-main (void)-{-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- ac_cv_sys_file_offset_bits=no; break-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-#define _FILE_OFFSET_BITS 64-#include <sys/types.h>- /* Check that off_t can represent 2**63 - 1 correctly.- We can't simply define LARGE_OFF_T to be 9223372036854775807,- since some C++ compilers masquerading as C compilers- incorrectly reject 9223372036854775807. */-#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721- && LARGE_OFF_T % 2147483647 == 1)- ? 1 : -1];-int-main (void)-{-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- ac_cv_sys_file_offset_bits=64; break-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext- ac_cv_sys_file_offset_bits=unknown- break-done-fi-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5-printf "%s\n" "$ac_cv_sys_file_offset_bits" >&6; }-case $ac_cv_sys_file_offset_bits in #(- no | unknown) ;;- *)-printf "%s\n" "#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits" >>confdefs.h-;;-esac-rm -rf conftest*- if test $ac_cv_sys_file_offset_bits = unknown; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5-printf %s "checking for _LARGE_FILES value needed for large files... " >&6; }-if test ${ac_cv_sys_large_files+y}-then :- printf %s "(cached) " >&6-else $as_nop- while :; do- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-#include <sys/types.h>- /* Check that off_t can represent 2**63 - 1 correctly.- We can't simply define LARGE_OFF_T to be 9223372036854775807,- since some C++ compilers masquerading as C compilers- incorrectly reject 9223372036854775807. */-#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721- && LARGE_OFF_T % 2147483647 == 1)- ? 1 : -1];-int-main (void)-{-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- ac_cv_sys_large_files=no; break-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-#define _LARGE_FILES 1-#include <sys/types.h>- /* Check that off_t can represent 2**63 - 1 correctly.- We can't simply define LARGE_OFF_T to be 9223372036854775807,- since some C++ compilers masquerading as C compilers- incorrectly reject 9223372036854775807. */-#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721- && LARGE_OFF_T % 2147483647 == 1)- ? 1 : -1];-int-main (void)-{-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- ac_cv_sys_large_files=1; break-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext- ac_cv_sys_large_files=unknown- break-done-fi-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5-printf "%s\n" "$ac_cv_sys_large_files" >&6; }-case $ac_cv_sys_large_files in #(- no | unknown) ;;- *)-printf "%s\n" "#define _LARGE_FILES $ac_cv_sys_large_files" >>confdefs.h-;;-esac-rm -rf conftest*- fi-fi--- for ac_header in wctype.h-do :- ac_fn_c_check_header_compile "$LINENO" "wctype.h" "ac_cv_header_wctype_h" "$ac_includes_default"-if test "x$ac_cv_header_wctype_h" = xyes-then :- printf "%s\n" "#define HAVE_WCTYPE_H 1" >>confdefs.h- ac_fn_c_check_func "$LINENO" "iswspace" "ac_cv_func_iswspace"-if test "x$ac_cv_func_iswspace" = xyes-then :- printf "%s\n" "#define HAVE_ISWSPACE 1" >>confdefs.h--fi--fi--done--ac_fn_c_check_func "$LINENO" "lstat" "ac_cv_func_lstat"-if test "x$ac_cv_func_lstat" = xyes-then :- printf "%s\n" "#define HAVE_LSTAT 1" >>confdefs.h--fi--{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for clock_gettime in -lrt" >&5-printf %s "checking for clock_gettime in -lrt... " >&6; }-if test ${ac_cv_lib_rt_clock_gettime+y}-then :- printf %s "(cached) " >&6-else $as_nop- ac_check_lib_save_LIBS=$LIBS-LIBS="-lrt $LIBS"-cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--/* Override any GCC internal prototype to avoid an error.- Use char because int might match the return type of a GCC- builtin and then its argument prototype would still apply. */-char clock_gettime ();-int-main (void)-{-return clock_gettime ();- ;- return 0;-}-_ACEOF-if ac_fn_c_try_link "$LINENO"-then :- ac_cv_lib_rt_clock_gettime=yes-else $as_nop- ac_cv_lib_rt_clock_gettime=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam \- conftest$ac_exeext conftest.$ac_ext-LIBS=$ac_check_lib_save_LIBS-fi-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_clock_gettime" >&5-printf "%s\n" "$ac_cv_lib_rt_clock_gettime" >&6; }-if test "x$ac_cv_lib_rt_clock_gettime" = xyes-then :- printf "%s\n" "#define HAVE_LIBRT 1" >>confdefs.h-- LIBS="-lrt $LIBS"--fi--ac_fn_c_check_func "$LINENO" "clock_gettime" "ac_cv_func_clock_gettime"-if test "x$ac_cv_func_clock_gettime" = xyes-then :- printf "%s\n" "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h--fi--ac_fn_c_check_func "$LINENO" "getclock" "ac_cv_func_getclock"-if test "x$ac_cv_func_getclock" = xyes-then :- printf "%s\n" "#define HAVE_GETCLOCK 1" >>confdefs.h--fi-ac_fn_c_check_func "$LINENO" "getrusage" "ac_cv_func_getrusage"-if test "x$ac_cv_func_getrusage" = xyes-then :- printf "%s\n" "#define HAVE_GETRUSAGE 1" >>confdefs.h--fi-ac_fn_c_check_func "$LINENO" "times" "ac_cv_func_times"-if test "x$ac_cv_func_times" = xyes-then :- printf "%s\n" "#define HAVE_TIMES 1" >>confdefs.h--fi--ac_fn_c_check_func "$LINENO" "_chsize" "ac_cv_func__chsize"-if test "x$ac_cv_func__chsize" = xyes-then :- printf "%s\n" "#define HAVE__CHSIZE 1" >>confdefs.h--fi-ac_fn_c_check_func "$LINENO" "ftruncate" "ac_cv_func_ftruncate"-if test "x$ac_cv_func_ftruncate" = xyes-then :- printf "%s\n" "#define HAVE_FTRUNCATE 1" >>confdefs.h--fi---# event-related fun-# The line below already defines HAVE_KQUEUE and HAVE_POLL, so technically some of the-# subsequent portions that redefine them could be skipped. However, we keep those portions-# to keep kqueue/poll in line with HAVE_EPOLL and possible other additions in the future. You-# should be aware of this peculiarity if you try to simulate not having kqueue or poll by-# moving away header files (see also https://gitlab.haskell.org/ghc/ghc/-/issues/9283)-ac_fn_c_check_func "$LINENO" "epoll_ctl" "ac_cv_func_epoll_ctl"-if test "x$ac_cv_func_epoll_ctl" = xyes-then :- printf "%s\n" "#define HAVE_EPOLL_CTL 1" >>confdefs.h--fi-ac_fn_c_check_func "$LINENO" "eventfd" "ac_cv_func_eventfd"-if test "x$ac_cv_func_eventfd" = xyes-then :- printf "%s\n" "#define HAVE_EVENTFD 1" >>confdefs.h--fi-ac_fn_c_check_func "$LINENO" "kevent" "ac_cv_func_kevent"-if test "x$ac_cv_func_kevent" = xyes-then :- printf "%s\n" "#define HAVE_KEVENT 1" >>confdefs.h--fi-ac_fn_c_check_func "$LINENO" "kevent64" "ac_cv_func_kevent64"-if test "x$ac_cv_func_kevent64" = xyes-then :- printf "%s\n" "#define HAVE_KEVENT64 1" >>confdefs.h--fi-ac_fn_c_check_func "$LINENO" "kqueue" "ac_cv_func_kqueue"-if test "x$ac_cv_func_kqueue" = xyes-then :- printf "%s\n" "#define HAVE_KQUEUE 1" >>confdefs.h--fi-ac_fn_c_check_func "$LINENO" "poll" "ac_cv_func_poll"-if test "x$ac_cv_func_poll" = xyes-then :- printf "%s\n" "#define HAVE_POLL 1" >>confdefs.h--fi---if test "$ac_cv_header_sys_epoll_h" = yes && test "$ac_cv_func_epoll_ctl" = yes; then--printf "%s\n" "#define HAVE_EPOLL 1" >>confdefs.h--fi--if test "$ac_cv_header_sys_event_h" = yes && test "$ac_cv_func_kqueue" = yes; then--printf "%s\n" "#define HAVE_KQUEUE 1" >>confdefs.h--- # The cast to long int works around a bug in the HP C Compiler-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.-# This bug is HP SR number 8606223364.-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of kev.filter" >&5-printf %s "checking size of kev.filter... " >&6; }-if test ${ac_cv_sizeof_kev_filter+y}-then :- printf %s "(cached) " >&6-else $as_nop- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (kev.filter))" "ac_cv_sizeof_kev_filter" "#include <sys/event.h>-struct kevent kev;-"-then :--else $as_nop- if test "$ac_cv_type_kev_filter" = yes; then- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}-as_fn_error 77 "cannot compute sizeof (kev.filter)-See \`config.log' for more details" "$LINENO" 5; }- else- ac_cv_sizeof_kev_filter=0- fi-fi--fi-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_kev_filter" >&5-printf "%s\n" "$ac_cv_sizeof_kev_filter" >&6; }----printf "%s\n" "#define SIZEOF_KEV_FILTER $ac_cv_sizeof_kev_filter" >>confdefs.h---- # The cast to long int works around a bug in the HP C Compiler-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.-# This bug is HP SR number 8606223364.-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of kev.flags" >&5-printf %s "checking size of kev.flags... " >&6; }-if test ${ac_cv_sizeof_kev_flags+y}-then :- printf %s "(cached) " >&6-else $as_nop- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (kev.flags))" "ac_cv_sizeof_kev_flags" "#include <sys/event.h>-struct kevent kev;-"-then :--else $as_nop- if test "$ac_cv_type_kev_flags" = yes; then- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}-as_fn_error 77 "cannot compute sizeof (kev.flags)-See \`config.log' for more details" "$LINENO" 5; }- else- ac_cv_sizeof_kev_flags=0- fi-fi--fi-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_kev_flags" >&5-printf "%s\n" "$ac_cv_sizeof_kev_flags" >&6; }----printf "%s\n" "#define SIZEOF_KEV_FLAGS $ac_cv_sizeof_kev_flags" >>confdefs.h---fi--if test "$ac_cv_header_poll_h" = yes && test "$ac_cv_func_poll" = yes; then--printf "%s\n" "#define HAVE_POLL 1" >>confdefs.h--fi--# Linux open file descriptor locks-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC options needed to detect all undeclared functions" >&5-printf %s "checking for $CC options needed to detect all undeclared functions... " >&6; }-if test ${ac_cv_c_undeclared_builtin_options+y}-then :- printf %s "(cached) " >&6-else $as_nop- ac_save_CFLAGS=$CFLAGS- ac_cv_c_undeclared_builtin_options='cannot detect'- for ac_arg in '' -fno-builtin; do- CFLAGS="$ac_save_CFLAGS $ac_arg"- # This test program should *not* compile successfully.- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--int-main (void)-{-(void) strchr;- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :--else $as_nop- # This test program should compile successfully.- # No library function is consistently available on- # freestanding implementations, so test against a dummy- # declaration. Include always-available headers on the- # off chance that they somehow elicit warnings.- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-#include <float.h>-#include <limits.h>-#include <stdarg.h>-#include <stddef.h>-extern void ac_decl (int, char *);--int-main (void)-{-(void) ac_decl (0, (char *) 0);- (void) ac_decl;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- if test x"$ac_arg" = x-then :- ac_cv_c_undeclared_builtin_options='none needed'-else $as_nop- ac_cv_c_undeclared_builtin_options=$ac_arg-fi- break-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext- done- CFLAGS=$ac_save_CFLAGS--fi-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_undeclared_builtin_options" >&5-printf "%s\n" "$ac_cv_c_undeclared_builtin_options" >&6; }- case $ac_cv_c_undeclared_builtin_options in #(- 'cannot detect') :- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}-as_fn_error $? "cannot make $CC report undeclared builtins-See \`config.log' for more details" "$LINENO" 5; } ;; #(- 'none needed') :- ac_c_undeclared_builtin_options='' ;; #(- *) :- ac_c_undeclared_builtin_options=$ac_cv_c_undeclared_builtin_options ;;-esac--ac_fn_check_decl "$LINENO" "F_OFD_SETLK" "ac_cv_have_decl_F_OFD_SETLK" "- #include <unistd.h>- #include <fcntl.h>--" "$ac_c_undeclared_builtin_options" "CFLAGS"-if test "x$ac_cv_have_decl_F_OFD_SETLK" = xyes-then :---printf "%s\n" "#define HAVE_OFD_LOCKING 1" >>confdefs.h---fi--# flock-ac_fn_c_check_func "$LINENO" "flock" "ac_cv_func_flock"-if test "x$ac_cv_func_flock" = xyes-then :- printf "%s\n" "#define HAVE_FLOCK 1" >>confdefs.h--fi--if test "$ac_cv_header_sys_file_h" = yes && test "$ac_cv_func_flock" = yes; then--printf "%s\n" "#define HAVE_FLOCK 1" >>confdefs.h--fi--# unsetenv-ac_fn_c_check_func "$LINENO" "unsetenv" "ac_cv_func_unsetenv"-if test "x$ac_cv_func_unsetenv" = xyes-then :- printf "%s\n" "#define HAVE_UNSETENV 1" >>confdefs.h--fi---### POSIX.1003.1 unsetenv returns 0 or -1 (EINVAL), but older implementations-### in common use return void.-ac_ext=c-ac_cpp='$CPP $CPPFLAGS'-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'-ac_compiler_gnu=$ac_cv_c_compiler_gnu-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5-printf %s "checking how to run the C preprocessor... " >&6; }-# On Suns, sometimes $CPP names a directory.-if test -n "$CPP" && test -d "$CPP"; then- CPP=-fi-if test -z "$CPP"; then- if test ${ac_cv_prog_CPP+y}-then :- printf %s "(cached) " >&6-else $as_nop- # Double quotes because $CC needs to be expanded- for CPP in "$CC -E" "$CC -E -traditional-cpp" cpp /lib/cpp- do- ac_preproc_ok=false-for ac_c_preproc_warn_flag in '' yes-do- # Use a header file that comes with gcc, so configuring glibc- # with a fresh cross-compiler works.- # On the NeXT, cc -E runs the code through the compiler's parser,- # not just through cpp. "Syntax error" is here to catch this case.- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-#include <limits.h>- Syntax error-_ACEOF-if ac_fn_c_try_cpp "$LINENO"-then :--else $as_nop- # Broken: fails on valid input.-continue-fi-rm -f conftest.err conftest.i conftest.$ac_ext-- # OK, works on sane cases. Now check whether nonexistent headers- # can be detected and how.- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-#include <ac_nonexistent.h>-_ACEOF-if ac_fn_c_try_cpp "$LINENO"-then :- # Broken: success on invalid input.-continue-else $as_nop- # Passes both tests.-ac_preproc_ok=:-break-fi-rm -f conftest.err conftest.i conftest.$ac_ext--done-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.-rm -f conftest.i conftest.err conftest.$ac_ext-if $ac_preproc_ok-then :- break-fi-- done- ac_cv_prog_CPP=$CPP--fi- CPP=$ac_cv_prog_CPP-else- ac_cv_prog_CPP=$CPP-fi-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5-printf "%s\n" "$CPP" >&6; }-ac_preproc_ok=false-for ac_c_preproc_warn_flag in '' yes-do- # Use a header file that comes with gcc, so configuring glibc- # with a fresh cross-compiler works.- # On the NeXT, cc -E runs the code through the compiler's parser,- # not just through cpp. "Syntax error" is here to catch this case.- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-#include <limits.h>- Syntax error-_ACEOF-if ac_fn_c_try_cpp "$LINENO"-then :--else $as_nop- # Broken: fails on valid input.-continue-fi-rm -f conftest.err conftest.i conftest.$ac_ext-- # OK, works on sane cases. Now check whether nonexistent headers- # can be detected and how.- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-#include <ac_nonexistent.h>-_ACEOF-if ac_fn_c_try_cpp "$LINENO"-then :- # Broken: success on invalid input.-continue-else $as_nop- # Passes both tests.-ac_preproc_ok=:-break-fi-rm -f conftest.err conftest.i conftest.$ac_ext--done-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.-rm -f conftest.i conftest.err conftest.$ac_ext-if $ac_preproc_ok-then :--else $as_nop- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check-See \`config.log' for more details" "$LINENO" 5; }-fi--ac_ext=c-ac_cpp='$CPP $CPPFLAGS'-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'-ac_compiler_gnu=$ac_cv_c_compiler_gnu---{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5-printf %s "checking for grep that handles long lines and -e... " >&6; }-if test ${ac_cv_path_GREP+y}-then :- printf %s "(cached) " >&6-else $as_nop- if test -z "$GREP"; then- ac_path_GREP_found=false- # Loop through the user's path and test for each of PROGNAME-LIST- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin-do- IFS=$as_save_IFS- case $as_dir in #(((- '') as_dir=./ ;;- */) ;;- *) as_dir=$as_dir/ ;;- esac- for ac_prog in grep ggrep- do- for ac_exec_ext in '' $ac_executable_extensions; do- ac_path_GREP="$as_dir$ac_prog$ac_exec_ext"- as_fn_executable_p "$ac_path_GREP" || continue-# Check for GNU ac_path_GREP and select it if it is found.- # Check for GNU $ac_path_GREP-case `"$ac_path_GREP" --version 2>&1` in-*GNU*)- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;-*)- ac_count=0- printf %s 0123456789 >"conftest.in"- while :- do- cat "conftest.in" "conftest.in" >"conftest.tmp"- mv "conftest.tmp" "conftest.in"- cp "conftest.in" "conftest.nl"- printf "%s\n" 'GREP' >> "conftest.nl"- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break- as_fn_arith $ac_count + 1 && ac_count=$as_val- if test $ac_count -gt ${ac_path_GREP_max-0}; then- # Best one so far, save it but keep looking for a better one- ac_cv_path_GREP="$ac_path_GREP"- ac_path_GREP_max=$ac_count- fi- # 10*(2^10) chars as input seems more than enough- test $ac_count -gt 10 && break- done- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;-esac-- $ac_path_GREP_found && break 3- done- done- done-IFS=$as_save_IFS- if test -z "$ac_cv_path_GREP"; then- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5- fi-else- ac_cv_path_GREP=$GREP-fi--fi-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5-printf "%s\n" "$ac_cv_path_GREP" >&6; }- GREP="$ac_cv_path_GREP"---{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5-printf %s "checking for egrep... " >&6; }-if test ${ac_cv_path_EGREP+y}-then :- printf %s "(cached) " >&6-else $as_nop- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1- then ac_cv_path_EGREP="$GREP -E"- else- if test -z "$EGREP"; then- ac_path_EGREP_found=false- # Loop through the user's path and test for each of PROGNAME-LIST- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin-do- IFS=$as_save_IFS- case $as_dir in #(((- '') as_dir=./ ;;- */) ;;- *) as_dir=$as_dir/ ;;- esac- for ac_prog in egrep- do- for ac_exec_ext in '' $ac_executable_extensions; do- ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext"- as_fn_executable_p "$ac_path_EGREP" || continue-# Check for GNU ac_path_EGREP and select it if it is found.- # Check for GNU $ac_path_EGREP-case `"$ac_path_EGREP" --version 2>&1` in-*GNU*)- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;-*)- ac_count=0- printf %s 0123456789 >"conftest.in"- while :- do- cat "conftest.in" "conftest.in" >"conftest.tmp"- mv "conftest.tmp" "conftest.in"- cp "conftest.in" "conftest.nl"- printf "%s\n" 'EGREP' >> "conftest.nl"- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break- as_fn_arith $ac_count + 1 && ac_count=$as_val- if test $ac_count -gt ${ac_path_EGREP_max-0}; then- # Best one so far, save it but keep looking for a better one- ac_cv_path_EGREP="$ac_path_EGREP"- ac_path_EGREP_max=$ac_count- fi- # 10*(2^10) chars as input seems more than enough- test $ac_count -gt 10 && break- done- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;-esac-- $ac_path_EGREP_found && break 3- done- done- done-IFS=$as_save_IFS- if test -z "$ac_cv_path_EGREP"; then- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5- fi-else- ac_cv_path_EGREP=$EGREP-fi-- fi-fi-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5-printf "%s\n" "$ac_cv_path_EGREP" >&6; }- EGREP="$ac_cv_path_EGREP"---{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking return type of unsetenv" >&5-printf %s "checking return type of unsetenv... " >&6; }-if test ${fptools_cv_func_unsetenv_return_type+y}-then :- printf %s "(cached) " >&6-else $as_nop- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-#include <stdlib.h>--_ACEOF-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |- $EGREP "void[ ]+unsetenv" >/dev/null 2>&1-then :- fptools_cv_func_unsetenv_return_type=void-else $as_nop- fptools_cv_func_unsetenv_return_type=int-fi-rm -rf conftest*--fi-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_func_unsetenv_return_type" >&5-printf "%s\n" "$fptools_cv_func_unsetenv_return_type" >&6; }-case "$fptools_cv_func_unsetenv_return_type" in- "void" )--printf "%s\n" "#define UNSETENV_RETURNS_VOID 1" >>confdefs.h-- ;;-esac----# Check whether --with-iconv-includes was given.-if test ${with_iconv_includes+y}-then :- withval=$with_iconv_includes; ICONV_INCLUDE_DIRS=$withval; CPPFLAGS="-I$withval $CPPFLAGS"-else $as_nop- ICONV_INCLUDE_DIRS=-fi----# Check whether --with-iconv-libraries was given.-if test ${with_iconv_libraries+y}-then :- withval=$with_iconv_libraries; ICONV_LIB_DIRS=$withval; LDFLAGS="-L$withval $LDFLAGS"-else $as_nop- ICONV_LIB_DIRS=-fi------# map standard C types and ISO types to Haskell types--------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for char" >&5-printf %s "checking Haskell type for char... " >&6; }- if test ${fptools_cv_htype_char+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_char=yes- if ac_fn_c_compute_int "$LINENO" "(char)0.2 - (char)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-char val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_char="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(char) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_char=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(char) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_char=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(char) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_char=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_char=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_char=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_char=LDouble- else- fptools_cv_htype_sup_char=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((char)(-1)) < ((char)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_char=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(char) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_char=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_char="Word$HTYPE_SIZE"- else- fptools_cv_htype_char="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_char" = no- then-- fptools_cv_htype_char=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_char" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_char" >&5-printf "%s\n" "$fptools_cv_htype_char" >&6; }--printf "%s\n" "#define HTYPE_CHAR $fptools_cv_htype_char" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for signed char" >&5-printf %s "checking Haskell type for signed char... " >&6; }- if test ${fptools_cv_htype_signed_char+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_signed_char=yes- if ac_fn_c_compute_int "$LINENO" "(signed char)0.2 - (signed char)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-signed char val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_signed_char="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(signed char) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_signed_char=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(signed char) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_signed_char=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(signed char) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_signed_char=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_signed_char=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_signed_char=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_signed_char=LDouble- else- fptools_cv_htype_sup_signed_char=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((signed char)(-1)) < ((signed char)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_signed_char=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(signed char) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_signed_char=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_signed_char="Word$HTYPE_SIZE"- else- fptools_cv_htype_signed_char="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_signed_char" = no- then-- fptools_cv_htype_signed_char=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_signed_char" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_signed_char" >&5-printf "%s\n" "$fptools_cv_htype_signed_char" >&6; }--printf "%s\n" "#define HTYPE_SIGNED_CHAR $fptools_cv_htype_signed_char" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for unsigned char" >&5-printf %s "checking Haskell type for unsigned char... " >&6; }- if test ${fptools_cv_htype_unsigned_char+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_unsigned_char=yes- if ac_fn_c_compute_int "$LINENO" "(unsigned char)0.2 - (unsigned char)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-unsigned char val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_unsigned_char="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned char) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_unsigned_char=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned char) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_unsigned_char=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned char) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_unsigned_char=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_unsigned_char=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_unsigned_char=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_unsigned_char=LDouble- else- fptools_cv_htype_sup_unsigned_char=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((unsigned char)(-1)) < ((unsigned char)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_unsigned_char=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned char) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_unsigned_char=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_unsigned_char="Word$HTYPE_SIZE"- else- fptools_cv_htype_unsigned_char="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_unsigned_char" = no- then-- fptools_cv_htype_unsigned_char=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_unsigned_char" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_unsigned_char" >&5-printf "%s\n" "$fptools_cv_htype_unsigned_char" >&6; }--printf "%s\n" "#define HTYPE_UNSIGNED_CHAR $fptools_cv_htype_unsigned_char" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for short" >&5-printf %s "checking Haskell type for short... " >&6; }- if test ${fptools_cv_htype_short+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_short=yes- if ac_fn_c_compute_int "$LINENO" "(short)0.2 - (short)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-short val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_short="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(short) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_short=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(short) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_short=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(short) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_short=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_short=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_short=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_short=LDouble- else- fptools_cv_htype_sup_short=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((short)(-1)) < ((short)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_short=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(short) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_short=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_short="Word$HTYPE_SIZE"- else- fptools_cv_htype_short="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_short" = no- then-- fptools_cv_htype_short=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_short" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_short" >&5-printf "%s\n" "$fptools_cv_htype_short" >&6; }--printf "%s\n" "#define HTYPE_SHORT $fptools_cv_htype_short" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for unsigned short" >&5-printf %s "checking Haskell type for unsigned short... " >&6; }- if test ${fptools_cv_htype_unsigned_short+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_unsigned_short=yes- if ac_fn_c_compute_int "$LINENO" "(unsigned short)0.2 - (unsigned short)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-unsigned short val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_unsigned_short="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned short) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_unsigned_short=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned short) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_unsigned_short=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned short) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_unsigned_short=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_unsigned_short=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_unsigned_short=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_unsigned_short=LDouble- else- fptools_cv_htype_sup_unsigned_short=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((unsigned short)(-1)) < ((unsigned short)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_unsigned_short=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned short) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_unsigned_short=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_unsigned_short="Word$HTYPE_SIZE"- else- fptools_cv_htype_unsigned_short="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_unsigned_short" = no- then-- fptools_cv_htype_unsigned_short=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_unsigned_short" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_unsigned_short" >&5-printf "%s\n" "$fptools_cv_htype_unsigned_short" >&6; }--printf "%s\n" "#define HTYPE_UNSIGNED_SHORT $fptools_cv_htype_unsigned_short" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for int" >&5-printf %s "checking Haskell type for int... " >&6; }- if test ${fptools_cv_htype_int+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_int=yes- if ac_fn_c_compute_int "$LINENO" "(int)0.2 - (int)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-int val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_int="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(int) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_int=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(int) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_int=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(int) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_int=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_int=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_int=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_int=LDouble- else- fptools_cv_htype_sup_int=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((int)(-1)) < ((int)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_int=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(int) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_int=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_int="Word$HTYPE_SIZE"- else- fptools_cv_htype_int="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_int" = no- then-- fptools_cv_htype_int=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_int" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_int" >&5-printf "%s\n" "$fptools_cv_htype_int" >&6; }--printf "%s\n" "#define HTYPE_INT $fptools_cv_htype_int" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for unsigned int" >&5-printf %s "checking Haskell type for unsigned int... " >&6; }- if test ${fptools_cv_htype_unsigned_int+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_unsigned_int=yes- if ac_fn_c_compute_int "$LINENO" "(unsigned int)0.2 - (unsigned int)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-unsigned int val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_unsigned_int="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned int) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_unsigned_int=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned int) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_unsigned_int=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned int) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_unsigned_int=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_unsigned_int=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_unsigned_int=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_unsigned_int=LDouble- else- fptools_cv_htype_sup_unsigned_int=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((unsigned int)(-1)) < ((unsigned int)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_unsigned_int=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned int) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_unsigned_int=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_unsigned_int="Word$HTYPE_SIZE"- else- fptools_cv_htype_unsigned_int="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_unsigned_int" = no- then-- fptools_cv_htype_unsigned_int=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_unsigned_int" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_unsigned_int" >&5-printf "%s\n" "$fptools_cv_htype_unsigned_int" >&6; }--printf "%s\n" "#define HTYPE_UNSIGNED_INT $fptools_cv_htype_unsigned_int" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for long" >&5-printf %s "checking Haskell type for long... " >&6; }- if test ${fptools_cv_htype_long+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_long=yes- if ac_fn_c_compute_int "$LINENO" "(long)0.2 - (long)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-long val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_long="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(long) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_long=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(long) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_long=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(long) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_long=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_long=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_long=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_long=LDouble- else- fptools_cv_htype_sup_long=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((long)(-1)) < ((long)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_long=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(long) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_long=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_long="Word$HTYPE_SIZE"- else- fptools_cv_htype_long="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_long" = no- then-- fptools_cv_htype_long=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_long" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_long" >&5-printf "%s\n" "$fptools_cv_htype_long" >&6; }--printf "%s\n" "#define HTYPE_LONG $fptools_cv_htype_long" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for unsigned long" >&5-printf %s "checking Haskell type for unsigned long... " >&6; }- if test ${fptools_cv_htype_unsigned_long+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_unsigned_long=yes- if ac_fn_c_compute_int "$LINENO" "(unsigned long)0.2 - (unsigned long)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-unsigned long val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_unsigned_long="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned long) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_unsigned_long=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned long) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_unsigned_long=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned long) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_unsigned_long=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_unsigned_long=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_unsigned_long=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_unsigned_long=LDouble- else- fptools_cv_htype_sup_unsigned_long=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((unsigned long)(-1)) < ((unsigned long)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_unsigned_long=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned long) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_unsigned_long=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_unsigned_long="Word$HTYPE_SIZE"- else- fptools_cv_htype_unsigned_long="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_unsigned_long" = no- then-- fptools_cv_htype_unsigned_long=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_unsigned_long" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_unsigned_long" >&5-printf "%s\n" "$fptools_cv_htype_unsigned_long" >&6; }--printf "%s\n" "#define HTYPE_UNSIGNED_LONG $fptools_cv_htype_unsigned_long" >>confdefs.h-- fi---if test "$ac_cv_type_long_long" = yes; then--------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for long long" >&5-printf %s "checking Haskell type for long long... " >&6; }- if test ${fptools_cv_htype_long_long+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_long_long=yes- if ac_fn_c_compute_int "$LINENO" "(long long)0.2 - (long long)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-long long val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_long_long="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(long long) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_long_long=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(long long) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_long_long=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(long long) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_long_long=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_long_long=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_long_long=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_long_long=LDouble- else- fptools_cv_htype_sup_long_long=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((long long)(-1)) < ((long long)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_long_long=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(long long) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_long_long=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_long_long="Word$HTYPE_SIZE"- else- fptools_cv_htype_long_long="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_long_long" = no- then-- fptools_cv_htype_long_long=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_long_long" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_long_long" >&5-printf "%s\n" "$fptools_cv_htype_long_long" >&6; }--printf "%s\n" "#define HTYPE_LONG_LONG $fptools_cv_htype_long_long" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for unsigned long long" >&5-printf %s "checking Haskell type for unsigned long long... " >&6; }- if test ${fptools_cv_htype_unsigned_long_long+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_unsigned_long_long=yes- if ac_fn_c_compute_int "$LINENO" "(unsigned long long)0.2 - (unsigned long long)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-unsigned long long val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_unsigned_long_long="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned long long) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_unsigned_long_long=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned long long) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_unsigned_long_long=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned long long) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_unsigned_long_long=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_unsigned_long_long=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_unsigned_long_long=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_unsigned_long_long=LDouble- else- fptools_cv_htype_sup_unsigned_long_long=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((unsigned long long)(-1)) < ((unsigned long long)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_unsigned_long_long=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned long long) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_unsigned_long_long=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_unsigned_long_long="Word$HTYPE_SIZE"- else- fptools_cv_htype_unsigned_long_long="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_unsigned_long_long" = no- then-- fptools_cv_htype_unsigned_long_long=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_unsigned_long_long" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_unsigned_long_long" >&5-printf "%s\n" "$fptools_cv_htype_unsigned_long_long" >&6; }--printf "%s\n" "#define HTYPE_UNSIGNED_LONG_LONG $fptools_cv_htype_unsigned_long_long" >>confdefs.h-- fi---fi--------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for bool" >&5-printf %s "checking Haskell type for bool... " >&6; }- if test ${fptools_cv_htype_bool+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_bool=yes- if ac_fn_c_compute_int "$LINENO" "(bool)0.2 - (bool)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-bool val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_bool="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(bool) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_bool=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(bool) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_bool=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(bool) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_bool=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_bool=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_bool=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_bool=LDouble- else- fptools_cv_htype_sup_bool=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((bool)(-1)) < ((bool)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_bool=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(bool) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_bool=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_bool="Word$HTYPE_SIZE"- else- fptools_cv_htype_bool="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_bool" = no- then-- fptools_cv_htype_bool=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_bool" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_bool" >&5-printf "%s\n" "$fptools_cv_htype_bool" >&6; }--printf "%s\n" "#define HTYPE_BOOL $fptools_cv_htype_bool" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for float" >&5-printf %s "checking Haskell type for float... " >&6; }- if test ${fptools_cv_htype_float+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_float=yes- if ac_fn_c_compute_int "$LINENO" "(float)0.2 - (float)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-float val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_float="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(float) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_float=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(float) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_float=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(float) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_float=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_float=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_float=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_float=LDouble- else- fptools_cv_htype_sup_float=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((float)(-1)) < ((float)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_float=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(float) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_float=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_float="Word$HTYPE_SIZE"- else- fptools_cv_htype_float="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_float" = no- then-- fptools_cv_htype_float=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_float" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_float" >&5-printf "%s\n" "$fptools_cv_htype_float" >&6; }--printf "%s\n" "#define HTYPE_FLOAT $fptools_cv_htype_float" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for double" >&5-printf %s "checking Haskell type for double... " >&6; }- if test ${fptools_cv_htype_double+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_double=yes- if ac_fn_c_compute_int "$LINENO" "(double)0.2 - (double)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-double val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_double="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(double) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_double=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(double) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_double=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(double) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_double=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_double=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_double=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_double=LDouble- else- fptools_cv_htype_sup_double=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((double)(-1)) < ((double)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_double=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(double) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_double=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_double="Word$HTYPE_SIZE"- else- fptools_cv_htype_double="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_double" = no- then-- fptools_cv_htype_double=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_double" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_double" >&5-printf "%s\n" "$fptools_cv_htype_double" >&6; }--printf "%s\n" "#define HTYPE_DOUBLE $fptools_cv_htype_double" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for ptrdiff_t" >&5-printf %s "checking Haskell type for ptrdiff_t... " >&6; }- if test ${fptools_cv_htype_ptrdiff_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_ptrdiff_t=yes- if ac_fn_c_compute_int "$LINENO" "(ptrdiff_t)0.2 - (ptrdiff_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-ptrdiff_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_ptrdiff_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(ptrdiff_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_ptrdiff_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(ptrdiff_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_ptrdiff_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(ptrdiff_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_ptrdiff_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_ptrdiff_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_ptrdiff_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_ptrdiff_t=LDouble- else- fptools_cv_htype_sup_ptrdiff_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((ptrdiff_t)(-1)) < ((ptrdiff_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_ptrdiff_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(ptrdiff_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_ptrdiff_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_ptrdiff_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_ptrdiff_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_ptrdiff_t" = no- then-- fptools_cv_htype_ptrdiff_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_ptrdiff_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_ptrdiff_t" >&5-printf "%s\n" "$fptools_cv_htype_ptrdiff_t" >&6; }--printf "%s\n" "#define HTYPE_PTRDIFF_T $fptools_cv_htype_ptrdiff_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for size_t" >&5-printf %s "checking Haskell type for size_t... " >&6; }- if test ${fptools_cv_htype_size_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_size_t=yes- if ac_fn_c_compute_int "$LINENO" "(size_t)0.2 - (size_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-size_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_size_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(size_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_size_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(size_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_size_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(size_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_size_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_size_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_size_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_size_t=LDouble- else- fptools_cv_htype_sup_size_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((size_t)(-1)) < ((size_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_size_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(size_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_size_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_size_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_size_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_size_t" = no- then-- fptools_cv_htype_size_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_size_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_size_t" >&5-printf "%s\n" "$fptools_cv_htype_size_t" >&6; }--printf "%s\n" "#define HTYPE_SIZE_T $fptools_cv_htype_size_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for wchar_t" >&5-printf %s "checking Haskell type for wchar_t... " >&6; }- if test ${fptools_cv_htype_wchar_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_wchar_t=yes- if ac_fn_c_compute_int "$LINENO" "(wchar_t)0.2 - (wchar_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-wchar_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_wchar_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(wchar_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_wchar_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(wchar_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_wchar_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(wchar_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_wchar_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_wchar_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_wchar_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_wchar_t=LDouble- else- fptools_cv_htype_sup_wchar_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((wchar_t)(-1)) < ((wchar_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_wchar_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(wchar_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_wchar_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_wchar_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_wchar_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_wchar_t" = no- then-- fptools_cv_htype_wchar_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_wchar_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_wchar_t" >&5-printf "%s\n" "$fptools_cv_htype_wchar_t" >&6; }--printf "%s\n" "#define HTYPE_WCHAR_T $fptools_cv_htype_wchar_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for sig_atomic_t" >&5-printf %s "checking Haskell type for sig_atomic_t... " >&6; }- if test ${fptools_cv_htype_sig_atomic_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_sig_atomic_t=yes- if ac_fn_c_compute_int "$LINENO" "(sig_atomic_t)0.2 - (sig_atomic_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-sig_atomic_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_sig_atomic_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(sig_atomic_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_sig_atomic_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(sig_atomic_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_sig_atomic_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(sig_atomic_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_sig_atomic_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_sig_atomic_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_sig_atomic_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_sig_atomic_t=LDouble- else- fptools_cv_htype_sup_sig_atomic_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((sig_atomic_t)(-1)) < ((sig_atomic_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_sig_atomic_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(sig_atomic_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_sig_atomic_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_sig_atomic_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_sig_atomic_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_sig_atomic_t" = no- then-- fptools_cv_htype_sig_atomic_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_sig_atomic_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_sig_atomic_t" >&5-printf "%s\n" "$fptools_cv_htype_sig_atomic_t" >&6; }--printf "%s\n" "#define HTYPE_SIG_ATOMIC_T $fptools_cv_htype_sig_atomic_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for clock_t" >&5-printf %s "checking Haskell type for clock_t... " >&6; }- if test ${fptools_cv_htype_clock_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_clock_t=yes- if ac_fn_c_compute_int "$LINENO" "(clock_t)0.2 - (clock_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-clock_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_clock_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(clock_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_clock_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(clock_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_clock_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(clock_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_clock_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_clock_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_clock_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_clock_t=LDouble- else- fptools_cv_htype_sup_clock_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((clock_t)(-1)) < ((clock_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_clock_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(clock_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_clock_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_clock_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_clock_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_clock_t" = no- then-- fptools_cv_htype_clock_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_clock_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_clock_t" >&5-printf "%s\n" "$fptools_cv_htype_clock_t" >&6; }--printf "%s\n" "#define HTYPE_CLOCK_T $fptools_cv_htype_clock_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for time_t" >&5-printf %s "checking Haskell type for time_t... " >&6; }- if test ${fptools_cv_htype_time_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_time_t=yes- if ac_fn_c_compute_int "$LINENO" "(time_t)0.2 - (time_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-time_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_time_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(time_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_time_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(time_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_time_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(time_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_time_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_time_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_time_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_time_t=LDouble- else- fptools_cv_htype_sup_time_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((time_t)(-1)) < ((time_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_time_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(time_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_time_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_time_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_time_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_time_t" = no- then-- fptools_cv_htype_time_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_time_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_time_t" >&5-printf "%s\n" "$fptools_cv_htype_time_t" >&6; }--printf "%s\n" "#define HTYPE_TIME_T $fptools_cv_htype_time_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for useconds_t" >&5-printf %s "checking Haskell type for useconds_t... " >&6; }- if test ${fptools_cv_htype_useconds_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_useconds_t=yes- if ac_fn_c_compute_int "$LINENO" "(useconds_t)0.2 - (useconds_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-useconds_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_useconds_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(useconds_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_useconds_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(useconds_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_useconds_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(useconds_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_useconds_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_useconds_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_useconds_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_useconds_t=LDouble- else- fptools_cv_htype_sup_useconds_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((useconds_t)(-1)) < ((useconds_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_useconds_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(useconds_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_useconds_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_useconds_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_useconds_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_useconds_t" = no- then-- fptools_cv_htype_useconds_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_useconds_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_useconds_t" >&5-printf "%s\n" "$fptools_cv_htype_useconds_t" >&6; }--printf "%s\n" "#define HTYPE_USECONDS_T $fptools_cv_htype_useconds_t" >>confdefs.h-- fi---------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for suseconds_t" >&5-printf %s "checking Haskell type for suseconds_t... " >&6; }- if test ${fptools_cv_htype_suseconds_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_suseconds_t=yes- if ac_fn_c_compute_int "$LINENO" "(suseconds_t)0.2 - (suseconds_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-suseconds_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_suseconds_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(suseconds_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_suseconds_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(suseconds_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_suseconds_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(suseconds_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_suseconds_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_suseconds_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_suseconds_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_suseconds_t=LDouble- else- fptools_cv_htype_sup_suseconds_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((suseconds_t)(-1)) < ((suseconds_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_suseconds_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(suseconds_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_suseconds_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_suseconds_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_suseconds_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_suseconds_t" = no- then- if test "$WINDOWS" = "YES"- then- fptools_cv_htype_suseconds_t=Int32- fptools_cv_htype_sup_suseconds_t=yes- else- as_fn_error $? "type not found" "$LINENO" 5- fi- fi-- if test "$fptools_cv_htype_sup_suseconds_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_suseconds_t" >&5-printf "%s\n" "$fptools_cv_htype_suseconds_t" >&6; }--printf "%s\n" "#define HTYPE_SUSECONDS_T $fptools_cv_htype_suseconds_t" >>confdefs.h-- fi---------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for dev_t" >&5-printf %s "checking Haskell type for dev_t... " >&6; }- if test ${fptools_cv_htype_dev_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_dev_t=yes- if ac_fn_c_compute_int "$LINENO" "(dev_t)0.2 - (dev_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-dev_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_dev_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(dev_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_dev_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(dev_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_dev_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(dev_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_dev_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_dev_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_dev_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_dev_t=LDouble- else- fptools_cv_htype_sup_dev_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((dev_t)(-1)) < ((dev_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_dev_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(dev_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_dev_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_dev_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_dev_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_dev_t" = no- then-- fptools_cv_htype_dev_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_dev_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_dev_t" >&5-printf "%s\n" "$fptools_cv_htype_dev_t" >&6; }--printf "%s\n" "#define HTYPE_DEV_T $fptools_cv_htype_dev_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for ino_t" >&5-printf %s "checking Haskell type for ino_t... " >&6; }- if test ${fptools_cv_htype_ino_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_ino_t=yes- if ac_fn_c_compute_int "$LINENO" "(ino_t)0.2 - (ino_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-ino_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_ino_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(ino_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_ino_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(ino_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_ino_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(ino_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_ino_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_ino_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_ino_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_ino_t=LDouble- else- fptools_cv_htype_sup_ino_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((ino_t)(-1)) < ((ino_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_ino_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(ino_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_ino_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_ino_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_ino_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_ino_t" = no- then-- fptools_cv_htype_ino_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_ino_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_ino_t" >&5-printf "%s\n" "$fptools_cv_htype_ino_t" >&6; }--printf "%s\n" "#define HTYPE_INO_T $fptools_cv_htype_ino_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for mode_t" >&5-printf %s "checking Haskell type for mode_t... " >&6; }- if test ${fptools_cv_htype_mode_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_mode_t=yes- if ac_fn_c_compute_int "$LINENO" "(mode_t)0.2 - (mode_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-mode_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_mode_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(mode_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_mode_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(mode_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_mode_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(mode_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_mode_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_mode_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_mode_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_mode_t=LDouble- else- fptools_cv_htype_sup_mode_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((mode_t)(-1)) < ((mode_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_mode_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(mode_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_mode_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_mode_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_mode_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_mode_t" = no- then-- fptools_cv_htype_mode_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_mode_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_mode_t" >&5-printf "%s\n" "$fptools_cv_htype_mode_t" >&6; }--printf "%s\n" "#define HTYPE_MODE_T $fptools_cv_htype_mode_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for off_t" >&5-printf %s "checking Haskell type for off_t... " >&6; }- if test ${fptools_cv_htype_off_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_off_t=yes- if ac_fn_c_compute_int "$LINENO" "(off_t)0.2 - (off_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-off_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_off_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(off_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_off_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(off_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_off_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(off_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_off_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_off_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_off_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_off_t=LDouble- else- fptools_cv_htype_sup_off_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((off_t)(-1)) < ((off_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_off_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(off_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_off_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_off_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_off_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_off_t" = no- then-- fptools_cv_htype_off_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_off_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_off_t" >&5-printf "%s\n" "$fptools_cv_htype_off_t" >&6; }--printf "%s\n" "#define HTYPE_OFF_T $fptools_cv_htype_off_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for pid_t" >&5-printf %s "checking Haskell type for pid_t... " >&6; }- if test ${fptools_cv_htype_pid_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_pid_t=yes- if ac_fn_c_compute_int "$LINENO" "(pid_t)0.2 - (pid_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-pid_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_pid_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(pid_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_pid_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(pid_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_pid_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(pid_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_pid_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_pid_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_pid_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_pid_t=LDouble- else- fptools_cv_htype_sup_pid_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((pid_t)(-1)) < ((pid_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_pid_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(pid_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_pid_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_pid_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_pid_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_pid_t" = no- then-- fptools_cv_htype_pid_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_pid_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_pid_t" >&5-printf "%s\n" "$fptools_cv_htype_pid_t" >&6; }--printf "%s\n" "#define HTYPE_PID_T $fptools_cv_htype_pid_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for gid_t" >&5-printf %s "checking Haskell type for gid_t... " >&6; }- if test ${fptools_cv_htype_gid_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_gid_t=yes- if ac_fn_c_compute_int "$LINENO" "(gid_t)0.2 - (gid_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-gid_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_gid_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(gid_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_gid_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(gid_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_gid_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(gid_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_gid_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_gid_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_gid_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_gid_t=LDouble- else- fptools_cv_htype_sup_gid_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((gid_t)(-1)) < ((gid_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_gid_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(gid_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_gid_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_gid_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_gid_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_gid_t" = no- then-- fptools_cv_htype_gid_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_gid_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_gid_t" >&5-printf "%s\n" "$fptools_cv_htype_gid_t" >&6; }--printf "%s\n" "#define HTYPE_GID_T $fptools_cv_htype_gid_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for uid_t" >&5-printf %s "checking Haskell type for uid_t... " >&6; }- if test ${fptools_cv_htype_uid_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_uid_t=yes- if ac_fn_c_compute_int "$LINENO" "(uid_t)0.2 - (uid_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-uid_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_uid_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(uid_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_uid_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(uid_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_uid_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(uid_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_uid_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_uid_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_uid_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_uid_t=LDouble- else- fptools_cv_htype_sup_uid_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((uid_t)(-1)) < ((uid_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_uid_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(uid_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_uid_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_uid_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_uid_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_uid_t" = no- then-- fptools_cv_htype_uid_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_uid_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_uid_t" >&5-printf "%s\n" "$fptools_cv_htype_uid_t" >&6; }--printf "%s\n" "#define HTYPE_UID_T $fptools_cv_htype_uid_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for cc_t" >&5-printf %s "checking Haskell type for cc_t... " >&6; }- if test ${fptools_cv_htype_cc_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_cc_t=yes- if ac_fn_c_compute_int "$LINENO" "(cc_t)0.2 - (cc_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-cc_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_cc_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(cc_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_cc_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(cc_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_cc_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(cc_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_cc_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_cc_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_cc_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_cc_t=LDouble- else- fptools_cv_htype_sup_cc_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((cc_t)(-1)) < ((cc_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_cc_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(cc_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_cc_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_cc_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_cc_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_cc_t" = no- then-- fptools_cv_htype_cc_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_cc_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_cc_t" >&5-printf "%s\n" "$fptools_cv_htype_cc_t" >&6; }--printf "%s\n" "#define HTYPE_CC_T $fptools_cv_htype_cc_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for speed_t" >&5-printf %s "checking Haskell type for speed_t... " >&6; }- if test ${fptools_cv_htype_speed_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_speed_t=yes- if ac_fn_c_compute_int "$LINENO" "(speed_t)0.2 - (speed_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-speed_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_speed_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(speed_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_speed_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(speed_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_speed_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(speed_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_speed_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_speed_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_speed_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_speed_t=LDouble- else- fptools_cv_htype_sup_speed_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((speed_t)(-1)) < ((speed_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_speed_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(speed_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_speed_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_speed_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_speed_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_speed_t" = no- then-- fptools_cv_htype_speed_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_speed_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_speed_t" >&5-printf "%s\n" "$fptools_cv_htype_speed_t" >&6; }--printf "%s\n" "#define HTYPE_SPEED_T $fptools_cv_htype_speed_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for tcflag_t" >&5-printf %s "checking Haskell type for tcflag_t... " >&6; }- if test ${fptools_cv_htype_tcflag_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_tcflag_t=yes- if ac_fn_c_compute_int "$LINENO" "(tcflag_t)0.2 - (tcflag_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-tcflag_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_tcflag_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(tcflag_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_tcflag_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(tcflag_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_tcflag_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(tcflag_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_tcflag_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_tcflag_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_tcflag_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_tcflag_t=LDouble- else- fptools_cv_htype_sup_tcflag_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((tcflag_t)(-1)) < ((tcflag_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_tcflag_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(tcflag_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_tcflag_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_tcflag_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_tcflag_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_tcflag_t" = no- then-- fptools_cv_htype_tcflag_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_tcflag_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_tcflag_t" >&5-printf "%s\n" "$fptools_cv_htype_tcflag_t" >&6; }--printf "%s\n" "#define HTYPE_TCFLAG_T $fptools_cv_htype_tcflag_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for nlink_t" >&5-printf %s "checking Haskell type for nlink_t... " >&6; }- if test ${fptools_cv_htype_nlink_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_nlink_t=yes- if ac_fn_c_compute_int "$LINENO" "(nlink_t)0.2 - (nlink_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-nlink_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_nlink_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(nlink_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_nlink_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(nlink_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_nlink_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(nlink_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_nlink_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_nlink_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_nlink_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_nlink_t=LDouble- else- fptools_cv_htype_sup_nlink_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((nlink_t)(-1)) < ((nlink_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_nlink_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(nlink_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_nlink_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_nlink_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_nlink_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_nlink_t" = no- then-- fptools_cv_htype_nlink_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_nlink_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_nlink_t" >&5-printf "%s\n" "$fptools_cv_htype_nlink_t" >&6; }--printf "%s\n" "#define HTYPE_NLINK_T $fptools_cv_htype_nlink_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for ssize_t" >&5-printf %s "checking Haskell type for ssize_t... " >&6; }- if test ${fptools_cv_htype_ssize_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_ssize_t=yes- if ac_fn_c_compute_int "$LINENO" "(ssize_t)0.2 - (ssize_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-ssize_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_ssize_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(ssize_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_ssize_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(ssize_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_ssize_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(ssize_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_ssize_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_ssize_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_ssize_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_ssize_t=LDouble- else- fptools_cv_htype_sup_ssize_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((ssize_t)(-1)) < ((ssize_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_ssize_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(ssize_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_ssize_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_ssize_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_ssize_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_ssize_t" = no- then-- fptools_cv_htype_ssize_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_ssize_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_ssize_t" >&5-printf "%s\n" "$fptools_cv_htype_ssize_t" >&6; }--printf "%s\n" "#define HTYPE_SSIZE_T $fptools_cv_htype_ssize_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for rlim_t" >&5-printf %s "checking Haskell type for rlim_t... " >&6; }- if test ${fptools_cv_htype_rlim_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_rlim_t=yes- if ac_fn_c_compute_int "$LINENO" "(rlim_t)0.2 - (rlim_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-rlim_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_rlim_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(rlim_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_rlim_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(rlim_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_rlim_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(rlim_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_rlim_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_rlim_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_rlim_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_rlim_t=LDouble- else- fptools_cv_htype_sup_rlim_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((rlim_t)(-1)) < ((rlim_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_rlim_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(rlim_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_rlim_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_rlim_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_rlim_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_rlim_t" = no- then-- fptools_cv_htype_rlim_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_rlim_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_rlim_t" >&5-printf "%s\n" "$fptools_cv_htype_rlim_t" >&6; }--printf "%s\n" "#define HTYPE_RLIM_T $fptools_cv_htype_rlim_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for blksize_t" >&5-printf %s "checking Haskell type for blksize_t... " >&6; }- if test ${fptools_cv_htype_blksize_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_blksize_t=yes- if ac_fn_c_compute_int "$LINENO" "(blksize_t)0.2 - (blksize_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-blksize_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_blksize_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(blksize_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_blksize_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(blksize_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_blksize_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(blksize_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_blksize_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_blksize_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_blksize_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_blksize_t=LDouble- else- fptools_cv_htype_sup_blksize_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((blksize_t)(-1)) < ((blksize_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_blksize_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(blksize_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_blksize_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_blksize_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_blksize_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_blksize_t" = no- then-- fptools_cv_htype_blksize_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_blksize_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_blksize_t" >&5-printf "%s\n" "$fptools_cv_htype_blksize_t" >&6; }--printf "%s\n" "#define HTYPE_BLKSIZE_T $fptools_cv_htype_blksize_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for blkcnt_t" >&5-printf %s "checking Haskell type for blkcnt_t... " >&6; }- if test ${fptools_cv_htype_blkcnt_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_blkcnt_t=yes- if ac_fn_c_compute_int "$LINENO" "(blkcnt_t)0.2 - (blkcnt_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-blkcnt_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_blkcnt_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(blkcnt_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_blkcnt_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(blkcnt_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_blkcnt_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(blkcnt_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_blkcnt_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_blkcnt_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_blkcnt_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_blkcnt_t=LDouble- else- fptools_cv_htype_sup_blkcnt_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((blkcnt_t)(-1)) < ((blkcnt_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_blkcnt_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(blkcnt_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_blkcnt_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_blkcnt_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_blkcnt_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_blkcnt_t" = no- then-- fptools_cv_htype_blkcnt_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_blkcnt_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_blkcnt_t" >&5-printf "%s\n" "$fptools_cv_htype_blkcnt_t" >&6; }--printf "%s\n" "#define HTYPE_BLKCNT_T $fptools_cv_htype_blkcnt_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for clockid_t" >&5-printf %s "checking Haskell type for clockid_t... " >&6; }- if test ${fptools_cv_htype_clockid_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_clockid_t=yes- if ac_fn_c_compute_int "$LINENO" "(clockid_t)0.2 - (clockid_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-clockid_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_clockid_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(clockid_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_clockid_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(clockid_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_clockid_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(clockid_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_clockid_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_clockid_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_clockid_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_clockid_t=LDouble- else- fptools_cv_htype_sup_clockid_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((clockid_t)(-1)) < ((clockid_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_clockid_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(clockid_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_clockid_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_clockid_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_clockid_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_clockid_t" = no- then-- fptools_cv_htype_clockid_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_clockid_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_clockid_t" >&5-printf "%s\n" "$fptools_cv_htype_clockid_t" >&6; }--printf "%s\n" "#define HTYPE_CLOCKID_T $fptools_cv_htype_clockid_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for fsblkcnt_t" >&5-printf %s "checking Haskell type for fsblkcnt_t... " >&6; }- if test ${fptools_cv_htype_fsblkcnt_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_fsblkcnt_t=yes- if ac_fn_c_compute_int "$LINENO" "(fsblkcnt_t)0.2 - (fsblkcnt_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-fsblkcnt_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_fsblkcnt_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(fsblkcnt_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_fsblkcnt_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(fsblkcnt_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_fsblkcnt_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(fsblkcnt_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_fsblkcnt_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_fsblkcnt_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_fsblkcnt_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_fsblkcnt_t=LDouble- else- fptools_cv_htype_sup_fsblkcnt_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((fsblkcnt_t)(-1)) < ((fsblkcnt_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_fsblkcnt_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(fsblkcnt_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_fsblkcnt_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_fsblkcnt_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_fsblkcnt_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_fsblkcnt_t" = no- then-- fptools_cv_htype_fsblkcnt_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_fsblkcnt_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_fsblkcnt_t" >&5-printf "%s\n" "$fptools_cv_htype_fsblkcnt_t" >&6; }--printf "%s\n" "#define HTYPE_FSBLKCNT_T $fptools_cv_htype_fsblkcnt_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for fsfilcnt_t" >&5-printf %s "checking Haskell type for fsfilcnt_t... " >&6; }- if test ${fptools_cv_htype_fsfilcnt_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_fsfilcnt_t=yes- if ac_fn_c_compute_int "$LINENO" "(fsfilcnt_t)0.2 - (fsfilcnt_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-fsfilcnt_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_fsfilcnt_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(fsfilcnt_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_fsfilcnt_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(fsfilcnt_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_fsfilcnt_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(fsfilcnt_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_fsfilcnt_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_fsfilcnt_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_fsfilcnt_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_fsfilcnt_t=LDouble- else- fptools_cv_htype_sup_fsfilcnt_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((fsfilcnt_t)(-1)) < ((fsfilcnt_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_fsfilcnt_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(fsfilcnt_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_fsfilcnt_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_fsfilcnt_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_fsfilcnt_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_fsfilcnt_t" = no- then-- fptools_cv_htype_fsfilcnt_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_fsfilcnt_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_fsfilcnt_t" >&5-printf "%s\n" "$fptools_cv_htype_fsfilcnt_t" >&6; }--printf "%s\n" "#define HTYPE_FSFILCNT_T $fptools_cv_htype_fsfilcnt_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for id_t" >&5-printf %s "checking Haskell type for id_t... " >&6; }- if test ${fptools_cv_htype_id_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_id_t=yes- if ac_fn_c_compute_int "$LINENO" "(id_t)0.2 - (id_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-id_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_id_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(id_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_id_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(id_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_id_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(id_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_id_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_id_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_id_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_id_t=LDouble- else- fptools_cv_htype_sup_id_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((id_t)(-1)) < ((id_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_id_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(id_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_id_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_id_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_id_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_id_t" = no- then-- fptools_cv_htype_id_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_id_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_id_t" >&5-printf "%s\n" "$fptools_cv_htype_id_t" >&6; }--printf "%s\n" "#define HTYPE_ID_T $fptools_cv_htype_id_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for key_t" >&5-printf %s "checking Haskell type for key_t... " >&6; }- if test ${fptools_cv_htype_key_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_key_t=yes- if ac_fn_c_compute_int "$LINENO" "(key_t)0.2 - (key_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-key_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_key_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(key_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_key_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(key_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_key_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(key_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_key_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_key_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_key_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_key_t=LDouble- else- fptools_cv_htype_sup_key_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((key_t)(-1)) < ((key_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_key_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(key_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_key_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_key_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_key_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_key_t" = no- then-- fptools_cv_htype_key_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_key_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_key_t" >&5-printf "%s\n" "$fptools_cv_htype_key_t" >&6; }--printf "%s\n" "#define HTYPE_KEY_T $fptools_cv_htype_key_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for timer_t" >&5-printf %s "checking Haskell type for timer_t... " >&6; }- if test ${fptools_cv_htype_timer_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_timer_t=yes- if ac_fn_c_compute_int "$LINENO" "(timer_t)0.2 - (timer_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-timer_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_timer_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(timer_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_timer_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(timer_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_timer_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(timer_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_timer_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_timer_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_timer_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_timer_t=LDouble- else- fptools_cv_htype_sup_timer_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((timer_t)(-1)) < ((timer_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_timer_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(timer_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_timer_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_timer_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_timer_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_timer_t" = no- then-- fptools_cv_htype_timer_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_timer_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_timer_t" >&5-printf "%s\n" "$fptools_cv_htype_timer_t" >&6; }--printf "%s\n" "#define HTYPE_TIMER_T $fptools_cv_htype_timer_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for socklen_t" >&5-printf %s "checking Haskell type for socklen_t... " >&6; }- if test ${fptools_cv_htype_socklen_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_socklen_t=yes- if ac_fn_c_compute_int "$LINENO" "(socklen_t)0.2 - (socklen_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-socklen_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_socklen_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(socklen_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_socklen_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(socklen_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_socklen_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(socklen_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_socklen_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_socklen_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_socklen_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_socklen_t=LDouble- else- fptools_cv_htype_sup_socklen_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((socklen_t)(-1)) < ((socklen_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_socklen_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(socklen_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_socklen_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_socklen_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_socklen_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_socklen_t" = no- then-- fptools_cv_htype_socklen_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_socklen_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_socklen_t" >&5-printf "%s\n" "$fptools_cv_htype_socklen_t" >&6; }--printf "%s\n" "#define HTYPE_SOCKLEN_T $fptools_cv_htype_socklen_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for nfds_t" >&5-printf %s "checking Haskell type for nfds_t... " >&6; }- if test ${fptools_cv_htype_nfds_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_nfds_t=yes- if ac_fn_c_compute_int "$LINENO" "(nfds_t)0.2 - (nfds_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-nfds_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_nfds_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(nfds_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_nfds_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(nfds_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_nfds_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(nfds_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_nfds_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_nfds_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_nfds_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_nfds_t=LDouble- else- fptools_cv_htype_sup_nfds_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((nfds_t)(-1)) < ((nfds_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_nfds_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(nfds_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_nfds_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_nfds_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_nfds_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_nfds_t" = no- then-- fptools_cv_htype_nfds_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_nfds_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_nfds_t" >&5-printf "%s\n" "$fptools_cv_htype_nfds_t" >&6; }--printf "%s\n" "#define HTYPE_NFDS_T $fptools_cv_htype_nfds_t" >>confdefs.h-- fi------------ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for intptr_t" >&5-printf %s "checking Haskell type for intptr_t... " >&6; }- if test ${fptools_cv_htype_intptr_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_intptr_t=yes- if ac_fn_c_compute_int "$LINENO" "(intptr_t)0.2 - (intptr_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-intptr_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_intptr_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(intptr_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_intptr_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(intptr_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_intptr_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(intptr_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_intptr_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_intptr_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_intptr_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_intptr_t=LDouble- else- fptools_cv_htype_sup_intptr_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((intptr_t)(-1)) < ((intptr_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_intptr_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(intptr_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_intptr_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_intptr_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_intptr_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_intptr_t" = no- then-- fptools_cv_htype_intptr_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_intptr_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_intptr_t" >&5-printf "%s\n" "$fptools_cv_htype_intptr_t" >&6; }--printf "%s\n" "#define HTYPE_INTPTR_T $fptools_cv_htype_intptr_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for uintptr_t" >&5-printf %s "checking Haskell type for uintptr_t... " >&6; }- if test ${fptools_cv_htype_uintptr_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_uintptr_t=yes- if ac_fn_c_compute_int "$LINENO" "(uintptr_t)0.2 - (uintptr_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-uintptr_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_uintptr_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(uintptr_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_uintptr_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(uintptr_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_uintptr_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(uintptr_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_uintptr_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_uintptr_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_uintptr_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_uintptr_t=LDouble- else- fptools_cv_htype_sup_uintptr_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((uintptr_t)(-1)) < ((uintptr_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_uintptr_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(uintptr_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_uintptr_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_uintptr_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_uintptr_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_uintptr_t" = no- then-- fptools_cv_htype_uintptr_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_uintptr_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_uintptr_t" >&5-printf "%s\n" "$fptools_cv_htype_uintptr_t" >&6; }--printf "%s\n" "#define HTYPE_UINTPTR_T $fptools_cv_htype_uintptr_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for intmax_t" >&5-printf %s "checking Haskell type for intmax_t... " >&6; }- if test ${fptools_cv_htype_intmax_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_intmax_t=yes- if ac_fn_c_compute_int "$LINENO" "(intmax_t)0.2 - (intmax_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-intmax_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_intmax_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(intmax_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_intmax_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(intmax_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_intmax_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(intmax_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_intmax_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_intmax_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_intmax_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_intmax_t=LDouble- else- fptools_cv_htype_sup_intmax_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((intmax_t)(-1)) < ((intmax_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_intmax_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(intmax_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_intmax_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_intmax_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_intmax_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_intmax_t" = no- then-- fptools_cv_htype_intmax_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_intmax_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_intmax_t" >&5-printf "%s\n" "$fptools_cv_htype_intmax_t" >&6; }--printf "%s\n" "#define HTYPE_INTMAX_T $fptools_cv_htype_intmax_t" >>confdefs.h-- fi----------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Haskell type for uintmax_t" >&5-printf %s "checking Haskell type for uintmax_t... " >&6; }- if test ${fptools_cv_htype_uintmax_t+y}-then :- printf %s "(cached) " >&6-else $as_nop-- fptools_cv_htype_sup_uintmax_t=yes- if ac_fn_c_compute_int "$LINENO" "(uintmax_t)0.2 - (uintmax_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- HTYPE_IS_INTEGRAL=0-fi--- if test "$HTYPE_IS_INTEGRAL" -eq 0- then- cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>--int-main (void)-{-uintmax_t val; *val;-- ;- return 0;-}-_ACEOF-if ac_fn_c_try_compile "$LINENO"-then :- HTYPE_IS_POINTER=yes-else $as_nop- HTYPE_IS_POINTER=no-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext-- if test "$HTYPE_IS_POINTER" = yes- then- fptools_cv_htype_uintmax_t="Ptr ()"- else- if ac_fn_c_compute_int "$LINENO" "sizeof(uintmax_t) == sizeof(float)" "HTYPE_IS_FLOAT" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_uintmax_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(uintmax_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_uintmax_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(uintmax_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_uintmax_t=no-fi-- if test "$HTYPE_IS_FLOAT" -eq 1- then- fptools_cv_htype_uintmax_t=Float- elif test "$HTYPE_IS_DOUBLE" -eq 1- then- fptools_cv_htype_uintmax_t=Double- elif test "$HTYPE_IS_LDOUBLE" -eq 1- then- fptools_cv_htype_uintmax_t=LDouble- else- fptools_cv_htype_sup_uintmax_t=no- fi- fi- else- if ac_fn_c_compute_int "$LINENO" "((uintmax_t)(-1)) < ((uintmax_t)0)" "HTYPE_IS_SIGNED" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_uintmax_t=no-fi-- if ac_fn_c_compute_int "$LINENO" "sizeof(uintmax_t) * 8" "HTYPE_SIZE" "-#include <stdbool.h>-#include <stdio.h>-#include <stddef.h>--#if HAVE_SYS_TYPES_H-# include <sys/types.h>-#endif--#if HAVE_UNISTD_H-# include <unistd.h>-#endif--#if HAVE_SYS_STAT_H-# include <sys/stat.h>-#endif--#if HAVE_FCNTL_H-# include <fcntl.h>-#endif--#if HAVE_SIGNAL_H-# include <signal.h>-#endif--#if HAVE_TIME_H-# include <time.h>-#endif--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#endif--#if HAVE_POLL_H-# include <poll.h>-#endif--#if HAVE_SYS_SOCKET_H-# include <sys/socket.h>-#endif--#include <stdlib.h>-"-then :--else $as_nop- fptools_cv_htype_sup_uintmax_t=no-fi-- if test "$HTYPE_IS_SIGNED" -eq 0- then- fptools_cv_htype_uintmax_t="Word$HTYPE_SIZE"- else- fptools_cv_htype_uintmax_t="Int$HTYPE_SIZE"- fi- fi--fi-- if test "$fptools_cv_htype_sup_uintmax_t" = no- then-- fptools_cv_htype_uintmax_t=NotReallyAType- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported" >&5-printf "%s\n" "not supported" >&6; }-- fi-- if test "$fptools_cv_htype_sup_uintmax_t" = yes; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_uintmax_t" >&5-printf "%s\n" "$fptools_cv_htype_uintmax_t" >&6; }--printf "%s\n" "#define HTYPE_UINTMAX_T $fptools_cv_htype_uintmax_t" >>confdefs.h-- fi----# test errno values-for fp_const_name in E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EADV EAFNOSUPPORT EAGAIN EALREADY EBADF EBADMSG EBADRPC EBUSY ECHILD ECOMM ECONNABORTED ECONNREFUSED ECONNRESET EDEADLK EDESTADDRREQ EDIRTY EDOM EDQUOT EEXIST EFAULT EFBIG EFTYPE EHOSTDOWN EHOSTUNREACH EIDRM EILSEQ EINPROGRESS EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK EMSGSIZE EMULTIHOP ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH ENFILE ENOBUFS ENODATA ENODEV ENOENT ENOEXEC ENOLCK ENOLINK ENOMEM ENOMSG ENONET ENOPROTOOPT ENOSPC ENOSR ENOSTR ENOSYS ENOTBLK ENOTCONN ENOTDIR ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM EPFNOSUPPORT EPIPE EPROCLIM EPROCUNAVAIL EPROGMISMATCH EPROGUNAVAIL EPROTO EPROTONOSUPPORT EPROTOTYPE ERANGE EREMCHG EREMOTE EROFS ERPCMISMATCH ERREMOTE ESHUTDOWN ESOCKTNOSUPPORT ESPIPE ESRCH ESRMNT ESTALE ETIME ETIMEDOUT ETOOMANYREFS ETXTBSY EUSERS EWOULDBLOCK EXDEV ENOCIGAR ENOTSUP-do-as_fp_Cache=`printf "%s\n" "fp_cv_const_$fp_const_name" | $as_tr_sh`-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking value of $fp_const_name" >&5-printf %s "checking value of $fp_const_name... " >&6; }-if eval test \${$as_fp_Cache+y}-then :- printf %s "(cached) " >&6-else $as_nop- if ac_fn_c_compute_int "$LINENO" "$fp_const_name" "fp_check_const_result" "#include <stdio.h>-#include <errno.h>-"-then :--else $as_nop- fp_check_const_result='-1'-fi--eval "$as_fp_Cache=\$fp_check_const_result"-fi-eval ac_res=\$$as_fp_Cache- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5-printf "%s\n" "$ac_res" >&6; }-cat >>confdefs.h <<_ACEOF-#define `printf "%s\n" "CONST_$fp_const_name" | $as_tr_cpp` `eval 'as_val=${'$as_fp_Cache'};printf "%s\n" "$as_val"'`-_ACEOF--done---# we need SIGINT in TopHandler.lhs-for fp_const_name in SIGINT-do-as_fp_Cache=`printf "%s\n" "fp_cv_const_$fp_const_name" | $as_tr_sh`-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking value of $fp_const_name" >&5-printf %s "checking value of $fp_const_name... " >&6; }-if eval test \${$as_fp_Cache+y}-then :- printf %s "(cached) " >&6-else $as_nop- if ac_fn_c_compute_int "$LINENO" "$fp_const_name" "fp_check_const_result" "-#if HAVE_SIGNAL_H-#include <signal.h>-#endif-"-then :--else $as_nop- fp_check_const_result='-1'-fi--eval "$as_fp_Cache=\$fp_check_const_result"-fi-eval ac_res=\$$as_fp_Cache- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5-printf "%s\n" "$ac_res" >&6; }-cat >>confdefs.h <<_ACEOF-#define `printf "%s\n" "CONST_$fp_const_name" | $as_tr_cpp` `eval 'as_val=${'$as_fp_Cache'};printf "%s\n" "$as_val"'`-_ACEOF--done---{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking value of O_BINARY" >&5-printf %s "checking value of O_BINARY... " >&6; }-if test ${fp_cv_const_O_BINARY+y}-then :- printf %s "(cached) " >&6-else $as_nop- if ac_fn_c_compute_int "$LINENO" "O_BINARY" "fp_check_const_result" "#include <fcntl.h>-"-then :--else $as_nop- fp_check_const_result=0-fi--fp_cv_const_O_BINARY=$fp_check_const_result-fi-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fp_cv_const_O_BINARY" >&5-printf "%s\n" "$fp_cv_const_O_BINARY" >&6; }-printf "%s\n" "#define CONST_O_BINARY $fp_cv_const_O_BINARY" >>confdefs.h---# We don't use iconv or libcharset on Windows, but if configure finds-# them then it can cause problems. So we don't even try looking if-# we are on Windows.-# See http://www.haskell.org/pipermail/cvs-ghc/2011-September/065980.html-if test "$WINDOWS" = "NO"-then--# We can't just use AC_SEARCH_LIBS for this, as on OpenBSD the iconv.h-# header needs to be included as iconv_open is #define'd to something-# else. We therefore use our own FP_SEARCH_LIBS_PROTO, which allows us-# to give prototype text.-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing iconv" >&5-printf %s "checking for library containing iconv... " >&6; }-if test ${ac_cv_search_iconv+y}-then :- printf %s "(cached) " >&6-else $as_nop- ac_func_search_save_LIBS=$LIBS-cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */--#include <stddef.h>-#include <iconv.h>--int-main (void)-{-iconv_t cd;- cd = iconv_open("", "");- iconv(cd,NULL,NULL,NULL,NULL);- iconv_close(cd);- ;- return 0;-}-_ACEOF-for ac_lib in '' iconv; do- if test -z "$ac_lib"; then- ac_res="none required"- else- ac_res=-l$ac_lib- LIBS="-l$ac_lib $ac_func_search_save_LIBS"- fi- if ac_fn_c_try_link "$LINENO"-then :- ac_cv_search_iconv=$ac_res-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam \- conftest$ac_exeext- if test ${ac_cv_search_iconv+y}-then :- break-fi-done-if test ${ac_cv_search_iconv+y}-then :--else $as_nop- ac_cv_search_iconv=no-fi-rm conftest.$ac_ext-LIBS=$ac_func_search_save_LIBS-fi-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_iconv" >&5-printf "%s\n" "$ac_cv_search_iconv" >&6; }-ac_res=$ac_cv_search_iconv-if test "$ac_res" != no-then :- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"- EXTRA_LIBS="$EXTRA_LIBS $ac_lib"-else $as_nop- as_fn_error $? "iconv is required on non-Windows platforms" "$LINENO" 5-fi--# If possible, we use libcharset instead of nl_langinfo(CODESET) to-# determine the current locale's character encoding. Allow the user-# to disable this with --without-libcharset if they don't want a-# dependency on libcharset.--# Check whether --with-libcharset was given.-if test ${with_libcharset+y}-then :- withval=$with_libcharset;-else $as_nop- with_libcharset=check-fi---if test "x$with_libcharset" != xno-then :- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing locale_charset" >&5-printf %s "checking for library containing locale_charset... " >&6; }-if test ${ac_cv_search_locale_charset+y}-then :- printf %s "(cached) " >&6-else $as_nop- ac_func_search_save_LIBS=$LIBS-cat confdefs.h - <<_ACEOF >conftest.$ac_ext-/* end confdefs.h. */-#include <libcharset.h>-int-main (void)-{-const char* charset = locale_charset();- ;- return 0;-}-_ACEOF-for ac_lib in '' charset; do- if test -z "$ac_lib"; then- ac_res="none required"- else- ac_res=-l$ac_lib- LIBS="-l$ac_lib $ac_func_search_save_LIBS"- fi- if ac_fn_c_try_link "$LINENO"-then :- ac_cv_search_locale_charset=$ac_res-fi-rm -f core conftest.err conftest.$ac_objext conftest.beam \- conftest$ac_exeext- if test ${ac_cv_search_locale_charset+y}-then :- break-fi-done-if test ${ac_cv_search_locale_charset+y}-then :--else $as_nop- ac_cv_search_locale_charset=no-fi-rm conftest.$ac_ext-LIBS=$ac_func_search_save_LIBS-fi-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_locale_charset" >&5-printf "%s\n" "$ac_cv_search_locale_charset" >&6; }-ac_res=$ac_cv_search_locale_charset-if test "$ac_res" != no-then :- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"--printf "%s\n" "#define HAVE_LIBCHARSET 1" >>confdefs.h-- EXTRA_LIBS="$EXTRA_LIBS $ac_lib"--fi-fi--fi--ac_fn_c_check_type "$LINENO" "struct MD5Context" "ac_cv_type_struct_MD5Context" "#include \"include/md5.h\"-"-if test "x$ac_cv_type_struct_MD5Context" = xyes-then :--else $as_nop- as_fn_error $? "internal error" "$LINENO" 5-fi--# The cast to long int works around a bug in the HP C Compiler-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.-# This bug is HP SR number 8606223364.-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of struct MD5Context" >&5-printf %s "checking size of struct MD5Context... " >&6; }-if test ${ac_cv_sizeof_struct_MD5Context+y}-then :- printf %s "(cached) " >&6-else $as_nop- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (struct MD5Context))" "ac_cv_sizeof_struct_MD5Context" "#include \"include/md5.h\"-"-then :--else $as_nop- if test "$ac_cv_type_struct_MD5Context" = yes; then- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}-as_fn_error 77 "cannot compute sizeof (struct MD5Context)-See \`config.log' for more details" "$LINENO" 5; }- else- ac_cv_sizeof_struct_MD5Context=0- fi-fi--fi-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_struct_MD5Context" >&5-printf "%s\n" "$ac_cv_sizeof_struct_MD5Context" >&6; }----printf "%s\n" "#define SIZEOF_STRUCT_MD5CONTEXT $ac_cv_sizeof_struct_MD5Context" >>confdefs.h-----ac_config_files="$ac_config_files base.buildinfo"---cat >confcache <<\_ACEOF-# This file is a shell script that caches the results of configure-# tests run on this system so they can be shared between configure-# scripts and configure runs, see configure's option --config-cache.-# It is not useful on other systems. If it contains results you don't-# want to keep, you may remove or edit it.-#-# config.status only pays attention to the cache file if you give it-# the --recheck option to rerun configure.-#-# `ac_cv_env_foo' variables (set or unset) will be overridden when-# loading this file, other *unset* `ac_cv_foo' will be assigned the-# following values.--_ACEOF--# The following way of writing the cache mishandles newlines in values,-# but we know of no workaround that is simple, portable, and efficient.-# So, we kill variables containing newlines.-# Ultrix sh set writes to stderr and can't be redirected directly,-# and sets the high bit in the cache file unless we assign to the vars.-(- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do- eval ac_val=\$$ac_var- case $ac_val in #(- *${as_nl}*)- case $ac_var in #(- *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5-printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;- esac- case $ac_var in #(- _ | IFS | as_nl) ;; #(- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(- *) { eval $ac_var=; unset $ac_var;} ;;- esac ;;- esac- done-- (set) 2>&1 |- case $as_nl`(ac_space=' '; set) 2>&1` in #(- *${as_nl}ac_space=\ *)- # `set' does not quote correctly, so add quotes: double-quote- # substitution turns \\\\ into \\, and sed turns \\ into \.- sed -n \- "s/'/'\\\\''/g;- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"- ;; #(- *)- # `set' quotes correctly as required by POSIX, so do not add quotes.- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"- ;;- esac |- sort-) |- sed '- /^ac_cv_env_/b end- t clear- :clear- s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/- t end- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/- :end' >>confcache-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else- if test -w "$cache_file"; then- if test "x$cache_file" != "x/dev/null"; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5-printf "%s\n" "$as_me: updating cache $cache_file" >&6;}- if test ! -f "$cache_file" || test -h "$cache_file"; then- cat confcache >"$cache_file"- else- case $cache_file in #(- */* | ?:*)- mv -f confcache "$cache_file"$$ &&- mv -f "$cache_file"$$ "$cache_file" ;; #(- *)- mv -f confcache "$cache_file" ;;- esac- fi- fi- else- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5-printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;}- fi-fi-rm -f confcache--test "x$prefix" = xNONE && prefix=$ac_default_prefix-# Let make expand exec_prefix.-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'--DEFS=-DHAVE_CONFIG_H--ac_libobjs=-ac_ltlibobjs=-U=-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue- # 1. Remove the extension, and $U if already installed.- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'- ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"`- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR- # will be set to the directory where LIBOBJS objects are built.- as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"- as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'-done-LIBOBJS=$ac_libobjs--LTLIBOBJS=$ac_ltlibobjs----: "${CONFIG_STATUS=./config.status}"-ac_write_fail=0-ac_clean_files_save=$ac_clean_files-ac_clean_files="$ac_clean_files $CONFIG_STATUS"-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5-printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;}-as_write_fail=0-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1-#! $SHELL-# Generated by $as_me.-# Run this file to recreate the current configuration.-# Compiler output produced by configure, useful for debugging-# configure, is in config.log if it exists.--debug=false-ac_cs_recheck=false-ac_cs_silent=false--SHELL=\${CONFIG_SHELL-$SHELL}-export SHELL-_ASEOF-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1-## -------------------- ##-## M4sh Initialization. ##-## -------------------- ##--# Be more Bourne compatible-DUALCASE=1; export DUALCASE # for MKS sh-as_nop=:-if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1-then :- emulate sh- NULLCMD=:- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which- # is contrary to our usage. Disable this feature.- alias -g '${1+"$@"}'='"$@"'- setopt NO_GLOB_SUBST-else $as_nop- case `(set -o) 2>/dev/null` in #(- *posix*) :- set -o posix ;; #(- *) :- ;;-esac-fi----# Reset variables that may have inherited troublesome values from-# the environment.--# IFS needs to be set, to space, tab, and newline, in precisely that order.-# (If _AS_PATH_WALK were called with IFS unset, it would have the-# side effect of setting IFS to empty, thus disabling word splitting.)-# Quoting is to prevent editors from complaining about space-tab.-as_nl='-'-export as_nl-IFS=" "" $as_nl"--PS1='$ '-PS2='> '-PS4='+ '--# Ensure predictable behavior from utilities with locale-dependent output.-LC_ALL=C-export LC_ALL-LANGUAGE=C-export LANGUAGE--# We cannot yet rely on "unset" to work, but we need these variables-# to be unset--not just set to an empty or harmless value--now, to-# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct-# also avoids known problems related to "unset" and subshell syntax-# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).-for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH-do eval test \${$as_var+y} \- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :-done--# Ensure that fds 0, 1, and 2 are open.-if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi-if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi-if (exec 3>&2) ; then :; else exec 2>/dev/null; fi--# The user is always right.-if ${PATH_SEPARATOR+false} :; then- PATH_SEPARATOR=:- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||- PATH_SEPARATOR=';'- }-fi---# Find who we are. Look in the path if we contain no directory separator.-as_myself=-case $0 in #((- *[\\/]* ) as_myself=$0 ;;- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR-for as_dir in $PATH-do- IFS=$as_save_IFS- case $as_dir in #(((- '') as_dir=./ ;;- */) ;;- *) as_dir=$as_dir/ ;;- esac- test -r "$as_dir$0" && as_myself=$as_dir$0 && break- done-IFS=$as_save_IFS-- ;;-esac-# We did not find ourselves, most probably we were run as `sh COMMAND'-# in which case we are not to be found in the path.-if test "x$as_myself" = x; then- as_myself=$0-fi-if test ! -f "$as_myself"; then- printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2- exit 1-fi----# as_fn_error STATUS ERROR [LINENO LOG_FD]-# -----------------------------------------# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the-# script with STATUS, using 1 if that was 0.-as_fn_error ()-{- as_status=$1; test $as_status -eq 0 && as_status=1- if test "$4"; then- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack- printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4- fi- printf "%s\n" "$as_me: error: $2" >&2- as_fn_exit $as_status-} # as_fn_error----# as_fn_set_status STATUS-# ------------------------# Set $? to STATUS, without forking.-as_fn_set_status ()-{- return $1-} # as_fn_set_status--# as_fn_exit STATUS-# ------------------# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.-as_fn_exit ()-{- set +e- as_fn_set_status $1- exit $1-} # as_fn_exit--# as_fn_unset VAR-# ----------------# Portably unset VAR.-as_fn_unset ()-{- { eval $1=; unset $1;}-}-as_unset=as_fn_unset--# as_fn_append VAR VALUE-# -----------------------# Append the text in VALUE to the end of the definition contained in VAR. Take-# advantage of any shell optimizations that allow amortized linear growth over-# repeated appends, instead of the typical quadratic growth present in naive-# implementations.-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null-then :- eval 'as_fn_append ()- {- eval $1+=\$2- }'-else $as_nop- as_fn_append ()- {- eval $1=\$$1\$2- }-fi # as_fn_append--# as_fn_arith ARG...-# -------------------# Perform arithmetic evaluation on the ARGs, and store the result in the-# global $as_val. Take advantage of shells that can avoid forks. The arguments-# must be portable across $(()) and expr.-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null-then :- eval 'as_fn_arith ()- {- as_val=$(( $* ))- }'-else $as_nop- as_fn_arith ()- {- as_val=`expr "$@" || test $? -eq 1`- }-fi # as_fn_arith---if expr a : '\(a\)' >/dev/null 2>&1 &&- test "X`expr 00001 : '.*\(...\)'`" = X001; then- as_expr=expr-else- as_expr=false-fi--if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then- as_basename=basename-else- as_basename=false-fi--if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then- as_dirname=dirname-else- as_dirname=false-fi--as_me=`$as_basename -- "$0" ||-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \- X"$0" : 'X\(//\)$' \| \- X"$0" : 'X\(/\)' \| . 2>/dev/null ||-printf "%s\n" X/"$0" |- sed '/^.*\/\([^/][^/]*\)\/*$/{- s//\1/- q- }- /^X\/\(\/\/\)$/{- s//\1/- q- }- /^X\/\(\/\).*/{- s//\1/- q- }- s/.*/./; q'`--# Avoid depending upon Character Ranges.-as_cr_letters='abcdefghijklmnopqrstuvwxyz'-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'-as_cr_Letters=$as_cr_letters$as_cr_LETTERS-as_cr_digits='0123456789'-as_cr_alnum=$as_cr_Letters$as_cr_digits---# Determine whether it's possible to make 'echo' print without a newline.-# These variables are no longer used directly by Autoconf, but are AC_SUBSTed-# for compatibility with existing Makefiles.-ECHO_C= ECHO_N= ECHO_T=-case `echo -n x` in #(((((--n*)- case `echo 'xy\c'` in- *c*) ECHO_T=' ';; # ECHO_T is single tab character.- xy) ECHO_C='\c';;- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null- ECHO_T=' ';;- esac;;-*)- ECHO_N='-n';;-esac--# For backward compatibility with old third-party macros, we provide-# the shell variables $as_echo and $as_echo_n. New code should use-# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.-as_echo='printf %s\n'-as_echo_n='printf %s'--rm -f conf$$ conf$$.exe conf$$.file-if test -d conf$$.dir; then- rm -f conf$$.dir/conf$$.file-else- rm -f conf$$.dir- mkdir conf$$.dir 2>/dev/null-fi-if (echo >conf$$.file) 2>/dev/null; then- if ln -s conf$$.file conf$$ 2>/dev/null; then- as_ln_s='ln -s'- # ... but there are two gotchas:- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.- # In both cases, we have to default to `cp -pR'.- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||- as_ln_s='cp -pR'- elif ln conf$$.file conf$$ 2>/dev/null; then- as_ln_s=ln- else- as_ln_s='cp -pR'- fi-else- as_ln_s='cp -pR'-fi-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file-rmdir conf$$.dir 2>/dev/null---# as_fn_mkdir_p-# --------------# Create "$as_dir" as a directory, including parents if necessary.-as_fn_mkdir_p ()-{-- case $as_dir in #(- -*) as_dir=./$as_dir;;- esac- test -d "$as_dir" || eval $as_mkdir_p || {- as_dirs=- while :; do- case $as_dir in #(- *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(- *) as_qdir=$as_dir;;- esac- as_dirs="'$as_qdir' $as_dirs"- as_dir=`$as_dirname -- "$as_dir" ||-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \- X"$as_dir" : 'X\(//\)[^/]' \| \- X"$as_dir" : 'X\(//\)$' \| \- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||-printf "%s\n" X"$as_dir" |- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{- s//\1/- q- }- /^X\(\/\/\)[^/].*/{- s//\1/- q- }- /^X\(\/\/\)$/{- s//\1/- q- }- /^X\(\/\).*/{- s//\1/- q- }- s/.*/./; q'`- test -d "$as_dir" && break- done- test -z "$as_dirs" || eval "mkdir $as_dirs"- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"---} # as_fn_mkdir_p-if mkdir -p . 2>/dev/null; then- as_mkdir_p='mkdir -p "$as_dir"'-else- test -d ./-p && rmdir ./-p- as_mkdir_p=false-fi---# as_fn_executable_p FILE-# ------------------------# Test if FILE is an executable regular file.-as_fn_executable_p ()-{- test -f "$1" && test -x "$1"-} # as_fn_executable_p-as_test_x='test -x'-as_executable_p=as_fn_executable_p--# Sed expression to map a string onto a valid CPP name.-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"--# Sed expression to map a string onto a valid variable name.-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"---exec 6>&1-## ----------------------------------- ##-## Main body of $CONFIG_STATUS script. ##-## ----------------------------------- ##-_ASEOF-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1--cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1-# Save the log message, to keep $0 and so on meaningful, and to-# report actual input values of CONFIG_FILES etc. instead of their-# values after options handling.-ac_log="-This file was extended by Haskell base package $as_me 1.0, which was-generated by GNU Autoconf 2.71. Invocation command line was-- CONFIG_FILES = $CONFIG_FILES- CONFIG_HEADERS = $CONFIG_HEADERS- CONFIG_LINKS = $CONFIG_LINKS- CONFIG_COMMANDS = $CONFIG_COMMANDS- $ $0 $@--on `(hostname || uname -n) 2>/dev/null | sed 1q`-"--_ACEOF--case $ac_config_files in *"-"*) set x $ac_config_files; shift; ac_config_files=$*;;-esac--case $ac_config_headers in *"-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;-esac---cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1-# Files that config.status was made for.-config_files="$ac_config_files"-config_headers="$ac_config_headers"--_ACEOF--cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1-ac_cs_usage="\-\`$as_me' instantiates files and other configuration actions-from templates according to the current configuration. Unless the files-and actions are specified as TAGs, all are instantiated by default.--Usage: $0 [OPTION]... [TAG]...-- -h, --help print this help, then exit- -V, --version print version number and configuration settings, then exit- --config print configuration, then exit- -q, --quiet, --silent- do not print progress messages- -d, --debug don't remove temporary files- --recheck update $as_me by reconfiguring in the same conditions- --file=FILE[:TEMPLATE]- instantiate the configuration file FILE- --header=FILE[:TEMPLATE]- instantiate the configuration header FILE--Configuration files:-$config_files--Configuration headers:-$config_headers--Report bugs to <libraries@haskell.org>."--_ACEOF-ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"`-ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"`-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1-ac_cs_config='$ac_cs_config_escaped'-ac_cs_version="\\-Haskell base package config.status 1.0-configured by $0, generated by GNU Autoconf 2.71,- with options \\"\$ac_cs_config\\"--Copyright (C) 2021 Free Software Foundation, Inc.-This config.status script is free software; the Free Software Foundation-gives unlimited permission to copy, distribute and modify it."--ac_pwd='$ac_pwd'-srcdir='$srcdir'-test -n "\$AWK" || AWK=awk-_ACEOF--cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1-# The default lists apply if the user does not specify any file.-ac_need_defaults=:-while test $# != 0-do- case $1 in- --*=?*)- ac_option=`expr "X$1" : 'X\([^=]*\)='`- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`- ac_shift=:- ;;- --*=)- ac_option=`expr "X$1" : 'X\([^=]*\)='`- ac_optarg=- ac_shift=:- ;;- *)- ac_option=$1- ac_optarg=$2- ac_shift=shift- ;;- esac-- case $ac_option in- # Handling of the options.- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)- ac_cs_recheck=: ;;- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )- printf "%s\n" "$ac_cs_version"; exit ;;- --config | --confi | --conf | --con | --co | --c )- printf "%s\n" "$ac_cs_config"; exit ;;- --debug | --debu | --deb | --de | --d | -d )- debug=: ;;- --file | --fil | --fi | --f )- $ac_shift- case $ac_optarg in- *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;- '') as_fn_error $? "missing file argument" ;;- esac- as_fn_append CONFIG_FILES " '$ac_optarg'"- ac_need_defaults=false;;- --header | --heade | --head | --hea )- $ac_shift- case $ac_optarg in- *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;- esac- as_fn_append CONFIG_HEADERS " '$ac_optarg'"- ac_need_defaults=false;;- --he | --h)- # Conflict between --help and --header- as_fn_error $? "ambiguous option: \`$1'-Try \`$0 --help' for more information.";;- --help | --hel | -h )- printf "%s\n" "$ac_cs_usage"; exit ;;- -q | -quiet | --quiet | --quie | --qui | --qu | --q \- | -silent | --silent | --silen | --sile | --sil | --si | --s)- ac_cs_silent=: ;;-- # This is an error.- -*) as_fn_error $? "unrecognized option: \`$1'-Try \`$0 --help' for more information." ;;-- *) as_fn_append ac_config_targets " $1"- ac_need_defaults=false ;;-- esac- shift-done--ac_configure_extra_args=--if $ac_cs_silent; then- exec 6>/dev/null- ac_configure_extra_args="$ac_configure_extra_args --silent"-fi--_ACEOF-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1-if \$ac_cs_recheck; then- set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion- shift- \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6- CONFIG_SHELL='$SHELL'- export CONFIG_SHELL- exec "\$@"-fi--_ACEOF-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1-exec 5>>config.log-{- echo- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX-## Running $as_me. ##-_ASBOX- printf "%s\n" "$ac_log"-} >&5--_ACEOF-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1-_ACEOF--cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1--# Handling of arguments.-for ac_config_target in $ac_config_targets-do- case $ac_config_target in- "include/HsBaseConfig.h") CONFIG_HEADERS="$CONFIG_HEADERS include/HsBaseConfig.h" ;;- "include/EventConfig.h") CONFIG_HEADERS="$CONFIG_HEADERS include/EventConfig.h" ;;- "base.buildinfo") CONFIG_FILES="$CONFIG_FILES base.buildinfo" ;;-- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;- esac-done---# If the user did not use the arguments to specify the items to instantiate,-# then the envvar interface is used. Set only those that are not.-# We use the long form for the default assignment because of an extremely-# bizarre bug on SunOS 4.1.3.-if $ac_need_defaults; then- test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files- test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers-fi--# Have a temporary directory for convenience. Make it in the build tree-# simply because there is no reason against having it here, and in addition,-# creating and moving files from /tmp can sometimes cause problems.-# Hook for its removal unless debugging.-# Note that there is a small window in which the directory will not be cleaned:-# after its creation but before its name has been assigned to `$tmp'.-$debug ||-{- tmp= ac_tmp=- trap 'exit_status=$?- : "${ac_tmp:=$tmp}"- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status-' 0- trap 'as_fn_exit 1' 1 2 13 15-}-# Create a (secure) tmp directory for tmp files.--{- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&- test -d "$tmp"-} ||-{- tmp=./conf$$-$RANDOM- (umask 077 && mkdir "$tmp")-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5-ac_tmp=$tmp--# Set up the scripts for CONFIG_FILES section.-# No need to generate them if there are no CONFIG_FILES.-# This happens for instance with `./config.status config.h'.-if test -n "$CONFIG_FILES"; then---ac_cr=`echo X | tr X '\015'`-# On cygwin, bash can eat \r inside `` if the user requested igncr.-# But we know of no other shell where ac_cr would be empty at this-# point, so we can use a bashism as a fallback.-if test "x$ac_cr" = x; then- eval ac_cr=\$\'\\r\'-fi-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then- ac_cs_awk_cr='\\r'-else- ac_cs_awk_cr=$ac_cr-fi--echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&-_ACEOF---{- echo "cat >conf$$subs.awk <<_ACEOF" &&- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&- echo "_ACEOF"-} >conf$$subs.sh ||- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`-ac_delim='%!_!# '-for ac_last_try in false false false false false :; do- . ./conf$$subs.sh ||- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5-- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`- if test $ac_delim_n = $ac_delim_num; then- break- elif $ac_last_try; then- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5- else- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "- fi-done-rm -f conf$$subs.sh--cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&-_ACEOF-sed -n '-h-s/^/S["/; s/!.*/"]=/-p-g-s/^[^!]*!//-:repl-t repl-s/'"$ac_delim"'$//-t delim-:nl-h-s/\(.\{148\}\)..*/\1/-t more1-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/-p-n-b repl-:more1-s/["\\]/\\&/g; s/^/"/; s/$/"\\/-p-g-s/.\{148\}//-t nl-:delim-h-s/\(.\{148\}\)..*/\1/-t more2-s/["\\]/\\&/g; s/^/"/; s/$/"/-p-b-:more2-s/["\\]/\\&/g; s/^/"/; s/$/"\\/-p-g-s/.\{148\}//-t delim-' <conf$$subs.awk | sed '-/^[^""]/{- N- s/\n//-}-' >>$CONFIG_STATUS || ac_write_fail=1-rm -f conf$$subs.awk-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1-_ACAWK-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&- for (key in S) S_is_set[key] = 1- FS = ""--}-{- line = $ 0- nfields = split(line, field, "@")- substed = 0- len = length(field[1])- for (i = 2; i < nfields; i++) {- key = field[i]- keylen = length(key)- if (S_is_set[key]) {- value = S[key]- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)- len += length(value) + length(field[++i])- substed = 1- } else- len += 1 + keylen- }-- print line-}--_ACAWK-_ACEOF-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then- sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"-else- cat-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5-_ACEOF--# VPATH may cause trouble with some makes, so we remove sole $(srcdir),-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and-# trailing colons and then remove the whole line if VPATH becomes empty-# (actually we leave an empty line to preserve line numbers).-if test "x$srcdir" = x.; then- ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{-h-s///-s/^/:/-s/[ ]*$/:/-s/:\$(srcdir):/:/g-s/:\${srcdir}:/:/g-s/:@srcdir@:/:/g-s/^:*//-s/:*$//-x-s/\(=[ ]*\).*/\1/-G-s/\n//-s/^[^=]*=[ ]*$//-}'-fi--cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1-fi # test -n "$CONFIG_FILES"--# Set up the scripts for CONFIG_HEADERS section.-# No need to generate them if there are no CONFIG_HEADERS.-# This happens for instance with `./config.status Makefile'.-if test -n "$CONFIG_HEADERS"; then-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||-BEGIN {-_ACEOF--# Transform confdefs.h into an awk script `defines.awk', embedded as-# here-document in config.status, that substitutes the proper values into-# config.h.in to produce config.h.--# Create a delimiter string that does not exist in confdefs.h, to ease-# handling of long lines.-ac_delim='%!_!# '-for ac_last_try in false false :; do- ac_tt=`sed -n "/$ac_delim/p" confdefs.h`- if test -z "$ac_tt"; then- break- elif $ac_last_try; then- as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5- else- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "- fi-done--# For the awk script, D is an array of macro values keyed by name,-# likewise P contains macro parameters if any. Preserve backslash-# newline sequences.--ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*-sed -n '-s/.\{148\}/&'"$ac_delim"'/g-t rset-:rset-s/^[ ]*#[ ]*define[ ][ ]*/ /-t def-d-:def-s/\\$//-t bsnl-s/["\\]/\\&/g-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\-D["\1"]=" \3"/p-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p-d-:bsnl-s/["\\]/\\&/g-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\-D["\1"]=" \3\\\\\\n"\\/p-t cont-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p-t cont-d-:cont-n-s/.\{148\}/&'"$ac_delim"'/g-t clear-:clear-s/\\$//-t bsnlc-s/["\\]/\\&/g; s/^/"/; s/$/"/p-d-:bsnlc-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p-b cont-' <confdefs.h | sed '-s/'"$ac_delim"'/"\\\-"/g' >>$CONFIG_STATUS || ac_write_fail=1--cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1- for (key in D) D_is_set[key] = 1- FS = ""-}-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {- line = \$ 0- split(line, arg, " ")- if (arg[1] == "#") {- defundef = arg[2]- mac1 = arg[3]- } else {- defundef = substr(arg[1], 2)- mac1 = arg[2]- }- split(mac1, mac2, "(") #)- macro = mac2[1]- prefix = substr(line, 1, index(line, defundef) - 1)- if (D_is_set[macro]) {- # Preserve the white space surrounding the "#".- print prefix "define", macro P[macro] D[macro]- next- } else {- # Replace #undef with comments. This is necessary, for example,- # in the case of _POSIX_SOURCE, which is predefined and required- # on some systems where configure will not decide to define it.- if (defundef == "undef") {- print "/*", prefix defundef, macro, "*/"- next- }- }-}-{ print }-_ACAWK-_ACEOF-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1- as_fn_error $? "could not setup config headers machinery" "$LINENO" 5-fi # test -n "$CONFIG_HEADERS"---eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS "-shift-for ac_tag-do- case $ac_tag in- :[FHLC]) ac_mode=$ac_tag; continue;;- esac- case $ac_mode$ac_tag in- :[FHL]*:*);;- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;- :[FH]-) ac_tag=-:-;;- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;- esac- ac_save_IFS=$IFS- IFS=:- set x $ac_tag- IFS=$ac_save_IFS- shift- ac_file=$1- shift-- case $ac_mode in- :L) ac_source=$1;;- :[FH])- ac_file_inputs=- for ac_f- do- case $ac_f in- -) ac_f="$ac_tmp/stdin";;- *) # Look for the file first in the build tree, then in the source tree- # (if the path is not absolute). The absolute path cannot be DOS-style,- # because $ac_f cannot contain `:'.- test -f "$ac_f" ||- case $ac_f in- [\\/$]*) false;;- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;- esac ||- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;- esac- case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac- as_fn_append ac_file_inputs " '$ac_f'"- done-- # Let's still pretend it is `configure' which instantiates (i.e., don't- # use $as_me), people would be surprised to read:- # /* config.h. Generated by config.status. */- configure_input='Generated from '`- printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'- `' by configure.'- if test x"$ac_file" != x-; then- configure_input="$ac_file. $configure_input"- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5-printf "%s\n" "$as_me: creating $ac_file" >&6;}- fi- # Neutralize special characters interpreted by sed in replacement strings.- case $configure_input in #(- *\&* | *\|* | *\\* )- ac_sed_conf_input=`printf "%s\n" "$configure_input" |- sed 's/[\\\\&|]/\\\\&/g'`;; #(- *) ac_sed_conf_input=$configure_input;;- esac-- case $ac_tag in- *:-:* | *:-) cat >"$ac_tmp/stdin" \- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;- esac- ;;- esac-- ac_dir=`$as_dirname -- "$ac_file" ||-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \- X"$ac_file" : 'X\(//\)[^/]' \| \- X"$ac_file" : 'X\(//\)$' \| \- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||-printf "%s\n" X"$ac_file" |- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{- s//\1/- q- }- /^X\(\/\/\)[^/].*/{- s//\1/- q- }- /^X\(\/\/\)$/{- s//\1/- q- }- /^X\(\/\).*/{- s//\1/- q- }- s/.*/./; q'`- as_dir="$ac_dir"; as_fn_mkdir_p- ac_builddir=.--case "$ac_dir" in-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;-*)- ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`- # A ".." for each directory in $ac_dir_suffix.- ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`- case $ac_top_builddir_sub in- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;- esac ;;-esac-ac_abs_top_builddir=$ac_pwd-ac_abs_builddir=$ac_pwd$ac_dir_suffix-# for backward compatibility:-ac_top_builddir=$ac_top_build_prefix--case $srcdir in- .) # We are building in place.- ac_srcdir=.- ac_top_srcdir=$ac_top_builddir_sub- ac_abs_top_srcdir=$ac_pwd ;;- [\\/]* | ?:[\\/]* ) # Absolute name.- ac_srcdir=$srcdir$ac_dir_suffix;- ac_top_srcdir=$srcdir- ac_abs_top_srcdir=$srcdir ;;- *) # Relative name.- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix- ac_top_srcdir=$ac_top_build_prefix$srcdir- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;-esac-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix--- case $ac_mode in- :F)- #- # CONFIG_FILE- #--_ACEOF--cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1-# If the template does not know about datarootdir, expand it.-# FIXME: This hack should be removed a few years after 2.60.-ac_datarootdir_hack=; ac_datarootdir_seen=-ac_sed_dataroot='-/datarootdir/ {- p- q-}-/@datadir@/p-/@docdir@/p-/@infodir@/p-/@localedir@/p-/@mandir@/p'-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in-*datarootdir*) ac_datarootdir_seen=yes;;-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5-printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}-_ACEOF-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1- ac_datarootdir_hack='- s&@datadir@&$datadir&g- s&@docdir@&$docdir&g- s&@infodir@&$infodir&g- s&@localedir@&$localedir&g- s&@mandir@&$mandir&g- s&\\\${datarootdir}&$datarootdir&g' ;;-esac-_ACEOF--# Neutralize VPATH when `$srcdir' = `.'.-# Shell code in configure.ac might set extrasub.-# FIXME: do we really want to maintain this feature?-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1-ac_sed_extra="$ac_vpsub-$extrasub-_ACEOF-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1-:t-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b-s|@configure_input@|$ac_sed_conf_input|;t t-s&@top_builddir@&$ac_top_builddir_sub&;t t-s&@top_build_prefix@&$ac_top_build_prefix&;t t-s&@srcdir@&$ac_srcdir&;t t-s&@abs_srcdir@&$ac_abs_srcdir&;t t-s&@top_srcdir@&$ac_top_srcdir&;t t-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t-s&@builddir@&$ac_builddir&;t t-s&@abs_builddir@&$ac_abs_builddir&;t t-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t-$ac_datarootdir_hack-"-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5--test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \- "$ac_tmp/out"`; test -z "$ac_out"; } &&- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'-which seems to be undefined. Please make sure it is defined" >&5-printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'-which seems to be undefined. Please make sure it is defined" >&2;}-- rm -f "$ac_tmp/stdin"- case $ac_file in- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;- esac \- || as_fn_error $? "could not create $ac_file" "$LINENO" 5- ;;- :H)- #- # CONFIG_HEADER- #- if test x"$ac_file" != x-; then- {- printf "%s\n" "/* $configure_input */" >&1 \- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"- } >"$ac_tmp/config.h" \- || as_fn_error $? "could not create $ac_file" "$LINENO" 5- if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5-printf "%s\n" "$as_me: $ac_file is unchanged" >&6;}- else- rm -f "$ac_file"- mv "$ac_tmp/config.h" "$ac_file" \- || as_fn_error $? "could not create $ac_file" "$LINENO" 5- fi- else- printf "%s\n" "/* $configure_input */" >&1 \- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \- || as_fn_error $? "could not create -" "$LINENO" 5- fi- ;;--- esac--done # for ac_tag---as_fn_exit 0-_ACEOF-ac_clean_files=$ac_clean_files_save--test $ac_write_fail = 0 ||- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5---# configure is writing to config.log, and then calls config.status.-# config.status does its own redirection, appending to config.log.-# Unfortunately, on DOS this fails, as config.log is still kept open-# by configure, so config.status won't be able to write to it; its-# output is simply discarded. So we exec the FD to /dev/null,-# effectively closing config.log, so it can be properly (re)opened and-# appended to by config.status. When coming back to configure, we-# need to make the FD available again.-if test "$no_create" != yes; then- ac_cs_success=:- ac_config_status_args=- test "$silent" = yes &&- ac_config_status_args="$ac_config_status_args --quiet"- exec 5>/dev/null- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false- exec 5>>config.log- # Use ||, not &&, to avoid exiting from the if with $? = 1, which- # would make configure fail if this is the last instruction.- $ac_cs_success || as_fn_exit 1-fi-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5-printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}-fi-+# Generated by GNU Autoconf 2.69 for Haskell base package 1.0.+#+# Report bugs to <libraries@haskell.org>.+#+#+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.+#+#+# This configure script is free software; the Free Software Foundation+# gives unlimited permission to copy, distribute and modify it.+## -------------------- ##+## M4sh Initialization. ##+## -------------------- ##++# Be more Bourne compatible+DUALCASE=1; export DUALCASE # for MKS sh+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :+ emulate sh+ NULLCMD=:+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which+ # is contrary to our usage. Disable this feature.+ alias -g '${1+"$@"}'='"$@"'+ setopt NO_GLOB_SUBST+else+ case `(set -o) 2>/dev/null` in #(+ *posix*) :+ set -o posix ;; #(+ *) :+ ;;+esac+fi+++as_nl='+'+export as_nl+# Printing a long string crashes Solaris 7 /usr/bin/printf.+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo+# Prefer a ksh shell builtin over an external printf program on Solaris,+# but without wasting forks for bash or zsh.+if test -z "$BASH_VERSION$ZSH_VERSION" \+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then+ as_echo='print -r --'+ as_echo_n='print -rn --'+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then+ as_echo='printf %s\n'+ as_echo_n='printf %s'+else+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'+ as_echo_n='/usr/ucb/echo -n'+ else+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'+ as_echo_n_body='eval+ arg=$1;+ case $arg in #(+ *"$as_nl"*)+ expr "X$arg" : "X\\(.*\\)$as_nl";+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;+ esac;+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"+ '+ export as_echo_n_body+ as_echo_n='sh -c $as_echo_n_body as_echo'+ fi+ export as_echo_body+ as_echo='sh -c $as_echo_body as_echo'+fi++# The user is always right.+if test "${PATH_SEPARATOR+set}" != set; then+ PATH_SEPARATOR=:+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||+ PATH_SEPARATOR=';'+ }+fi+++# IFS+# We need space, tab and new line, in precisely that order. Quoting is+# there to prevent editors from complaining about space-tab.+# (If _AS_PATH_WALK were called with IFS unset, it would disable word+# splitting by setting IFS to empty value.)+IFS=" "" $as_nl"++# Find who we are. Look in the path if we contain no directory separator.+as_myself=+case $0 in #((+ *[\\/]* ) as_myself=$0 ;;+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR+for as_dir in $PATH+do+ IFS=$as_save_IFS+ test -z "$as_dir" && as_dir=.+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break+ done+IFS=$as_save_IFS++ ;;+esac+# We did not find ourselves, most probably we were run as `sh COMMAND'+# in which case we are not to be found in the path.+if test "x$as_myself" = x; then+ as_myself=$0+fi+if test ! -f "$as_myself"; then+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2+ exit 1+fi++# Unset variables that we do not need and which cause bugs (e.g. in+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"+# suppresses any "Segmentation fault" message there. '((' could+# trigger a bug in pdksh 5.2.14.+for as_var in BASH_ENV ENV MAIL MAILPATH+do eval test x\${$as_var+set} = xset \+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :+done+PS1='$ '+PS2='> '+PS4='+ '++# NLS nuisances.+LC_ALL=C+export LC_ALL+LANGUAGE=C+export LANGUAGE++# CDPATH.+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH++# Use a proper internal environment variable to ensure we don't fall+ # into an infinite loop, continuously re-executing ourselves.+ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then+ _as_can_reexec=no; export _as_can_reexec;+ # We cannot yet assume a decent shell, so we have to provide a+# neutralization value for shells without unset; and this also+# works around shells that cannot unset nonexistent variables.+# Preserve -v and -x to the replacement shell.+BASH_ENV=/dev/null+ENV=/dev/null+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV+case $- in # ((((+ *v*x* | *x*v* ) as_opts=-vx ;;+ *v* ) as_opts=-v ;;+ *x* ) as_opts=-x ;;+ * ) as_opts= ;;+esac+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}+# Admittedly, this is quite paranoid, since all the known shells bail+# out after a failed `exec'.+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2+as_fn_exit 255+ fi+ # We don't want this to propagate to other subprocesses.+ { _as_can_reexec=; unset _as_can_reexec;}+if test "x$CONFIG_SHELL" = x; then+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :+ emulate sh+ NULLCMD=:+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which+ # is contrary to our usage. Disable this feature.+ alias -g '\${1+\"\$@\"}'='\"\$@\"'+ setopt NO_GLOB_SUBST+else+ case \`(set -o) 2>/dev/null\` in #(+ *posix*) :+ set -o posix ;; #(+ *) :+ ;;+esac+fi+"+ as_required="as_fn_return () { (exit \$1); }+as_fn_success () { as_fn_return 0; }+as_fn_failure () { as_fn_return 1; }+as_fn_ret_success () { return 0; }+as_fn_ret_failure () { return 1; }++exitcode=0+as_fn_success || { exitcode=1; echo as_fn_success failed.; }+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :++else+ exitcode=1; echo positional parameters were not saved.+fi+test x\$exitcode = x0 || exit 1+test -x / || exit 1"+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1+test \$(( 1 + 1 )) = 2 || exit 1"+ if (eval "$as_required") 2>/dev/null; then :+ as_have_required=yes+else+ as_have_required=no+fi+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :++else+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR+as_found=false+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH+do+ IFS=$as_save_IFS+ test -z "$as_dir" && as_dir=.+ as_found=:+ case $as_dir in #(+ /*)+ for as_base in sh bash ksh sh5; do+ # Try only shells that exist, to save several forks.+ as_shell=$as_dir/$as_base+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :+ CONFIG_SHELL=$as_shell as_have_required=yes+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :+ break 2+fi+fi+ done;;+ esac+ as_found=false+done+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :+ CONFIG_SHELL=$SHELL as_have_required=yes+fi; }+IFS=$as_save_IFS+++ if test "x$CONFIG_SHELL" != x; then :+ export CONFIG_SHELL+ # We cannot yet assume a decent shell, so we have to provide a+# neutralization value for shells without unset; and this also+# works around shells that cannot unset nonexistent variables.+# Preserve -v and -x to the replacement shell.+BASH_ENV=/dev/null+ENV=/dev/null+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV+case $- in # ((((+ *v*x* | *x*v* ) as_opts=-vx ;;+ *v* ) as_opts=-v ;;+ *x* ) as_opts=-x ;;+ * ) as_opts= ;;+esac+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}+# Admittedly, this is quite paranoid, since all the known shells bail+# out after a failed `exec'.+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2+exit 255+fi++ if test x$as_have_required = xno; then :+ $as_echo "$0: This script requires a shell more modern than all"+ $as_echo "$0: the shells that I found on your system."+ if test x${ZSH_VERSION+set} = xset ; then+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"+ $as_echo "$0: be upgraded to zsh 4.3.4 or later."+ else+ $as_echo "$0: Please tell bug-autoconf@gnu.org and+$0: libraries@haskell.org about your system, including any+$0: error possibly output before this message. Then install+$0: a modern shell, or manually run the script under such a+$0: shell if you do have one."+ fi+ exit 1+fi+fi+fi+SHELL=${CONFIG_SHELL-/bin/sh}+export SHELL+# Unset more variables known to interfere with behavior of common tools.+CLICOLOR_FORCE= GREP_OPTIONS=+unset CLICOLOR_FORCE GREP_OPTIONS++## --------------------- ##+## M4sh Shell Functions. ##+## --------------------- ##+# as_fn_unset VAR+# ---------------+# Portably unset VAR.+as_fn_unset ()+{+ { eval $1=; unset $1;}+}+as_unset=as_fn_unset++# as_fn_set_status STATUS+# -----------------------+# Set $? to STATUS, without forking.+as_fn_set_status ()+{+ return $1+} # as_fn_set_status++# as_fn_exit STATUS+# -----------------+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.+as_fn_exit ()+{+ set +e+ as_fn_set_status $1+ exit $1+} # as_fn_exit++# as_fn_mkdir_p+# -------------+# Create "$as_dir" as a directory, including parents if necessary.+as_fn_mkdir_p ()+{++ case $as_dir in #(+ -*) as_dir=./$as_dir;;+ esac+ test -d "$as_dir" || eval $as_mkdir_p || {+ as_dirs=+ while :; do+ case $as_dir in #(+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(+ *) as_qdir=$as_dir;;+ esac+ as_dirs="'$as_qdir' $as_dirs"+ as_dir=`$as_dirname -- "$as_dir" ||+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \+ X"$as_dir" : 'X\(//\)[^/]' \| \+ X"$as_dir" : 'X\(//\)$' \| \+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||+$as_echo X"$as_dir" |+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{+ s//\1/+ q+ }+ /^X\(\/\/\)[^/].*/{+ s//\1/+ q+ }+ /^X\(\/\/\)$/{+ s//\1/+ q+ }+ /^X\(\/\).*/{+ s//\1/+ q+ }+ s/.*/./; q'`+ test -d "$as_dir" && break+ done+ test -z "$as_dirs" || eval "mkdir $as_dirs"+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"+++} # as_fn_mkdir_p++# as_fn_executable_p FILE+# -----------------------+# Test if FILE is an executable regular file.+as_fn_executable_p ()+{+ test -f "$1" && test -x "$1"+} # as_fn_executable_p+# as_fn_append VAR VALUE+# ----------------------+# Append the text in VALUE to the end of the definition contained in VAR. Take+# advantage of any shell optimizations that allow amortized linear growth over+# repeated appends, instead of the typical quadratic growth present in naive+# implementations.+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :+ eval 'as_fn_append ()+ {+ eval $1+=\$2+ }'+else+ as_fn_append ()+ {+ eval $1=\$$1\$2+ }+fi # as_fn_append++# as_fn_arith ARG...+# ------------------+# Perform arithmetic evaluation on the ARGs, and store the result in the+# global $as_val. Take advantage of shells that can avoid forks. The arguments+# must be portable across $(()) and expr.+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :+ eval 'as_fn_arith ()+ {+ as_val=$(( $* ))+ }'+else+ as_fn_arith ()+ {+ as_val=`expr "$@" || test $? -eq 1`+ }+fi # as_fn_arith+++# as_fn_error STATUS ERROR [LINENO LOG_FD]+# ----------------------------------------+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the+# script with STATUS, using 1 if that was 0.+as_fn_error ()+{+ as_status=$1; test $as_status -eq 0 && as_status=1+ if test "$4"; then+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4+ fi+ $as_echo "$as_me: error: $2" >&2+ as_fn_exit $as_status+} # as_fn_error++if expr a : '\(a\)' >/dev/null 2>&1 &&+ test "X`expr 00001 : '.*\(...\)'`" = X001; then+ as_expr=expr+else+ as_expr=false+fi++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then+ as_basename=basename+else+ as_basename=false+fi++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then+ as_dirname=dirname+else+ as_dirname=false+fi++as_me=`$as_basename -- "$0" ||+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \+ X"$0" : 'X\(//\)$' \| \+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||+$as_echo X/"$0" |+ sed '/^.*\/\([^/][^/]*\)\/*$/{+ s//\1/+ q+ }+ /^X\/\(\/\/\)$/{+ s//\1/+ q+ }+ /^X\/\(\/\).*/{+ s//\1/+ q+ }+ s/.*/./; q'`++# Avoid depending upon Character Ranges.+as_cr_letters='abcdefghijklmnopqrstuvwxyz'+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'+as_cr_Letters=$as_cr_letters$as_cr_LETTERS+as_cr_digits='0123456789'+as_cr_alnum=$as_cr_Letters$as_cr_digits+++ as_lineno_1=$LINENO as_lineno_1a=$LINENO+ as_lineno_2=$LINENO as_lineno_2a=$LINENO+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)+ sed -n '+ p+ /[$]LINENO/=+ ' <$as_myself |+ sed '+ s/[$]LINENO.*/&-/+ t lineno+ b+ :lineno+ N+ :loop+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/+ t loop+ s/-\n.*//+ ' >$as_me.lineno &&+ chmod +x "$as_me.lineno" ||+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }++ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have+ # already done that, so ensure we don't try to do so again and fall+ # in an infinite loop. This has already happened in practice.+ _as_can_reexec=no; export _as_can_reexec+ # Don't try to exec as it changes $[0], causing all sort of problems+ # (the dirname of $[0] is not the place where we might find the+ # original and so on. Autoconf is especially sensitive to this).+ . "./$as_me.lineno"+ # Exit status is that of the last command.+ exit+}++ECHO_C= ECHO_N= ECHO_T=+case `echo -n x` in #(((((+-n*)+ case `echo 'xy\c'` in+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.+ xy) ECHO_C='\c';;+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null+ ECHO_T=' ';;+ esac;;+*)+ ECHO_N='-n';;+esac++rm -f conf$$ conf$$.exe conf$$.file+if test -d conf$$.dir; then+ rm -f conf$$.dir/conf$$.file+else+ rm -f conf$$.dir+ mkdir conf$$.dir 2>/dev/null+fi+if (echo >conf$$.file) 2>/dev/null; then+ if ln -s conf$$.file conf$$ 2>/dev/null; then+ as_ln_s='ln -s'+ # ... but there are two gotchas:+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.+ # In both cases, we have to default to `cp -pR'.+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||+ as_ln_s='cp -pR'+ elif ln conf$$.file conf$$ 2>/dev/null; then+ as_ln_s=ln+ else+ as_ln_s='cp -pR'+ fi+else+ as_ln_s='cp -pR'+fi+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file+rmdir conf$$.dir 2>/dev/null++if mkdir -p . 2>/dev/null; then+ as_mkdir_p='mkdir -p "$as_dir"'+else+ test -d ./-p && rmdir ./-p+ as_mkdir_p=false+fi++as_test_x='test -x'+as_executable_p=as_fn_executable_p++# Sed expression to map a string onto a valid CPP name.+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"++# Sed expression to map a string onto a valid variable name.+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"+++test -n "$DJDIR" || exec 7<&0 </dev/null+exec 6>&1++# Name of the host.+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,+# so uname gets run too.+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`++#+# Initializations.+#+ac_default_prefix=/usr/local+ac_clean_files=+ac_config_libobj_dir=.+LIBOBJS=+cross_compiling=no+subdirs=+MFLAGS=+MAKEFLAGS=++# Identity of this package.+PACKAGE_NAME='Haskell base package'+PACKAGE_TARNAME='base'+PACKAGE_VERSION='1.0'+PACKAGE_STRING='Haskell base package 1.0'+PACKAGE_BUGREPORT='libraries@haskell.org'+PACKAGE_URL=''++ac_unique_file="include/HsBase.h"+# Factoring default headers for most tests.+ac_includes_default="\+#include <stdio.h>+#ifdef HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif+#ifdef HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif+#ifdef STDC_HEADERS+# include <stdlib.h>+# include <stddef.h>+#else+# ifdef HAVE_STDLIB_H+# include <stdlib.h>+# endif+#endif+#ifdef HAVE_STRING_H+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H+# include <memory.h>+# endif+# include <string.h>+#endif+#ifdef HAVE_STRINGS_H+# include <strings.h>+#endif+#ifdef HAVE_INTTYPES_H+# include <inttypes.h>+#endif+#ifdef HAVE_STDINT_H+# include <stdint.h>+#endif+#ifdef HAVE_UNISTD_H+# include <unistd.h>+#endif"++ac_subst_vars='LTLIBOBJS+LIBOBJS+EXTRA_LIBS+ICONV_LIB_DIRS+ICONV_INCLUDE_DIRS+EGREP+GREP+CPP+OBJEXT+EXEEXT+ac_ct_CC+CPPFLAGS+LDFLAGS+CFLAGS+CC+target_alias+host_alias+build_alias+LIBS+ECHO_T+ECHO_N+ECHO_C+DEFS+mandir+localedir+libdir+psdir+pdfdir+dvidir+htmldir+infodir+docdir+oldincludedir+includedir+runstatedir+localstatedir+sharedstatedir+sysconfdir+datadir+datarootdir+libexecdir+sbindir+bindir+program_transform_name+prefix+exec_prefix+PACKAGE_URL+PACKAGE_BUGREPORT+PACKAGE_STRING+PACKAGE_VERSION+PACKAGE_TARNAME+PACKAGE_NAME+PATH_SEPARATOR+SHELL'+ac_subst_files=''+ac_user_opts='+enable_option_checking+enable_largefile+with_iconv_includes+with_iconv_libraries+with_libcharset+'+ ac_precious_vars='build_alias+host_alias+target_alias+CC+CFLAGS+LDFLAGS+LIBS+CPPFLAGS+CPP'+++# Initialize some variables set by options.+ac_init_help=+ac_init_version=false+ac_unrecognized_opts=+ac_unrecognized_sep=+# The variables have the same names as the options, with+# dashes changed to underlines.+cache_file=/dev/null+exec_prefix=NONE+no_create=+no_recursion=+prefix=NONE+program_prefix=NONE+program_suffix=NONE+program_transform_name=s,x,x,+silent=+site=+srcdir=+verbose=+x_includes=NONE+x_libraries=NONE++# Installation directory options.+# These are left unexpanded so users can "make install exec_prefix=/foo"+# and all the variables that are supposed to be based on exec_prefix+# by default will actually change.+# Use braces instead of parens because sh, perl, etc. also accept them.+# (The list follows the same order as the GNU Coding Standards.)+bindir='${exec_prefix}/bin'+sbindir='${exec_prefix}/sbin'+libexecdir='${exec_prefix}/libexec'+datarootdir='${prefix}/share'+datadir='${datarootdir}'+sysconfdir='${prefix}/etc'+sharedstatedir='${prefix}/com'+localstatedir='${prefix}/var'+runstatedir='${localstatedir}/run'+includedir='${prefix}/include'+oldincludedir='/usr/include'+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'+infodir='${datarootdir}/info'+htmldir='${docdir}'+dvidir='${docdir}'+pdfdir='${docdir}'+psdir='${docdir}'+libdir='${exec_prefix}/lib'+localedir='${datarootdir}/locale'+mandir='${datarootdir}/man'++ac_prev=+ac_dashdash=+for ac_option+do+ # If the previous option needs an argument, assign it.+ if test -n "$ac_prev"; then+ eval $ac_prev=\$ac_option+ ac_prev=+ continue+ fi++ case $ac_option in+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;+ *=) ac_optarg= ;;+ *) ac_optarg=yes ;;+ esac++ # Accept the important Cygnus configure options, so we can diagnose typos.++ case $ac_dashdash$ac_option in+ --)+ ac_dashdash=yes ;;++ -bindir | --bindir | --bindi | --bind | --bin | --bi)+ ac_prev=bindir ;;+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)+ bindir=$ac_optarg ;;++ -build | --build | --buil | --bui | --bu)+ ac_prev=build_alias ;;+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)+ build_alias=$ac_optarg ;;++ -cache-file | --cache-file | --cache-fil | --cache-fi \+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)+ ac_prev=cache_file ;;+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)+ cache_file=$ac_optarg ;;++ --config-cache | -C)+ cache_file=config.cache ;;++ -datadir | --datadir | --datadi | --datad)+ ac_prev=datadir ;;+ -datadir=* | --datadir=* | --datadi=* | --datad=*)+ datadir=$ac_optarg ;;++ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \+ | --dataroo | --dataro | --datar)+ ac_prev=datarootdir ;;+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)+ datarootdir=$ac_optarg ;;++ -disable-* | --disable-*)+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`+ # Reject names that are not valid shell variable names.+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&+ as_fn_error $? "invalid feature name: $ac_useropt"+ ac_useropt_orig=$ac_useropt+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`+ case $ac_user_opts in+ *"+"enable_$ac_useropt"+"*) ;;+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"+ ac_unrecognized_sep=', ';;+ esac+ eval enable_$ac_useropt=no ;;++ -docdir | --docdir | --docdi | --doc | --do)+ ac_prev=docdir ;;+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)+ docdir=$ac_optarg ;;++ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)+ ac_prev=dvidir ;;+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)+ dvidir=$ac_optarg ;;++ -enable-* | --enable-*)+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`+ # Reject names that are not valid shell variable names.+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&+ as_fn_error $? "invalid feature name: $ac_useropt"+ ac_useropt_orig=$ac_useropt+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`+ case $ac_user_opts in+ *"+"enable_$ac_useropt"+"*) ;;+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"+ ac_unrecognized_sep=', ';;+ esac+ eval enable_$ac_useropt=\$ac_optarg ;;++ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \+ | --exec | --exe | --ex)+ ac_prev=exec_prefix ;;+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \+ | --exec=* | --exe=* | --ex=*)+ exec_prefix=$ac_optarg ;;++ -gas | --gas | --ga | --g)+ # Obsolete; use --with-gas.+ with_gas=yes ;;++ -help | --help | --hel | --he | -h)+ ac_init_help=long ;;+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)+ ac_init_help=recursive ;;+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)+ ac_init_help=short ;;++ -host | --host | --hos | --ho)+ ac_prev=host_alias ;;+ -host=* | --host=* | --hos=* | --ho=*)+ host_alias=$ac_optarg ;;++ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)+ ac_prev=htmldir ;;+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \+ | --ht=*)+ htmldir=$ac_optarg ;;++ -includedir | --includedir | --includedi | --included | --include \+ | --includ | --inclu | --incl | --inc)+ ac_prev=includedir ;;+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \+ | --includ=* | --inclu=* | --incl=* | --inc=*)+ includedir=$ac_optarg ;;++ -infodir | --infodir | --infodi | --infod | --info | --inf)+ ac_prev=infodir ;;+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)+ infodir=$ac_optarg ;;++ -libdir | --libdir | --libdi | --libd)+ ac_prev=libdir ;;+ -libdir=* | --libdir=* | --libdi=* | --libd=*)+ libdir=$ac_optarg ;;++ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \+ | --libexe | --libex | --libe)+ ac_prev=libexecdir ;;+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \+ | --libexe=* | --libex=* | --libe=*)+ libexecdir=$ac_optarg ;;++ -localedir | --localedir | --localedi | --localed | --locale)+ ac_prev=localedir ;;+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)+ localedir=$ac_optarg ;;++ -localstatedir | --localstatedir | --localstatedi | --localstated \+ | --localstate | --localstat | --localsta | --localst | --locals)+ ac_prev=localstatedir ;;+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)+ localstatedir=$ac_optarg ;;++ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)+ ac_prev=mandir ;;+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)+ mandir=$ac_optarg ;;++ -nfp | --nfp | --nf)+ # Obsolete; use --without-fp.+ with_fp=no ;;++ -no-create | --no-create | --no-creat | --no-crea | --no-cre \+ | --no-cr | --no-c | -n)+ no_create=yes ;;++ -no-recursion | --no-recursion | --no-recursio | --no-recursi \+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)+ no_recursion=yes ;;++ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \+ | --oldin | --oldi | --old | --ol | --o)+ ac_prev=oldincludedir ;;+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)+ oldincludedir=$ac_optarg ;;++ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)+ ac_prev=prefix ;;+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)+ prefix=$ac_optarg ;;++ -program-prefix | --program-prefix | --program-prefi | --program-pref \+ | --program-pre | --program-pr | --program-p)+ ac_prev=program_prefix ;;+ -program-prefix=* | --program-prefix=* | --program-prefi=* \+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)+ program_prefix=$ac_optarg ;;++ -program-suffix | --program-suffix | --program-suffi | --program-suff \+ | --program-suf | --program-su | --program-s)+ ac_prev=program_suffix ;;+ -program-suffix=* | --program-suffix=* | --program-suffi=* \+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)+ program_suffix=$ac_optarg ;;++ -program-transform-name | --program-transform-name \+ | --program-transform-nam | --program-transform-na \+ | --program-transform-n | --program-transform- \+ | --program-transform | --program-transfor \+ | --program-transfo | --program-transf \+ | --program-trans | --program-tran \+ | --progr-tra | --program-tr | --program-t)+ ac_prev=program_transform_name ;;+ -program-transform-name=* | --program-transform-name=* \+ | --program-transform-nam=* | --program-transform-na=* \+ | --program-transform-n=* | --program-transform-=* \+ | --program-transform=* | --program-transfor=* \+ | --program-transfo=* | --program-transf=* \+ | --program-trans=* | --program-tran=* \+ | --progr-tra=* | --program-tr=* | --program-t=*)+ program_transform_name=$ac_optarg ;;++ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)+ ac_prev=pdfdir ;;+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)+ pdfdir=$ac_optarg ;;++ -psdir | --psdir | --psdi | --psd | --ps)+ ac_prev=psdir ;;+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)+ psdir=$ac_optarg ;;++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \+ | -silent | --silent | --silen | --sile | --sil)+ silent=yes ;;++ -runstatedir | --runstatedir | --runstatedi | --runstated \+ | --runstate | --runstat | --runsta | --runst | --runs \+ | --run | --ru | --r)+ ac_prev=runstatedir ;;+ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \+ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \+ | --run=* | --ru=* | --r=*)+ runstatedir=$ac_optarg ;;++ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)+ ac_prev=sbindir ;;+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \+ | --sbi=* | --sb=*)+ sbindir=$ac_optarg ;;++ -sharedstatedir | --sharedstatedir | --sharedstatedi \+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \+ | --sharedst | --shareds | --shared | --share | --shar \+ | --sha | --sh)+ ac_prev=sharedstatedir ;;+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \+ | --sha=* | --sh=*)+ sharedstatedir=$ac_optarg ;;++ -site | --site | --sit)+ ac_prev=site ;;+ -site=* | --site=* | --sit=*)+ site=$ac_optarg ;;++ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)+ ac_prev=srcdir ;;+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)+ srcdir=$ac_optarg ;;++ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \+ | --syscon | --sysco | --sysc | --sys | --sy)+ ac_prev=sysconfdir ;;+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)+ sysconfdir=$ac_optarg ;;++ -target | --target | --targe | --targ | --tar | --ta | --t)+ ac_prev=target_alias ;;+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)+ target_alias=$ac_optarg ;;++ -v | -verbose | --verbose | --verbos | --verbo | --verb)+ verbose=yes ;;++ -version | --version | --versio | --versi | --vers | -V)+ ac_init_version=: ;;++ -with-* | --with-*)+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`+ # Reject names that are not valid shell variable names.+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&+ as_fn_error $? "invalid package name: $ac_useropt"+ ac_useropt_orig=$ac_useropt+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`+ case $ac_user_opts in+ *"+"with_$ac_useropt"+"*) ;;+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"+ ac_unrecognized_sep=', ';;+ esac+ eval with_$ac_useropt=\$ac_optarg ;;++ -without-* | --without-*)+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`+ # Reject names that are not valid shell variable names.+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&+ as_fn_error $? "invalid package name: $ac_useropt"+ ac_useropt_orig=$ac_useropt+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`+ case $ac_user_opts in+ *"+"with_$ac_useropt"+"*) ;;+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"+ ac_unrecognized_sep=', ';;+ esac+ eval with_$ac_useropt=no ;;++ --x)+ # Obsolete; use --with-x.+ with_x=yes ;;++ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \+ | --x-incl | --x-inc | --x-in | --x-i)+ ac_prev=x_includes ;;+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)+ x_includes=$ac_optarg ;;++ -x-libraries | --x-libraries | --x-librarie | --x-librari \+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)+ ac_prev=x_libraries ;;+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)+ x_libraries=$ac_optarg ;;++ -*) as_fn_error $? "unrecognized option: \`$ac_option'+Try \`$0 --help' for more information"+ ;;++ *=*)+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`+ # Reject names that are not valid shell variable names.+ case $ac_envvar in #(+ '' | [0-9]* | *[!_$as_cr_alnum]* )+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;+ esac+ eval $ac_envvar=\$ac_optarg+ export $ac_envvar ;;++ *)+ # FIXME: should be removed in autoconf 3.0.+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"+ ;;++ esac+done++if test -n "$ac_prev"; then+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`+ as_fn_error $? "missing argument to $ac_option"+fi++if test -n "$ac_unrecognized_opts"; then+ case $enable_option_checking in+ no) ;;+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;+ esac+fi++# Check all directory arguments for consistency.+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \+ datadir sysconfdir sharedstatedir localstatedir includedir \+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \+ libdir localedir mandir runstatedir+do+ eval ac_val=\$$ac_var+ # Remove trailing slashes.+ case $ac_val in+ */ )+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`+ eval $ac_var=\$ac_val;;+ esac+ # Be sure to have absolute directory names.+ case $ac_val in+ [\\/$]* | ?:[\\/]* ) continue;;+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;+ esac+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"+done++# There might be people who depend on the old broken behavior: `$host'+# used to hold the argument of --host etc.+# FIXME: To remove some day.+build=$build_alias+host=$host_alias+target=$target_alias++# FIXME: To remove some day.+if test "x$host_alias" != x; then+ if test "x$build_alias" = x; then+ cross_compiling=maybe+ elif test "x$build_alias" != "x$host_alias"; then+ cross_compiling=yes+ fi+fi++ac_tool_prefix=+test -n "$host_alias" && ac_tool_prefix=$host_alias-++test "$silent" = yes && exec 6>/dev/null+++ac_pwd=`pwd` && test -n "$ac_pwd" &&+ac_ls_di=`ls -di .` &&+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||+ as_fn_error $? "working directory cannot be determined"+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||+ as_fn_error $? "pwd does not report name of working directory"+++# Find the source files, if location was not specified.+if test -z "$srcdir"; then+ ac_srcdir_defaulted=yes+ # Try the directory containing this script, then the parent directory.+ ac_confdir=`$as_dirname -- "$as_myself" ||+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \+ X"$as_myself" : 'X\(//\)[^/]' \| \+ X"$as_myself" : 'X\(//\)$' \| \+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||+$as_echo X"$as_myself" |+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{+ s//\1/+ q+ }+ /^X\(\/\/\)[^/].*/{+ s//\1/+ q+ }+ /^X\(\/\/\)$/{+ s//\1/+ q+ }+ /^X\(\/\).*/{+ s//\1/+ q+ }+ s/.*/./; q'`+ srcdir=$ac_confdir+ if test ! -r "$srcdir/$ac_unique_file"; then+ srcdir=..+ fi+else+ ac_srcdir_defaulted=no+fi+if test ! -r "$srcdir/$ac_unique_file"; then+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"+fi+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"+ac_abs_confdir=`(+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"+ pwd)`+# When building in place, set srcdir=.+if test "$ac_abs_confdir" = "$ac_pwd"; then+ srcdir=.+fi+# Remove unnecessary trailing slashes from srcdir.+# Double slashes in file names in object file debugging info+# mess up M-x gdb in Emacs.+case $srcdir in+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;+esac+for ac_var in $ac_precious_vars; do+ eval ac_env_${ac_var}_set=\${${ac_var}+set}+ eval ac_env_${ac_var}_value=\$${ac_var}+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}+ eval ac_cv_env_${ac_var}_value=\$${ac_var}+done++#+# Report the --help message.+#+if test "$ac_init_help" = "long"; then+ # Omit some internal or obsolete options to make the list less imposing.+ # This message is too long to be a string in the A/UX 3.1 sh.+ cat <<_ACEOF+\`configure' configures Haskell base package 1.0 to adapt to many kinds of systems.++Usage: $0 [OPTION]... [VAR=VALUE]...++To assign environment variables (e.g., CC, CFLAGS...), specify them as+VAR=VALUE. See below for descriptions of some of the useful variables.++Defaults for the options are specified in brackets.++Configuration:+ -h, --help display this help and exit+ --help=short display options specific to this package+ --help=recursive display the short help of all the included packages+ -V, --version display version information and exit+ -q, --quiet, --silent do not print \`checking ...' messages+ --cache-file=FILE cache test results in FILE [disabled]+ -C, --config-cache alias for \`--cache-file=config.cache'+ -n, --no-create do not create output files+ --srcdir=DIR find the sources in DIR [configure dir or \`..']++Installation directories:+ --prefix=PREFIX install architecture-independent files in PREFIX+ [$ac_default_prefix]+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX+ [PREFIX]++By default, \`make install' will install all the files in+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify+an installation prefix other than \`$ac_default_prefix' using \`--prefix',+for instance \`--prefix=\$HOME'.++For better control, use the options below.++Fine tuning of the installation directories:+ --bindir=DIR user executables [EPREFIX/bin]+ --sbindir=DIR system admin executables [EPREFIX/sbin]+ --libexecdir=DIR program executables [EPREFIX/libexec]+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]+ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]+ --libdir=DIR object code libraries [EPREFIX/lib]+ --includedir=DIR C header files [PREFIX/include]+ --oldincludedir=DIR C header files for non-gcc [/usr/include]+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]+ --infodir=DIR info documentation [DATAROOTDIR/info]+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]+ --mandir=DIR man documentation [DATAROOTDIR/man]+ --docdir=DIR documentation root [DATAROOTDIR/doc/base]+ --htmldir=DIR html documentation [DOCDIR]+ --dvidir=DIR dvi documentation [DOCDIR]+ --pdfdir=DIR pdf documentation [DOCDIR]+ --psdir=DIR ps documentation [DOCDIR]+_ACEOF++ cat <<\_ACEOF+_ACEOF+fi++if test -n "$ac_init_help"; then+ case $ac_init_help in+ short | recursive ) echo "Configuration of Haskell base package 1.0:";;+ esac+ cat <<\_ACEOF++Optional Features:+ --disable-option-checking ignore unrecognized --enable/--with options+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]+ --disable-largefile omit support for large files++Optional Packages:+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)+ --with-iconv-includes directory containing iconv.h+ --with-iconv-libraries directory containing iconv library+ --with-libcharset Use libcharset [default=only if available]++Some influential environment variables:+ CC C compiler command+ CFLAGS C compiler flags+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a+ nonstandard directory <lib dir>+ LIBS libraries to pass to the linker, e.g. -l<library>+ CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if+ you have headers in a nonstandard directory <include dir>+ CPP C preprocessor++Use these variables to override the choices made by `configure' or to help+it to find libraries and programs with nonstandard names/locations.++Report bugs to <libraries@haskell.org>.+_ACEOF+ac_status=$?+fi++if test "$ac_init_help" = "recursive"; then+ # If there are subdirs, report their specific --help.+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue+ test -d "$ac_dir" ||+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||+ continue+ ac_builddir=.++case "$ac_dir" in+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;+*)+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`+ # A ".." for each directory in $ac_dir_suffix.+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`+ case $ac_top_builddir_sub in+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;+ esac ;;+esac+ac_abs_top_builddir=$ac_pwd+ac_abs_builddir=$ac_pwd$ac_dir_suffix+# for backward compatibility:+ac_top_builddir=$ac_top_build_prefix++case $srcdir in+ .) # We are building in place.+ ac_srcdir=.+ ac_top_srcdir=$ac_top_builddir_sub+ ac_abs_top_srcdir=$ac_pwd ;;+ [\\/]* | ?:[\\/]* ) # Absolute name.+ ac_srcdir=$srcdir$ac_dir_suffix;+ ac_top_srcdir=$srcdir+ ac_abs_top_srcdir=$srcdir ;;+ *) # Relative name.+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix+ ac_top_srcdir=$ac_top_build_prefix$srcdir+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;+esac+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix++ cd "$ac_dir" || { ac_status=$?; continue; }+ # Check for guested configure.+ if test -f "$ac_srcdir/configure.gnu"; then+ echo &&+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive+ elif test -f "$ac_srcdir/configure"; then+ echo &&+ $SHELL "$ac_srcdir/configure" --help=recursive+ else+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2+ fi || ac_status=$?+ cd "$ac_pwd" || { ac_status=$?; break; }+ done+fi++test -n "$ac_init_help" && exit $ac_status+if $ac_init_version; then+ cat <<\_ACEOF+Haskell base package configure 1.0+generated by GNU Autoconf 2.69++Copyright (C) 2012 Free Software Foundation, Inc.+This configure script is free software; the Free Software Foundation+gives unlimited permission to copy, distribute and modify it.+_ACEOF+ exit+fi++## ------------------------ ##+## Autoconf initialization. ##+## ------------------------ ##++# ac_fn_c_try_compile LINENO+# --------------------------+# Try to compile conftest.$ac_ext, and return whether this succeeded.+ac_fn_c_try_compile ()+{+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack+ rm -f conftest.$ac_objext+ if { { ac_try="$ac_compile"+case "(($ac_try" in+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;+ *) ac_try_echo=$ac_try;;+esac+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""+$as_echo "$ac_try_echo"; } >&5+ (eval "$ac_compile") 2>conftest.err+ ac_status=$?+ if test -s conftest.err; then+ grep -v '^ *+' conftest.err >conftest.er1+ cat conftest.er1 >&5+ mv -f conftest.er1 conftest.err+ fi+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5+ test $ac_status = 0; } && {+ test -z "$ac_c_werror_flag" ||+ test ! -s conftest.err+ } && test -s conftest.$ac_objext; then :+ ac_retval=0+else+ $as_echo "$as_me: failed program was:" >&5+sed 's/^/| /' conftest.$ac_ext >&5++ ac_retval=1+fi+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno+ as_fn_set_status $ac_retval++} # ac_fn_c_try_compile++# ac_fn_c_try_cpp LINENO+# ----------------------+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.+ac_fn_c_try_cpp ()+{+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack+ if { { ac_try="$ac_cpp conftest.$ac_ext"+case "(($ac_try" in+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;+ *) ac_try_echo=$ac_try;;+esac+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""+$as_echo "$ac_try_echo"; } >&5+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err+ ac_status=$?+ if test -s conftest.err; then+ grep -v '^ *+' conftest.err >conftest.er1+ cat conftest.er1 >&5+ mv -f conftest.er1 conftest.err+ fi+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5+ test $ac_status = 0; } > conftest.i && {+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||+ test ! -s conftest.err+ }; then :+ ac_retval=0+else+ $as_echo "$as_me: failed program was:" >&5+sed 's/^/| /' conftest.$ac_ext >&5++ ac_retval=1+fi+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno+ as_fn_set_status $ac_retval++} # ac_fn_c_try_cpp++# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES+# -------------------------------------------------------+# Tests whether HEADER exists, giving a warning if it cannot be compiled using+# the include files in INCLUDES and setting the cache variable VAR+# accordingly.+ac_fn_c_check_header_mongrel ()+{+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack+ if eval \${$3+:} false; then :+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5+$as_echo_n "checking for $2... " >&6; }+if eval \${$3+:} false; then :+ $as_echo_n "(cached) " >&6+fi+eval ac_res=\$$3+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5+$as_echo "$ac_res" >&6; }+else+ # Is the header compilable?+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5+$as_echo_n "checking $2 usability... " >&6; }+cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+$4+#include <$2>+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ ac_header_compiler=yes+else+ ac_header_compiler=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5+$as_echo "$ac_header_compiler" >&6; }++# Is the header present?+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5+$as_echo_n "checking $2 presence... " >&6; }+cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <$2>+_ACEOF+if ac_fn_c_try_cpp "$LINENO"; then :+ ac_header_preproc=yes+else+ ac_header_preproc=no+fi+rm -f conftest.err conftest.i conftest.$ac_ext+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5+$as_echo "$ac_header_preproc" >&6; }++# So? What about this header?+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((+ yes:no: )+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}+ ;;+ no:yes:* )+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5+$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5+$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}+( $as_echo "## ------------------------------------ ##+## Report this to libraries@haskell.org ##+## ------------------------------------ ##"+ ) | sed "s/^/$as_me: WARNING: /" >&2+ ;;+esac+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5+$as_echo_n "checking for $2... " >&6; }+if eval \${$3+:} false; then :+ $as_echo_n "(cached) " >&6+else+ eval "$3=\$ac_header_compiler"+fi+eval ac_res=\$$3+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5+$as_echo "$ac_res" >&6; }+fi+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno++} # ac_fn_c_check_header_mongrel++# ac_fn_c_try_run LINENO+# ----------------------+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes+# that executables *can* be run.+ac_fn_c_try_run ()+{+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack+ if { { ac_try="$ac_link"+case "(($ac_try" in+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;+ *) ac_try_echo=$ac_try;;+esac+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""+$as_echo "$ac_try_echo"; } >&5+ (eval "$ac_link") 2>&5+ ac_status=$?+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'+ { { case "(($ac_try" in+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;+ *) ac_try_echo=$ac_try;;+esac+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""+$as_echo "$ac_try_echo"; } >&5+ (eval "$ac_try") 2>&5+ ac_status=$?+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5+ test $ac_status = 0; }; }; then :+ ac_retval=0+else+ $as_echo "$as_me: program exited with status $ac_status" >&5+ $as_echo "$as_me: failed program was:" >&5+sed 's/^/| /' conftest.$ac_ext >&5++ ac_retval=$ac_status+fi+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno+ as_fn_set_status $ac_retval++} # ac_fn_c_try_run++# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES+# -------------------------------------------------------+# Tests whether HEADER exists and can be compiled using the include files in+# INCLUDES, setting the cache variable VAR accordingly.+ac_fn_c_check_header_compile ()+{+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5+$as_echo_n "checking for $2... " >&6; }+if eval \${$3+:} false; then :+ $as_echo_n "(cached) " >&6+else+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+$4+#include <$2>+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ eval "$3=yes"+else+ eval "$3=no"+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+fi+eval ac_res=\$$3+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5+$as_echo "$ac_res" >&6; }+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno++} # ac_fn_c_check_header_compile++# ac_fn_c_check_type LINENO TYPE VAR INCLUDES+# -------------------------------------------+# Tests whether TYPE exists after having included INCLUDES, setting cache+# variable VAR accordingly.+ac_fn_c_check_type ()+{+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5+$as_echo_n "checking for $2... " >&6; }+if eval \${$3+:} false; then :+ $as_echo_n "(cached) " >&6+else+ eval "$3=no"+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+$4+int+main ()+{+if (sizeof ($2))+ return 0;+ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+$4+int+main ()+{+if (sizeof (($2)))+ return 0;+ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :++else+ eval "$3=yes"+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+fi+eval ac_res=\$$3+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5+$as_echo "$ac_res" >&6; }+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno++} # ac_fn_c_check_type++# ac_fn_c_try_link LINENO+# -----------------------+# Try to link conftest.$ac_ext, and return whether this succeeded.+ac_fn_c_try_link ()+{+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack+ rm -f conftest.$ac_objext conftest$ac_exeext+ if { { ac_try="$ac_link"+case "(($ac_try" in+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;+ *) ac_try_echo=$ac_try;;+esac+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""+$as_echo "$ac_try_echo"; } >&5+ (eval "$ac_link") 2>conftest.err+ ac_status=$?+ if test -s conftest.err; then+ grep -v '^ *+' conftest.err >conftest.er1+ cat conftest.er1 >&5+ mv -f conftest.er1 conftest.err+ fi+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5+ test $ac_status = 0; } && {+ test -z "$ac_c_werror_flag" ||+ test ! -s conftest.err+ } && test -s conftest$ac_exeext && {+ test "$cross_compiling" = yes ||+ test -x conftest$ac_exeext+ }; then :+ ac_retval=0+else+ $as_echo "$as_me: failed program was:" >&5+sed 's/^/| /' conftest.$ac_ext >&5++ ac_retval=1+fi+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would+ # interfere with the next link command; also delete a directory that is+ # left behind by Apple's compiler. We do this before executing the actions.+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno+ as_fn_set_status $ac_retval++} # ac_fn_c_try_link++# ac_fn_c_check_func LINENO FUNC VAR+# ----------------------------------+# Tests whether FUNC exists, setting the cache variable VAR accordingly+ac_fn_c_check_func ()+{+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5+$as_echo_n "checking for $2... " >&6; }+if eval \${$3+:} false; then :+ $as_echo_n "(cached) " >&6+else+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.+ For example, HP-UX 11i <limits.h> declares gettimeofday. */+#define $2 innocuous_$2++/* System header to define __stub macros and hopefully few prototypes,+ which can conflict with char $2 (); below.+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since+ <limits.h> exists even on freestanding compilers. */++#ifdef __STDC__+# include <limits.h>+#else+# include <assert.h>+#endif++#undef $2++/* Override any GCC internal prototype to avoid an error.+ Use char because int might match the return type of a GCC+ builtin and then its argument prototype would still apply. */+#ifdef __cplusplus+extern "C"+#endif+char $2 ();+/* The GNU C library defines this for functions which it implements+ to always fail with ENOSYS. Some functions are actually named+ something starting with __ and the normal name is an alias. */+#if defined __stub_$2 || defined __stub___$2+choke me+#endif++int+main ()+{+return $2 ();+ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_link "$LINENO"; then :+ eval "$3=yes"+else+ eval "$3=no"+fi+rm -f core conftest.err conftest.$ac_objext \+ conftest$ac_exeext conftest.$ac_ext+fi+eval ac_res=\$$3+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5+$as_echo "$ac_res" >&6; }+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno++} # ac_fn_c_check_func++# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES+# --------------------------------------------+# Tries to find the compile-time value of EXPR in a program that includes+# INCLUDES, setting VAR accordingly. Returns whether the value could be+# computed+ac_fn_c_compute_int ()+{+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack+ if test "$cross_compiling" = yes; then+ # Depending upon the size, compute the lo and hi bounds.+cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+$4+int+main ()+{+static int test_array [1 - 2 * !(($2) >= 0)];+test_array [0] = 0;+return test_array [0];++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ ac_lo=0 ac_mid=0+ while :; do+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+$4+int+main ()+{+static int test_array [1 - 2 * !(($2) <= $ac_mid)];+test_array [0] = 0;+return test_array [0];++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ ac_hi=$ac_mid; break+else+ as_fn_arith $ac_mid + 1 && ac_lo=$as_val+ if test $ac_lo -le $ac_mid; then+ ac_lo= ac_hi=+ break+ fi+ as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+ done+else+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+$4+int+main ()+{+static int test_array [1 - 2 * !(($2) < 0)];+test_array [0] = 0;+return test_array [0];++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ ac_hi=-1 ac_mid=-1+ while :; do+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+$4+int+main ()+{+static int test_array [1 - 2 * !(($2) >= $ac_mid)];+test_array [0] = 0;+return test_array [0];++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ ac_lo=$ac_mid; break+else+ as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val+ if test $ac_mid -le $ac_hi; then+ ac_lo= ac_hi=+ break+ fi+ as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+ done+else+ ac_lo= ac_hi=+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+# Binary search between lo and hi bounds.+while test "x$ac_lo" != "x$ac_hi"; do+ as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+$4+int+main ()+{+static int test_array [1 - 2 * !(($2) <= $ac_mid)];+test_array [0] = 0;+return test_array [0];++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ ac_hi=$ac_mid+else+ as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+done+case $ac_lo in #((+?*) eval "$3=\$ac_lo"; ac_retval=0 ;;+'') ac_retval=1 ;;+esac+ else+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+$4+static long int longval () { return $2; }+static unsigned long int ulongval () { return $2; }+#include <stdio.h>+#include <stdlib.h>+int+main ()+{++ FILE *f = fopen ("conftest.val", "w");+ if (! f)+ return 1;+ if (($2) < 0)+ {+ long int i = longval ();+ if (i != ($2))+ return 1;+ fprintf (f, "%ld", i);+ }+ else+ {+ unsigned long int i = ulongval ();+ if (i != ($2))+ return 1;+ fprintf (f, "%lu", i);+ }+ /* Do not output a trailing newline, as this causes \r\n confusion+ on some platforms. */+ return ferror (f) || fclose (f) != 0;++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_run "$LINENO"; then :+ echo >>conftest.val; read $3 <conftest.val; ac_retval=0+else+ ac_retval=1+fi+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \+ conftest.$ac_objext conftest.beam conftest.$ac_ext+rm -f conftest.val++ fi+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno+ as_fn_set_status $ac_retval++} # ac_fn_c_compute_int++# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES+# ---------------------------------------------+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR+# accordingly.+ac_fn_c_check_decl ()+{+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack+ as_decl_name=`echo $2|sed 's/ *(.*//'`+ as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5+$as_echo_n "checking whether $as_decl_name is declared... " >&6; }+if eval \${$3+:} false; then :+ $as_echo_n "(cached) " >&6+else+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+$4+int+main ()+{+#ifndef $as_decl_name+#ifdef __cplusplus+ (void) $as_decl_use;+#else+ (void) $as_decl_name;+#endif+#endif++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ eval "$3=yes"+else+ eval "$3=no"+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+fi+eval ac_res=\$$3+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5+$as_echo "$ac_res" >&6; }+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno++} # ac_fn_c_check_decl+cat >config.log <<_ACEOF+This file contains any messages produced by compilers while+running configure, to aid debugging if configure makes a mistake.++It was created by Haskell base package $as_me 1.0, which was+generated by GNU Autoconf 2.69. Invocation command line was++ $ $0 $@++_ACEOF+exec 5>>config.log+{+cat <<_ASUNAME+## --------- ##+## Platform. ##+## --------- ##++hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`+uname -m = `(uname -m) 2>/dev/null || echo unknown`+uname -r = `(uname -r) 2>/dev/null || echo unknown`+uname -s = `(uname -s) 2>/dev/null || echo unknown`+uname -v = `(uname -v) 2>/dev/null || echo unknown`++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`++/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`++_ASUNAME++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR+for as_dir in $PATH+do+ IFS=$as_save_IFS+ test -z "$as_dir" && as_dir=.+ $as_echo "PATH: $as_dir"+ done+IFS=$as_save_IFS++} >&5++cat >&5 <<_ACEOF+++## ----------- ##+## Core tests. ##+## ----------- ##++_ACEOF+++# Keep a trace of the command line.+# Strip out --no-create and --no-recursion so they do not pile up.+# Strip out --silent because we don't want to record it for future runs.+# Also quote any args containing shell meta-characters.+# Make two passes to allow for proper duplicate-argument suppression.+ac_configure_args=+ac_configure_args0=+ac_configure_args1=+ac_must_keep_next=false+for ac_pass in 1 2+do+ for ac_arg+ do+ case $ac_arg in+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \+ | -silent | --silent | --silen | --sile | --sil)+ continue ;;+ *\'*)+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;+ esac+ case $ac_pass in+ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;+ 2)+ as_fn_append ac_configure_args1 " '$ac_arg'"+ if test $ac_must_keep_next = true; then+ ac_must_keep_next=false # Got value, back to normal.+ else+ case $ac_arg in+ *=* | --config-cache | -C | -disable-* | --disable-* \+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \+ | -with-* | --with-* | -without-* | --without-* | --x)+ case "$ac_configure_args0 " in+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;+ esac+ ;;+ -* ) ac_must_keep_next=true ;;+ esac+ fi+ as_fn_append ac_configure_args " '$ac_arg'"+ ;;+ esac+ done+done+{ ac_configure_args0=; unset ac_configure_args0;}+{ ac_configure_args1=; unset ac_configure_args1;}++# When interrupted or exit'd, cleanup temporary files, and complete+# config.log. We remove comments because anyway the quotes in there+# would cause problems or look ugly.+# WARNING: Use '\'' to represent an apostrophe within the trap.+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.+trap 'exit_status=$?+ # Save into config.log some information that might help in debugging.+ {+ echo++ $as_echo "## ---------------- ##+## Cache variables. ##+## ---------------- ##"+ echo+ # The following way of writing the cache mishandles newlines in values,+(+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do+ eval ac_val=\$$ac_var+ case $ac_val in #(+ *${as_nl}*)+ case $ac_var in #(+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;+ esac+ case $ac_var in #(+ _ | IFS | as_nl) ;; #(+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(+ *) { eval $ac_var=; unset $ac_var;} ;;+ esac ;;+ esac+ done+ (set) 2>&1 |+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(+ *${as_nl}ac_space=\ *)+ sed -n \+ "s/'\''/'\''\\\\'\'''\''/g;+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"+ ;; #(+ *)+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"+ ;;+ esac |+ sort+)+ echo++ $as_echo "## ----------------- ##+## Output variables. ##+## ----------------- ##"+ echo+ for ac_var in $ac_subst_vars+ do+ eval ac_val=\$$ac_var+ case $ac_val in+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;+ esac+ $as_echo "$ac_var='\''$ac_val'\''"+ done | sort+ echo++ if test -n "$ac_subst_files"; then+ $as_echo "## ------------------- ##+## File substitutions. ##+## ------------------- ##"+ echo+ for ac_var in $ac_subst_files+ do+ eval ac_val=\$$ac_var+ case $ac_val in+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;+ esac+ $as_echo "$ac_var='\''$ac_val'\''"+ done | sort+ echo+ fi++ if test -s confdefs.h; then+ $as_echo "## ----------- ##+## confdefs.h. ##+## ----------- ##"+ echo+ cat confdefs.h+ echo+ fi+ test "$ac_signal" != 0 &&+ $as_echo "$as_me: caught signal $ac_signal"+ $as_echo "$as_me: exit $exit_status"+ } >&5+ rm -f core *.core core.conftest.* &&+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&+ exit $exit_status+' 0+for ac_signal in 1 2 13 15; do+ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal+done+ac_signal=0++# confdefs.h avoids OS command line length limits that DEFS can exceed.+rm -f -r conftest* confdefs.h++$as_echo "/* confdefs.h */" > confdefs.h++# Predefined preprocessor variables.++cat >>confdefs.h <<_ACEOF+#define PACKAGE_NAME "$PACKAGE_NAME"+_ACEOF++cat >>confdefs.h <<_ACEOF+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"+_ACEOF++cat >>confdefs.h <<_ACEOF+#define PACKAGE_VERSION "$PACKAGE_VERSION"+_ACEOF++cat >>confdefs.h <<_ACEOF+#define PACKAGE_STRING "$PACKAGE_STRING"+_ACEOF++cat >>confdefs.h <<_ACEOF+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"+_ACEOF++cat >>confdefs.h <<_ACEOF+#define PACKAGE_URL "$PACKAGE_URL"+_ACEOF+++# Let the site file select an alternate cache file if it wants to.+# Prefer an explicitly selected file to automatically selected ones.+ac_site_file1=NONE+ac_site_file2=NONE+if test -n "$CONFIG_SITE"; then+ # We do not want a PATH search for config.site.+ case $CONFIG_SITE in #((+ -*) ac_site_file1=./$CONFIG_SITE;;+ */*) ac_site_file1=$CONFIG_SITE;;+ *) ac_site_file1=./$CONFIG_SITE;;+ esac+elif test "x$prefix" != xNONE; then+ ac_site_file1=$prefix/share/config.site+ ac_site_file2=$prefix/etc/config.site+else+ ac_site_file1=$ac_default_prefix/share/config.site+ ac_site_file2=$ac_default_prefix/etc/config.site+fi+for ac_site_file in "$ac_site_file1" "$ac_site_file2"+do+ test "x$ac_site_file" = xNONE && continue+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5+$as_echo "$as_me: loading site script $ac_site_file" >&6;}+ sed 's/^/| /' "$ac_site_file" >&5+ . "$ac_site_file" \+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}+as_fn_error $? "failed to load site script $ac_site_file+See \`config.log' for more details" "$LINENO" 5; }+ fi+done++if test -r "$cache_file"; then+ # Some versions of bash will fail to source /dev/null (special files+ # actually), so we avoid doing that. DJGPP emulates it as a regular file.+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5+$as_echo "$as_me: loading cache $cache_file" >&6;}+ case $cache_file in+ [\\/]* | ?:[\\/]* ) . "$cache_file";;+ *) . "./$cache_file";;+ esac+ fi+else+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5+$as_echo "$as_me: creating cache $cache_file" >&6;}+ >$cache_file+fi++# Check that the precious variables saved in the cache have kept the same+# value.+ac_cache_corrupted=false+for ac_var in $ac_precious_vars; do+ eval ac_old_set=\$ac_cv_env_${ac_var}_set+ eval ac_new_set=\$ac_env_${ac_var}_set+ eval ac_old_val=\$ac_cv_env_${ac_var}_value+ eval ac_new_val=\$ac_env_${ac_var}_value+ case $ac_old_set,$ac_new_set in+ set,)+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}+ ac_cache_corrupted=: ;;+ ,set)+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}+ ac_cache_corrupted=: ;;+ ,);;+ *)+ if test "x$ac_old_val" != "x$ac_new_val"; then+ # differences in whitespace do not lead to failure.+ ac_old_val_w=`echo x $ac_old_val`+ ac_new_val_w=`echo x $ac_new_val`+ if test "$ac_old_val_w" != "$ac_new_val_w"; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}+ ac_cache_corrupted=:+ else+ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}+ eval $ac_var=\$ac_old_val+ fi+ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}+ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}+ fi;;+ esac+ # Pass precious variables to config.status.+ if test "$ac_new_set" = set; then+ case $ac_new_val in+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;+ *) ac_arg=$ac_var=$ac_new_val ;;+ esac+ case " $ac_configure_args " in+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.+ *) as_fn_append ac_configure_args " '$ac_arg'" ;;+ esac+ fi+done+if $ac_cache_corrupted; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5+fi+## -------------------- ##+## Main body of script. ##+## -------------------- ##++ac_ext=c+ac_cpp='$CPP $CPPFLAGS'+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'+ac_compiler_gnu=$ac_cv_c_compiler_gnu++++# Safety check: Ensure that we are in the correct source directory.+++ac_config_headers="$ac_config_headers include/HsBaseConfig.h include/EventConfig.h"+++ac_ext=c+ac_cpp='$CPP $CPPFLAGS'+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'+ac_compiler_gnu=$ac_cv_c_compiler_gnu+if test -n "$ac_tool_prefix"; then+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.+set dummy ${ac_tool_prefix}gcc; ac_word=$2+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5+$as_echo_n "checking for $ac_word... " >&6; }+if ${ac_cv_prog_CC+:} false; then :+ $as_echo_n "(cached) " >&6+else+ if test -n "$CC"; then+ ac_cv_prog_CC="$CC" # Let the user override the test.+else+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR+for as_dir in $PATH+do+ IFS=$as_save_IFS+ test -z "$as_dir" && as_dir=.+ for ac_exec_ext in '' $ac_executable_extensions; do+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then+ ac_cv_prog_CC="${ac_tool_prefix}gcc"+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5+ break 2+ fi+done+ done+IFS=$as_save_IFS++fi+fi+CC=$ac_cv_prog_CC+if test -n "$CC"; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5+$as_echo "$CC" >&6; }+else+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5+$as_echo "no" >&6; }+fi+++fi+if test -z "$ac_cv_prog_CC"; then+ ac_ct_CC=$CC+ # Extract the first word of "gcc", so it can be a program name with args.+set dummy gcc; ac_word=$2+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5+$as_echo_n "checking for $ac_word... " >&6; }+if ${ac_cv_prog_ac_ct_CC+:} false; then :+ $as_echo_n "(cached) " >&6+else+ if test -n "$ac_ct_CC"; then+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.+else+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR+for as_dir in $PATH+do+ IFS=$as_save_IFS+ test -z "$as_dir" && as_dir=.+ for ac_exec_ext in '' $ac_executable_extensions; do+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then+ ac_cv_prog_ac_ct_CC="gcc"+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5+ break 2+ fi+done+ done+IFS=$as_save_IFS++fi+fi+ac_ct_CC=$ac_cv_prog_ac_ct_CC+if test -n "$ac_ct_CC"; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5+$as_echo "$ac_ct_CC" >&6; }+else+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5+$as_echo "no" >&6; }+fi++ if test "x$ac_ct_CC" = x; then+ CC=""+ else+ case $cross_compiling:$ac_tool_warned in+yes:)+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}+ac_tool_warned=yes ;;+esac+ CC=$ac_ct_CC+ fi+else+ CC="$ac_cv_prog_CC"+fi++if test -z "$CC"; then+ if test -n "$ac_tool_prefix"; then+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.+set dummy ${ac_tool_prefix}cc; ac_word=$2+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5+$as_echo_n "checking for $ac_word... " >&6; }+if ${ac_cv_prog_CC+:} false; then :+ $as_echo_n "(cached) " >&6+else+ if test -n "$CC"; then+ ac_cv_prog_CC="$CC" # Let the user override the test.+else+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR+for as_dir in $PATH+do+ IFS=$as_save_IFS+ test -z "$as_dir" && as_dir=.+ for ac_exec_ext in '' $ac_executable_extensions; do+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then+ ac_cv_prog_CC="${ac_tool_prefix}cc"+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5+ break 2+ fi+done+ done+IFS=$as_save_IFS++fi+fi+CC=$ac_cv_prog_CC+if test -n "$CC"; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5+$as_echo "$CC" >&6; }+else+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5+$as_echo "no" >&6; }+fi+++ fi+fi+if test -z "$CC"; then+ # Extract the first word of "cc", so it can be a program name with args.+set dummy cc; ac_word=$2+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5+$as_echo_n "checking for $ac_word... " >&6; }+if ${ac_cv_prog_CC+:} false; then :+ $as_echo_n "(cached) " >&6+else+ if test -n "$CC"; then+ ac_cv_prog_CC="$CC" # Let the user override the test.+else+ ac_prog_rejected=no+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR+for as_dir in $PATH+do+ IFS=$as_save_IFS+ test -z "$as_dir" && as_dir=.+ for ac_exec_ext in '' $ac_executable_extensions; do+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then+ ac_prog_rejected=yes+ continue+ fi+ ac_cv_prog_CC="cc"+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5+ break 2+ fi+done+ done+IFS=$as_save_IFS++if test $ac_prog_rejected = yes; then+ # We found a bogon in the path, so make sure we never use it.+ set dummy $ac_cv_prog_CC+ shift+ if test $# != 0; then+ # We chose a different compiler from the bogus one.+ # However, it has the same basename, so the bogon will be chosen+ # first if we set CC to just the basename; use the full file name.+ shift+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"+ fi+fi+fi+fi+CC=$ac_cv_prog_CC+if test -n "$CC"; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5+$as_echo "$CC" >&6; }+else+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5+$as_echo "no" >&6; }+fi+++fi+if test -z "$CC"; then+ if test -n "$ac_tool_prefix"; then+ for ac_prog in cl.exe+ do+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.+set dummy $ac_tool_prefix$ac_prog; ac_word=$2+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5+$as_echo_n "checking for $ac_word... " >&6; }+if ${ac_cv_prog_CC+:} false; then :+ $as_echo_n "(cached) " >&6+else+ if test -n "$CC"; then+ ac_cv_prog_CC="$CC" # Let the user override the test.+else+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR+for as_dir in $PATH+do+ IFS=$as_save_IFS+ test -z "$as_dir" && as_dir=.+ for ac_exec_ext in '' $ac_executable_extensions; do+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5+ break 2+ fi+done+ done+IFS=$as_save_IFS++fi+fi+CC=$ac_cv_prog_CC+if test -n "$CC"; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5+$as_echo "$CC" >&6; }+else+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5+$as_echo "no" >&6; }+fi+++ test -n "$CC" && break+ done+fi+if test -z "$CC"; then+ ac_ct_CC=$CC+ for ac_prog in cl.exe+do+ # Extract the first word of "$ac_prog", so it can be a program name with args.+set dummy $ac_prog; ac_word=$2+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5+$as_echo_n "checking for $ac_word... " >&6; }+if ${ac_cv_prog_ac_ct_CC+:} false; then :+ $as_echo_n "(cached) " >&6+else+ if test -n "$ac_ct_CC"; then+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.+else+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR+for as_dir in $PATH+do+ IFS=$as_save_IFS+ test -z "$as_dir" && as_dir=.+ for ac_exec_ext in '' $ac_executable_extensions; do+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then+ ac_cv_prog_ac_ct_CC="$ac_prog"+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5+ break 2+ fi+done+ done+IFS=$as_save_IFS++fi+fi+ac_ct_CC=$ac_cv_prog_ac_ct_CC+if test -n "$ac_ct_CC"; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5+$as_echo "$ac_ct_CC" >&6; }+else+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5+$as_echo "no" >&6; }+fi+++ test -n "$ac_ct_CC" && break+done++ if test "x$ac_ct_CC" = x; then+ CC=""+ else+ case $cross_compiling:$ac_tool_warned in+yes:)+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}+ac_tool_warned=yes ;;+esac+ CC=$ac_ct_CC+ fi+fi++fi+++test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}+as_fn_error $? "no acceptable C compiler found in \$PATH+See \`config.log' for more details" "$LINENO" 5; }++# Provide some information about the compiler.+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5+set X $ac_compile+ac_compiler=$2+for ac_option in --version -v -V -qversion; do+ { { ac_try="$ac_compiler $ac_option >&5"+case "(($ac_try" in+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;+ *) ac_try_echo=$ac_try;;+esac+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""+$as_echo "$ac_try_echo"; } >&5+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err+ ac_status=$?+ if test -s conftest.err; then+ sed '10a\+... rest of stderr output deleted ...+ 10q' conftest.err >conftest.er1+ cat conftest.er1 >&5+ fi+ rm -f conftest.er1 conftest.err+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5+ test $ac_status = 0; }+done++cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++int+main ()+{++ ;+ return 0;+}+_ACEOF+ac_clean_files_save=$ac_clean_files+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"+# Try to create an executable without -o first, disregard a.out.+# It will help us diagnose broken compilers, and finding out an intuition+# of exeext.+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5+$as_echo_n "checking whether the C compiler works... " >&6; }+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`++# The possible output files:+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"++ac_rmfiles=+for ac_file in $ac_files+do+ case $ac_file in+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;+ esac+done+rm -f $ac_rmfiles++if { { ac_try="$ac_link_default"+case "(($ac_try" in+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;+ *) ac_try_echo=$ac_try;;+esac+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""+$as_echo "$ac_try_echo"; } >&5+ (eval "$ac_link_default") 2>&5+ ac_status=$?+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5+ test $ac_status = 0; }; then :+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'+# in a Makefile. We should not override ac_cv_exeext if it was cached,+# so that the user can short-circuit this test for compilers unknown to+# Autoconf.+for ac_file in $ac_files ''+do+ test -f "$ac_file" || continue+ case $ac_file in+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )+ ;;+ [ab].out )+ # We found the default executable, but exeext='' is most+ # certainly right.+ break;;+ *.* )+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;+ then :; else+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`+ fi+ # We set ac_cv_exeext here because the later test for it is not+ # safe: cross compilers may not add the suffix if given an `-o'+ # argument, so we may need to know it at that point already.+ # Even if this section looks crufty: it has the advantage of+ # actually working.+ break;;+ * )+ break;;+ esac+done+test "$ac_cv_exeext" = no && ac_cv_exeext=++else+ ac_file=''+fi+if test -z "$ac_file"; then :+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5+$as_echo "no" >&6; }+$as_echo "$as_me: failed program was:" >&5+sed 's/^/| /' conftest.$ac_ext >&5++{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}+as_fn_error 77 "C compiler cannot create executables+See \`config.log' for more details" "$LINENO" 5; }+else+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5+$as_echo "yes" >&6; }+fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5+$as_echo_n "checking for C compiler default output file name... " >&6; }+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5+$as_echo "$ac_file" >&6; }+ac_exeext=$ac_cv_exeext++rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out+ac_clean_files=$ac_clean_files_save+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5+$as_echo_n "checking for suffix of executables... " >&6; }+if { { ac_try="$ac_link"+case "(($ac_try" in+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;+ *) ac_try_echo=$ac_try;;+esac+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""+$as_echo "$ac_try_echo"; } >&5+ (eval "$ac_link") 2>&5+ ac_status=$?+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5+ test $ac_status = 0; }; then :+ # If both `conftest.exe' and `conftest' are `present' (well, observable)+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will+# work properly (i.e., refer to `conftest.exe'), while it won't with+# `rm'.+for ac_file in conftest.exe conftest conftest.*; do+ test -f "$ac_file" || continue+ case $ac_file in+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`+ break;;+ * ) break;;+ esac+done+else+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}+as_fn_error $? "cannot compute suffix of executables: cannot compile and link+See \`config.log' for more details" "$LINENO" 5; }+fi+rm -f conftest conftest$ac_cv_exeext+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5+$as_echo "$ac_cv_exeext" >&6; }++rm -f conftest.$ac_ext+EXEEXT=$ac_cv_exeext+ac_exeext=$EXEEXT+cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <stdio.h>+int+main ()+{+FILE *f = fopen ("conftest.out", "w");+ return ferror (f) || fclose (f) != 0;++ ;+ return 0;+}+_ACEOF+ac_clean_files="$ac_clean_files conftest.out"+# Check that the compiler produces executables we can run. If not, either+# the compiler is broken, or we cross compile.+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5+$as_echo_n "checking whether we are cross compiling... " >&6; }+if test "$cross_compiling" != yes; then+ { { ac_try="$ac_link"+case "(($ac_try" in+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;+ *) ac_try_echo=$ac_try;;+esac+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""+$as_echo "$ac_try_echo"; } >&5+ (eval "$ac_link") 2>&5+ ac_status=$?+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5+ test $ac_status = 0; }+ if { ac_try='./conftest$ac_cv_exeext'+ { { case "(($ac_try" in+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;+ *) ac_try_echo=$ac_try;;+esac+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""+$as_echo "$ac_try_echo"; } >&5+ (eval "$ac_try") 2>&5+ ac_status=$?+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5+ test $ac_status = 0; }; }; then+ cross_compiling=no+ else+ if test "$cross_compiling" = maybe; then+ cross_compiling=yes+ else+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}+as_fn_error $? "cannot run C compiled programs.+If you meant to cross compile, use \`--host'.+See \`config.log' for more details" "$LINENO" 5; }+ fi+ fi+fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5+$as_echo "$cross_compiling" >&6; }++rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out+ac_clean_files=$ac_clean_files_save+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5+$as_echo_n "checking for suffix of object files... " >&6; }+if ${ac_cv_objext+:} false; then :+ $as_echo_n "(cached) " >&6+else+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++int+main ()+{++ ;+ return 0;+}+_ACEOF+rm -f conftest.o conftest.obj+if { { ac_try="$ac_compile"+case "(($ac_try" in+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;+ *) ac_try_echo=$ac_try;;+esac+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""+$as_echo "$ac_try_echo"; } >&5+ (eval "$ac_compile") 2>&5+ ac_status=$?+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5+ test $ac_status = 0; }; then :+ for ac_file in conftest.o conftest.obj conftest.*; do+ test -f "$ac_file" || continue;+ case $ac_file in+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`+ break;;+ esac+done+else+ $as_echo "$as_me: failed program was:" >&5+sed 's/^/| /' conftest.$ac_ext >&5++{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}+as_fn_error $? "cannot compute suffix of object files: cannot compile+See \`config.log' for more details" "$LINENO" 5; }+fi+rm -f conftest.$ac_cv_objext conftest.$ac_ext+fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5+$as_echo "$ac_cv_objext" >&6; }+OBJEXT=$ac_cv_objext+ac_objext=$OBJEXT+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }+if ${ac_cv_c_compiler_gnu+:} false; then :+ $as_echo_n "(cached) " >&6+else+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++int+main ()+{+#ifndef __GNUC__+ choke me+#endif++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ ac_compiler_gnu=yes+else+ ac_compiler_gnu=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+ac_cv_c_compiler_gnu=$ac_compiler_gnu++fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5+$as_echo "$ac_cv_c_compiler_gnu" >&6; }+if test $ac_compiler_gnu = yes; then+ GCC=yes+else+ GCC=+fi+ac_test_CFLAGS=${CFLAGS+set}+ac_save_CFLAGS=$CFLAGS+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5+$as_echo_n "checking whether $CC accepts -g... " >&6; }+if ${ac_cv_prog_cc_g+:} false; then :+ $as_echo_n "(cached) " >&6+else+ ac_save_c_werror_flag=$ac_c_werror_flag+ ac_c_werror_flag=yes+ ac_cv_prog_cc_g=no+ CFLAGS="-g"+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++int+main ()+{++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ ac_cv_prog_cc_g=yes+else+ CFLAGS=""+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++int+main ()+{++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :++else+ ac_c_werror_flag=$ac_save_c_werror_flag+ CFLAGS="-g"+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++int+main ()+{++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ ac_cv_prog_cc_g=yes+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+ ac_c_werror_flag=$ac_save_c_werror_flag+fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5+$as_echo "$ac_cv_prog_cc_g" >&6; }+if test "$ac_test_CFLAGS" = set; then+ CFLAGS=$ac_save_CFLAGS+elif test $ac_cv_prog_cc_g = yes; then+ if test "$GCC" = yes; then+ CFLAGS="-g -O2"+ else+ CFLAGS="-g"+ fi+else+ if test "$GCC" = yes; then+ CFLAGS="-O2"+ else+ CFLAGS=+ fi+fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }+if ${ac_cv_prog_cc_c89+:} false; then :+ $as_echo_n "(cached) " >&6+else+ ac_cv_prog_cc_c89=no+ac_save_CC=$CC+cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <stdarg.h>+#include <stdio.h>+struct stat;+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */+struct buf { int x; };+FILE * (*rcsopen) (struct buf *, struct stat *, int);+static char *e (p, i)+ char **p;+ int i;+{+ return p[i];+}+static char *f (char * (*g) (char **, int), char **p, ...)+{+ char *s;+ va_list v;+ va_start (v,p);+ s = g (p, va_arg (v,int));+ va_end (v);+ return s;+}++/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has+ function prototypes and stuff, but not '\xHH' hex character constants.+ These don't provoke an error unfortunately, instead are silently treated+ as 'x'. The following induces an error, until -std is added to get+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an+ array size at least. It's necessary to write '\x00'==0 to get something+ that's true only with -std. */+int osf4_cc_array ['\x00' == 0 ? 1 : -1];++/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters+ inside strings and character constants. */+#define FOO(x) 'x'+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];++int test (int i, double x);+struct s1 {int (*f) (int a);};+struct s2 {int (*f) (double a);};+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);+int argc;+char **argv;+int+main ()+{+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];+ ;+ return 0;+}+_ACEOF+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"+do+ CC="$ac_save_CC $ac_arg"+ if ac_fn_c_try_compile "$LINENO"; then :+ ac_cv_prog_cc_c89=$ac_arg+fi+rm -f core conftest.err conftest.$ac_objext+ test "x$ac_cv_prog_cc_c89" != "xno" && break+done+rm -f conftest.$ac_ext+CC=$ac_save_CC++fi+# AC_CACHE_VAL+case "x$ac_cv_prog_cc_c89" in+ x)+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5+$as_echo "none needed" >&6; } ;;+ xno)+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5+$as_echo "unsupported" >&6; } ;;+ *)+ CC="$CC $ac_cv_prog_cc_c89"+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;+esac+if test "x$ac_cv_prog_cc_c89" != xno; then :++fi++ac_ext=c+ac_cpp='$CPP $CPPFLAGS'+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'+ac_compiler_gnu=$ac_cv_c_compiler_gnu+++ac_ext=c+ac_cpp='$CPP $CPPFLAGS'+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'+ac_compiler_gnu=$ac_cv_c_compiler_gnu+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5+$as_echo_n "checking how to run the C preprocessor... " >&6; }+# On Suns, sometimes $CPP names a directory.+if test -n "$CPP" && test -d "$CPP"; then+ CPP=+fi+if test -z "$CPP"; then+ if ${ac_cv_prog_CPP+:} false; then :+ $as_echo_n "(cached) " >&6+else+ # Double quotes because CPP needs to be expanded+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"+ do+ ac_preproc_ok=false+for ac_c_preproc_warn_flag in '' yes+do+ # Use a header file that comes with gcc, so configuring glibc+ # with a fresh cross-compiler works.+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since+ # <limits.h> exists even on freestanding compilers.+ # On the NeXT, cc -E runs the code through the compiler's parser,+ # not just through cpp. "Syntax error" is here to catch this case.+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#ifdef __STDC__+# include <limits.h>+#else+# include <assert.h>+#endif+ Syntax error+_ACEOF+if ac_fn_c_try_cpp "$LINENO"; then :++else+ # Broken: fails on valid input.+continue+fi+rm -f conftest.err conftest.i conftest.$ac_ext++ # OK, works on sane cases. Now check whether nonexistent headers+ # can be detected and how.+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <ac_nonexistent.h>+_ACEOF+if ac_fn_c_try_cpp "$LINENO"; then :+ # Broken: success on invalid input.+continue+else+ # Passes both tests.+ac_preproc_ok=:+break+fi+rm -f conftest.err conftest.i conftest.$ac_ext++done+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.+rm -f conftest.i conftest.err conftest.$ac_ext+if $ac_preproc_ok; then :+ break+fi++ done+ ac_cv_prog_CPP=$CPP++fi+ CPP=$ac_cv_prog_CPP+else+ ac_cv_prog_CPP=$CPP+fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5+$as_echo "$CPP" >&6; }+ac_preproc_ok=false+for ac_c_preproc_warn_flag in '' yes+do+ # Use a header file that comes with gcc, so configuring glibc+ # with a fresh cross-compiler works.+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since+ # <limits.h> exists even on freestanding compilers.+ # On the NeXT, cc -E runs the code through the compiler's parser,+ # not just through cpp. "Syntax error" is here to catch this case.+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#ifdef __STDC__+# include <limits.h>+#else+# include <assert.h>+#endif+ Syntax error+_ACEOF+if ac_fn_c_try_cpp "$LINENO"; then :++else+ # Broken: fails on valid input.+continue+fi+rm -f conftest.err conftest.i conftest.$ac_ext++ # OK, works on sane cases. Now check whether nonexistent headers+ # can be detected and how.+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <ac_nonexistent.h>+_ACEOF+if ac_fn_c_try_cpp "$LINENO"; then :+ # Broken: success on invalid input.+continue+else+ # Passes both tests.+ac_preproc_ok=:+break+fi+rm -f conftest.err conftest.i conftest.$ac_ext++done+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.+rm -f conftest.i conftest.err conftest.$ac_ext+if $ac_preproc_ok; then :++else+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check+See \`config.log' for more details" "$LINENO" 5; }+fi++ac_ext=c+ac_cpp='$CPP $CPPFLAGS'+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'+ac_compiler_gnu=$ac_cv_c_compiler_gnu+++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }+if ${ac_cv_path_GREP+:} false; then :+ $as_echo_n "(cached) " >&6+else+ if test -z "$GREP"; then+ ac_path_GREP_found=false+ # Loop through the user's path and test for each of PROGNAME-LIST+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin+do+ IFS=$as_save_IFS+ test -z "$as_dir" && as_dir=.+ for ac_prog in grep ggrep; do+ for ac_exec_ext in '' $ac_executable_extensions; do+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"+ as_fn_executable_p "$ac_path_GREP" || continue+# Check for GNU ac_path_GREP and select it if it is found.+ # Check for GNU $ac_path_GREP+case `"$ac_path_GREP" --version 2>&1` in+*GNU*)+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;+*)+ ac_count=0+ $as_echo_n 0123456789 >"conftest.in"+ while :+ do+ cat "conftest.in" "conftest.in" >"conftest.tmp"+ mv "conftest.tmp" "conftest.in"+ cp "conftest.in" "conftest.nl"+ $as_echo 'GREP' >> "conftest.nl"+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break+ as_fn_arith $ac_count + 1 && ac_count=$as_val+ if test $ac_count -gt ${ac_path_GREP_max-0}; then+ # Best one so far, save it but keep looking for a better one+ ac_cv_path_GREP="$ac_path_GREP"+ ac_path_GREP_max=$ac_count+ fi+ # 10*(2^10) chars as input seems more than enough+ test $ac_count -gt 10 && break+ done+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;+esac++ $ac_path_GREP_found && break 3+ done+ done+ done+IFS=$as_save_IFS+ if test -z "$ac_cv_path_GREP"; then+ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5+ fi+else+ ac_cv_path_GREP=$GREP+fi++fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5+$as_echo "$ac_cv_path_GREP" >&6; }+ GREP="$ac_cv_path_GREP"+++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5+$as_echo_n "checking for egrep... " >&6; }+if ${ac_cv_path_EGREP+:} false; then :+ $as_echo_n "(cached) " >&6+else+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1+ then ac_cv_path_EGREP="$GREP -E"+ else+ if test -z "$EGREP"; then+ ac_path_EGREP_found=false+ # Loop through the user's path and test for each of PROGNAME-LIST+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin+do+ IFS=$as_save_IFS+ test -z "$as_dir" && as_dir=.+ for ac_prog in egrep; do+ for ac_exec_ext in '' $ac_executable_extensions; do+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"+ as_fn_executable_p "$ac_path_EGREP" || continue+# Check for GNU ac_path_EGREP and select it if it is found.+ # Check for GNU $ac_path_EGREP+case `"$ac_path_EGREP" --version 2>&1` in+*GNU*)+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;+*)+ ac_count=0+ $as_echo_n 0123456789 >"conftest.in"+ while :+ do+ cat "conftest.in" "conftest.in" >"conftest.tmp"+ mv "conftest.tmp" "conftest.in"+ cp "conftest.in" "conftest.nl"+ $as_echo 'EGREP' >> "conftest.nl"+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break+ as_fn_arith $ac_count + 1 && ac_count=$as_val+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then+ # Best one so far, save it but keep looking for a better one+ ac_cv_path_EGREP="$ac_path_EGREP"+ ac_path_EGREP_max=$ac_count+ fi+ # 10*(2^10) chars as input seems more than enough+ test $ac_count -gt 10 && break+ done+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;+esac++ $ac_path_EGREP_found && break 3+ done+ done+ done+IFS=$as_save_IFS+ if test -z "$ac_cv_path_EGREP"; then+ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5+ fi+else+ ac_cv_path_EGREP=$EGREP+fi++ fi+fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5+$as_echo "$ac_cv_path_EGREP" >&6; }+ EGREP="$ac_cv_path_EGREP"+++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5+$as_echo_n "checking for ANSI C header files... " >&6; }+if ${ac_cv_header_stdc+:} false; then :+ $as_echo_n "(cached) " >&6+else+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <stdlib.h>+#include <stdarg.h>+#include <string.h>+#include <float.h>++int+main ()+{++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ ac_cv_header_stdc=yes+else+ ac_cv_header_stdc=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++if test $ac_cv_header_stdc = yes; then+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <string.h>++_ACEOF+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |+ $EGREP "memchr" >/dev/null 2>&1; then :++else+ ac_cv_header_stdc=no+fi+rm -f conftest*++fi++if test $ac_cv_header_stdc = yes; then+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <stdlib.h>++_ACEOF+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |+ $EGREP "free" >/dev/null 2>&1; then :++else+ ac_cv_header_stdc=no+fi+rm -f conftest*++fi++if test $ac_cv_header_stdc = yes; then+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.+ if test "$cross_compiling" = yes; then :+ :+else+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <ctype.h>+#include <stdlib.h>+#if ((' ' & 0x0FF) == 0x020)+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))+#else+# define ISLOWER(c) \+ (('a' <= (c) && (c) <= 'i') \+ || ('j' <= (c) && (c) <= 'r') \+ || ('s' <= (c) && (c) <= 'z'))+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))+#endif++#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))+int+main ()+{+ int i;+ for (i = 0; i < 256; i++)+ if (XOR (islower (i), ISLOWER (i))+ || toupper (i) != TOUPPER (i))+ return 2;+ return 0;+}+_ACEOF+if ac_fn_c_try_run "$LINENO"; then :++else+ ac_cv_header_stdc=no+fi+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \+ conftest.$ac_objext conftest.beam conftest.$ac_ext+fi++fi+fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5+$as_echo "$ac_cv_header_stdc" >&6; }+if test $ac_cv_header_stdc = yes; then++$as_echo "#define STDC_HEADERS 1" >>confdefs.h++fi++# On IRIX 5.3, sys/types and inttypes.h are conflicting.+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \+ inttypes.h stdint.h unistd.h+do :+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default+"+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :+ cat >>confdefs.h <<_ACEOF+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1+_ACEOF++fi++done++++ ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"+if test "x$ac_cv_header_minix_config_h" = xyes; then :+ MINIX=yes+else+ MINIX=+fi+++ if test "$MINIX" = yes; then++$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h+++$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h+++$as_echo "#define _MINIX 1" >>confdefs.h++ fi+++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5+$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }+if ${ac_cv_safe_to_define___extensions__+:} false; then :+ $as_echo_n "(cached) " >&6+else+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++# define __EXTENSIONS__ 1+ $ac_includes_default+int+main ()+{++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ ac_cv_safe_to_define___extensions__=yes+else+ ac_cv_safe_to_define___extensions__=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5+$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }+ test $ac_cv_safe_to_define___extensions__ = yes &&+ $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h++ $as_echo "#define _ALL_SOURCE 1" >>confdefs.h++ $as_echo "#define _GNU_SOURCE 1" >>confdefs.h++ $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h++ $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h++++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for WINDOWS platform" >&5+$as_echo_n "checking for WINDOWS platform... " >&6; }+case $host_alias in+ *mingw32*|*mingw64*|*cygwin*|*msys*|*windows*)+ WINDOWS=YES;;+ *)+ WINDOWS=NO;;+esac+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $WINDOWS" >&5+$as_echo "$WINDOWS" >&6; }++# do we have long longs?+ac_fn_c_check_type "$LINENO" "long long" "ac_cv_type_long_long" "$ac_includes_default"+if test "x$ac_cv_type_long_long" = xyes; then :++cat >>confdefs.h <<_ACEOF+#define HAVE_LONG_LONG 1+_ACEOF+++fi+++# check for specific header (.h) files that we are interested in+for ac_header in ctype.h errno.h fcntl.h inttypes.h limits.h signal.h sys/file.h sys/resource.h sys/select.h sys/stat.h sys/syscall.h sys/time.h sys/timeb.h sys/timers.h sys/times.h sys/types.h sys/utsname.h sys/wait.h termios.h time.h unistd.h utime.h windows.h winsock.h langinfo.h poll.h sys/epoll.h sys/event.h sys/eventfd.h sys/socket.h+do :+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :+ cat >>confdefs.h <<_ACEOF+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1+_ACEOF++fi++done+++# Enable large file support. Do this before testing the types ino_t, off_t, and+# rlim_t, because it will affect the result of that test.+# Check whether --enable-largefile was given.+if test "${enable_largefile+set}" = set; then :+ enableval=$enable_largefile;+fi++if test "$enable_largefile" != no; then++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5+$as_echo_n "checking for special C compiler options needed for large files... " >&6; }+if ${ac_cv_sys_largefile_CC+:} false; then :+ $as_echo_n "(cached) " >&6+else+ ac_cv_sys_largefile_CC=no+ if test "$GCC" != yes; then+ ac_save_CC=$CC+ while :; do+ # IRIX 6.2 and later do not support large files by default,+ # so use the C compiler's -n32 option if that helps.+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <sys/types.h>+ /* Check that off_t can represent 2**63 - 1 correctly.+ We can't simply define LARGE_OFF_T to be 9223372036854775807,+ since some C++ compilers masquerading as C compilers+ incorrectly reject 9223372036854775807. */+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721+ && LARGE_OFF_T % 2147483647 == 1)+ ? 1 : -1];+int+main ()+{++ ;+ return 0;+}+_ACEOF+ if ac_fn_c_try_compile "$LINENO"; then :+ break+fi+rm -f core conftest.err conftest.$ac_objext+ CC="$CC -n32"+ if ac_fn_c_try_compile "$LINENO"; then :+ ac_cv_sys_largefile_CC=' -n32'; break+fi+rm -f core conftest.err conftest.$ac_objext+ break+ done+ CC=$ac_save_CC+ rm -f conftest.$ac_ext+ fi+fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5+$as_echo "$ac_cv_sys_largefile_CC" >&6; }+ if test "$ac_cv_sys_largefile_CC" != no; then+ CC=$CC$ac_cv_sys_largefile_CC+ fi++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5+$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }+if ${ac_cv_sys_file_offset_bits+:} false; then :+ $as_echo_n "(cached) " >&6+else+ while :; do+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <sys/types.h>+ /* Check that off_t can represent 2**63 - 1 correctly.+ We can't simply define LARGE_OFF_T to be 9223372036854775807,+ since some C++ compilers masquerading as C compilers+ incorrectly reject 9223372036854775807. */+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721+ && LARGE_OFF_T % 2147483647 == 1)+ ? 1 : -1];+int+main ()+{++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ ac_cv_sys_file_offset_bits=no; break+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#define _FILE_OFFSET_BITS 64+#include <sys/types.h>+ /* Check that off_t can represent 2**63 - 1 correctly.+ We can't simply define LARGE_OFF_T to be 9223372036854775807,+ since some C++ compilers masquerading as C compilers+ incorrectly reject 9223372036854775807. */+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721+ && LARGE_OFF_T % 2147483647 == 1)+ ? 1 : -1];+int+main ()+{++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ ac_cv_sys_file_offset_bits=64; break+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+ ac_cv_sys_file_offset_bits=unknown+ break+done+fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5+$as_echo "$ac_cv_sys_file_offset_bits" >&6; }+case $ac_cv_sys_file_offset_bits in #(+ no | unknown) ;;+ *)+cat >>confdefs.h <<_ACEOF+#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits+_ACEOF+;;+esac+rm -rf conftest*+ if test $ac_cv_sys_file_offset_bits = unknown; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5+$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }+if ${ac_cv_sys_large_files+:} false; then :+ $as_echo_n "(cached) " >&6+else+ while :; do+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <sys/types.h>+ /* Check that off_t can represent 2**63 - 1 correctly.+ We can't simply define LARGE_OFF_T to be 9223372036854775807,+ since some C++ compilers masquerading as C compilers+ incorrectly reject 9223372036854775807. */+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721+ && LARGE_OFF_T % 2147483647 == 1)+ ? 1 : -1];+int+main ()+{++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ ac_cv_sys_large_files=no; break+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#define _LARGE_FILES 1+#include <sys/types.h>+ /* Check that off_t can represent 2**63 - 1 correctly.+ We can't simply define LARGE_OFF_T to be 9223372036854775807,+ since some C++ compilers masquerading as C compilers+ incorrectly reject 9223372036854775807. */+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721+ && LARGE_OFF_T % 2147483647 == 1)+ ? 1 : -1];+int+main ()+{++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ ac_cv_sys_large_files=1; break+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+ ac_cv_sys_large_files=unknown+ break+done+fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5+$as_echo "$ac_cv_sys_large_files" >&6; }+case $ac_cv_sys_large_files in #(+ no | unknown) ;;+ *)+cat >>confdefs.h <<_ACEOF+#define _LARGE_FILES $ac_cv_sys_large_files+_ACEOF+;;+esac+rm -rf conftest*+ fi+++fi+++for ac_header in wctype.h+do :+ ac_fn_c_check_header_mongrel "$LINENO" "wctype.h" "ac_cv_header_wctype_h" "$ac_includes_default"+if test "x$ac_cv_header_wctype_h" = xyes; then :+ cat >>confdefs.h <<_ACEOF+#define HAVE_WCTYPE_H 1+_ACEOF+ for ac_func in iswspace+do :+ ac_fn_c_check_func "$LINENO" "iswspace" "ac_cv_func_iswspace"+if test "x$ac_cv_func_iswspace" = xyes; then :+ cat >>confdefs.h <<_ACEOF+#define HAVE_ISWSPACE 1+_ACEOF++fi+done++fi++done+++for ac_func in lstat+do :+ ac_fn_c_check_func "$LINENO" "lstat" "ac_cv_func_lstat"+if test "x$ac_cv_func_lstat" = xyes; then :+ cat >>confdefs.h <<_ACEOF+#define HAVE_LSTAT 1+_ACEOF++fi+done++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_gettime in -lrt" >&5+$as_echo_n "checking for clock_gettime in -lrt... " >&6; }+if ${ac_cv_lib_rt_clock_gettime+:} false; then :+ $as_echo_n "(cached) " >&6+else+ ac_check_lib_save_LIBS=$LIBS+LIBS="-lrt $LIBS"+cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++/* Override any GCC internal prototype to avoid an error.+ Use char because int might match the return type of a GCC+ builtin and then its argument prototype would still apply. */+#ifdef __cplusplus+extern "C"+#endif+char clock_gettime ();+int+main ()+{+return clock_gettime ();+ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_link "$LINENO"; then :+ ac_cv_lib_rt_clock_gettime=yes+else+ ac_cv_lib_rt_clock_gettime=no+fi+rm -f core conftest.err conftest.$ac_objext \+ conftest$ac_exeext conftest.$ac_ext+LIBS=$ac_check_lib_save_LIBS+fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_clock_gettime" >&5+$as_echo "$ac_cv_lib_rt_clock_gettime" >&6; }+if test "x$ac_cv_lib_rt_clock_gettime" = xyes; then :+ cat >>confdefs.h <<_ACEOF+#define HAVE_LIBRT 1+_ACEOF++ LIBS="-lrt $LIBS"++fi++for ac_func in clock_gettime+do :+ ac_fn_c_check_func "$LINENO" "clock_gettime" "ac_cv_func_clock_gettime"+if test "x$ac_cv_func_clock_gettime" = xyes; then :+ cat >>confdefs.h <<_ACEOF+#define HAVE_CLOCK_GETTIME 1+_ACEOF++fi+done++for ac_func in getclock getrusage times+do :+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :+ cat >>confdefs.h <<_ACEOF+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1+_ACEOF++fi+done++for ac_func in _chsize ftruncate+do :+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :+ cat >>confdefs.h <<_ACEOF+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1+_ACEOF++fi+done+++# event-related fun+# The line below already defines HAVE_KQUEUE and HAVE_POLL, so technically some of the+# subsequent portions that redefine them could be skipped. However, we keep those portions+# to keep kqueue/poll in line with HAVE_EPOLL and possible other additions in the future. You+# should be aware of this peculiarity if you try to simulate not having kqueue or poll by+# moving away header files (see also https://gitlab.haskell.org/ghc/ghc/-/issues/9283)+for ac_func in epoll_ctl eventfd kevent kevent64 kqueue poll+do :+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :+ cat >>confdefs.h <<_ACEOF+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1+_ACEOF++fi+done+++if test "$ac_cv_header_sys_epoll_h" = yes && test "$ac_cv_func_epoll_ctl" = yes; then++$as_echo "#define HAVE_EPOLL 1" >>confdefs.h++fi++if test "$ac_cv_header_sys_event_h" = yes && test "$ac_cv_func_kqueue" = yes; then++$as_echo "#define HAVE_KQUEUE 1" >>confdefs.h+++ # The cast to long int works around a bug in the HP C Compiler+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.+# This bug is HP SR number 8606223364.+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of kev.filter" >&5+$as_echo_n "checking size of kev.filter... " >&6; }+if ${ac_cv_sizeof_kev_filter+:} false; then :+ $as_echo_n "(cached) " >&6+else+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (kev.filter))" "ac_cv_sizeof_kev_filter" "#include <sys/event.h>+struct kevent kev;+"; then :++else+ if test "$ac_cv_type_kev_filter" = yes; then+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}+as_fn_error 77 "cannot compute sizeof (kev.filter)+See \`config.log' for more details" "$LINENO" 5; }+ else+ ac_cv_sizeof_kev_filter=0+ fi+fi++fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_kev_filter" >&5+$as_echo "$ac_cv_sizeof_kev_filter" >&6; }++++cat >>confdefs.h <<_ACEOF+#define SIZEOF_KEV_FILTER $ac_cv_sizeof_kev_filter+_ACEOF++++ # The cast to long int works around a bug in the HP C Compiler+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.+# This bug is HP SR number 8606223364.+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of kev.flags" >&5+$as_echo_n "checking size of kev.flags... " >&6; }+if ${ac_cv_sizeof_kev_flags+:} false; then :+ $as_echo_n "(cached) " >&6+else+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (kev.flags))" "ac_cv_sizeof_kev_flags" "#include <sys/event.h>+struct kevent kev;+"; then :++else+ if test "$ac_cv_type_kev_flags" = yes; then+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}+as_fn_error 77 "cannot compute sizeof (kev.flags)+See \`config.log' for more details" "$LINENO" 5; }+ else+ ac_cv_sizeof_kev_flags=0+ fi+fi++fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_kev_flags" >&5+$as_echo "$ac_cv_sizeof_kev_flags" >&6; }++++cat >>confdefs.h <<_ACEOF+#define SIZEOF_KEV_FLAGS $ac_cv_sizeof_kev_flags+_ACEOF+++fi++if test "$ac_cv_header_poll_h" = yes && test "$ac_cv_func_poll" = yes; then++$as_echo "#define HAVE_POLL 1" >>confdefs.h++fi++# Linux open file descriptor locks+ac_fn_c_check_decl "$LINENO" "F_OFD_SETLK" "ac_cv_have_decl_F_OFD_SETLK" "+ #include <unistd.h>+ #include <fcntl.h>++"+if test "x$ac_cv_have_decl_F_OFD_SETLK" = xyes; then :+++$as_echo "#define HAVE_OFD_LOCKING 1" >>confdefs.h+++fi+++# flock+for ac_func in flock+do :+ ac_fn_c_check_func "$LINENO" "flock" "ac_cv_func_flock"+if test "x$ac_cv_func_flock" = xyes; then :+ cat >>confdefs.h <<_ACEOF+#define HAVE_FLOCK 1+_ACEOF++fi+done++if test "$ac_cv_header_sys_file_h" = yes && test "$ac_cv_func_flock" = yes; then++$as_echo "#define HAVE_FLOCK 1" >>confdefs.h++fi++# unsetenv+for ac_func in unsetenv+do :+ ac_fn_c_check_func "$LINENO" "unsetenv" "ac_cv_func_unsetenv"+if test "x$ac_cv_func_unsetenv" = xyes; then :+ cat >>confdefs.h <<_ACEOF+#define HAVE_UNSETENV 1+_ACEOF++fi+done+++### POSIX.1003.1 unsetenv returns 0 or -1 (EINVAL), but older implementations+### in common use return void.+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of unsetenv" >&5+$as_echo_n "checking return type of unsetenv... " >&6; }+if ${fptools_cv_func_unsetenv_return_type+:} false; then :+ $as_echo_n "(cached) " >&6+else+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <stdlib.h>++_ACEOF+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |+ $EGREP "void[ ]+unsetenv" >/dev/null 2>&1; then :+ fptools_cv_func_unsetenv_return_type=void+else+ fptools_cv_func_unsetenv_return_type=int+fi+rm -f conftest*++fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_func_unsetenv_return_type" >&5+$as_echo "$fptools_cv_func_unsetenv_return_type" >&6; }+case "$fptools_cv_func_unsetenv_return_type" in+ "void" )++$as_echo "#define UNSETENV_RETURNS_VOID 1" >>confdefs.h++ ;;+esac++++# Check whether --with-iconv-includes was given.+if test "${with_iconv_includes+set}" = set; then :+ withval=$with_iconv_includes; ICONV_INCLUDE_DIRS=$withval; CPPFLAGS="-I$withval $CPPFLAGS"+else+ ICONV_INCLUDE_DIRS=+fi++++# Check whether --with-iconv-libraries was given.+if test "${with_iconv_libraries+set}" = set; then :+ withval=$with_iconv_libraries; ICONV_LIB_DIRS=$withval; LDFLAGS="-L$withval $LDFLAGS"+else+ ICONV_LIB_DIRS=+fi++++++# map standard C types and ISO types to Haskell types+++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for char" >&5+$as_echo_n "checking Haskell type for char... " >&6; }+ if ${fptools_cv_htype_char+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_char=yes+ if ac_fn_c_compute_int "$LINENO" "(char)0.2 - (char)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+char val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_char="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(char) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_char=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(char) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_char=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(char) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_char=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_char=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_char=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_char=LDouble+ else+ fptools_cv_htype_sup_char=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((char)(-1)) < ((char)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_char=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(char) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_char=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_char="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_char="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_char" = no+ then++ fptools_cv_htype_char=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_char" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_char" >&5+$as_echo "$fptools_cv_htype_char" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_CHAR $fptools_cv_htype_char+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for signed char" >&5+$as_echo_n "checking Haskell type for signed char... " >&6; }+ if ${fptools_cv_htype_signed_char+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_signed_char=yes+ if ac_fn_c_compute_int "$LINENO" "(signed char)0.2 - (signed char)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+signed char val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_signed_char="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(signed char) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_signed_char=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(signed char) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_signed_char=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(signed char) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_signed_char=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_signed_char=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_signed_char=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_signed_char=LDouble+ else+ fptools_cv_htype_sup_signed_char=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((signed char)(-1)) < ((signed char)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_signed_char=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(signed char) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_signed_char=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_signed_char="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_signed_char="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_signed_char" = no+ then++ fptools_cv_htype_signed_char=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_signed_char" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_signed_char" >&5+$as_echo "$fptools_cv_htype_signed_char" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_SIGNED_CHAR $fptools_cv_htype_signed_char+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for unsigned char" >&5+$as_echo_n "checking Haskell type for unsigned char... " >&6; }+ if ${fptools_cv_htype_unsigned_char+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_unsigned_char=yes+ if ac_fn_c_compute_int "$LINENO" "(unsigned char)0.2 - (unsigned char)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+unsigned char val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_unsigned_char="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned char) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_unsigned_char=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned char) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_unsigned_char=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned char) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_unsigned_char=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_unsigned_char=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_unsigned_char=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_unsigned_char=LDouble+ else+ fptools_cv_htype_sup_unsigned_char=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((unsigned char)(-1)) < ((unsigned char)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_unsigned_char=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned char) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_unsigned_char=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_unsigned_char="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_unsigned_char="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_unsigned_char" = no+ then++ fptools_cv_htype_unsigned_char=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_unsigned_char" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_unsigned_char" >&5+$as_echo "$fptools_cv_htype_unsigned_char" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_UNSIGNED_CHAR $fptools_cv_htype_unsigned_char+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for short" >&5+$as_echo_n "checking Haskell type for short... " >&6; }+ if ${fptools_cv_htype_short+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_short=yes+ if ac_fn_c_compute_int "$LINENO" "(short)0.2 - (short)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+short val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_short="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(short) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_short=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(short) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_short=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(short) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_short=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_short=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_short=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_short=LDouble+ else+ fptools_cv_htype_sup_short=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((short)(-1)) < ((short)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_short=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(short) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_short=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_short="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_short="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_short" = no+ then++ fptools_cv_htype_short=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_short" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_short" >&5+$as_echo "$fptools_cv_htype_short" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_SHORT $fptools_cv_htype_short+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for unsigned short" >&5+$as_echo_n "checking Haskell type for unsigned short... " >&6; }+ if ${fptools_cv_htype_unsigned_short+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_unsigned_short=yes+ if ac_fn_c_compute_int "$LINENO" "(unsigned short)0.2 - (unsigned short)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+unsigned short val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_unsigned_short="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned short) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_unsigned_short=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned short) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_unsigned_short=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned short) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_unsigned_short=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_unsigned_short=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_unsigned_short=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_unsigned_short=LDouble+ else+ fptools_cv_htype_sup_unsigned_short=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((unsigned short)(-1)) < ((unsigned short)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_unsigned_short=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned short) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_unsigned_short=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_unsigned_short="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_unsigned_short="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_unsigned_short" = no+ then++ fptools_cv_htype_unsigned_short=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_unsigned_short" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_unsigned_short" >&5+$as_echo "$fptools_cv_htype_unsigned_short" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_UNSIGNED_SHORT $fptools_cv_htype_unsigned_short+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for int" >&5+$as_echo_n "checking Haskell type for int... " >&6; }+ if ${fptools_cv_htype_int+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_int=yes+ if ac_fn_c_compute_int "$LINENO" "(int)0.2 - (int)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+int val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_int="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(int) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_int=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(int) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_int=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(int) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_int=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_int=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_int=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_int=LDouble+ else+ fptools_cv_htype_sup_int=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((int)(-1)) < ((int)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_int=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(int) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_int=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_int="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_int="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_int" = no+ then++ fptools_cv_htype_int=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_int" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_int" >&5+$as_echo "$fptools_cv_htype_int" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_INT $fptools_cv_htype_int+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for unsigned int" >&5+$as_echo_n "checking Haskell type for unsigned int... " >&6; }+ if ${fptools_cv_htype_unsigned_int+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_unsigned_int=yes+ if ac_fn_c_compute_int "$LINENO" "(unsigned int)0.2 - (unsigned int)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+unsigned int val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_unsigned_int="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned int) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_unsigned_int=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned int) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_unsigned_int=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned int) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_unsigned_int=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_unsigned_int=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_unsigned_int=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_unsigned_int=LDouble+ else+ fptools_cv_htype_sup_unsigned_int=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((unsigned int)(-1)) < ((unsigned int)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_unsigned_int=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned int) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_unsigned_int=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_unsigned_int="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_unsigned_int="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_unsigned_int" = no+ then++ fptools_cv_htype_unsigned_int=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_unsigned_int" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_unsigned_int" >&5+$as_echo "$fptools_cv_htype_unsigned_int" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_UNSIGNED_INT $fptools_cv_htype_unsigned_int+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for long" >&5+$as_echo_n "checking Haskell type for long... " >&6; }+ if ${fptools_cv_htype_long+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_long=yes+ if ac_fn_c_compute_int "$LINENO" "(long)0.2 - (long)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+long val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_long="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(long) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_long=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(long) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_long=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(long) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_long=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_long=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_long=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_long=LDouble+ else+ fptools_cv_htype_sup_long=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((long)(-1)) < ((long)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_long=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(long) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_long=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_long="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_long="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_long" = no+ then++ fptools_cv_htype_long=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_long" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_long" >&5+$as_echo "$fptools_cv_htype_long" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_LONG $fptools_cv_htype_long+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for unsigned long" >&5+$as_echo_n "checking Haskell type for unsigned long... " >&6; }+ if ${fptools_cv_htype_unsigned_long+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_unsigned_long=yes+ if ac_fn_c_compute_int "$LINENO" "(unsigned long)0.2 - (unsigned long)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+unsigned long val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_unsigned_long="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned long) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_unsigned_long=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned long) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_unsigned_long=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned long) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_unsigned_long=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_unsigned_long=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_unsigned_long=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_unsigned_long=LDouble+ else+ fptools_cv_htype_sup_unsigned_long=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((unsigned long)(-1)) < ((unsigned long)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_unsigned_long=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned long) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_unsigned_long=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_unsigned_long="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_unsigned_long="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_unsigned_long" = no+ then++ fptools_cv_htype_unsigned_long=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_unsigned_long" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_unsigned_long" >&5+$as_echo "$fptools_cv_htype_unsigned_long" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_UNSIGNED_LONG $fptools_cv_htype_unsigned_long+_ACEOF++ fi+++if test "$ac_cv_type_long_long" = yes; then+++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for long long" >&5+$as_echo_n "checking Haskell type for long long... " >&6; }+ if ${fptools_cv_htype_long_long+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_long_long=yes+ if ac_fn_c_compute_int "$LINENO" "(long long)0.2 - (long long)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+long long val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_long_long="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(long long) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_long_long=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(long long) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_long_long=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(long long) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_long_long=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_long_long=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_long_long=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_long_long=LDouble+ else+ fptools_cv_htype_sup_long_long=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((long long)(-1)) < ((long long)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_long_long=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(long long) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_long_long=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_long_long="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_long_long="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_long_long" = no+ then++ fptools_cv_htype_long_long=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_long_long" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_long_long" >&5+$as_echo "$fptools_cv_htype_long_long" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_LONG_LONG $fptools_cv_htype_long_long+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for unsigned long long" >&5+$as_echo_n "checking Haskell type for unsigned long long... " >&6; }+ if ${fptools_cv_htype_unsigned_long_long+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_unsigned_long_long=yes+ if ac_fn_c_compute_int "$LINENO" "(unsigned long long)0.2 - (unsigned long long)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+unsigned long long val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_unsigned_long_long="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned long long) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_unsigned_long_long=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned long long) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_unsigned_long_long=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned long long) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_unsigned_long_long=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_unsigned_long_long=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_unsigned_long_long=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_unsigned_long_long=LDouble+ else+ fptools_cv_htype_sup_unsigned_long_long=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((unsigned long long)(-1)) < ((unsigned long long)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_unsigned_long_long=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(unsigned long long) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_unsigned_long_long=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_unsigned_long_long="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_unsigned_long_long="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_unsigned_long_long" = no+ then++ fptools_cv_htype_unsigned_long_long=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_unsigned_long_long" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_unsigned_long_long" >&5+$as_echo "$fptools_cv_htype_unsigned_long_long" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_UNSIGNED_LONG_LONG $fptools_cv_htype_unsigned_long_long+_ACEOF++ fi+++fi+++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for bool" >&5+$as_echo_n "checking Haskell type for bool... " >&6; }+ if ${fptools_cv_htype_bool+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_bool=yes+ if ac_fn_c_compute_int "$LINENO" "(bool)0.2 - (bool)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+bool val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_bool="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(bool) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_bool=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(bool) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_bool=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(bool) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_bool=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_bool=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_bool=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_bool=LDouble+ else+ fptools_cv_htype_sup_bool=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((bool)(-1)) < ((bool)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_bool=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(bool) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_bool=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_bool="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_bool="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_bool" = no+ then++ fptools_cv_htype_bool=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_bool" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_bool" >&5+$as_echo "$fptools_cv_htype_bool" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_BOOL $fptools_cv_htype_bool+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for float" >&5+$as_echo_n "checking Haskell type for float... " >&6; }+ if ${fptools_cv_htype_float+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_float=yes+ if ac_fn_c_compute_int "$LINENO" "(float)0.2 - (float)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+float val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_float="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(float) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_float=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(float) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_float=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(float) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_float=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_float=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_float=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_float=LDouble+ else+ fptools_cv_htype_sup_float=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((float)(-1)) < ((float)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_float=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(float) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_float=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_float="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_float="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_float" = no+ then++ fptools_cv_htype_float=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_float" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_float" >&5+$as_echo "$fptools_cv_htype_float" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_FLOAT $fptools_cv_htype_float+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for double" >&5+$as_echo_n "checking Haskell type for double... " >&6; }+ if ${fptools_cv_htype_double+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_double=yes+ if ac_fn_c_compute_int "$LINENO" "(double)0.2 - (double)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+double val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_double="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(double) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_double=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(double) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_double=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(double) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_double=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_double=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_double=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_double=LDouble+ else+ fptools_cv_htype_sup_double=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((double)(-1)) < ((double)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_double=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(double) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_double=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_double="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_double="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_double" = no+ then++ fptools_cv_htype_double=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_double" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_double" >&5+$as_echo "$fptools_cv_htype_double" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_DOUBLE $fptools_cv_htype_double+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for ptrdiff_t" >&5+$as_echo_n "checking Haskell type for ptrdiff_t... " >&6; }+ if ${fptools_cv_htype_ptrdiff_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_ptrdiff_t=yes+ if ac_fn_c_compute_int "$LINENO" "(ptrdiff_t)0.2 - (ptrdiff_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+ptrdiff_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_ptrdiff_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(ptrdiff_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_ptrdiff_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(ptrdiff_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_ptrdiff_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(ptrdiff_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_ptrdiff_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_ptrdiff_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_ptrdiff_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_ptrdiff_t=LDouble+ else+ fptools_cv_htype_sup_ptrdiff_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((ptrdiff_t)(-1)) < ((ptrdiff_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_ptrdiff_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(ptrdiff_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_ptrdiff_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_ptrdiff_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_ptrdiff_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_ptrdiff_t" = no+ then++ fptools_cv_htype_ptrdiff_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_ptrdiff_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_ptrdiff_t" >&5+$as_echo "$fptools_cv_htype_ptrdiff_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_PTRDIFF_T $fptools_cv_htype_ptrdiff_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for size_t" >&5+$as_echo_n "checking Haskell type for size_t... " >&6; }+ if ${fptools_cv_htype_size_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_size_t=yes+ if ac_fn_c_compute_int "$LINENO" "(size_t)0.2 - (size_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+size_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_size_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(size_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_size_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(size_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_size_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(size_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_size_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_size_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_size_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_size_t=LDouble+ else+ fptools_cv_htype_sup_size_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((size_t)(-1)) < ((size_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_size_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(size_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_size_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_size_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_size_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_size_t" = no+ then++ fptools_cv_htype_size_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_size_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_size_t" >&5+$as_echo "$fptools_cv_htype_size_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_SIZE_T $fptools_cv_htype_size_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for wchar_t" >&5+$as_echo_n "checking Haskell type for wchar_t... " >&6; }+ if ${fptools_cv_htype_wchar_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_wchar_t=yes+ if ac_fn_c_compute_int "$LINENO" "(wchar_t)0.2 - (wchar_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+wchar_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_wchar_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(wchar_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_wchar_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(wchar_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_wchar_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(wchar_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_wchar_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_wchar_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_wchar_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_wchar_t=LDouble+ else+ fptools_cv_htype_sup_wchar_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((wchar_t)(-1)) < ((wchar_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_wchar_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(wchar_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_wchar_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_wchar_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_wchar_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_wchar_t" = no+ then++ fptools_cv_htype_wchar_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_wchar_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_wchar_t" >&5+$as_echo "$fptools_cv_htype_wchar_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_WCHAR_T $fptools_cv_htype_wchar_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for sig_atomic_t" >&5+$as_echo_n "checking Haskell type for sig_atomic_t... " >&6; }+ if ${fptools_cv_htype_sig_atomic_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_sig_atomic_t=yes+ if ac_fn_c_compute_int "$LINENO" "(sig_atomic_t)0.2 - (sig_atomic_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+sig_atomic_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_sig_atomic_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(sig_atomic_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_sig_atomic_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(sig_atomic_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_sig_atomic_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(sig_atomic_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_sig_atomic_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_sig_atomic_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_sig_atomic_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_sig_atomic_t=LDouble+ else+ fptools_cv_htype_sup_sig_atomic_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((sig_atomic_t)(-1)) < ((sig_atomic_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_sig_atomic_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(sig_atomic_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_sig_atomic_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_sig_atomic_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_sig_atomic_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_sig_atomic_t" = no+ then++ fptools_cv_htype_sig_atomic_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_sig_atomic_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_sig_atomic_t" >&5+$as_echo "$fptools_cv_htype_sig_atomic_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_SIG_ATOMIC_T $fptools_cv_htype_sig_atomic_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for clock_t" >&5+$as_echo_n "checking Haskell type for clock_t... " >&6; }+ if ${fptools_cv_htype_clock_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_clock_t=yes+ if ac_fn_c_compute_int "$LINENO" "(clock_t)0.2 - (clock_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+clock_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_clock_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(clock_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_clock_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(clock_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_clock_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(clock_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_clock_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_clock_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_clock_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_clock_t=LDouble+ else+ fptools_cv_htype_sup_clock_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((clock_t)(-1)) < ((clock_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_clock_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(clock_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_clock_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_clock_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_clock_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_clock_t" = no+ then++ fptools_cv_htype_clock_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_clock_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_clock_t" >&5+$as_echo "$fptools_cv_htype_clock_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_CLOCK_T $fptools_cv_htype_clock_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for time_t" >&5+$as_echo_n "checking Haskell type for time_t... " >&6; }+ if ${fptools_cv_htype_time_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_time_t=yes+ if ac_fn_c_compute_int "$LINENO" "(time_t)0.2 - (time_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+time_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_time_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(time_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_time_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(time_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_time_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(time_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_time_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_time_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_time_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_time_t=LDouble+ else+ fptools_cv_htype_sup_time_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((time_t)(-1)) < ((time_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_time_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(time_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_time_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_time_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_time_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_time_t" = no+ then++ fptools_cv_htype_time_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_time_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_time_t" >&5+$as_echo "$fptools_cv_htype_time_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_TIME_T $fptools_cv_htype_time_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for useconds_t" >&5+$as_echo_n "checking Haskell type for useconds_t... " >&6; }+ if ${fptools_cv_htype_useconds_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_useconds_t=yes+ if ac_fn_c_compute_int "$LINENO" "(useconds_t)0.2 - (useconds_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+useconds_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_useconds_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(useconds_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_useconds_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(useconds_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_useconds_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(useconds_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_useconds_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_useconds_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_useconds_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_useconds_t=LDouble+ else+ fptools_cv_htype_sup_useconds_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((useconds_t)(-1)) < ((useconds_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_useconds_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(useconds_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_useconds_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_useconds_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_useconds_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_useconds_t" = no+ then++ fptools_cv_htype_useconds_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_useconds_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_useconds_t" >&5+$as_echo "$fptools_cv_htype_useconds_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_USECONDS_T $fptools_cv_htype_useconds_t+_ACEOF++ fi++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for suseconds_t" >&5+$as_echo_n "checking Haskell type for suseconds_t... " >&6; }+ if ${fptools_cv_htype_suseconds_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_suseconds_t=yes+ if ac_fn_c_compute_int "$LINENO" "(suseconds_t)0.2 - (suseconds_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+suseconds_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_suseconds_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(suseconds_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_suseconds_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(suseconds_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_suseconds_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(suseconds_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_suseconds_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_suseconds_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_suseconds_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_suseconds_t=LDouble+ else+ fptools_cv_htype_sup_suseconds_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((suseconds_t)(-1)) < ((suseconds_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_suseconds_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(suseconds_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_suseconds_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_suseconds_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_suseconds_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_suseconds_t" = no+ then+ if test "$WINDOWS" = "YES"+ then+ fptools_cv_htype_suseconds_t=Int32+ fptools_cv_htype_sup_suseconds_t=yes+ else+ as_fn_error $? "type not found" "$LINENO" 5+ fi+ fi++ if test "$fptools_cv_htype_sup_suseconds_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_suseconds_t" >&5+$as_echo "$fptools_cv_htype_suseconds_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_SUSECONDS_T $fptools_cv_htype_suseconds_t+_ACEOF++ fi++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for dev_t" >&5+$as_echo_n "checking Haskell type for dev_t... " >&6; }+ if ${fptools_cv_htype_dev_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_dev_t=yes+ if ac_fn_c_compute_int "$LINENO" "(dev_t)0.2 - (dev_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+dev_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_dev_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(dev_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_dev_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(dev_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_dev_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(dev_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_dev_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_dev_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_dev_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_dev_t=LDouble+ else+ fptools_cv_htype_sup_dev_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((dev_t)(-1)) < ((dev_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_dev_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(dev_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_dev_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_dev_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_dev_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_dev_t" = no+ then++ fptools_cv_htype_dev_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_dev_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_dev_t" >&5+$as_echo "$fptools_cv_htype_dev_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_DEV_T $fptools_cv_htype_dev_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for ino_t" >&5+$as_echo_n "checking Haskell type for ino_t... " >&6; }+ if ${fptools_cv_htype_ino_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_ino_t=yes+ if ac_fn_c_compute_int "$LINENO" "(ino_t)0.2 - (ino_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+ino_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_ino_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(ino_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_ino_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(ino_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_ino_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(ino_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_ino_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_ino_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_ino_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_ino_t=LDouble+ else+ fptools_cv_htype_sup_ino_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((ino_t)(-1)) < ((ino_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_ino_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(ino_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_ino_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_ino_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_ino_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_ino_t" = no+ then++ fptools_cv_htype_ino_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_ino_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_ino_t" >&5+$as_echo "$fptools_cv_htype_ino_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_INO_T $fptools_cv_htype_ino_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for mode_t" >&5+$as_echo_n "checking Haskell type for mode_t... " >&6; }+ if ${fptools_cv_htype_mode_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_mode_t=yes+ if ac_fn_c_compute_int "$LINENO" "(mode_t)0.2 - (mode_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+mode_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_mode_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(mode_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_mode_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(mode_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_mode_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(mode_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_mode_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_mode_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_mode_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_mode_t=LDouble+ else+ fptools_cv_htype_sup_mode_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((mode_t)(-1)) < ((mode_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_mode_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(mode_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_mode_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_mode_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_mode_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_mode_t" = no+ then++ fptools_cv_htype_mode_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_mode_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_mode_t" >&5+$as_echo "$fptools_cv_htype_mode_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_MODE_T $fptools_cv_htype_mode_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for off_t" >&5+$as_echo_n "checking Haskell type for off_t... " >&6; }+ if ${fptools_cv_htype_off_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_off_t=yes+ if ac_fn_c_compute_int "$LINENO" "(off_t)0.2 - (off_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+off_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_off_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(off_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_off_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(off_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_off_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(off_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_off_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_off_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_off_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_off_t=LDouble+ else+ fptools_cv_htype_sup_off_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((off_t)(-1)) < ((off_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_off_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(off_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_off_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_off_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_off_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_off_t" = no+ then++ fptools_cv_htype_off_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_off_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_off_t" >&5+$as_echo "$fptools_cv_htype_off_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_OFF_T $fptools_cv_htype_off_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for pid_t" >&5+$as_echo_n "checking Haskell type for pid_t... " >&6; }+ if ${fptools_cv_htype_pid_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_pid_t=yes+ if ac_fn_c_compute_int "$LINENO" "(pid_t)0.2 - (pid_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+pid_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_pid_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(pid_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_pid_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(pid_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_pid_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(pid_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_pid_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_pid_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_pid_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_pid_t=LDouble+ else+ fptools_cv_htype_sup_pid_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((pid_t)(-1)) < ((pid_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_pid_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(pid_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_pid_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_pid_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_pid_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_pid_t" = no+ then++ fptools_cv_htype_pid_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_pid_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_pid_t" >&5+$as_echo "$fptools_cv_htype_pid_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_PID_T $fptools_cv_htype_pid_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for gid_t" >&5+$as_echo_n "checking Haskell type for gid_t... " >&6; }+ if ${fptools_cv_htype_gid_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_gid_t=yes+ if ac_fn_c_compute_int "$LINENO" "(gid_t)0.2 - (gid_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+gid_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_gid_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(gid_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_gid_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(gid_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_gid_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(gid_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_gid_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_gid_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_gid_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_gid_t=LDouble+ else+ fptools_cv_htype_sup_gid_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((gid_t)(-1)) < ((gid_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_gid_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(gid_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_gid_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_gid_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_gid_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_gid_t" = no+ then++ fptools_cv_htype_gid_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_gid_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_gid_t" >&5+$as_echo "$fptools_cv_htype_gid_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_GID_T $fptools_cv_htype_gid_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for uid_t" >&5+$as_echo_n "checking Haskell type for uid_t... " >&6; }+ if ${fptools_cv_htype_uid_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_uid_t=yes+ if ac_fn_c_compute_int "$LINENO" "(uid_t)0.2 - (uid_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+uid_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_uid_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(uid_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_uid_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(uid_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_uid_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(uid_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_uid_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_uid_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_uid_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_uid_t=LDouble+ else+ fptools_cv_htype_sup_uid_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((uid_t)(-1)) < ((uid_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_uid_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(uid_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_uid_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_uid_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_uid_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_uid_t" = no+ then++ fptools_cv_htype_uid_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_uid_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_uid_t" >&5+$as_echo "$fptools_cv_htype_uid_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_UID_T $fptools_cv_htype_uid_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for cc_t" >&5+$as_echo_n "checking Haskell type for cc_t... " >&6; }+ if ${fptools_cv_htype_cc_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_cc_t=yes+ if ac_fn_c_compute_int "$LINENO" "(cc_t)0.2 - (cc_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+cc_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_cc_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(cc_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_cc_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(cc_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_cc_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(cc_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_cc_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_cc_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_cc_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_cc_t=LDouble+ else+ fptools_cv_htype_sup_cc_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((cc_t)(-1)) < ((cc_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_cc_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(cc_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_cc_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_cc_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_cc_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_cc_t" = no+ then++ fptools_cv_htype_cc_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_cc_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_cc_t" >&5+$as_echo "$fptools_cv_htype_cc_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_CC_T $fptools_cv_htype_cc_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for speed_t" >&5+$as_echo_n "checking Haskell type for speed_t... " >&6; }+ if ${fptools_cv_htype_speed_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_speed_t=yes+ if ac_fn_c_compute_int "$LINENO" "(speed_t)0.2 - (speed_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+speed_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_speed_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(speed_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_speed_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(speed_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_speed_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(speed_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_speed_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_speed_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_speed_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_speed_t=LDouble+ else+ fptools_cv_htype_sup_speed_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((speed_t)(-1)) < ((speed_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_speed_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(speed_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_speed_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_speed_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_speed_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_speed_t" = no+ then++ fptools_cv_htype_speed_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_speed_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_speed_t" >&5+$as_echo "$fptools_cv_htype_speed_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_SPEED_T $fptools_cv_htype_speed_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for tcflag_t" >&5+$as_echo_n "checking Haskell type for tcflag_t... " >&6; }+ if ${fptools_cv_htype_tcflag_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_tcflag_t=yes+ if ac_fn_c_compute_int "$LINENO" "(tcflag_t)0.2 - (tcflag_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+tcflag_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_tcflag_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(tcflag_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_tcflag_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(tcflag_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_tcflag_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(tcflag_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_tcflag_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_tcflag_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_tcflag_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_tcflag_t=LDouble+ else+ fptools_cv_htype_sup_tcflag_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((tcflag_t)(-1)) < ((tcflag_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_tcflag_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(tcflag_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_tcflag_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_tcflag_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_tcflag_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_tcflag_t" = no+ then++ fptools_cv_htype_tcflag_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_tcflag_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_tcflag_t" >&5+$as_echo "$fptools_cv_htype_tcflag_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_TCFLAG_T $fptools_cv_htype_tcflag_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for nlink_t" >&5+$as_echo_n "checking Haskell type for nlink_t... " >&6; }+ if ${fptools_cv_htype_nlink_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_nlink_t=yes+ if ac_fn_c_compute_int "$LINENO" "(nlink_t)0.2 - (nlink_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+nlink_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_nlink_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(nlink_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_nlink_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(nlink_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_nlink_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(nlink_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_nlink_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_nlink_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_nlink_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_nlink_t=LDouble+ else+ fptools_cv_htype_sup_nlink_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((nlink_t)(-1)) < ((nlink_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_nlink_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(nlink_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_nlink_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_nlink_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_nlink_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_nlink_t" = no+ then++ fptools_cv_htype_nlink_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_nlink_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_nlink_t" >&5+$as_echo "$fptools_cv_htype_nlink_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_NLINK_T $fptools_cv_htype_nlink_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for ssize_t" >&5+$as_echo_n "checking Haskell type for ssize_t... " >&6; }+ if ${fptools_cv_htype_ssize_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_ssize_t=yes+ if ac_fn_c_compute_int "$LINENO" "(ssize_t)0.2 - (ssize_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+ssize_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_ssize_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(ssize_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_ssize_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(ssize_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_ssize_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(ssize_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_ssize_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_ssize_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_ssize_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_ssize_t=LDouble+ else+ fptools_cv_htype_sup_ssize_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((ssize_t)(-1)) < ((ssize_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_ssize_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(ssize_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_ssize_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_ssize_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_ssize_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_ssize_t" = no+ then++ fptools_cv_htype_ssize_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_ssize_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_ssize_t" >&5+$as_echo "$fptools_cv_htype_ssize_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_SSIZE_T $fptools_cv_htype_ssize_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for rlim_t" >&5+$as_echo_n "checking Haskell type for rlim_t... " >&6; }+ if ${fptools_cv_htype_rlim_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_rlim_t=yes+ if ac_fn_c_compute_int "$LINENO" "(rlim_t)0.2 - (rlim_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+rlim_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_rlim_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(rlim_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_rlim_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(rlim_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_rlim_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(rlim_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_rlim_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_rlim_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_rlim_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_rlim_t=LDouble+ else+ fptools_cv_htype_sup_rlim_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((rlim_t)(-1)) < ((rlim_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_rlim_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(rlim_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_rlim_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_rlim_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_rlim_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_rlim_t" = no+ then++ fptools_cv_htype_rlim_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_rlim_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_rlim_t" >&5+$as_echo "$fptools_cv_htype_rlim_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_RLIM_T $fptools_cv_htype_rlim_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for blksize_t" >&5+$as_echo_n "checking Haskell type for blksize_t... " >&6; }+ if ${fptools_cv_htype_blksize_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_blksize_t=yes+ if ac_fn_c_compute_int "$LINENO" "(blksize_t)0.2 - (blksize_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+blksize_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_blksize_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(blksize_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_blksize_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(blksize_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_blksize_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(blksize_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_blksize_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_blksize_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_blksize_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_blksize_t=LDouble+ else+ fptools_cv_htype_sup_blksize_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((blksize_t)(-1)) < ((blksize_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_blksize_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(blksize_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_blksize_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_blksize_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_blksize_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_blksize_t" = no+ then++ fptools_cv_htype_blksize_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_blksize_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_blksize_t" >&5+$as_echo "$fptools_cv_htype_blksize_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_BLKSIZE_T $fptools_cv_htype_blksize_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for blkcnt_t" >&5+$as_echo_n "checking Haskell type for blkcnt_t... " >&6; }+ if ${fptools_cv_htype_blkcnt_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_blkcnt_t=yes+ if ac_fn_c_compute_int "$LINENO" "(blkcnt_t)0.2 - (blkcnt_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+blkcnt_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_blkcnt_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(blkcnt_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_blkcnt_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(blkcnt_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_blkcnt_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(blkcnt_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_blkcnt_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_blkcnt_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_blkcnt_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_blkcnt_t=LDouble+ else+ fptools_cv_htype_sup_blkcnt_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((blkcnt_t)(-1)) < ((blkcnt_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_blkcnt_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(blkcnt_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_blkcnt_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_blkcnt_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_blkcnt_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_blkcnt_t" = no+ then++ fptools_cv_htype_blkcnt_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_blkcnt_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_blkcnt_t" >&5+$as_echo "$fptools_cv_htype_blkcnt_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_BLKCNT_T $fptools_cv_htype_blkcnt_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for clockid_t" >&5+$as_echo_n "checking Haskell type for clockid_t... " >&6; }+ if ${fptools_cv_htype_clockid_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_clockid_t=yes+ if ac_fn_c_compute_int "$LINENO" "(clockid_t)0.2 - (clockid_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+clockid_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_clockid_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(clockid_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_clockid_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(clockid_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_clockid_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(clockid_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_clockid_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_clockid_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_clockid_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_clockid_t=LDouble+ else+ fptools_cv_htype_sup_clockid_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((clockid_t)(-1)) < ((clockid_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_clockid_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(clockid_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_clockid_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_clockid_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_clockid_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_clockid_t" = no+ then++ fptools_cv_htype_clockid_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_clockid_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_clockid_t" >&5+$as_echo "$fptools_cv_htype_clockid_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_CLOCKID_T $fptools_cv_htype_clockid_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for fsblkcnt_t" >&5+$as_echo_n "checking Haskell type for fsblkcnt_t... " >&6; }+ if ${fptools_cv_htype_fsblkcnt_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_fsblkcnt_t=yes+ if ac_fn_c_compute_int "$LINENO" "(fsblkcnt_t)0.2 - (fsblkcnt_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+fsblkcnt_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_fsblkcnt_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(fsblkcnt_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_fsblkcnt_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(fsblkcnt_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_fsblkcnt_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(fsblkcnt_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_fsblkcnt_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_fsblkcnt_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_fsblkcnt_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_fsblkcnt_t=LDouble+ else+ fptools_cv_htype_sup_fsblkcnt_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((fsblkcnt_t)(-1)) < ((fsblkcnt_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_fsblkcnt_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(fsblkcnt_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_fsblkcnt_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_fsblkcnt_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_fsblkcnt_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_fsblkcnt_t" = no+ then++ fptools_cv_htype_fsblkcnt_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_fsblkcnt_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_fsblkcnt_t" >&5+$as_echo "$fptools_cv_htype_fsblkcnt_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_FSBLKCNT_T $fptools_cv_htype_fsblkcnt_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for fsfilcnt_t" >&5+$as_echo_n "checking Haskell type for fsfilcnt_t... " >&6; }+ if ${fptools_cv_htype_fsfilcnt_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_fsfilcnt_t=yes+ if ac_fn_c_compute_int "$LINENO" "(fsfilcnt_t)0.2 - (fsfilcnt_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+fsfilcnt_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_fsfilcnt_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(fsfilcnt_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_fsfilcnt_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(fsfilcnt_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_fsfilcnt_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(fsfilcnt_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_fsfilcnt_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_fsfilcnt_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_fsfilcnt_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_fsfilcnt_t=LDouble+ else+ fptools_cv_htype_sup_fsfilcnt_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((fsfilcnt_t)(-1)) < ((fsfilcnt_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_fsfilcnt_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(fsfilcnt_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_fsfilcnt_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_fsfilcnt_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_fsfilcnt_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_fsfilcnt_t" = no+ then++ fptools_cv_htype_fsfilcnt_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_fsfilcnt_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_fsfilcnt_t" >&5+$as_echo "$fptools_cv_htype_fsfilcnt_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_FSFILCNT_T $fptools_cv_htype_fsfilcnt_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for id_t" >&5+$as_echo_n "checking Haskell type for id_t... " >&6; }+ if ${fptools_cv_htype_id_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_id_t=yes+ if ac_fn_c_compute_int "$LINENO" "(id_t)0.2 - (id_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+id_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_id_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(id_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_id_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(id_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_id_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(id_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_id_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_id_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_id_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_id_t=LDouble+ else+ fptools_cv_htype_sup_id_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((id_t)(-1)) < ((id_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_id_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(id_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_id_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_id_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_id_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_id_t" = no+ then++ fptools_cv_htype_id_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_id_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_id_t" >&5+$as_echo "$fptools_cv_htype_id_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_ID_T $fptools_cv_htype_id_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for key_t" >&5+$as_echo_n "checking Haskell type for key_t... " >&6; }+ if ${fptools_cv_htype_key_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_key_t=yes+ if ac_fn_c_compute_int "$LINENO" "(key_t)0.2 - (key_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+key_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_key_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(key_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_key_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(key_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_key_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(key_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_key_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_key_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_key_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_key_t=LDouble+ else+ fptools_cv_htype_sup_key_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((key_t)(-1)) < ((key_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_key_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(key_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_key_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_key_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_key_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_key_t" = no+ then++ fptools_cv_htype_key_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_key_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_key_t" >&5+$as_echo "$fptools_cv_htype_key_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_KEY_T $fptools_cv_htype_key_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for timer_t" >&5+$as_echo_n "checking Haskell type for timer_t... " >&6; }+ if ${fptools_cv_htype_timer_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_timer_t=yes+ if ac_fn_c_compute_int "$LINENO" "(timer_t)0.2 - (timer_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+timer_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_timer_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(timer_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_timer_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(timer_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_timer_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(timer_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_timer_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_timer_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_timer_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_timer_t=LDouble+ else+ fptools_cv_htype_sup_timer_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((timer_t)(-1)) < ((timer_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_timer_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(timer_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_timer_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_timer_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_timer_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_timer_t" = no+ then++ fptools_cv_htype_timer_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_timer_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_timer_t" >&5+$as_echo "$fptools_cv_htype_timer_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_TIMER_T $fptools_cv_htype_timer_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for socklen_t" >&5+$as_echo_n "checking Haskell type for socklen_t... " >&6; }+ if ${fptools_cv_htype_socklen_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_socklen_t=yes+ if ac_fn_c_compute_int "$LINENO" "(socklen_t)0.2 - (socklen_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+socklen_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_socklen_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(socklen_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_socklen_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(socklen_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_socklen_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(socklen_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_socklen_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_socklen_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_socklen_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_socklen_t=LDouble+ else+ fptools_cv_htype_sup_socklen_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((socklen_t)(-1)) < ((socklen_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_socklen_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(socklen_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_socklen_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_socklen_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_socklen_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_socklen_t" = no+ then++ fptools_cv_htype_socklen_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_socklen_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_socklen_t" >&5+$as_echo "$fptools_cv_htype_socklen_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_SOCKLEN_T $fptools_cv_htype_socklen_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for nfds_t" >&5+$as_echo_n "checking Haskell type for nfds_t... " >&6; }+ if ${fptools_cv_htype_nfds_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_nfds_t=yes+ if ac_fn_c_compute_int "$LINENO" "(nfds_t)0.2 - (nfds_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+nfds_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_nfds_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(nfds_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_nfds_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(nfds_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_nfds_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(nfds_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_nfds_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_nfds_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_nfds_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_nfds_t=LDouble+ else+ fptools_cv_htype_sup_nfds_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((nfds_t)(-1)) < ((nfds_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_nfds_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(nfds_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_nfds_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_nfds_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_nfds_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_nfds_t" = no+ then++ fptools_cv_htype_nfds_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_nfds_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_nfds_t" >&5+$as_echo "$fptools_cv_htype_nfds_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_NFDS_T $fptools_cv_htype_nfds_t+_ACEOF++ fi++++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for intptr_t" >&5+$as_echo_n "checking Haskell type for intptr_t... " >&6; }+ if ${fptools_cv_htype_intptr_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_intptr_t=yes+ if ac_fn_c_compute_int "$LINENO" "(intptr_t)0.2 - (intptr_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+intptr_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_intptr_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(intptr_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_intptr_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(intptr_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_intptr_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(intptr_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_intptr_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_intptr_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_intptr_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_intptr_t=LDouble+ else+ fptools_cv_htype_sup_intptr_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((intptr_t)(-1)) < ((intptr_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_intptr_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(intptr_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_intptr_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_intptr_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_intptr_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_intptr_t" = no+ then++ fptools_cv_htype_intptr_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_intptr_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_intptr_t" >&5+$as_echo "$fptools_cv_htype_intptr_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_INTPTR_T $fptools_cv_htype_intptr_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for uintptr_t" >&5+$as_echo_n "checking Haskell type for uintptr_t... " >&6; }+ if ${fptools_cv_htype_uintptr_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_uintptr_t=yes+ if ac_fn_c_compute_int "$LINENO" "(uintptr_t)0.2 - (uintptr_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+uintptr_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_uintptr_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(uintptr_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_uintptr_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(uintptr_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_uintptr_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(uintptr_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_uintptr_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_uintptr_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_uintptr_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_uintptr_t=LDouble+ else+ fptools_cv_htype_sup_uintptr_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((uintptr_t)(-1)) < ((uintptr_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_uintptr_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(uintptr_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_uintptr_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_uintptr_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_uintptr_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_uintptr_t" = no+ then++ fptools_cv_htype_uintptr_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_uintptr_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_uintptr_t" >&5+$as_echo "$fptools_cv_htype_uintptr_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_UINTPTR_T $fptools_cv_htype_uintptr_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for intmax_t" >&5+$as_echo_n "checking Haskell type for intmax_t... " >&6; }+ if ${fptools_cv_htype_intmax_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_intmax_t=yes+ if ac_fn_c_compute_int "$LINENO" "(intmax_t)0.2 - (intmax_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+intmax_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_intmax_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(intmax_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_intmax_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(intmax_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_intmax_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(intmax_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_intmax_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_intmax_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_intmax_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_intmax_t=LDouble+ else+ fptools_cv_htype_sup_intmax_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((intmax_t)(-1)) < ((intmax_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_intmax_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(intmax_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_intmax_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_intmax_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_intmax_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_intmax_t" = no+ then++ fptools_cv_htype_intmax_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_intmax_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_intmax_t" >&5+$as_echo "$fptools_cv_htype_intmax_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_INTMAX_T $fptools_cv_htype_intmax_t+_ACEOF++ fi+++++++++++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Haskell type for uintmax_t" >&5+$as_echo_n "checking Haskell type for uintmax_t... " >&6; }+ if ${fptools_cv_htype_uintmax_t+:} false; then :+ $as_echo_n "(cached) " >&6+else++ fptools_cv_htype_sup_uintmax_t=yes+ if ac_fn_c_compute_int "$LINENO" "(uintmax_t)0.2 - (uintmax_t)0.4 < 0 ? 0 : 1" "HTYPE_IS_INTEGRAL" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ HTYPE_IS_INTEGRAL=0+fi+++ if test "$HTYPE_IS_INTEGRAL" -eq 0+ then+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>++int+main ()+{+uintmax_t val; memset(val, 0, 0);++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ HTYPE_IS_POINTER=yes+else+ HTYPE_IS_POINTER=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++ if test "$HTYPE_IS_POINTER" = yes+ then+ fptools_cv_htype_uintmax_t="CUIntPtr"+ else+ if ac_fn_c_compute_int "$LINENO" "sizeof(uintmax_t) == sizeof(float)" "HTYPE_IS_FLOAT" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_uintmax_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(uintmax_t) == sizeof(double)" "HTYPE_IS_DOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_uintmax_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(uintmax_t) == sizeof(long double)" "HTYPE_IS_LDOUBLE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_uintmax_t=no+fi++ if test "$HTYPE_IS_FLOAT" -eq 1+ then+ fptools_cv_htype_uintmax_t=Float+ elif test "$HTYPE_IS_DOUBLE" -eq 1+ then+ fptools_cv_htype_uintmax_t=Double+ elif test "$HTYPE_IS_LDOUBLE" -eq 1+ then+ fptools_cv_htype_uintmax_t=LDouble+ else+ fptools_cv_htype_sup_uintmax_t=no+ fi+ fi+ else+ if ac_fn_c_compute_int "$LINENO" "((uintmax_t)(-1)) < ((uintmax_t)0)" "HTYPE_IS_SIGNED" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_uintmax_t=no+fi++ if ac_fn_c_compute_int "$LINENO" "sizeof(uintmax_t) * 8" "HTYPE_SIZE" "+#include <stdbool.h>+#include <stdio.h>+#include <stddef.h>++#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif++#if HAVE_UNISTD_H+# include <unistd.h>+#endif++#if HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif++#if HAVE_FCNTL_H+# include <fcntl.h>+#endif++#if HAVE_SIGNAL_H+# include <signal.h>+#endif++#if HAVE_TIME_H+# include <time.h>+#endif++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if HAVE_POLL_H+# include <poll.h>+#endif++#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif++#include <stdlib.h>+"; then :++else+ fptools_cv_htype_sup_uintmax_t=no+fi++ if test "$HTYPE_IS_SIGNED" -eq 0+ then+ fptools_cv_htype_uintmax_t="Word$HTYPE_SIZE"+ else+ fptools_cv_htype_uintmax_t="Int$HTYPE_SIZE"+ fi+ fi++fi++ if test "$fptools_cv_htype_sup_uintmax_t" = no+ then++ fptools_cv_htype_uintmax_t=NotReallyAType+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5+$as_echo "not supported" >&6; }++ fi++ if test "$fptools_cv_htype_sup_uintmax_t" = yes; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fptools_cv_htype_uintmax_t" >&5+$as_echo "$fptools_cv_htype_uintmax_t" >&6; }++cat >>confdefs.h <<_ACEOF+#define HTYPE_UINTMAX_T $fptools_cv_htype_uintmax_t+_ACEOF++ fi++++# test errno values+for fp_const_name in E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EADV EAFNOSUPPORT EAGAIN EALREADY EBADF EBADMSG EBADRPC EBUSY ECHILD ECOMM ECONNABORTED ECONNREFUSED ECONNRESET EDEADLK EDESTADDRREQ EDIRTY EDOM EDQUOT EEXIST EFAULT EFBIG EFTYPE EHOSTDOWN EHOSTUNREACH EIDRM EILSEQ EINPROGRESS EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK EMSGSIZE EMULTIHOP ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH ENFILE ENOBUFS ENODATA ENODEV ENOENT ENOEXEC ENOLCK ENOLINK ENOMEM ENOMSG ENONET ENOPROTOOPT ENOSPC ENOSR ENOSTR ENOSYS ENOTBLK ENOTCONN ENOTDIR ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM EPFNOSUPPORT EPIPE EPROCLIM EPROCUNAVAIL EPROGMISMATCH EPROGUNAVAIL EPROTO EPROTONOSUPPORT EPROTOTYPE ERANGE EREMCHG EREMOTE EROFS ERPCMISMATCH ERREMOTE ESHUTDOWN ESOCKTNOSUPPORT ESPIPE ESRCH ESRMNT ESTALE ETIME ETIMEDOUT ETOOMANYREFS ETXTBSY EUSERS EWOULDBLOCK EXDEV ENOCIGAR ENOTSUP+do+as_fp_Cache=`$as_echo "fp_cv_const_$fp_const_name" | $as_tr_sh`+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking value of $fp_const_name" >&5+$as_echo_n "checking value of $fp_const_name... " >&6; }+if eval \${$as_fp_Cache+:} false; then :+ $as_echo_n "(cached) " >&6+else+ if ac_fn_c_compute_int "$LINENO" "$fp_const_name" "fp_check_const_result" "#include <stdio.h>+#include <errno.h>+"; then :++else+ fp_check_const_result='-1'+fi++eval "$as_fp_Cache=\$fp_check_const_result"+fi+eval ac_res=\$$as_fp_Cache+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5+$as_echo "$ac_res" >&6; }+cat >>confdefs.h <<_ACEOF+#define `$as_echo "CONST_$fp_const_name" | $as_tr_cpp` `eval 'as_val=${'$as_fp_Cache'};$as_echo "$as_val"'`+_ACEOF++done+++# we need SIGINT in TopHandler.lhs+for fp_const_name in SIGINT+do+as_fp_Cache=`$as_echo "fp_cv_const_$fp_const_name" | $as_tr_sh`+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking value of $fp_const_name" >&5+$as_echo_n "checking value of $fp_const_name... " >&6; }+if eval \${$as_fp_Cache+:} false; then :+ $as_echo_n "(cached) " >&6+else+ if ac_fn_c_compute_int "$LINENO" "$fp_const_name" "fp_check_const_result" "+#if HAVE_SIGNAL_H+#include <signal.h>+#endif+"; then :++else+ fp_check_const_result='-1'+fi++eval "$as_fp_Cache=\$fp_check_const_result"+fi+eval ac_res=\$$as_fp_Cache+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5+$as_echo "$ac_res" >&6; }+cat >>confdefs.h <<_ACEOF+#define `$as_echo "CONST_$fp_const_name" | $as_tr_cpp` `eval 'as_val=${'$as_fp_Cache'};$as_echo "$as_val"'`+_ACEOF++done+++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking value of O_BINARY" >&5+$as_echo_n "checking value of O_BINARY... " >&6; }+if ${fp_cv_const_O_BINARY+:} false; then :+ $as_echo_n "(cached) " >&6+else+ if ac_fn_c_compute_int "$LINENO" "O_BINARY" "fp_check_const_result" "#include <fcntl.h>+"; then :++else+ fp_check_const_result=0+fi++fp_cv_const_O_BINARY=$fp_check_const_result+fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $fp_cv_const_O_BINARY" >&5+$as_echo "$fp_cv_const_O_BINARY" >&6; }+cat >>confdefs.h <<_ACEOF+#define CONST_O_BINARY $fp_cv_const_O_BINARY+_ACEOF++++ ac_fn_c_check_decl "$LINENO" "environ" "ac_cv_have_decl_environ" "+ #include <stdlib.h>+ #include <unistd.h>++"+if test "x$ac_cv_have_decl_environ" = xyes; then :+ ac_have_decl=1+else+ ac_have_decl=0+fi++cat >>confdefs.h <<_ACEOF+#define HAVE_DECL_ENVIRON $ac_have_decl+_ACEOF++++# We don't use iconv or libcharset on Windows, but if configure finds+# them then it can cause problems. So we don't even try looking if+# we are on Windows.+# See http://www.haskell.org/pipermail/cvs-ghc/2011-September/065980.html+if test "$WINDOWS" = "NO"+then++# We can't just use AC_SEARCH_LIBS for this, as on OpenBSD the iconv.h+# header needs to be included as iconv_open is #define'd to something+# else. We therefore use our own FP_SEARCH_LIBS_PROTO, which allows us+# to give prototype text.+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing iconv" >&5+$as_echo_n "checking for library containing iconv... " >&6; }+if ${ac_cv_search_iconv+:} false; then :+ $as_echo_n "(cached) " >&6+else+ ac_func_search_save_LIBS=$LIBS+cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++#include <stddef.h>+#include <iconv.h>++int+main ()+{+iconv_t cd;+ cd = iconv_open("", "");+ iconv(cd,NULL,NULL,NULL,NULL);+ iconv_close(cd);+ ;+ return 0;+}+_ACEOF+for ac_lib in '' iconv; do+ if test -z "$ac_lib"; then+ ac_res="none required"+ else+ ac_res=-l$ac_lib+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"+ fi+ if ac_fn_c_try_link "$LINENO"; then :+ ac_cv_search_iconv=$ac_res+fi+rm -f core conftest.err conftest.$ac_objext \+ conftest$ac_exeext+ if ${ac_cv_search_iconv+:} false; then :+ break+fi+done+if ${ac_cv_search_iconv+:} false; then :++else+ ac_cv_search_iconv=no+fi+rm conftest.$ac_ext+LIBS=$ac_func_search_save_LIBS+fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_iconv" >&5+$as_echo "$ac_cv_search_iconv" >&6; }+ac_res=$ac_cv_search_iconv+if test "$ac_res" != no; then :+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"+ EXTRA_LIBS="$EXTRA_LIBS $ac_lib"+else+ as_fn_error $? "iconv is required on non-Windows platforms" "$LINENO" 5+fi++# If possible, we use libcharset instead of nl_langinfo(CODESET) to+# determine the current locale's character encoding. Allow the user+# to disable this with --without-libcharset if they don't want a+# dependency on libcharset.++# Check whether --with-libcharset was given.+if test "${with_libcharset+set}" = set; then :+ withval=$with_libcharset;+else+ with_libcharset=check+fi+++if test "x$with_libcharset" != xno; then :+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing locale_charset" >&5+$as_echo_n "checking for library containing locale_charset... " >&6; }+if ${ac_cv_search_locale_charset+:} false; then :+ $as_echo_n "(cached) " >&6+else+ ac_func_search_save_LIBS=$LIBS+cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <libcharset.h>+int+main ()+{+const char* charset = locale_charset();+ ;+ return 0;+}+_ACEOF+for ac_lib in '' charset; do+ if test -z "$ac_lib"; then+ ac_res="none required"+ else+ ac_res=-l$ac_lib+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"+ fi+ if ac_fn_c_try_link "$LINENO"; then :+ ac_cv_search_locale_charset=$ac_res+fi+rm -f core conftest.err conftest.$ac_objext \+ conftest$ac_exeext+ if ${ac_cv_search_locale_charset+:} false; then :+ break+fi+done+if ${ac_cv_search_locale_charset+:} false; then :++else+ ac_cv_search_locale_charset=no+fi+rm conftest.$ac_ext+LIBS=$ac_func_search_save_LIBS+fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_locale_charset" >&5+$as_echo "$ac_cv_search_locale_charset" >&6; }+ac_res=$ac_cv_search_locale_charset+if test "$ac_res" != no; then :+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"++$as_echo "#define HAVE_LIBCHARSET 1" >>confdefs.h++ EXTRA_LIBS="$EXTRA_LIBS $ac_lib"++fi+fi++fi++ac_fn_c_check_type "$LINENO" "struct MD5Context" "ac_cv_type_struct_MD5Context" "#include \"include/md5.h\"+"+if test "x$ac_cv_type_struct_MD5Context" = xyes; then :++else+ as_fn_error $? "internal error" "$LINENO" 5+fi++# The cast to long int works around a bug in the HP C Compiler+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.+# This bug is HP SR number 8606223364.+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of struct MD5Context" >&5+$as_echo_n "checking size of struct MD5Context... " >&6; }+if ${ac_cv_sizeof_struct_MD5Context+:} false; then :+ $as_echo_n "(cached) " >&6+else+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (struct MD5Context))" "ac_cv_sizeof_struct_MD5Context" "#include \"include/md5.h\"+"; then :++else+ if test "$ac_cv_type_struct_MD5Context" = yes; then+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}+as_fn_error 77 "cannot compute sizeof (struct MD5Context)+See \`config.log' for more details" "$LINENO" 5; }+ else+ ac_cv_sizeof_struct_MD5Context=0+ fi+fi++fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_struct_MD5Context" >&5+$as_echo "$ac_cv_sizeof_struct_MD5Context" >&6; }++++cat >>confdefs.h <<_ACEOF+#define SIZEOF_STRUCT_MD5CONTEXT $ac_cv_sizeof_struct_MD5Context+_ACEOF+++++ac_config_files="$ac_config_files base.buildinfo"+++cat >confcache <<\_ACEOF+# This file is a shell script that caches the results of configure+# tests run on this system so they can be shared between configure+# scripts and configure runs, see configure's option --config-cache.+# It is not useful on other systems. If it contains results you don't+# want to keep, you may remove or edit it.+#+# config.status only pays attention to the cache file if you give it+# the --recheck option to rerun configure.+#+# `ac_cv_env_foo' variables (set or unset) will be overridden when+# loading this file, other *unset* `ac_cv_foo' will be assigned the+# following values.++_ACEOF++# The following way of writing the cache mishandles newlines in values,+# but we know of no workaround that is simple, portable, and efficient.+# So, we kill variables containing newlines.+# Ultrix sh set writes to stderr and can't be redirected directly,+# and sets the high bit in the cache file unless we assign to the vars.+(+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do+ eval ac_val=\$$ac_var+ case $ac_val in #(+ *${as_nl}*)+ case $ac_var in #(+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;+ esac+ case $ac_var in #(+ _ | IFS | as_nl) ;; #(+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(+ *) { eval $ac_var=; unset $ac_var;} ;;+ esac ;;+ esac+ done++ (set) 2>&1 |+ case $as_nl`(ac_space=' '; set) 2>&1` in #(+ *${as_nl}ac_space=\ *)+ # `set' does not quote correctly, so add quotes: double-quote+ # substitution turns \\\\ into \\, and sed turns \\ into \.+ sed -n \+ "s/'/'\\\\''/g;+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"+ ;; #(+ *)+ # `set' quotes correctly as required by POSIX, so do not add quotes.+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"+ ;;+ esac |+ sort+) |+ sed '+ /^ac_cv_env_/b end+ t clear+ :clear+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/+ t end+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/+ :end' >>confcache+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else+ if test -w "$cache_file"; then+ if test "x$cache_file" != "x/dev/null"; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5+$as_echo "$as_me: updating cache $cache_file" >&6;}+ if test ! -f "$cache_file" || test -h "$cache_file"; then+ cat confcache >"$cache_file"+ else+ case $cache_file in #(+ */* | ?:*)+ mv -f confcache "$cache_file"$$ &&+ mv -f "$cache_file"$$ "$cache_file" ;; #(+ *)+ mv -f confcache "$cache_file" ;;+ esac+ fi+ fi+ else+ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}+ fi+fi+rm -f confcache++test "x$prefix" = xNONE && prefix=$ac_default_prefix+# Let make expand exec_prefix.+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'++DEFS=-DHAVE_CONFIG_H++ac_libobjs=+ac_ltlibobjs=+U=+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue+ # 1. Remove the extension, and $U if already installed.+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"`+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR+ # will be set to the directory where LIBOBJS objects are built.+ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"+ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'+done+LIBOBJS=$ac_libobjs++LTLIBOBJS=$ac_ltlibobjs++++: "${CONFIG_STATUS=./config.status}"+ac_write_fail=0+ac_clean_files_save=$ac_clean_files+ac_clean_files="$ac_clean_files $CONFIG_STATUS"+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}+as_write_fail=0+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1+#! $SHELL+# Generated by $as_me.+# Run this file to recreate the current configuration.+# Compiler output produced by configure, useful for debugging+# configure, is in config.log if it exists.++debug=false+ac_cs_recheck=false+ac_cs_silent=false++SHELL=\${CONFIG_SHELL-$SHELL}+export SHELL+_ASEOF+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1+## -------------------- ##+## M4sh Initialization. ##+## -------------------- ##++# Be more Bourne compatible+DUALCASE=1; export DUALCASE # for MKS sh+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :+ emulate sh+ NULLCMD=:+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which+ # is contrary to our usage. Disable this feature.+ alias -g '${1+"$@"}'='"$@"'+ setopt NO_GLOB_SUBST+else+ case `(set -o) 2>/dev/null` in #(+ *posix*) :+ set -o posix ;; #(+ *) :+ ;;+esac+fi+++as_nl='+'+export as_nl+# Printing a long string crashes Solaris 7 /usr/bin/printf.+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo+# Prefer a ksh shell builtin over an external printf program on Solaris,+# but without wasting forks for bash or zsh.+if test -z "$BASH_VERSION$ZSH_VERSION" \+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then+ as_echo='print -r --'+ as_echo_n='print -rn --'+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then+ as_echo='printf %s\n'+ as_echo_n='printf %s'+else+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'+ as_echo_n='/usr/ucb/echo -n'+ else+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'+ as_echo_n_body='eval+ arg=$1;+ case $arg in #(+ *"$as_nl"*)+ expr "X$arg" : "X\\(.*\\)$as_nl";+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;+ esac;+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"+ '+ export as_echo_n_body+ as_echo_n='sh -c $as_echo_n_body as_echo'+ fi+ export as_echo_body+ as_echo='sh -c $as_echo_body as_echo'+fi++# The user is always right.+if test "${PATH_SEPARATOR+set}" != set; then+ PATH_SEPARATOR=:+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||+ PATH_SEPARATOR=';'+ }+fi+++# IFS+# We need space, tab and new line, in precisely that order. Quoting is+# there to prevent editors from complaining about space-tab.+# (If _AS_PATH_WALK were called with IFS unset, it would disable word+# splitting by setting IFS to empty value.)+IFS=" "" $as_nl"++# Find who we are. Look in the path if we contain no directory separator.+as_myself=+case $0 in #((+ *[\\/]* ) as_myself=$0 ;;+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR+for as_dir in $PATH+do+ IFS=$as_save_IFS+ test -z "$as_dir" && as_dir=.+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break+ done+IFS=$as_save_IFS++ ;;+esac+# We did not find ourselves, most probably we were run as `sh COMMAND'+# in which case we are not to be found in the path.+if test "x$as_myself" = x; then+ as_myself=$0+fi+if test ! -f "$as_myself"; then+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2+ exit 1+fi++# Unset variables that we do not need and which cause bugs (e.g. in+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"+# suppresses any "Segmentation fault" message there. '((' could+# trigger a bug in pdksh 5.2.14.+for as_var in BASH_ENV ENV MAIL MAILPATH+do eval test x\${$as_var+set} = xset \+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :+done+PS1='$ '+PS2='> '+PS4='+ '++# NLS nuisances.+LC_ALL=C+export LC_ALL+LANGUAGE=C+export LANGUAGE++# CDPATH.+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH+++# as_fn_error STATUS ERROR [LINENO LOG_FD]+# ----------------------------------------+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the+# script with STATUS, using 1 if that was 0.+as_fn_error ()+{+ as_status=$1; test $as_status -eq 0 && as_status=1+ if test "$4"; then+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4+ fi+ $as_echo "$as_me: error: $2" >&2+ as_fn_exit $as_status+} # as_fn_error+++# as_fn_set_status STATUS+# -----------------------+# Set $? to STATUS, without forking.+as_fn_set_status ()+{+ return $1+} # as_fn_set_status++# as_fn_exit STATUS+# -----------------+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.+as_fn_exit ()+{+ set +e+ as_fn_set_status $1+ exit $1+} # as_fn_exit++# as_fn_unset VAR+# ---------------+# Portably unset VAR.+as_fn_unset ()+{+ { eval $1=; unset $1;}+}+as_unset=as_fn_unset+# as_fn_append VAR VALUE+# ----------------------+# Append the text in VALUE to the end of the definition contained in VAR. Take+# advantage of any shell optimizations that allow amortized linear growth over+# repeated appends, instead of the typical quadratic growth present in naive+# implementations.+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :+ eval 'as_fn_append ()+ {+ eval $1+=\$2+ }'+else+ as_fn_append ()+ {+ eval $1=\$$1\$2+ }+fi # as_fn_append++# as_fn_arith ARG...+# ------------------+# Perform arithmetic evaluation on the ARGs, and store the result in the+# global $as_val. Take advantage of shells that can avoid forks. The arguments+# must be portable across $(()) and expr.+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :+ eval 'as_fn_arith ()+ {+ as_val=$(( $* ))+ }'+else+ as_fn_arith ()+ {+ as_val=`expr "$@" || test $? -eq 1`+ }+fi # as_fn_arith+++if expr a : '\(a\)' >/dev/null 2>&1 &&+ test "X`expr 00001 : '.*\(...\)'`" = X001; then+ as_expr=expr+else+ as_expr=false+fi++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then+ as_basename=basename+else+ as_basename=false+fi++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then+ as_dirname=dirname+else+ as_dirname=false+fi++as_me=`$as_basename -- "$0" ||+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \+ X"$0" : 'X\(//\)$' \| \+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||+$as_echo X/"$0" |+ sed '/^.*\/\([^/][^/]*\)\/*$/{+ s//\1/+ q+ }+ /^X\/\(\/\/\)$/{+ s//\1/+ q+ }+ /^X\/\(\/\).*/{+ s//\1/+ q+ }+ s/.*/./; q'`++# Avoid depending upon Character Ranges.+as_cr_letters='abcdefghijklmnopqrstuvwxyz'+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'+as_cr_Letters=$as_cr_letters$as_cr_LETTERS+as_cr_digits='0123456789'+as_cr_alnum=$as_cr_Letters$as_cr_digits++ECHO_C= ECHO_N= ECHO_T=+case `echo -n x` in #(((((+-n*)+ case `echo 'xy\c'` in+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.+ xy) ECHO_C='\c';;+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null+ ECHO_T=' ';;+ esac;;+*)+ ECHO_N='-n';;+esac++rm -f conf$$ conf$$.exe conf$$.file+if test -d conf$$.dir; then+ rm -f conf$$.dir/conf$$.file+else+ rm -f conf$$.dir+ mkdir conf$$.dir 2>/dev/null+fi+if (echo >conf$$.file) 2>/dev/null; then+ if ln -s conf$$.file conf$$ 2>/dev/null; then+ as_ln_s='ln -s'+ # ... but there are two gotchas:+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.+ # In both cases, we have to default to `cp -pR'.+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||+ as_ln_s='cp -pR'+ elif ln conf$$.file conf$$ 2>/dev/null; then+ as_ln_s=ln+ else+ as_ln_s='cp -pR'+ fi+else+ as_ln_s='cp -pR'+fi+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file+rmdir conf$$.dir 2>/dev/null+++# as_fn_mkdir_p+# -------------+# Create "$as_dir" as a directory, including parents if necessary.+as_fn_mkdir_p ()+{++ case $as_dir in #(+ -*) as_dir=./$as_dir;;+ esac+ test -d "$as_dir" || eval $as_mkdir_p || {+ as_dirs=+ while :; do+ case $as_dir in #(+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(+ *) as_qdir=$as_dir;;+ esac+ as_dirs="'$as_qdir' $as_dirs"+ as_dir=`$as_dirname -- "$as_dir" ||+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \+ X"$as_dir" : 'X\(//\)[^/]' \| \+ X"$as_dir" : 'X\(//\)$' \| \+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||+$as_echo X"$as_dir" |+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{+ s//\1/+ q+ }+ /^X\(\/\/\)[^/].*/{+ s//\1/+ q+ }+ /^X\(\/\/\)$/{+ s//\1/+ q+ }+ /^X\(\/\).*/{+ s//\1/+ q+ }+ s/.*/./; q'`+ test -d "$as_dir" && break+ done+ test -z "$as_dirs" || eval "mkdir $as_dirs"+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"+++} # as_fn_mkdir_p+if mkdir -p . 2>/dev/null; then+ as_mkdir_p='mkdir -p "$as_dir"'+else+ test -d ./-p && rmdir ./-p+ as_mkdir_p=false+fi+++# as_fn_executable_p FILE+# -----------------------+# Test if FILE is an executable regular file.+as_fn_executable_p ()+{+ test -f "$1" && test -x "$1"+} # as_fn_executable_p+as_test_x='test -x'+as_executable_p=as_fn_executable_p++# Sed expression to map a string onto a valid CPP name.+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"++# Sed expression to map a string onto a valid variable name.+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"+++exec 6>&1+## ----------------------------------- ##+## Main body of $CONFIG_STATUS script. ##+## ----------------------------------- ##+_ASEOF+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1+# Save the log message, to keep $0 and so on meaningful, and to+# report actual input values of CONFIG_FILES etc. instead of their+# values after options handling.+ac_log="+This file was extended by Haskell base package $as_me 1.0, which was+generated by GNU Autoconf 2.69. Invocation command line was++ CONFIG_FILES = $CONFIG_FILES+ CONFIG_HEADERS = $CONFIG_HEADERS+ CONFIG_LINKS = $CONFIG_LINKS+ CONFIG_COMMANDS = $CONFIG_COMMANDS+ $ $0 $@++on `(hostname || uname -n) 2>/dev/null | sed 1q`+"++_ACEOF++case $ac_config_files in *"+"*) set x $ac_config_files; shift; ac_config_files=$*;;+esac++case $ac_config_headers in *"+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;+esac+++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1+# Files that config.status was made for.+config_files="$ac_config_files"+config_headers="$ac_config_headers"++_ACEOF++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1+ac_cs_usage="\+\`$as_me' instantiates files and other configuration actions+from templates according to the current configuration. Unless the files+and actions are specified as TAGs, all are instantiated by default.++Usage: $0 [OPTION]... [TAG]...++ -h, --help print this help, then exit+ -V, --version print version number and configuration settings, then exit+ --config print configuration, then exit+ -q, --quiet, --silent+ do not print progress messages+ -d, --debug don't remove temporary files+ --recheck update $as_me by reconfiguring in the same conditions+ --file=FILE[:TEMPLATE]+ instantiate the configuration file FILE+ --header=FILE[:TEMPLATE]+ instantiate the configuration header FILE++Configuration files:+$config_files++Configuration headers:+$config_headers++Report bugs to <libraries@haskell.org>."++_ACEOF+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"+ac_cs_version="\\+Haskell base package config.status 1.0+configured by $0, generated by GNU Autoconf 2.69,+ with options \\"\$ac_cs_config\\"++Copyright (C) 2012 Free Software Foundation, Inc.+This config.status script is free software; the Free Software Foundation+gives unlimited permission to copy, distribute and modify it."++ac_pwd='$ac_pwd'+srcdir='$srcdir'+test -n "\$AWK" || AWK=awk+_ACEOF++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1+# The default lists apply if the user does not specify any file.+ac_need_defaults=:+while test $# != 0+do+ case $1 in+ --*=?*)+ ac_option=`expr "X$1" : 'X\([^=]*\)='`+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`+ ac_shift=:+ ;;+ --*=)+ ac_option=`expr "X$1" : 'X\([^=]*\)='`+ ac_optarg=+ ac_shift=:+ ;;+ *)+ ac_option=$1+ ac_optarg=$2+ ac_shift=shift+ ;;+ esac++ case $ac_option in+ # Handling of the options.+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)+ ac_cs_recheck=: ;;+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )+ $as_echo "$ac_cs_version"; exit ;;+ --config | --confi | --conf | --con | --co | --c )+ $as_echo "$ac_cs_config"; exit ;;+ --debug | --debu | --deb | --de | --d | -d )+ debug=: ;;+ --file | --fil | --fi | --f )+ $ac_shift+ case $ac_optarg in+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;+ '') as_fn_error $? "missing file argument" ;;+ esac+ as_fn_append CONFIG_FILES " '$ac_optarg'"+ ac_need_defaults=false;;+ --header | --heade | --head | --hea )+ $ac_shift+ case $ac_optarg in+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;+ esac+ as_fn_append CONFIG_HEADERS " '$ac_optarg'"+ ac_need_defaults=false;;+ --he | --h)+ # Conflict between --help and --header+ as_fn_error $? "ambiguous option: \`$1'+Try \`$0 --help' for more information.";;+ --help | --hel | -h )+ $as_echo "$ac_cs_usage"; exit ;;+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \+ | -silent | --silent | --silen | --sile | --sil | --si | --s)+ ac_cs_silent=: ;;++ # This is an error.+ -*) as_fn_error $? "unrecognized option: \`$1'+Try \`$0 --help' for more information." ;;++ *) as_fn_append ac_config_targets " $1"+ ac_need_defaults=false ;;++ esac+ shift+done++ac_configure_extra_args=++if $ac_cs_silent; then+ exec 6>/dev/null+ ac_configure_extra_args="$ac_configure_extra_args --silent"+fi++_ACEOF+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1+if \$ac_cs_recheck; then+ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion+ shift+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6+ CONFIG_SHELL='$SHELL'+ export CONFIG_SHELL+ exec "\$@"+fi++_ACEOF+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1+exec 5>>config.log+{+ echo+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX+## Running $as_me. ##+_ASBOX+ $as_echo "$ac_log"+} >&5++_ACEOF+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1+_ACEOF++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1++# Handling of arguments.+for ac_config_target in $ac_config_targets+do+ case $ac_config_target in+ "include/HsBaseConfig.h") CONFIG_HEADERS="$CONFIG_HEADERS include/HsBaseConfig.h" ;;+ "include/EventConfig.h") CONFIG_HEADERS="$CONFIG_HEADERS include/EventConfig.h" ;;+ "base.buildinfo") CONFIG_FILES="$CONFIG_FILES base.buildinfo" ;;++ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;+ esac+done+++# If the user did not use the arguments to specify the items to instantiate,+# then the envvar interface is used. Set only those that are not.+# We use the long form for the default assignment because of an extremely+# bizarre bug on SunOS 4.1.3.+if $ac_need_defaults; then+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers+fi++# Have a temporary directory for convenience. Make it in the build tree+# simply because there is no reason against having it here, and in addition,+# creating and moving files from /tmp can sometimes cause problems.+# Hook for its removal unless debugging.+# Note that there is a small window in which the directory will not be cleaned:+# after its creation but before its name has been assigned to `$tmp'.+$debug ||+{+ tmp= ac_tmp=+ trap 'exit_status=$?+ : "${ac_tmp:=$tmp}"+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status+' 0+ trap 'as_fn_exit 1' 1 2 13 15+}+# Create a (secure) tmp directory for tmp files.++{+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&+ test -d "$tmp"+} ||+{+ tmp=./conf$$-$RANDOM+ (umask 077 && mkdir "$tmp")+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5+ac_tmp=$tmp++# Set up the scripts for CONFIG_FILES section.+# No need to generate them if there are no CONFIG_FILES.+# This happens for instance with `./config.status config.h'.+if test -n "$CONFIG_FILES"; then+++ac_cr=`echo X | tr X '\015'`+# On cygwin, bash can eat \r inside `` if the user requested igncr.+# But we know of no other shell where ac_cr would be empty at this+# point, so we can use a bashism as a fallback.+if test "x$ac_cr" = x; then+ eval ac_cr=\$\'\\r\'+fi+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then+ ac_cs_awk_cr='\\r'+else+ ac_cs_awk_cr=$ac_cr+fi++echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&+_ACEOF+++{+ echo "cat >conf$$subs.awk <<_ACEOF" &&+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&+ echo "_ACEOF"+} >conf$$subs.sh ||+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`+ac_delim='%!_!# '+for ac_last_try in false false false false false :; do+ . ./conf$$subs.sh ||+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5++ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`+ if test $ac_delim_n = $ac_delim_num; then+ break+ elif $ac_last_try; then+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5+ else+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "+ fi+done+rm -f conf$$subs.sh++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&+_ACEOF+sed -n '+h+s/^/S["/; s/!.*/"]=/+p+g+s/^[^!]*!//+:repl+t repl+s/'"$ac_delim"'$//+t delim+:nl+h+s/\(.\{148\}\)..*/\1/+t more1+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/+p+n+b repl+:more1+s/["\\]/\\&/g; s/^/"/; s/$/"\\/+p+g+s/.\{148\}//+t nl+:delim+h+s/\(.\{148\}\)..*/\1/+t more2+s/["\\]/\\&/g; s/^/"/; s/$/"/+p+b+:more2+s/["\\]/\\&/g; s/^/"/; s/$/"\\/+p+g+s/.\{148\}//+t delim+' <conf$$subs.awk | sed '+/^[^""]/{+ N+ s/\n//+}+' >>$CONFIG_STATUS || ac_write_fail=1+rm -f conf$$subs.awk+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1+_ACAWK+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&+ for (key in S) S_is_set[key] = 1+ FS = ""++}+{+ line = $ 0+ nfields = split(line, field, "@")+ substed = 0+ len = length(field[1])+ for (i = 2; i < nfields; i++) {+ key = field[i]+ keylen = length(key)+ if (S_is_set[key]) {+ value = S[key]+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)+ len += length(value) + length(field[++i])+ substed = 1+ } else+ len += 1 + keylen+ }++ print line+}++_ACAWK+_ACEOF+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"+else+ cat+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5+_ACEOF++# VPATH may cause trouble with some makes, so we remove sole $(srcdir),+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and+# trailing colons and then remove the whole line if VPATH becomes empty+# (actually we leave an empty line to preserve line numbers).+if test "x$srcdir" = x.; then+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{+h+s///+s/^/:/+s/[ ]*$/:/+s/:\$(srcdir):/:/g+s/:\${srcdir}:/:/g+s/:@srcdir@:/:/g+s/^:*//+s/:*$//+x+s/\(=[ ]*\).*/\1/+G+s/\n//+s/^[^=]*=[ ]*$//+}'+fi++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1+fi # test -n "$CONFIG_FILES"++# Set up the scripts for CONFIG_HEADERS section.+# No need to generate them if there are no CONFIG_HEADERS.+# This happens for instance with `./config.status Makefile'.+if test -n "$CONFIG_HEADERS"; then+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||+BEGIN {+_ACEOF++# Transform confdefs.h into an awk script `defines.awk', embedded as+# here-document in config.status, that substitutes the proper values into+# config.h.in to produce config.h.++# Create a delimiter string that does not exist in confdefs.h, to ease+# handling of long lines.+ac_delim='%!_!# '+for ac_last_try in false false :; do+ ac_tt=`sed -n "/$ac_delim/p" confdefs.h`+ if test -z "$ac_tt"; then+ break+ elif $ac_last_try; then+ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5+ else+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "+ fi+done++# For the awk script, D is an array of macro values keyed by name,+# likewise P contains macro parameters if any. Preserve backslash+# newline sequences.++ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*+sed -n '+s/.\{148\}/&'"$ac_delim"'/g+t rset+:rset+s/^[ ]*#[ ]*define[ ][ ]*/ /+t def+d+:def+s/\\$//+t bsnl+s/["\\]/\\&/g+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\+D["\1"]=" \3"/p+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p+d+:bsnl+s/["\\]/\\&/g+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\+D["\1"]=" \3\\\\\\n"\\/p+t cont+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p+t cont+d+:cont+n+s/.\{148\}/&'"$ac_delim"'/g+t clear+:clear+s/\\$//+t bsnlc+s/["\\]/\\&/g; s/^/"/; s/$/"/p+d+:bsnlc+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p+b cont+' <confdefs.h | sed '+s/'"$ac_delim"'/"\\\+"/g' >>$CONFIG_STATUS || ac_write_fail=1++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1+ for (key in D) D_is_set[key] = 1+ FS = ""+}+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {+ line = \$ 0+ split(line, arg, " ")+ if (arg[1] == "#") {+ defundef = arg[2]+ mac1 = arg[3]+ } else {+ defundef = substr(arg[1], 2)+ mac1 = arg[2]+ }+ split(mac1, mac2, "(") #)+ macro = mac2[1]+ prefix = substr(line, 1, index(line, defundef) - 1)+ if (D_is_set[macro]) {+ # Preserve the white space surrounding the "#".+ print prefix "define", macro P[macro] D[macro]+ next+ } else {+ # Replace #undef with comments. This is necessary, for example,+ # in the case of _POSIX_SOURCE, which is predefined and required+ # on some systems where configure will not decide to define it.+ if (defundef == "undef") {+ print "/*", prefix defundef, macro, "*/"+ next+ }+ }+}+{ print }+_ACAWK+_ACEOF+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1+ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5+fi # test -n "$CONFIG_HEADERS"+++eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS "+shift+for ac_tag+do+ case $ac_tag in+ :[FHLC]) ac_mode=$ac_tag; continue;;+ esac+ case $ac_mode$ac_tag in+ :[FHL]*:*);;+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;+ :[FH]-) ac_tag=-:-;;+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;+ esac+ ac_save_IFS=$IFS+ IFS=:+ set x $ac_tag+ IFS=$ac_save_IFS+ shift+ ac_file=$1+ shift++ case $ac_mode in+ :L) ac_source=$1;;+ :[FH])+ ac_file_inputs=+ for ac_f+ do+ case $ac_f in+ -) ac_f="$ac_tmp/stdin";;+ *) # Look for the file first in the build tree, then in the source tree+ # (if the path is not absolute). The absolute path cannot be DOS-style,+ # because $ac_f cannot contain `:'.+ test -f "$ac_f" ||+ case $ac_f in+ [\\/$]*) false;;+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;+ esac ||+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;+ esac+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac+ as_fn_append ac_file_inputs " '$ac_f'"+ done++ # Let's still pretend it is `configure' which instantiates (i.e., don't+ # use $as_me), people would be surprised to read:+ # /* config.h. Generated by config.status. */+ configure_input='Generated from '`+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'+ `' by configure.'+ if test x"$ac_file" != x-; then+ configure_input="$ac_file. $configure_input"+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5+$as_echo "$as_me: creating $ac_file" >&6;}+ fi+ # Neutralize special characters interpreted by sed in replacement strings.+ case $configure_input in #(+ *\&* | *\|* | *\\* )+ ac_sed_conf_input=`$as_echo "$configure_input" |+ sed 's/[\\\\&|]/\\\\&/g'`;; #(+ *) ac_sed_conf_input=$configure_input;;+ esac++ case $ac_tag in+ *:-:* | *:-) cat >"$ac_tmp/stdin" \+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;+ esac+ ;;+ esac++ ac_dir=`$as_dirname -- "$ac_file" ||+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \+ X"$ac_file" : 'X\(//\)[^/]' \| \+ X"$ac_file" : 'X\(//\)$' \| \+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||+$as_echo X"$ac_file" |+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{+ s//\1/+ q+ }+ /^X\(\/\/\)[^/].*/{+ s//\1/+ q+ }+ /^X\(\/\/\)$/{+ s//\1/+ q+ }+ /^X\(\/\).*/{+ s//\1/+ q+ }+ s/.*/./; q'`+ as_dir="$ac_dir"; as_fn_mkdir_p+ ac_builddir=.++case "$ac_dir" in+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;+*)+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`+ # A ".." for each directory in $ac_dir_suffix.+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`+ case $ac_top_builddir_sub in+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;+ esac ;;+esac+ac_abs_top_builddir=$ac_pwd+ac_abs_builddir=$ac_pwd$ac_dir_suffix+# for backward compatibility:+ac_top_builddir=$ac_top_build_prefix++case $srcdir in+ .) # We are building in place.+ ac_srcdir=.+ ac_top_srcdir=$ac_top_builddir_sub+ ac_abs_top_srcdir=$ac_pwd ;;+ [\\/]* | ?:[\\/]* ) # Absolute name.+ ac_srcdir=$srcdir$ac_dir_suffix;+ ac_top_srcdir=$srcdir+ ac_abs_top_srcdir=$srcdir ;;+ *) # Relative name.+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix+ ac_top_srcdir=$ac_top_build_prefix$srcdir+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;+esac+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix+++ case $ac_mode in+ :F)+ #+ # CONFIG_FILE+ #++_ACEOF++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1+# If the template does not know about datarootdir, expand it.+# FIXME: This hack should be removed a few years after 2.60.+ac_datarootdir_hack=; ac_datarootdir_seen=+ac_sed_dataroot='+/datarootdir/ {+ p+ q+}+/@datadir@/p+/@docdir@/p+/@infodir@/p+/@localedir@/p+/@mandir@/p'+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in+*datarootdir*) ac_datarootdir_seen=yes;;+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}+_ACEOF+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1+ ac_datarootdir_hack='+ s&@datadir@&$datadir&g+ s&@docdir@&$docdir&g+ s&@infodir@&$infodir&g+ s&@localedir@&$localedir&g+ s&@mandir@&$mandir&g+ s&\\\${datarootdir}&$datarootdir&g' ;;+esac+_ACEOF++# Neutralize VPATH when `$srcdir' = `.'.+# Shell code in configure.ac might set extrasub.+# FIXME: do we really want to maintain this feature?+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1+ac_sed_extra="$ac_vpsub+$extrasub+_ACEOF+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1+:t+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b+s|@configure_input@|$ac_sed_conf_input|;t t+s&@top_builddir@&$ac_top_builddir_sub&;t t+s&@top_build_prefix@&$ac_top_build_prefix&;t t+s&@srcdir@&$ac_srcdir&;t t+s&@abs_srcdir@&$ac_abs_srcdir&;t t+s&@top_srcdir@&$ac_top_srcdir&;t t+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t+s&@builddir@&$ac_builddir&;t t+s&@abs_builddir@&$ac_abs_builddir&;t t+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t+$ac_datarootdir_hack+"+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5++test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \+ "$ac_tmp/out"`; test -z "$ac_out"; } &&+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'+which seems to be undefined. Please make sure it is defined" >&5+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'+which seems to be undefined. Please make sure it is defined" >&2;}++ rm -f "$ac_tmp/stdin"+ case $ac_file in+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;+ esac \+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5+ ;;+ :H)+ #+ # CONFIG_HEADER+ #+ if test x"$ac_file" != x-; then+ {+ $as_echo "/* $configure_input */" \+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"+ } >"$ac_tmp/config.h" \+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5+ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5+$as_echo "$as_me: $ac_file is unchanged" >&6;}+ else+ rm -f "$ac_file"+ mv "$ac_tmp/config.h" "$ac_file" \+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5+ fi+ else+ $as_echo "/* $configure_input */" \+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \+ || as_fn_error $? "could not create -" "$LINENO" 5+ fi+ ;;+++ esac++done # for ac_tag+++as_fn_exit 0+_ACEOF+ac_clean_files=$ac_clean_files_save++test $ac_write_fail = 0 ||+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5+++# configure is writing to config.log, and then calls config.status.+# config.status does its own redirection, appending to config.log.+# Unfortunately, on DOS this fails, as config.log is still kept open+# by configure, so config.status won't be able to write to it; its+# output is simply discarded. So we exec the FD to /dev/null,+# effectively closing config.log, so it can be properly (re)opened and+# appended to by config.status. When coming back to configure, we+# need to make the FD available again.+if test "$no_create" != yes; then+ ac_cs_success=:+ ac_config_status_args=+ test "$silent" = yes &&+ ac_config_status_args="$ac_config_status_args --quiet"+ exec 5>/dev/null+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false+ exec 5>>config.log+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which+ # would make configure fail if this is the last instruction.+ $ac_cs_success || as_fn_exit 1+fi+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}+fi
configure.ac view
@@ -12,7 +12,7 @@ AC_MSG_CHECKING(for WINDOWS platform) case $host_alias in- *mingw32*|*mingw64*|*cygwin*|*msys*)+ *mingw32*|*mingw64*|*cygwin*|*msys*|*windows*) WINDOWS=YES;; *) WINDOWS=NO;;@@ -188,6 +188,8 @@ dnl ** can we open files in binary mode? FP_CHECK_CONST([O_BINARY], [#include <fcntl.h>], [0])++FP_CHECK_ENVIRON # We don't use iconv or libcharset on Windows, but if configure finds # them then it can cause problems. So we don't even try looking if
include/HsBase.h view
@@ -552,9 +552,9 @@ #include <crt_externs.h> INLINE char **__hscore_environ(void) { return *(_NSGetEnviron()); } #else-/* ToDo: write a feature test that doesn't assume 'environ' to- * be in scope at link-time. */+#if !HAVE_DECL_ENVIRON extern char** environ;+#endif INLINE char **__hscore_environ(void) { return environ; } #endif
include/HsBaseConfig.h.in view
@@ -312,6 +312,10 @@ /* Define to 1 if you have the <ctype.h> header file. */ #undef HAVE_CTYPE_H +/* Define to 1 if you have the declaration of `environ', and to 0 if you+ don't. */+#undef HAVE_DECL_ENVIRON+ /* Define if you have epoll support. */ #undef HAVE_EPOLL @@ -372,8 +376,8 @@ /* Define to 1 if you have the `lstat' function. */ #undef HAVE_LSTAT -/* Define to 1 if you have the <minix/config.h> header file. */-#undef HAVE_MINIX_CONFIG_H+/* Define to 1 if you have the <memory.h> header file. */+#undef HAVE_MEMORY_H /* Define if you have open file descriptor lock support. */ #undef HAVE_OFD_LOCKING@@ -390,9 +394,6 @@ /* Define to 1 if you have the <stdint.h> header file. */ #undef HAVE_STDINT_H -/* Define to 1 if you have the <stdio.h> header file. */-#undef HAVE_STDIO_H- /* Define to 1 if you have the <stdlib.h> header file. */ #undef HAVE_STDLIB_H @@ -468,9 +469,6 @@ /* Define to 1 if you have the <utime.h> header file. */ #undef HAVE_UTIME_H -/* Define to 1 if you have the <wchar.h> header file. */-#undef HAVE_WCHAR_H- /* Define to 1 if you have the <wctype.h> header file. */ #undef HAVE_WCTYPE_H @@ -657,9 +655,7 @@ /* The size of `struct MD5Context', as computed by sizeof. */ #undef SIZEOF_STRUCT_MD5CONTEXT -/* Define to 1 if all of the C90 standard headers exist (not just the ones- required in a freestanding environment). This macro is provided for- backward compatibility; new code need not use it. */+/* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define if stdlib.h declares unsetenv to return void. */@@ -669,92 +665,41 @@ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif-/* Enable general extensions on macOS. */-#ifndef _DARWIN_C_SOURCE-# undef _DARWIN_C_SOURCE-#endif-/* Enable general extensions on Solaris. */-#ifndef __EXTENSIONS__-# undef __EXTENSIONS__-#endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif-/* Enable X/Open compliant socket functions that do not require linking- with -lxnet on HP-UX 11.11. */-#ifndef _HPUX_ALT_XOPEN_SOCKET_API-# undef _HPUX_ALT_XOPEN_SOCKET_API-#endif-/* Identify the host operating system as Minix.- This macro does not affect the system headers' behavior.- A future release of Autoconf may stop defining this macro. */-#ifndef _MINIX-# undef _MINIX-#endif-/* Enable general extensions on NetBSD.- Enable NetBSD compatibility extensions on Minix. */-#ifndef _NETBSD_SOURCE-# undef _NETBSD_SOURCE-#endif-/* Enable OpenBSD compatibility extensions on NetBSD.- Oddly enough, this does nothing on OpenBSD. */-#ifndef _OPENBSD_SOURCE-# undef _OPENBSD_SOURCE-#endif-/* Define to 1 if needed for POSIX-compatible behavior. */-#ifndef _POSIX_SOURCE-# undef _POSIX_SOURCE-#endif-/* Define to 2 if needed for POSIX-compatible behavior. */-#ifndef _POSIX_1_SOURCE-# undef _POSIX_1_SOURCE-#endif-/* Enable POSIX-compatible threading on Solaris. */+/* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # undef _POSIX_PTHREAD_SEMANTICS #endif-/* Enable extensions specified by ISO/IEC TS 18661-5:2014. */-#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__-# undef __STDC_WANT_IEC_60559_ATTRIBS_EXT__-#endif-/* Enable extensions specified by ISO/IEC TS 18661-1:2014. */-#ifndef __STDC_WANT_IEC_60559_BFP_EXT__-# undef __STDC_WANT_IEC_60559_BFP_EXT__-#endif-/* Enable extensions specified by ISO/IEC TS 18661-2:2015. */-#ifndef __STDC_WANT_IEC_60559_DFP_EXT__-# undef __STDC_WANT_IEC_60559_DFP_EXT__-#endif-/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */-#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__-# undef __STDC_WANT_IEC_60559_FUNCS_EXT__-#endif-/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */-#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__-# undef __STDC_WANT_IEC_60559_TYPES_EXT__-#endif-/* Enable extensions specified by ISO/IEC TR 24731-2:2010. */-#ifndef __STDC_WANT_LIB_EXT2__-# undef __STDC_WANT_LIB_EXT2__-#endif-/* Enable extensions specified by ISO/IEC 24747:2009. */-#ifndef __STDC_WANT_MATH_SPEC_FUNCS__-# undef __STDC_WANT_MATH_SPEC_FUNCS__-#endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # undef _TANDEM_SOURCE #endif-/* Enable X/Open extensions. Define to 500 only if necessary- to make mbstate_t available. */-#ifndef _XOPEN_SOURCE-# undef _XOPEN_SOURCE+/* Enable general extensions on Solaris. */+#ifndef __EXTENSIONS__+# undef __EXTENSIONS__ #endif +/* Enable large inode numbers on Mac OS X 10.5. */+#ifndef _DARWIN_USE_64_BIT_INODE+# define _DARWIN_USE_64_BIT_INODE 1+#endif+ /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS /* Define for large files, on AIX-style hosts. */ #undef _LARGE_FILES++/* Define to 1 if on MINIX. */+#undef _MINIX++/* Define to 2 if the system does not provide POSIX.1 features except with+ this defined. */+#undef _POSIX_1_SOURCE++/* Define to 1 if you need to in order for `stat' and other things to work. */+#undef _POSIX_SOURCE
include/winio_structs.h view
@@ -4,7 +4,7 @@ * Structures supporting the IOCP based I/O Manager or Windows. */ -#include <Windows.h>+#include <windows.h> #include <stdint.h> #if defined(_WIN64)