ghc-internal 9.1003.0 → 9.1201.0
raw patch · 84 files changed
+40775/−33742 lines, 84 filesdep ~ghc-primPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: ghc-prim
API changes (from Hackage documentation)
- GHC.Internal.Base: seq# :: a -> State# d -> (# State# d, a #)
- GHC.Internal.Control.Exception: ErrorCallWithLocation :: String -> String -> ErrorCall
- GHC.Internal.Control.Exception: pattern ErrorCall :: String -> ErrorCall
- GHC.Internal.Control.Exception.Base: ErrorCallWithLocation :: String -> String -> ErrorCall
- GHC.Internal.Control.Exception.Base: pattern ErrorCall :: String -> ErrorCall
- GHC.Internal.Data.Enum: class Bounded a
- GHC.Internal.Data.Enum: class Enum a
- GHC.Internal.Data.Enum: enumFrom :: Enum a => a -> [a]
- GHC.Internal.Data.Enum: enumFromThen :: Enum a => a -> a -> [a]
- GHC.Internal.Data.Enum: enumFromThenTo :: Enum a => a -> a -> a -> [a]
- GHC.Internal.Data.Enum: enumFromTo :: Enum a => a -> a -> [a]
- GHC.Internal.Data.Enum: fromEnum :: Enum a => a -> Int
- GHC.Internal.Data.Enum: maxBound :: Bounded a => a
- GHC.Internal.Data.Enum: minBound :: Bounded a => a
- GHC.Internal.Data.Enum: pred :: Enum a => a -> a
- GHC.Internal.Data.Enum: succ :: Enum a => a -> a
- GHC.Internal.Data.Enum: toEnum :: Enum a => Int -> a
- GHC.Internal.Exception: ErrorCallWithLocation :: String -> String -> ErrorCall
- GHC.Internal.Exception: pattern ErrorCall :: String -> ErrorCall
- GHC.Internal.Exception: showCCSStack :: [String] -> [String]
- GHC.Internal.Exception.Backtrace: Backtraces :: Maybe (Ptr CostCentreStack) -> Maybe CallStack -> Maybe [Location] -> Maybe [StackEntry] -> Backtraces
- GHC.Internal.Exception.Backtrace: EnabledBacktraceMechanisms :: !Bool -> !Bool -> !Bool -> !Bool -> EnabledBacktraceMechanisms
- GHC.Internal.Exception.Backtrace: [btrCostCentre] :: Backtraces -> Maybe (Ptr CostCentreStack)
- GHC.Internal.Exception.Backtrace: [btrExecutionStack] :: Backtraces -> Maybe [Location]
- GHC.Internal.Exception.Backtrace: [btrHasCallStack] :: Backtraces -> Maybe CallStack
- GHC.Internal.Exception.Backtrace: [btrIpe] :: Backtraces -> Maybe [StackEntry]
- GHC.Internal.Exception.Backtrace: [costCentreBacktraceEnabled] :: EnabledBacktraceMechanisms -> !Bool
- GHC.Internal.Exception.Backtrace: [executionBacktraceEnabled] :: EnabledBacktraceMechanisms -> !Bool
- GHC.Internal.Exception.Backtrace: [hasCallStackBacktraceEnabled] :: EnabledBacktraceMechanisms -> !Bool
- GHC.Internal.Exception.Backtrace: [ipeBacktraceEnabled] :: EnabledBacktraceMechanisms -> !Bool
- GHC.Internal.Exception.Backtrace: backtraceMechanismEnabled :: BacktraceMechanism -> EnabledBacktraceMechanisms -> Bool
- GHC.Internal.Exception.Backtrace: collectBacktraces' :: (?callStack :: CallStack) => EnabledBacktraceMechanisms -> IO Backtraces
- GHC.Internal.Exception.Backtrace: data EnabledBacktraceMechanisms
- GHC.Internal.Exception.Backtrace: defaultEnabledBacktraceMechanisms :: EnabledBacktraceMechanisms
- GHC.Internal.Exception.Backtrace: enabledBacktraceMechanismsRef :: IORef EnabledBacktraceMechanisms
- GHC.Internal.Exception.Backtrace: getEnabledBacktraceMechanisms :: IO EnabledBacktraceMechanisms
- GHC.Internal.Exception.Backtrace: setBacktraceMechanismEnabled :: BacktraceMechanism -> Bool -> EnabledBacktraceMechanisms -> EnabledBacktraceMechanisms
- GHC.Internal.RTS.Flags: IoNative :: IoSubSystem
- GHC.Internal.RTS.Flags: IoPOSIX :: IoSubSystem
- GHC.Internal.RTS.Flags: data IoSubSystem
- GHC.Internal.RTS.Flags: getIoManagerFlag :: IO IoSubSystem
- GHC.Internal.RTS.Flags: instance GHC.Classes.Eq GHC.Internal.RTS.Flags.IoSubSystem
- GHC.Internal.RTS.Flags: instance GHC.Internal.Enum.Enum GHC.Internal.RTS.Flags.IoSubSystem
- GHC.Internal.RTS.Flags: instance GHC.Internal.Foreign.Storable.Storable GHC.Internal.RTS.Flags.IoSubSystem
- GHC.Internal.RTS.Flags: instance GHC.Internal.Show.Show GHC.Internal.RTS.Flags.IoSubSystem
+ GHC.Internal.Base: fmaddDoubleX2# :: DoubleX2# -> DoubleX2# -> DoubleX2# -> DoubleX2#
+ GHC.Internal.Base: fmaddDoubleX4# :: DoubleX4# -> DoubleX4# -> DoubleX4# -> DoubleX4#
+ GHC.Internal.Base: fmaddDoubleX8# :: DoubleX8# -> DoubleX8# -> DoubleX8# -> DoubleX8#
+ GHC.Internal.Base: fmaddFloatX16# :: FloatX16# -> FloatX16# -> FloatX16# -> FloatX16#
+ GHC.Internal.Base: fmaddFloatX4# :: FloatX4# -> FloatX4# -> FloatX4# -> FloatX4#
+ GHC.Internal.Base: fmaddFloatX8# :: FloatX8# -> FloatX8# -> FloatX8# -> FloatX8#
+ GHC.Internal.Base: fmsubDoubleX2# :: DoubleX2# -> DoubleX2# -> DoubleX2# -> DoubleX2#
+ GHC.Internal.Base: fmsubDoubleX4# :: DoubleX4# -> DoubleX4# -> DoubleX4# -> DoubleX4#
+ GHC.Internal.Base: fmsubDoubleX8# :: DoubleX8# -> DoubleX8# -> DoubleX8# -> DoubleX8#
+ GHC.Internal.Base: fmsubFloatX16# :: FloatX16# -> FloatX16# -> FloatX16# -> FloatX16#
+ GHC.Internal.Base: fmsubFloatX4# :: FloatX4# -> FloatX4# -> FloatX4# -> FloatX4#
+ GHC.Internal.Base: fmsubFloatX8# :: FloatX8# -> FloatX8# -> FloatX8# -> FloatX8#
+ GHC.Internal.Base: fnmaddDoubleX2# :: DoubleX2# -> DoubleX2# -> DoubleX2# -> DoubleX2#
+ GHC.Internal.Base: fnmaddDoubleX4# :: DoubleX4# -> DoubleX4# -> DoubleX4# -> DoubleX4#
+ GHC.Internal.Base: fnmaddDoubleX8# :: DoubleX8# -> DoubleX8# -> DoubleX8# -> DoubleX8#
+ GHC.Internal.Base: fnmaddFloatX16# :: FloatX16# -> FloatX16# -> FloatX16# -> FloatX16#
+ GHC.Internal.Base: fnmaddFloatX4# :: FloatX4# -> FloatX4# -> FloatX4# -> FloatX4#
+ GHC.Internal.Base: fnmaddFloatX8# :: FloatX8# -> FloatX8# -> FloatX8# -> FloatX8#
+ GHC.Internal.Base: fnmsubDoubleX2# :: DoubleX2# -> DoubleX2# -> DoubleX2# -> DoubleX2#
+ GHC.Internal.Base: fnmsubDoubleX4# :: DoubleX4# -> DoubleX4# -> DoubleX4# -> DoubleX4#
+ GHC.Internal.Base: fnmsubDoubleX8# :: DoubleX8# -> DoubleX8# -> DoubleX8# -> DoubleX8#
+ GHC.Internal.Base: fnmsubFloatX16# :: FloatX16# -> FloatX16# -> FloatX16# -> FloatX16#
+ GHC.Internal.Base: fnmsubFloatX4# :: FloatX4# -> FloatX4# -> FloatX4# -> FloatX4#
+ GHC.Internal.Base: fnmsubFloatX8# :: FloatX8# -> FloatX8# -> FloatX8# -> FloatX8#
+ GHC.Internal.Base: isByteArrayWeaklyPinned# :: ByteArray# -> Int#
+ GHC.Internal.Base: isMutableByteArrayWeaklyPinned# :: MutableByteArray# d -> Int#
+ GHC.Internal.Base: maxDouble# :: Double# -> Double# -> Double#
+ GHC.Internal.Base: maxDoubleX2# :: DoubleX2# -> DoubleX2# -> DoubleX2#
+ GHC.Internal.Base: maxDoubleX4# :: DoubleX4# -> DoubleX4# -> DoubleX4#
+ GHC.Internal.Base: maxDoubleX8# :: DoubleX8# -> DoubleX8# -> DoubleX8#
+ GHC.Internal.Base: maxFloat# :: Float# -> Float# -> Float#
+ GHC.Internal.Base: maxFloatX16# :: FloatX16# -> FloatX16# -> FloatX16#
+ GHC.Internal.Base: maxFloatX4# :: FloatX4# -> FloatX4# -> FloatX4#
+ GHC.Internal.Base: maxFloatX8# :: FloatX8# -> FloatX8# -> FloatX8#
+ GHC.Internal.Base: maxInt16X16# :: Int16X16# -> Int16X16# -> Int16X16#
+ GHC.Internal.Base: maxInt16X32# :: Int16X32# -> Int16X32# -> Int16X32#
+ GHC.Internal.Base: maxInt16X8# :: Int16X8# -> Int16X8# -> Int16X8#
+ GHC.Internal.Base: maxInt32X16# :: Int32X16# -> Int32X16# -> Int32X16#
+ GHC.Internal.Base: maxInt32X4# :: Int32X4# -> Int32X4# -> Int32X4#
+ GHC.Internal.Base: maxInt32X8# :: Int32X8# -> Int32X8# -> Int32X8#
+ GHC.Internal.Base: maxInt64X2# :: Int64X2# -> Int64X2# -> Int64X2#
+ GHC.Internal.Base: maxInt64X4# :: Int64X4# -> Int64X4# -> Int64X4#
+ GHC.Internal.Base: maxInt64X8# :: Int64X8# -> Int64X8# -> Int64X8#
+ GHC.Internal.Base: maxInt8X16# :: Int8X16# -> Int8X16# -> Int8X16#
+ GHC.Internal.Base: maxInt8X32# :: Int8X32# -> Int8X32# -> Int8X32#
+ GHC.Internal.Base: maxInt8X64# :: Int8X64# -> Int8X64# -> Int8X64#
+ GHC.Internal.Base: maxWord16X16# :: Word16X16# -> Word16X16# -> Word16X16#
+ GHC.Internal.Base: maxWord16X32# :: Word16X32# -> Word16X32# -> Word16X32#
+ GHC.Internal.Base: maxWord16X8# :: Word16X8# -> Word16X8# -> Word16X8#
+ GHC.Internal.Base: maxWord32X16# :: Word32X16# -> Word32X16# -> Word32X16#
+ GHC.Internal.Base: maxWord32X4# :: Word32X4# -> Word32X4# -> Word32X4#
+ GHC.Internal.Base: maxWord32X8# :: Word32X8# -> Word32X8# -> Word32X8#
+ GHC.Internal.Base: maxWord64X2# :: Word64X2# -> Word64X2# -> Word64X2#
+ GHC.Internal.Base: maxWord64X4# :: Word64X4# -> Word64X4# -> Word64X4#
+ GHC.Internal.Base: maxWord64X8# :: Word64X8# -> Word64X8# -> Word64X8#
+ GHC.Internal.Base: maxWord8X16# :: Word8X16# -> Word8X16# -> Word8X16#
+ GHC.Internal.Base: maxWord8X32# :: Word8X32# -> Word8X32# -> Word8X32#
+ GHC.Internal.Base: maxWord8X64# :: Word8X64# -> Word8X64# -> Word8X64#
+ GHC.Internal.Base: minDouble# :: Double# -> Double# -> Double#
+ GHC.Internal.Base: minDoubleX2# :: DoubleX2# -> DoubleX2# -> DoubleX2#
+ GHC.Internal.Base: minDoubleX4# :: DoubleX4# -> DoubleX4# -> DoubleX4#
+ GHC.Internal.Base: minDoubleX8# :: DoubleX8# -> DoubleX8# -> DoubleX8#
+ GHC.Internal.Base: minFloat# :: Float# -> Float# -> Float#
+ GHC.Internal.Base: minFloatX16# :: FloatX16# -> FloatX16# -> FloatX16#
+ GHC.Internal.Base: minFloatX4# :: FloatX4# -> FloatX4# -> FloatX4#
+ GHC.Internal.Base: minFloatX8# :: FloatX8# -> FloatX8# -> FloatX8#
+ GHC.Internal.Base: minInt16X16# :: Int16X16# -> Int16X16# -> Int16X16#
+ GHC.Internal.Base: minInt16X32# :: Int16X32# -> Int16X32# -> Int16X32#
+ GHC.Internal.Base: minInt16X8# :: Int16X8# -> Int16X8# -> Int16X8#
+ GHC.Internal.Base: minInt32X16# :: Int32X16# -> Int32X16# -> Int32X16#
+ GHC.Internal.Base: minInt32X4# :: Int32X4# -> Int32X4# -> Int32X4#
+ GHC.Internal.Base: minInt32X8# :: Int32X8# -> Int32X8# -> Int32X8#
+ GHC.Internal.Base: minInt64X2# :: Int64X2# -> Int64X2# -> Int64X2#
+ GHC.Internal.Base: minInt64X4# :: Int64X4# -> Int64X4# -> Int64X4#
+ GHC.Internal.Base: minInt64X8# :: Int64X8# -> Int64X8# -> Int64X8#
+ GHC.Internal.Base: minInt8X16# :: Int8X16# -> Int8X16# -> Int8X16#
+ GHC.Internal.Base: minInt8X32# :: Int8X32# -> Int8X32# -> Int8X32#
+ GHC.Internal.Base: minInt8X64# :: Int8X64# -> Int8X64# -> Int8X64#
+ GHC.Internal.Base: minWord16X16# :: Word16X16# -> Word16X16# -> Word16X16#
+ GHC.Internal.Base: minWord16X32# :: Word16X32# -> Word16X32# -> Word16X32#
+ GHC.Internal.Base: minWord16X8# :: Word16X8# -> Word16X8# -> Word16X8#
+ GHC.Internal.Base: minWord32X16# :: Word32X16# -> Word32X16# -> Word32X16#
+ GHC.Internal.Base: minWord32X4# :: Word32X4# -> Word32X4# -> Word32X4#
+ GHC.Internal.Base: minWord32X8# :: Word32X8# -> Word32X8# -> Word32X8#
+ GHC.Internal.Base: minWord64X2# :: Word64X2# -> Word64X2# -> Word64X2#
+ GHC.Internal.Base: minWord64X4# :: Word64X4# -> Word64X4# -> Word64X4#
+ GHC.Internal.Base: minWord64X8# :: Word64X8# -> Word64X8# -> Word64X8#
+ GHC.Internal.Base: minWord8X16# :: Word8X16# -> Word8X16# -> Word8X16#
+ GHC.Internal.Base: minWord8X32# :: Word8X32# -> Word8X32# -> Word8X32#
+ GHC.Internal.Base: minWord8X64# :: Word8X64# -> Word8X64# -> Word8X64#
+ GHC.Internal.Base: shuffleDoubleX2# :: DoubleX2# -> DoubleX2# -> (# Int#, Int# #) -> DoubleX2#
+ GHC.Internal.Base: shuffleDoubleX4# :: DoubleX4# -> DoubleX4# -> (# Int#, Int#, Int#, Int# #) -> DoubleX4#
+ GHC.Internal.Base: shuffleDoubleX8# :: DoubleX8# -> DoubleX8# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> DoubleX8#
+ GHC.Internal.Base: shuffleFloatX16# :: FloatX16# -> FloatX16# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> FloatX16#
+ GHC.Internal.Base: shuffleFloatX4# :: FloatX4# -> FloatX4# -> (# Int#, Int#, Int#, Int# #) -> FloatX4#
+ GHC.Internal.Base: shuffleFloatX8# :: FloatX8# -> FloatX8# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> FloatX8#
+ GHC.Internal.Base: shuffleInt16X16# :: Int16X16# -> Int16X16# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Int16X16#
+ GHC.Internal.Base: shuffleInt16X32# :: Int16X32# -> Int16X32# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Int16X32#
+ GHC.Internal.Base: shuffleInt16X8# :: Int16X8# -> Int16X8# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Int16X8#
+ GHC.Internal.Base: shuffleInt32X16# :: Int32X16# -> Int32X16# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Int32X16#
+ GHC.Internal.Base: shuffleInt32X4# :: Int32X4# -> Int32X4# -> (# Int#, Int#, Int#, Int# #) -> Int32X4#
+ GHC.Internal.Base: shuffleInt32X8# :: Int32X8# -> Int32X8# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Int32X8#
+ GHC.Internal.Base: shuffleInt64X2# :: Int64X2# -> Int64X2# -> (# Int#, Int# #) -> Int64X2#
+ GHC.Internal.Base: shuffleInt64X4# :: Int64X4# -> Int64X4# -> (# Int#, Int#, Int#, Int# #) -> Int64X4#
+ GHC.Internal.Base: shuffleInt64X8# :: Int64X8# -> Int64X8# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Int64X8#
+ GHC.Internal.Base: shuffleInt8X16# :: Int8X16# -> Int8X16# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Int8X16#
+ GHC.Internal.Base: shuffleInt8X32# :: Int8X32# -> Int8X32# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Int8X32#
+ GHC.Internal.Base: shuffleInt8X64# :: Int8X64# -> Int8X64# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Int8X64#
+ GHC.Internal.Base: shuffleWord16X16# :: Word16X16# -> Word16X16# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Word16X16#
+ GHC.Internal.Base: shuffleWord16X32# :: Word16X32# -> Word16X32# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Word16X32#
+ GHC.Internal.Base: shuffleWord16X8# :: Word16X8# -> Word16X8# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Word16X8#
+ GHC.Internal.Base: shuffleWord32X16# :: Word32X16# -> Word32X16# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Word32X16#
+ GHC.Internal.Base: shuffleWord32X4# :: Word32X4# -> Word32X4# -> (# Int#, Int#, Int#, Int# #) -> Word32X4#
+ GHC.Internal.Base: shuffleWord32X8# :: Word32X8# -> Word32X8# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Word32X8#
+ GHC.Internal.Base: shuffleWord64X2# :: Word64X2# -> Word64X2# -> (# Int#, Int# #) -> Word64X2#
+ GHC.Internal.Base: shuffleWord64X4# :: Word64X4# -> Word64X4# -> (# Int#, Int#, Int#, Int# #) -> Word64X4#
+ GHC.Internal.Base: shuffleWord64X8# :: Word64X8# -> Word64X8# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Word64X8#
+ GHC.Internal.Base: shuffleWord8X16# :: Word8X16# -> Word8X16# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Word8X16#
+ GHC.Internal.Base: shuffleWord8X32# :: Word8X32# -> Word8X32# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Word8X32#
+ GHC.Internal.Base: shuffleWord8X64# :: Word8X64# -> Word8X64# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Word8X64#
+ GHC.Internal.Control.Exception: ErrorCall :: String -> ErrorCall
+ GHC.Internal.Control.Exception: ExceptionContext :: [SomeExceptionAnnotation] -> ExceptionContext
+ GHC.Internal.Control.Exception: WhileHandling :: SomeException -> WhileHandling
+ GHC.Internal.Control.Exception: annotateIO :: ExceptionAnnotation e => e -> IO a -> IO a
+ GHC.Internal.Control.Exception: catchNoPropagate :: Exception e => IO a -> (ExceptionWithContext e -> IO a) -> IO a
+ GHC.Internal.Control.Exception: data ExceptionContext
+ GHC.Internal.Control.Exception: data WhileHandling
+ GHC.Internal.Control.Exception: pattern ErrorCallWithLocation :: String -> String -> ErrorCall
+ GHC.Internal.Control.Exception: rethrowIO :: Exception e => ExceptionWithContext e -> IO a
+ GHC.Internal.Control.Exception: tryWithContext :: Exception e => IO a -> IO (Either (ExceptionWithContext e) a)
+ GHC.Internal.Control.Exception.Base: ErrorCall :: String -> ErrorCall
+ GHC.Internal.Control.Exception.Base: ExceptionContext :: [SomeExceptionAnnotation] -> ExceptionContext
+ GHC.Internal.Control.Exception.Base: WhileHandling :: SomeException -> WhileHandling
+ GHC.Internal.Control.Exception.Base: annotateIO :: ExceptionAnnotation e => e -> IO a -> IO a
+ GHC.Internal.Control.Exception.Base: catchNoPropagate :: Exception e => IO a -> (ExceptionWithContext e -> IO a) -> IO a
+ GHC.Internal.Control.Exception.Base: data ExceptionContext
+ GHC.Internal.Control.Exception.Base: data WhileHandling
+ GHC.Internal.Control.Exception.Base: pattern ErrorCallWithLocation :: String -> String -> ErrorCall
+ GHC.Internal.Control.Exception.Base: rethrowIO :: Exception e => ExceptionWithContext e -> IO a
+ GHC.Internal.Control.Exception.Base: tryWithContext :: Exception e => IO a -> IO (Either (ExceptionWithContext e) a)
+ GHC.Internal.Control.Monad.Fix: instance GHC.Internal.Base.Monoid a => GHC.Internal.Control.Monad.Fix.MonadFix ((,) a)
+ GHC.Internal.Control.Monad.IO.Class: class Monad m => MonadIO (m :: Type -> Type)
+ GHC.Internal.Control.Monad.IO.Class: instance GHC.Internal.Control.Monad.IO.Class.MonadIO GHC.Types.IO
+ GHC.Internal.Control.Monad.IO.Class: liftIO :: MonadIO m => IO a -> m a
+ GHC.Internal.Control.Monad.Zip: class Monad m => MonadZip (m :: Type -> Type)
+ GHC.Internal.Control.Monad.Zip: instance (GHC.Internal.Control.Monad.Zip.MonadZip f, GHC.Internal.Control.Monad.Zip.MonadZip g) => GHC.Internal.Control.Monad.Zip.MonadZip (f GHC.Internal.Generics.:*: g)
+ GHC.Internal.Control.Monad.Zip: instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Base.NonEmpty
+ GHC.Internal.Control.Monad.Zip: instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Functor.Identity.Identity
+ GHC.Internal.Control.Monad.Zip: instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Monoid.First
+ GHC.Internal.Control.Monad.Zip: instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Monoid.Last
+ GHC.Internal.Control.Monad.Zip: instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Ord.Down
+ GHC.Internal.Control.Monad.Zip: instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Proxy.Proxy
+ GHC.Internal.Control.Monad.Zip: instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Dual
+ GHC.Internal.Control.Monad.Zip: instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Product
+ GHC.Internal.Control.Monad.Zip: instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Sum
+ GHC.Internal.Control.Monad.Zip: instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Generics.Par1
+ GHC.Internal.Control.Monad.Zip: instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Generics.U1
+ GHC.Internal.Control.Monad.Zip: instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Maybe.Maybe
+ GHC.Internal.Control.Monad.Zip: instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Tuple.Solo
+ GHC.Internal.Control.Monad.Zip: instance GHC.Internal.Control.Monad.Zip.MonadZip []
+ GHC.Internal.Control.Monad.Zip: instance GHC.Internal.Control.Monad.Zip.MonadZip f => GHC.Internal.Control.Monad.Zip.MonadZip (GHC.Internal.Data.Semigroup.Internal.Alt f)
+ GHC.Internal.Control.Monad.Zip: instance GHC.Internal.Control.Monad.Zip.MonadZip f => GHC.Internal.Control.Monad.Zip.MonadZip (GHC.Internal.Generics.M1 i c f)
+ GHC.Internal.Control.Monad.Zip: instance GHC.Internal.Control.Monad.Zip.MonadZip f => GHC.Internal.Control.Monad.Zip.MonadZip (GHC.Internal.Generics.Rec1 f)
+ GHC.Internal.Control.Monad.Zip: munzip :: MonadZip m => m (a, b) -> (m a, m b)
+ GHC.Internal.Control.Monad.Zip: mzip :: MonadZip m => m a -> m b -> m (a, b)
+ GHC.Internal.Control.Monad.Zip: mzipWith :: MonadZip m => (a -> b -> c) -> m a -> m b -> m c
+ GHC.Internal.Data.List.NonEmpty: (:|) :: a -> [a] -> NonEmpty a
+ GHC.Internal.Data.List.NonEmpty: data NonEmpty a
+ GHC.Internal.Data.List.NonEmpty: infixr 5 :|
+ GHC.Internal.Data.List.NonEmpty: zip :: NonEmpty a -> NonEmpty b -> NonEmpty (a, b)
+ GHC.Internal.Data.List.NonEmpty: zipWith :: (a -> b -> c) -> NonEmpty a -> NonEmpty b -> NonEmpty c
+ GHC.Internal.Enum: enumIntToWord :: Int -> Word
+ GHC.Internal.Exception: ErrorCall :: String -> ErrorCall
+ GHC.Internal.Exception: displayExceptionWithInfo :: SomeException -> String
+ GHC.Internal.Exception: pattern ErrorCallWithLocation :: String -> String -> ErrorCall
+ GHC.Internal.Exception.Type: WhileHandling :: SomeException -> WhileHandling
+ GHC.Internal.Exception.Type: data WhileHandling
+ GHC.Internal.Exception.Type: displayExceptionWithInfo :: SomeException -> String
+ GHC.Internal.Exception.Type: instance GHC.Internal.Exception.Context.ExceptionAnnotation GHC.Internal.Exception.Type.WhileHandling
+ GHC.Internal.Exception.Type: instance GHC.Internal.Show.Show GHC.Internal.Exception.Type.WhileHandling
+ GHC.Internal.Exception.Type: whileHandling :: Exception e => ExceptionWithContext e -> WhileHandling
+ GHC.Internal.Exts: fmaddDoubleX2# :: DoubleX2# -> DoubleX2# -> DoubleX2# -> DoubleX2#
+ GHC.Internal.Exts: fmaddDoubleX4# :: DoubleX4# -> DoubleX4# -> DoubleX4# -> DoubleX4#
+ GHC.Internal.Exts: fmaddDoubleX8# :: DoubleX8# -> DoubleX8# -> DoubleX8# -> DoubleX8#
+ GHC.Internal.Exts: fmaddFloatX16# :: FloatX16# -> FloatX16# -> FloatX16# -> FloatX16#
+ GHC.Internal.Exts: fmaddFloatX4# :: FloatX4# -> FloatX4# -> FloatX4# -> FloatX4#
+ GHC.Internal.Exts: fmaddFloatX8# :: FloatX8# -> FloatX8# -> FloatX8# -> FloatX8#
+ GHC.Internal.Exts: fmsubDoubleX2# :: DoubleX2# -> DoubleX2# -> DoubleX2# -> DoubleX2#
+ GHC.Internal.Exts: fmsubDoubleX4# :: DoubleX4# -> DoubleX4# -> DoubleX4# -> DoubleX4#
+ GHC.Internal.Exts: fmsubDoubleX8# :: DoubleX8# -> DoubleX8# -> DoubleX8# -> DoubleX8#
+ GHC.Internal.Exts: fmsubFloatX16# :: FloatX16# -> FloatX16# -> FloatX16# -> FloatX16#
+ GHC.Internal.Exts: fmsubFloatX4# :: FloatX4# -> FloatX4# -> FloatX4# -> FloatX4#
+ GHC.Internal.Exts: fmsubFloatX8# :: FloatX8# -> FloatX8# -> FloatX8# -> FloatX8#
+ GHC.Internal.Exts: fnmaddDoubleX2# :: DoubleX2# -> DoubleX2# -> DoubleX2# -> DoubleX2#
+ GHC.Internal.Exts: fnmaddDoubleX4# :: DoubleX4# -> DoubleX4# -> DoubleX4# -> DoubleX4#
+ GHC.Internal.Exts: fnmaddDoubleX8# :: DoubleX8# -> DoubleX8# -> DoubleX8# -> DoubleX8#
+ GHC.Internal.Exts: fnmaddFloatX16# :: FloatX16# -> FloatX16# -> FloatX16# -> FloatX16#
+ GHC.Internal.Exts: fnmaddFloatX4# :: FloatX4# -> FloatX4# -> FloatX4# -> FloatX4#
+ GHC.Internal.Exts: fnmaddFloatX8# :: FloatX8# -> FloatX8# -> FloatX8# -> FloatX8#
+ GHC.Internal.Exts: fnmsubDoubleX2# :: DoubleX2# -> DoubleX2# -> DoubleX2# -> DoubleX2#
+ GHC.Internal.Exts: fnmsubDoubleX4# :: DoubleX4# -> DoubleX4# -> DoubleX4# -> DoubleX4#
+ GHC.Internal.Exts: fnmsubDoubleX8# :: DoubleX8# -> DoubleX8# -> DoubleX8# -> DoubleX8#
+ GHC.Internal.Exts: fnmsubFloatX16# :: FloatX16# -> FloatX16# -> FloatX16# -> FloatX16#
+ GHC.Internal.Exts: fnmsubFloatX4# :: FloatX4# -> FloatX4# -> FloatX4# -> FloatX4#
+ GHC.Internal.Exts: fnmsubFloatX8# :: FloatX8# -> FloatX8# -> FloatX8# -> FloatX8#
+ GHC.Internal.Exts: isByteArrayWeaklyPinned# :: ByteArray# -> Int#
+ GHC.Internal.Exts: isMutableByteArrayWeaklyPinned# :: MutableByteArray# d -> Int#
+ GHC.Internal.Exts: maxDouble# :: Double# -> Double# -> Double#
+ GHC.Internal.Exts: maxDoubleX2# :: DoubleX2# -> DoubleX2# -> DoubleX2#
+ GHC.Internal.Exts: maxDoubleX4# :: DoubleX4# -> DoubleX4# -> DoubleX4#
+ GHC.Internal.Exts: maxDoubleX8# :: DoubleX8# -> DoubleX8# -> DoubleX8#
+ GHC.Internal.Exts: maxFloat# :: Float# -> Float# -> Float#
+ GHC.Internal.Exts: maxFloatX16# :: FloatX16# -> FloatX16# -> FloatX16#
+ GHC.Internal.Exts: maxFloatX4# :: FloatX4# -> FloatX4# -> FloatX4#
+ GHC.Internal.Exts: maxFloatX8# :: FloatX8# -> FloatX8# -> FloatX8#
+ GHC.Internal.Exts: maxInt16X16# :: Int16X16# -> Int16X16# -> Int16X16#
+ GHC.Internal.Exts: maxInt16X32# :: Int16X32# -> Int16X32# -> Int16X32#
+ GHC.Internal.Exts: maxInt16X8# :: Int16X8# -> Int16X8# -> Int16X8#
+ GHC.Internal.Exts: maxInt32X16# :: Int32X16# -> Int32X16# -> Int32X16#
+ GHC.Internal.Exts: maxInt32X4# :: Int32X4# -> Int32X4# -> Int32X4#
+ GHC.Internal.Exts: maxInt32X8# :: Int32X8# -> Int32X8# -> Int32X8#
+ GHC.Internal.Exts: maxInt64X2# :: Int64X2# -> Int64X2# -> Int64X2#
+ GHC.Internal.Exts: maxInt64X4# :: Int64X4# -> Int64X4# -> Int64X4#
+ GHC.Internal.Exts: maxInt64X8# :: Int64X8# -> Int64X8# -> Int64X8#
+ GHC.Internal.Exts: maxInt8X16# :: Int8X16# -> Int8X16# -> Int8X16#
+ GHC.Internal.Exts: maxInt8X32# :: Int8X32# -> Int8X32# -> Int8X32#
+ GHC.Internal.Exts: maxInt8X64# :: Int8X64# -> Int8X64# -> Int8X64#
+ GHC.Internal.Exts: maxWord16X16# :: Word16X16# -> Word16X16# -> Word16X16#
+ GHC.Internal.Exts: maxWord16X32# :: Word16X32# -> Word16X32# -> Word16X32#
+ GHC.Internal.Exts: maxWord16X8# :: Word16X8# -> Word16X8# -> Word16X8#
+ GHC.Internal.Exts: maxWord32X16# :: Word32X16# -> Word32X16# -> Word32X16#
+ GHC.Internal.Exts: maxWord32X4# :: Word32X4# -> Word32X4# -> Word32X4#
+ GHC.Internal.Exts: maxWord32X8# :: Word32X8# -> Word32X8# -> Word32X8#
+ GHC.Internal.Exts: maxWord64X2# :: Word64X2# -> Word64X2# -> Word64X2#
+ GHC.Internal.Exts: maxWord64X4# :: Word64X4# -> Word64X4# -> Word64X4#
+ GHC.Internal.Exts: maxWord64X8# :: Word64X8# -> Word64X8# -> Word64X8#
+ GHC.Internal.Exts: maxWord8X16# :: Word8X16# -> Word8X16# -> Word8X16#
+ GHC.Internal.Exts: maxWord8X32# :: Word8X32# -> Word8X32# -> Word8X32#
+ GHC.Internal.Exts: maxWord8X64# :: Word8X64# -> Word8X64# -> Word8X64#
+ GHC.Internal.Exts: minDouble# :: Double# -> Double# -> Double#
+ GHC.Internal.Exts: minDoubleX2# :: DoubleX2# -> DoubleX2# -> DoubleX2#
+ GHC.Internal.Exts: minDoubleX4# :: DoubleX4# -> DoubleX4# -> DoubleX4#
+ GHC.Internal.Exts: minDoubleX8# :: DoubleX8# -> DoubleX8# -> DoubleX8#
+ GHC.Internal.Exts: minFloat# :: Float# -> Float# -> Float#
+ GHC.Internal.Exts: minFloatX16# :: FloatX16# -> FloatX16# -> FloatX16#
+ GHC.Internal.Exts: minFloatX4# :: FloatX4# -> FloatX4# -> FloatX4#
+ GHC.Internal.Exts: minFloatX8# :: FloatX8# -> FloatX8# -> FloatX8#
+ GHC.Internal.Exts: minInt16X16# :: Int16X16# -> Int16X16# -> Int16X16#
+ GHC.Internal.Exts: minInt16X32# :: Int16X32# -> Int16X32# -> Int16X32#
+ GHC.Internal.Exts: minInt16X8# :: Int16X8# -> Int16X8# -> Int16X8#
+ GHC.Internal.Exts: minInt32X16# :: Int32X16# -> Int32X16# -> Int32X16#
+ GHC.Internal.Exts: minInt32X4# :: Int32X4# -> Int32X4# -> Int32X4#
+ GHC.Internal.Exts: minInt32X8# :: Int32X8# -> Int32X8# -> Int32X8#
+ GHC.Internal.Exts: minInt64X2# :: Int64X2# -> Int64X2# -> Int64X2#
+ GHC.Internal.Exts: minInt64X4# :: Int64X4# -> Int64X4# -> Int64X4#
+ GHC.Internal.Exts: minInt64X8# :: Int64X8# -> Int64X8# -> Int64X8#
+ GHC.Internal.Exts: minInt8X16# :: Int8X16# -> Int8X16# -> Int8X16#
+ GHC.Internal.Exts: minInt8X32# :: Int8X32# -> Int8X32# -> Int8X32#
+ GHC.Internal.Exts: minInt8X64# :: Int8X64# -> Int8X64# -> Int8X64#
+ GHC.Internal.Exts: minWord16X16# :: Word16X16# -> Word16X16# -> Word16X16#
+ GHC.Internal.Exts: minWord16X32# :: Word16X32# -> Word16X32# -> Word16X32#
+ GHC.Internal.Exts: minWord16X8# :: Word16X8# -> Word16X8# -> Word16X8#
+ GHC.Internal.Exts: minWord32X16# :: Word32X16# -> Word32X16# -> Word32X16#
+ GHC.Internal.Exts: minWord32X4# :: Word32X4# -> Word32X4# -> Word32X4#
+ GHC.Internal.Exts: minWord32X8# :: Word32X8# -> Word32X8# -> Word32X8#
+ GHC.Internal.Exts: minWord64X2# :: Word64X2# -> Word64X2# -> Word64X2#
+ GHC.Internal.Exts: minWord64X4# :: Word64X4# -> Word64X4# -> Word64X4#
+ GHC.Internal.Exts: minWord64X8# :: Word64X8# -> Word64X8# -> Word64X8#
+ GHC.Internal.Exts: minWord8X16# :: Word8X16# -> Word8X16# -> Word8X16#
+ GHC.Internal.Exts: minWord8X32# :: Word8X32# -> Word8X32# -> Word8X32#
+ GHC.Internal.Exts: minWord8X64# :: Word8X64# -> Word8X64# -> Word8X64#
+ GHC.Internal.Exts: shuffleDoubleX2# :: DoubleX2# -> DoubleX2# -> (# Int#, Int# #) -> DoubleX2#
+ GHC.Internal.Exts: shuffleDoubleX4# :: DoubleX4# -> DoubleX4# -> (# Int#, Int#, Int#, Int# #) -> DoubleX4#
+ GHC.Internal.Exts: shuffleDoubleX8# :: DoubleX8# -> DoubleX8# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> DoubleX8#
+ GHC.Internal.Exts: shuffleFloatX16# :: FloatX16# -> FloatX16# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> FloatX16#
+ GHC.Internal.Exts: shuffleFloatX4# :: FloatX4# -> FloatX4# -> (# Int#, Int#, Int#, Int# #) -> FloatX4#
+ GHC.Internal.Exts: shuffleFloatX8# :: FloatX8# -> FloatX8# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> FloatX8#
+ GHC.Internal.Exts: shuffleInt16X16# :: Int16X16# -> Int16X16# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Int16X16#
+ GHC.Internal.Exts: shuffleInt16X32# :: Int16X32# -> Int16X32# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Int16X32#
+ GHC.Internal.Exts: shuffleInt16X8# :: Int16X8# -> Int16X8# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Int16X8#
+ GHC.Internal.Exts: shuffleInt32X16# :: Int32X16# -> Int32X16# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Int32X16#
+ GHC.Internal.Exts: shuffleInt32X4# :: Int32X4# -> Int32X4# -> (# Int#, Int#, Int#, Int# #) -> Int32X4#
+ GHC.Internal.Exts: shuffleInt32X8# :: Int32X8# -> Int32X8# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Int32X8#
+ GHC.Internal.Exts: shuffleInt64X2# :: Int64X2# -> Int64X2# -> (# Int#, Int# #) -> Int64X2#
+ GHC.Internal.Exts: shuffleInt64X4# :: Int64X4# -> Int64X4# -> (# Int#, Int#, Int#, Int# #) -> Int64X4#
+ GHC.Internal.Exts: shuffleInt64X8# :: Int64X8# -> Int64X8# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Int64X8#
+ GHC.Internal.Exts: shuffleInt8X16# :: Int8X16# -> Int8X16# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Int8X16#
+ GHC.Internal.Exts: shuffleInt8X32# :: Int8X32# -> Int8X32# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Int8X32#
+ GHC.Internal.Exts: shuffleInt8X64# :: Int8X64# -> Int8X64# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Int8X64#
+ GHC.Internal.Exts: shuffleWord16X16# :: Word16X16# -> Word16X16# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Word16X16#
+ GHC.Internal.Exts: shuffleWord16X32# :: Word16X32# -> Word16X32# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Word16X32#
+ GHC.Internal.Exts: shuffleWord16X8# :: Word16X8# -> Word16X8# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Word16X8#
+ GHC.Internal.Exts: shuffleWord32X16# :: Word32X16# -> Word32X16# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Word32X16#
+ GHC.Internal.Exts: shuffleWord32X4# :: Word32X4# -> Word32X4# -> (# Int#, Int#, Int#, Int# #) -> Word32X4#
+ GHC.Internal.Exts: shuffleWord32X8# :: Word32X8# -> Word32X8# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Word32X8#
+ GHC.Internal.Exts: shuffleWord64X2# :: Word64X2# -> Word64X2# -> (# Int#, Int# #) -> Word64X2#
+ GHC.Internal.Exts: shuffleWord64X4# :: Word64X4# -> Word64X4# -> (# Int#, Int#, Int#, Int# #) -> Word64X4#
+ GHC.Internal.Exts: shuffleWord64X8# :: Word64X8# -> Word64X8# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Word64X8#
+ GHC.Internal.Exts: shuffleWord8X16# :: Word8X16# -> Word8X16# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Word8X16#
+ GHC.Internal.Exts: shuffleWord8X32# :: Word8X32# -> Word8X32# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Word8X32#
+ GHC.Internal.Exts: shuffleWord8X64# :: Word8X64# -> Word8X64# -> (# Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int# #) -> Word8X64#
+ GHC.Internal.ForeignSrcLang: LangAsm :: ForeignSrcLang
+ GHC.Internal.ForeignSrcLang: LangC :: ForeignSrcLang
+ GHC.Internal.ForeignSrcLang: LangCxx :: ForeignSrcLang
+ GHC.Internal.ForeignSrcLang: LangJs :: ForeignSrcLang
+ GHC.Internal.ForeignSrcLang: LangObjc :: ForeignSrcLang
+ GHC.Internal.ForeignSrcLang: LangObjcxx :: ForeignSrcLang
+ GHC.Internal.ForeignSrcLang: RawObject :: ForeignSrcLang
+ GHC.Internal.ForeignSrcLang: data ForeignSrcLang
+ GHC.Internal.ForeignSrcLang: instance GHC.Classes.Eq GHC.Internal.ForeignSrcLang.ForeignSrcLang
+ GHC.Internal.ForeignSrcLang: instance GHC.Internal.Generics.Generic GHC.Internal.ForeignSrcLang.ForeignSrcLang
+ GHC.Internal.ForeignSrcLang: instance GHC.Internal.Show.Show GHC.Internal.ForeignSrcLang.ForeignSrcLang
+ GHC.Internal.Generics: instance forall k (p :: k). GHC.Internal.Show.Show (GHC.Internal.Generics.UAddr p)
+ GHC.Internal.IO: catchExceptionNoPropagate :: Exception e => IO a -> (ExceptionWithContext e -> IO a) -> IO a
+ GHC.Internal.IO: catchNoPropagate :: Exception e => IO a -> (ExceptionWithContext e -> IO a) -> IO a
+ GHC.Internal.IO: rethrowIO :: Exception e => ExceptionWithContext e -> IO a
+ GHC.Internal.IO: seq# :: a -> State# s -> (# State# s, a #)
+ GHC.Internal.IO.SubSystem: instance GHC.Classes.Eq GHC.Internal.IO.SubSystem.IoSubSystem
+ GHC.Internal.IO.SubSystem: instance GHC.Internal.Enum.Enum GHC.Internal.IO.SubSystem.IoSubSystem
+ GHC.Internal.IO.SubSystem: instance GHC.Internal.Show.Show GHC.Internal.IO.SubSystem.IoSubSystem
+ GHC.Internal.LanguageExtensions: AllowAmbiguousTypes :: Extension
+ GHC.Internal.LanguageExtensions: AlternativeLayoutRule :: Extension
+ GHC.Internal.LanguageExtensions: AlternativeLayoutRuleTransitional :: Extension
+ GHC.Internal.LanguageExtensions: ApplicativeDo :: Extension
+ GHC.Internal.LanguageExtensions: Arrows :: Extension
+ GHC.Internal.LanguageExtensions: AutoDeriveTypeable :: Extension
+ GHC.Internal.LanguageExtensions: BangPatterns :: Extension
+ GHC.Internal.LanguageExtensions: BinaryLiterals :: Extension
+ GHC.Internal.LanguageExtensions: BlockArguments :: Extension
+ GHC.Internal.LanguageExtensions: CApiFFI :: Extension
+ GHC.Internal.LanguageExtensions: CUSKs :: Extension
+ GHC.Internal.LanguageExtensions: ConstrainedClassMethods :: Extension
+ GHC.Internal.LanguageExtensions: ConstraintKinds :: Extension
+ GHC.Internal.LanguageExtensions: Cpp :: Extension
+ GHC.Internal.LanguageExtensions: DataKinds :: Extension
+ GHC.Internal.LanguageExtensions: DatatypeContexts :: Extension
+ GHC.Internal.LanguageExtensions: DeepSubsumption :: Extension
+ GHC.Internal.LanguageExtensions: DefaultSignatures :: Extension
+ GHC.Internal.LanguageExtensions: DeriveAnyClass :: Extension
+ GHC.Internal.LanguageExtensions: DeriveDataTypeable :: Extension
+ GHC.Internal.LanguageExtensions: DeriveFoldable :: Extension
+ GHC.Internal.LanguageExtensions: DeriveFunctor :: Extension
+ GHC.Internal.LanguageExtensions: DeriveGeneric :: Extension
+ GHC.Internal.LanguageExtensions: DeriveLift :: Extension
+ GHC.Internal.LanguageExtensions: DeriveTraversable :: Extension
+ GHC.Internal.LanguageExtensions: DerivingStrategies :: Extension
+ GHC.Internal.LanguageExtensions: DerivingVia :: Extension
+ GHC.Internal.LanguageExtensions: DisambiguateRecordFields :: Extension
+ GHC.Internal.LanguageExtensions: DoAndIfThenElse :: Extension
+ GHC.Internal.LanguageExtensions: DuplicateRecordFields :: Extension
+ GHC.Internal.LanguageExtensions: EmptyCase :: Extension
+ GHC.Internal.LanguageExtensions: EmptyDataDecls :: Extension
+ GHC.Internal.LanguageExtensions: EmptyDataDeriving :: Extension
+ GHC.Internal.LanguageExtensions: ExistentialQuantification :: Extension
+ GHC.Internal.LanguageExtensions: ExplicitForAll :: Extension
+ GHC.Internal.LanguageExtensions: ExplicitNamespaces :: Extension
+ GHC.Internal.LanguageExtensions: ExtendedDefaultRules :: Extension
+ GHC.Internal.LanguageExtensions: ExtendedLiterals :: Extension
+ GHC.Internal.LanguageExtensions: FieldSelectors :: Extension
+ GHC.Internal.LanguageExtensions: FlexibleContexts :: Extension
+ GHC.Internal.LanguageExtensions: FlexibleInstances :: Extension
+ GHC.Internal.LanguageExtensions: ForeignFunctionInterface :: Extension
+ GHC.Internal.LanguageExtensions: FunctionalDependencies :: Extension
+ GHC.Internal.LanguageExtensions: GADTSyntax :: Extension
+ GHC.Internal.LanguageExtensions: GADTs :: Extension
+ GHC.Internal.LanguageExtensions: GHCForeignImportPrim :: Extension
+ GHC.Internal.LanguageExtensions: GeneralizedNewtypeDeriving :: Extension
+ GHC.Internal.LanguageExtensions: HexFloatLiterals :: Extension
+ GHC.Internal.LanguageExtensions: ImplicitParams :: Extension
+ GHC.Internal.LanguageExtensions: ImplicitPrelude :: Extension
+ GHC.Internal.LanguageExtensions: ImportQualifiedPost :: Extension
+ GHC.Internal.LanguageExtensions: ImpredicativeTypes :: Extension
+ GHC.Internal.LanguageExtensions: IncoherentInstances :: Extension
+ GHC.Internal.LanguageExtensions: InstanceSigs :: Extension
+ GHC.Internal.LanguageExtensions: InterruptibleFFI :: Extension
+ GHC.Internal.LanguageExtensions: JavaScriptFFI :: Extension
+ GHC.Internal.LanguageExtensions: KindSignatures :: Extension
+ GHC.Internal.LanguageExtensions: LambdaCase :: Extension
+ GHC.Internal.LanguageExtensions: LexicalNegation :: Extension
+ GHC.Internal.LanguageExtensions: LiberalTypeSynonyms :: Extension
+ GHC.Internal.LanguageExtensions: LinearTypes :: Extension
+ GHC.Internal.LanguageExtensions: ListTuplePuns :: Extension
+ GHC.Internal.LanguageExtensions: MagicHash :: Extension
+ GHC.Internal.LanguageExtensions: MonadComprehensions :: Extension
+ GHC.Internal.LanguageExtensions: MonoLocalBinds :: Extension
+ GHC.Internal.LanguageExtensions: MonomorphismRestriction :: Extension
+ GHC.Internal.LanguageExtensions: MultiParamTypeClasses :: Extension
+ GHC.Internal.LanguageExtensions: MultiWayIf :: Extension
+ GHC.Internal.LanguageExtensions: MultilineStrings :: Extension
+ GHC.Internal.LanguageExtensions: NPlusKPatterns :: Extension
+ GHC.Internal.LanguageExtensions: NamedDefaults :: Extension
+ GHC.Internal.LanguageExtensions: NamedFieldPuns :: Extension
+ GHC.Internal.LanguageExtensions: NamedWildCards :: Extension
+ GHC.Internal.LanguageExtensions: NegativeLiterals :: Extension
+ GHC.Internal.LanguageExtensions: NondecreasingIndentation :: Extension
+ GHC.Internal.LanguageExtensions: NullaryTypeClasses :: Extension
+ GHC.Internal.LanguageExtensions: NumDecimals :: Extension
+ GHC.Internal.LanguageExtensions: NumericUnderscores :: Extension
+ GHC.Internal.LanguageExtensions: OrPatterns :: Extension
+ GHC.Internal.LanguageExtensions: OverlappingInstances :: Extension
+ GHC.Internal.LanguageExtensions: OverloadedLabels :: Extension
+ GHC.Internal.LanguageExtensions: OverloadedLists :: Extension
+ GHC.Internal.LanguageExtensions: OverloadedRecordDot :: Extension
+ GHC.Internal.LanguageExtensions: OverloadedRecordUpdate :: Extension
+ GHC.Internal.LanguageExtensions: OverloadedStrings :: Extension
+ GHC.Internal.LanguageExtensions: PackageImports :: Extension
+ GHC.Internal.LanguageExtensions: ParallelArrays :: Extension
+ GHC.Internal.LanguageExtensions: ParallelListComp :: Extension
+ GHC.Internal.LanguageExtensions: PartialTypeSignatures :: Extension
+ GHC.Internal.LanguageExtensions: PatternGuards :: Extension
+ GHC.Internal.LanguageExtensions: PatternSynonyms :: Extension
+ GHC.Internal.LanguageExtensions: PolyKinds :: Extension
+ GHC.Internal.LanguageExtensions: PostfixOperators :: Extension
+ GHC.Internal.LanguageExtensions: QualifiedDo :: Extension
+ GHC.Internal.LanguageExtensions: QuantifiedConstraints :: Extension
+ GHC.Internal.LanguageExtensions: QuasiQuotes :: Extension
+ GHC.Internal.LanguageExtensions: RankNTypes :: Extension
+ GHC.Internal.LanguageExtensions: RebindableSyntax :: Extension
+ GHC.Internal.LanguageExtensions: RecordWildCards :: Extension
+ GHC.Internal.LanguageExtensions: RecursiveDo :: Extension
+ GHC.Internal.LanguageExtensions: RelaxedLayout :: Extension
+ GHC.Internal.LanguageExtensions: RelaxedPolyRec :: Extension
+ GHC.Internal.LanguageExtensions: RequiredTypeArguments :: Extension
+ GHC.Internal.LanguageExtensions: RoleAnnotations :: Extension
+ GHC.Internal.LanguageExtensions: ScopedTypeVariables :: Extension
+ GHC.Internal.LanguageExtensions: StandaloneDeriving :: Extension
+ GHC.Internal.LanguageExtensions: StandaloneKindSignatures :: Extension
+ GHC.Internal.LanguageExtensions: StarIsType :: Extension
+ GHC.Internal.LanguageExtensions: StaticPointers :: Extension
+ GHC.Internal.LanguageExtensions: Strict :: Extension
+ GHC.Internal.LanguageExtensions: StrictData :: Extension
+ GHC.Internal.LanguageExtensions: TemplateHaskell :: Extension
+ GHC.Internal.LanguageExtensions: TemplateHaskellQuotes :: Extension
+ GHC.Internal.LanguageExtensions: TraditionalRecordSyntax :: Extension
+ GHC.Internal.LanguageExtensions: TransformListComp :: Extension
+ GHC.Internal.LanguageExtensions: TupleSections :: Extension
+ GHC.Internal.LanguageExtensions: TypeAbstractions :: Extension
+ GHC.Internal.LanguageExtensions: TypeApplications :: Extension
+ GHC.Internal.LanguageExtensions: TypeData :: Extension
+ GHC.Internal.LanguageExtensions: TypeFamilies :: Extension
+ GHC.Internal.LanguageExtensions: TypeFamilyDependencies :: Extension
+ GHC.Internal.LanguageExtensions: TypeInType :: Extension
+ GHC.Internal.LanguageExtensions: TypeOperators :: Extension
+ GHC.Internal.LanguageExtensions: TypeSynonymInstances :: Extension
+ GHC.Internal.LanguageExtensions: UnboxedSums :: Extension
+ GHC.Internal.LanguageExtensions: UnboxedTuples :: Extension
+ GHC.Internal.LanguageExtensions: UndecidableInstances :: Extension
+ GHC.Internal.LanguageExtensions: UndecidableSuperClasses :: Extension
+ GHC.Internal.LanguageExtensions: UnicodeSyntax :: Extension
+ GHC.Internal.LanguageExtensions: UnliftedDatatypes :: Extension
+ GHC.Internal.LanguageExtensions: UnliftedFFITypes :: Extension
+ GHC.Internal.LanguageExtensions: UnliftedNewtypes :: Extension
+ GHC.Internal.LanguageExtensions: ViewPatterns :: Extension
+ GHC.Internal.LanguageExtensions: data Extension
+ GHC.Internal.LanguageExtensions: instance GHC.Classes.Eq GHC.Internal.LanguageExtensions.Extension
+ GHC.Internal.LanguageExtensions: instance GHC.Classes.Ord GHC.Internal.LanguageExtensions.Extension
+ GHC.Internal.LanguageExtensions: instance GHC.Internal.Enum.Bounded GHC.Internal.LanguageExtensions.Extension
+ GHC.Internal.LanguageExtensions: instance GHC.Internal.Enum.Enum GHC.Internal.LanguageExtensions.Extension
+ GHC.Internal.LanguageExtensions: instance GHC.Internal.Generics.Generic GHC.Internal.LanguageExtensions.Extension
+ GHC.Internal.LanguageExtensions: instance GHC.Internal.Show.Show GHC.Internal.LanguageExtensions.Extension
+ GHC.Internal.Lexeme: isVarSymChar :: Char -> Bool
+ GHC.Internal.Lexeme: okSymChar :: Char -> Bool
+ GHC.Internal.Lexeme: startsConId :: Char -> Bool
+ GHC.Internal.Lexeme: startsConSym :: Char -> Bool
+ GHC.Internal.Lexeme: startsVarId :: Char -> Bool
+ GHC.Internal.Lexeme: startsVarSym :: Char -> Bool
+ GHC.Internal.Lexeme: startsVarSymASCII :: Char -> Bool
+ GHC.Internal.RTS.Flags: IoManagerFlagAuto :: IoManagerFlag
+ GHC.Internal.RTS.Flags: IoManagerFlagMIO :: IoManagerFlag
+ GHC.Internal.RTS.Flags: IoManagerFlagSelect :: IoManagerFlag
+ GHC.Internal.RTS.Flags: IoManagerFlagWin32Legacy :: IoManagerFlag
+ GHC.Internal.RTS.Flags: IoManagerFlagWinIO :: IoManagerFlag
+ GHC.Internal.RTS.Flags: [readTixFile] :: HpcFlags -> Bool
+ GHC.Internal.RTS.Flags: data IoManagerFlag
+ GHC.Internal.RTS.Flags: instance GHC.Classes.Eq GHC.Internal.RTS.Flags.IoManagerFlag
+ GHC.Internal.RTS.Flags: instance GHC.Internal.Enum.Enum GHC.Internal.RTS.Flags.IoManagerFlag
+ GHC.Internal.RTS.Flags: instance GHC.Internal.Show.Show GHC.Internal.RTS.Flags.IoManagerFlag
+ GHC.Internal.RTS.Flags.Test: getUserEventTracingEnabled :: IO Bool
+ GHC.Internal.TH.Lib: anyclassStrategy :: Quote m => m DerivStrategy
+ GHC.Internal.TH.Lib: appE :: Quote m => m Exp -> m Exp -> m Exp
+ GHC.Internal.TH.Lib: appK :: Kind -> Kind -> Kind
+ GHC.Internal.TH.Lib: appKindT :: Quote m => m Type -> m Kind -> m Type
+ GHC.Internal.TH.Lib: appT :: Quote m => m Type -> m Type -> m Type
+ GHC.Internal.TH.Lib: appTypeE :: Quote m => m Exp -> m Type -> m Exp
+ GHC.Internal.TH.Lib: appsE :: Quote m => [m Exp] -> m Exp
+ GHC.Internal.TH.Lib: arithSeqE :: Quote m => m Range -> m Exp
+ GHC.Internal.TH.Lib: arrowK :: Kind
+ GHC.Internal.TH.Lib: arrowT :: Quote m => m Type
+ GHC.Internal.TH.Lib: asP :: Quote m => Name -> m Pat -> m Pat
+ GHC.Internal.TH.Lib: bang :: Quote m => m SourceUnpackedness -> m SourceStrictness -> m Bang
+ GHC.Internal.TH.Lib: bangP :: Quote m => m Pat -> m Pat
+ GHC.Internal.TH.Lib: bangType :: Quote m => m Bang -> m Type -> m BangType
+ GHC.Internal.TH.Lib: bindS :: Quote m => m Pat -> m Exp -> m Stmt
+ GHC.Internal.TH.Lib: bndrInvis :: BndrVis
+ GHC.Internal.TH.Lib: bndrReq :: BndrVis
+ GHC.Internal.TH.Lib: bytesPrimL :: Bytes -> Lit
+ GHC.Internal.TH.Lib: cApi :: Callconv
+ GHC.Internal.TH.Lib: cCall :: Callconv
+ GHC.Internal.TH.Lib: caseE :: Quote m => m Exp -> [m Match] -> m Exp
+ GHC.Internal.TH.Lib: charL :: Char -> Lit
+ GHC.Internal.TH.Lib: charPrimL :: Char -> Lit
+ GHC.Internal.TH.Lib: charTyLit :: Quote m => Char -> m TyLit
+ GHC.Internal.TH.Lib: classD :: Quote m => m Cxt -> Name -> [m (TyVarBndr BndrVis)] -> [FunDep] -> [m Dec] -> m Dec
+ GHC.Internal.TH.Lib: classP :: Quote m => Name -> [m Type] -> m Pred
+ GHC.Internal.TH.Lib: clause :: Quote m => [m Pat] -> m Body -> [m Dec] -> m Clause
+ GHC.Internal.TH.Lib: closedTypeFamilyD :: Quote m => Name -> [m (TyVarBndr BndrVis)] -> m FamilyResultSig -> Maybe InjectivityAnn -> [m TySynEqn] -> m Dec
+ GHC.Internal.TH.Lib: compE :: Quote m => [m Stmt] -> m Exp
+ GHC.Internal.TH.Lib: conE :: Quote m => Name -> m Exp
+ GHC.Internal.TH.Lib: conK :: Name -> Kind
+ GHC.Internal.TH.Lib: conP :: Quote m => Name -> [m Type] -> [m Pat] -> m Pat
+ GHC.Internal.TH.Lib: conT :: Quote m => Name -> m Type
+ GHC.Internal.TH.Lib: condE :: Quote m => m Exp -> m Exp -> m Exp -> m Exp
+ GHC.Internal.TH.Lib: constrainedE :: Quote m => [m Exp] -> m Exp -> m Exp
+ GHC.Internal.TH.Lib: constraintK :: Quote m => m Kind
+ GHC.Internal.TH.Lib: cxt :: Quote m => [m Pred] -> m Cxt
+ GHC.Internal.TH.Lib: dataD :: Quote m => m Cxt -> Name -> [m (TyVarBndr BndrVis)] -> Maybe (m Kind) -> [m Con] -> [m DerivClause] -> m Dec
+ GHC.Internal.TH.Lib: dataD_doc :: Q Cxt -> Name -> [Q (TyVarBndr BndrVis)] -> Maybe (Q Kind) -> [(Q Con, Maybe String, [Maybe String])] -> [Q DerivClause] -> Maybe String -> Q Dec
+ GHC.Internal.TH.Lib: dataFamilyD :: Quote m => Name -> [m (TyVarBndr BndrVis)] -> Maybe (m Kind) -> m Dec
+ GHC.Internal.TH.Lib: dataInstD :: Quote m => m Cxt -> Maybe [m (TyVarBndr ())] -> m Type -> Maybe (m Kind) -> [m Con] -> [m DerivClause] -> m Dec
+ GHC.Internal.TH.Lib: dataInstD_doc :: Q Cxt -> Maybe [Q (TyVarBndr ())] -> Q Type -> Maybe (Q Kind) -> [(Q Con, Maybe String, [Maybe String])] -> [Q DerivClause] -> Maybe String -> Q Dec
+ GHC.Internal.TH.Lib: defaultD :: Quote m => [m Type] -> m Dec
+ GHC.Internal.TH.Lib: defaultSigD :: Quote m => Name -> m Type -> m Dec
+ GHC.Internal.TH.Lib: derivClause :: Quote m => Maybe (m DerivStrategy) -> [m Pred] -> m DerivClause
+ GHC.Internal.TH.Lib: doE :: Quote m => Maybe ModName -> [m Stmt] -> m Exp
+ GHC.Internal.TH.Lib: docCons :: (Q Con, Maybe String, [Maybe String]) -> Q ()
+ GHC.Internal.TH.Lib: doublePrimL :: Rational -> Lit
+ GHC.Internal.TH.Lib: dyn :: Quote m => String -> m Exp
+ GHC.Internal.TH.Lib: equalP :: Quote m => m Type -> m Type -> m Pred
+ GHC.Internal.TH.Lib: equalityT :: Quote m => m Type
+ GHC.Internal.TH.Lib: explBidir :: Quote m => [m Clause] -> m PatSynDir
+ GHC.Internal.TH.Lib: fieldExp :: Quote m => Name -> m Exp -> m (Name, Exp)
+ GHC.Internal.TH.Lib: fieldPat :: Quote m => Name -> m Pat -> m FieldPat
+ GHC.Internal.TH.Lib: floatPrimL :: Rational -> Lit
+ GHC.Internal.TH.Lib: forImpD :: Quote m => Callconv -> Safety -> String -> Name -> m Type -> m Dec
+ GHC.Internal.TH.Lib: forallC :: Quote m => [m (TyVarBndr Specificity)] -> m Cxt -> m Con -> m Con
+ GHC.Internal.TH.Lib: forallE :: Quote m => [m (TyVarBndr Specificity)] -> m Exp -> m Exp
+ GHC.Internal.TH.Lib: forallT :: Quote m => [m (TyVarBndr Specificity)] -> m Cxt -> m Type -> m Type
+ GHC.Internal.TH.Lib: forallVisE :: Quote m => [m (TyVarBndr ())] -> m Exp -> m Exp
+ GHC.Internal.TH.Lib: forallVisT :: Quote m => [m (TyVarBndr ())] -> m Type -> m Type
+ GHC.Internal.TH.Lib: fromE :: Quote m => m Exp -> m Exp
+ GHC.Internal.TH.Lib: fromR :: Quote m => m Exp -> m Range
+ GHC.Internal.TH.Lib: fromThenE :: Quote m => m Exp -> m Exp -> m Exp
+ GHC.Internal.TH.Lib: fromThenR :: Quote m => m Exp -> m Exp -> m Range
+ GHC.Internal.TH.Lib: fromThenToE :: Quote m => m Exp -> m Exp -> m Exp -> m Exp
+ GHC.Internal.TH.Lib: fromThenToR :: Quote m => m Exp -> m Exp -> m Exp -> m Range
+ GHC.Internal.TH.Lib: fromToE :: Quote m => m Exp -> m Exp -> m Exp
+ GHC.Internal.TH.Lib: fromToR :: Quote m => m Exp -> m Exp -> m Range
+ GHC.Internal.TH.Lib: funD :: Quote m => Name -> [m Clause] -> m Dec
+ GHC.Internal.TH.Lib: funD_doc :: Name -> [Q Clause] -> Maybe String -> [Maybe String] -> Q Dec
+ GHC.Internal.TH.Lib: funDep :: [Name] -> [Name] -> FunDep
+ GHC.Internal.TH.Lib: gadtC :: Quote m => [Name] -> [m StrictType] -> m Type -> m Con
+ GHC.Internal.TH.Lib: getFieldE :: Quote m => m Exp -> String -> m Exp
+ GHC.Internal.TH.Lib: guardedB :: Quote m => [m (Guard, Exp)] -> m Body
+ GHC.Internal.TH.Lib: implBidir :: Quote m => m PatSynDir
+ GHC.Internal.TH.Lib: implicitParamBindD :: Quote m => String -> m Exp -> m Dec
+ GHC.Internal.TH.Lib: implicitParamT :: Quote m => String -> m Type -> m Type
+ GHC.Internal.TH.Lib: implicitParamVarE :: Quote m => String -> m Exp
+ GHC.Internal.TH.Lib: inferR :: Role
+ GHC.Internal.TH.Lib: inferredSpec :: Specificity
+ GHC.Internal.TH.Lib: infixApp :: Quote m => m Exp -> m Exp -> m Exp -> m Exp
+ GHC.Internal.TH.Lib: infixC :: Quote m => m (Bang, Type) -> Name -> m (Bang, Type) -> m Con
+ GHC.Internal.TH.Lib: infixE :: Quote m => Maybe (m Exp) -> m Exp -> Maybe (m Exp) -> m Exp
+ GHC.Internal.TH.Lib: infixLD :: Quote m => Int -> Name -> m Dec
+ GHC.Internal.TH.Lib: infixLWithSpecD :: Quote m => Int -> NamespaceSpecifier -> Name -> m Dec
+ GHC.Internal.TH.Lib: infixND :: Quote m => Int -> Name -> m Dec
+ GHC.Internal.TH.Lib: infixNWithSpecD :: Quote m => Int -> NamespaceSpecifier -> Name -> m Dec
+ GHC.Internal.TH.Lib: infixP :: Quote m => m Pat -> Name -> m Pat -> m Pat
+ GHC.Internal.TH.Lib: infixPatSyn :: Quote m => Name -> Name -> m PatSynArgs
+ GHC.Internal.TH.Lib: infixRD :: Quote m => Int -> Name -> m Dec
+ GHC.Internal.TH.Lib: infixRWithSpecD :: Quote m => Int -> NamespaceSpecifier -> Name -> m Dec
+ GHC.Internal.TH.Lib: infixT :: Quote m => m Type -> Name -> m Type -> m Type
+ GHC.Internal.TH.Lib: injectivityAnn :: Name -> [Name] -> InjectivityAnn
+ GHC.Internal.TH.Lib: instanceD :: Quote m => m Cxt -> m Type -> [m Dec] -> m Dec
+ GHC.Internal.TH.Lib: instanceWithOverlapD :: Quote m => Maybe Overlap -> m Cxt -> m Type -> [m Dec] -> m Dec
+ GHC.Internal.TH.Lib: intPrimL :: Integer -> Lit
+ GHC.Internal.TH.Lib: integerL :: Integer -> Lit
+ GHC.Internal.TH.Lib: interruptible :: Safety
+ GHC.Internal.TH.Lib: invisP :: Quote m => m Type -> m Pat
+ GHC.Internal.TH.Lib: isStrict :: Quote m => m Strict
+ GHC.Internal.TH.Lib: javaScript :: Callconv
+ GHC.Internal.TH.Lib: kiSigD :: Quote m => Name -> m Kind -> m Dec
+ GHC.Internal.TH.Lib: kindSig :: Quote m => m Kind -> m FamilyResultSig
+ GHC.Internal.TH.Lib: kindedBndrTV :: Quote m => Name -> BndrVis -> m Kind -> m (TyVarBndr BndrVis)
+ GHC.Internal.TH.Lib: kindedInvisTV :: Quote m => Name -> Specificity -> m Kind -> m (TyVarBndr Specificity)
+ GHC.Internal.TH.Lib: kindedTV :: Quote m => Name -> m Kind -> m (TyVarBndr ())
+ GHC.Internal.TH.Lib: labelE :: Quote m => String -> m Exp
+ GHC.Internal.TH.Lib: lam1E :: Quote m => m Pat -> m Exp -> m Exp
+ GHC.Internal.TH.Lib: lamCaseE :: Quote m => [m Match] -> m Exp
+ GHC.Internal.TH.Lib: lamCasesE :: Quote m => [m Clause] -> m Exp
+ GHC.Internal.TH.Lib: lamE :: Quote m => [m Pat] -> m Exp -> m Exp
+ GHC.Internal.TH.Lib: letE :: Quote m => [m Dec] -> m Exp -> m Exp
+ GHC.Internal.TH.Lib: letS :: Quote m => [m Dec] -> m Stmt
+ GHC.Internal.TH.Lib: listE :: Quote m => [m Exp] -> m Exp
+ GHC.Internal.TH.Lib: listK :: Kind
+ GHC.Internal.TH.Lib: listP :: Quote m => [m Pat] -> m Pat
+ GHC.Internal.TH.Lib: listT :: Quote m => m Type
+ GHC.Internal.TH.Lib: litE :: Quote m => Lit -> m Exp
+ GHC.Internal.TH.Lib: litP :: Quote m => Lit -> m Pat
+ GHC.Internal.TH.Lib: litT :: Quote m => m TyLit -> m Type
+ GHC.Internal.TH.Lib: match :: Quote m => m Pat -> m Body -> [m Dec] -> m Match
+ GHC.Internal.TH.Lib: mdoE :: Quote m => Maybe ModName -> [m Stmt] -> m Exp
+ GHC.Internal.TH.Lib: moduleAnnotation :: AnnTarget
+ GHC.Internal.TH.Lib: mulArrowT :: Quote m => m Type
+ GHC.Internal.TH.Lib: multiIfE :: Quote m => [m (Guard, Exp)] -> m Exp
+ GHC.Internal.TH.Lib: newtypeD :: Quote m => m Cxt -> Name -> [m (TyVarBndr BndrVis)] -> Maybe (m Kind) -> m Con -> [m DerivClause] -> m Dec
+ GHC.Internal.TH.Lib: newtypeD_doc :: Q Cxt -> Name -> [Q (TyVarBndr BndrVis)] -> Maybe (Q Kind) -> (Q Con, Maybe String, [Maybe String]) -> [Q DerivClause] -> Maybe String -> Q Dec
+ GHC.Internal.TH.Lib: newtypeInstD :: Quote m => m Cxt -> Maybe [m (TyVarBndr ())] -> m Type -> Maybe (m Kind) -> m Con -> [m DerivClause] -> m Dec
+ GHC.Internal.TH.Lib: newtypeInstD_doc :: Q Cxt -> Maybe [Q (TyVarBndr ())] -> Q Type -> Maybe (Q Kind) -> (Q Con, Maybe String, [Maybe String]) -> [Q DerivClause] -> Maybe String -> Q Dec
+ GHC.Internal.TH.Lib: newtypeStrategy :: Quote m => m DerivStrategy
+ GHC.Internal.TH.Lib: noBindS :: Quote m => m Exp -> m Stmt
+ GHC.Internal.TH.Lib: noSig :: Quote m => m FamilyResultSig
+ GHC.Internal.TH.Lib: noSourceStrictness :: Quote m => m SourceStrictness
+ GHC.Internal.TH.Lib: noSourceUnpackedness :: Quote m => m SourceUnpackedness
+ GHC.Internal.TH.Lib: nominalR :: Role
+ GHC.Internal.TH.Lib: normalB :: Quote m => m Exp -> m Body
+ GHC.Internal.TH.Lib: normalC :: Quote m => Name -> [m BangType] -> m Con
+ GHC.Internal.TH.Lib: normalG :: Quote m => m Exp -> m Guard
+ GHC.Internal.TH.Lib: normalGE :: Quote m => m Exp -> m Exp -> m (Guard, Exp)
+ GHC.Internal.TH.Lib: notStrict :: Quote m => m Strict
+ GHC.Internal.TH.Lib: numTyLit :: Quote m => Integer -> m TyLit
+ GHC.Internal.TH.Lib: openTypeFamilyD :: Quote m => Name -> [m (TyVarBndr BndrVis)] -> m FamilyResultSig -> Maybe InjectivityAnn -> m Dec
+ GHC.Internal.TH.Lib: orP :: Quote m => NonEmpty (m Pat) -> m Pat
+ GHC.Internal.TH.Lib: parS :: Quote m => [[m Stmt]] -> m Stmt
+ GHC.Internal.TH.Lib: parensE :: Quote m => m Exp -> m Exp
+ GHC.Internal.TH.Lib: parensP :: Quote m => m Pat -> m Pat
+ GHC.Internal.TH.Lib: parensT :: Quote m => m Type -> m Type
+ GHC.Internal.TH.Lib: patG :: Quote m => [m Stmt] -> m Guard
+ GHC.Internal.TH.Lib: patGE :: Quote m => [m Stmt] -> m Exp -> m (Guard, Exp)
+ GHC.Internal.TH.Lib: patSynD :: Quote m => Name -> m PatSynArgs -> m PatSynDir -> m Pat -> m Dec
+ GHC.Internal.TH.Lib: patSynD_doc :: Name -> Q PatSynArgs -> Q PatSynDir -> Q Pat -> Maybe String -> [Maybe String] -> Q Dec
+ GHC.Internal.TH.Lib: patSynSigD :: Quote m => Name -> m Type -> m Dec
+ GHC.Internal.TH.Lib: phantomR :: Role
+ GHC.Internal.TH.Lib: plainBndrTV :: Quote m => Name -> BndrVis -> m (TyVarBndr BndrVis)
+ GHC.Internal.TH.Lib: plainInvisTV :: Quote m => Name -> Specificity -> m (TyVarBndr Specificity)
+ GHC.Internal.TH.Lib: plainTV :: Quote m => Name -> m (TyVarBndr ())
+ GHC.Internal.TH.Lib: pragAnnD :: Quote m => AnnTarget -> m Exp -> m Dec
+ GHC.Internal.TH.Lib: pragCompleteD :: Quote m => [Name] -> Maybe Name -> m Dec
+ GHC.Internal.TH.Lib: pragInlD :: Quote m => Name -> Inline -> RuleMatch -> Phases -> m Dec
+ GHC.Internal.TH.Lib: pragLineD :: Quote m => Int -> String -> m Dec
+ GHC.Internal.TH.Lib: pragOpaqueD :: Quote m => Name -> m Dec
+ GHC.Internal.TH.Lib: pragRuleD :: Quote m => String -> Maybe [m (TyVarBndr ())] -> [m RuleBndr] -> m Exp -> m Exp -> Phases -> m Dec
+ GHC.Internal.TH.Lib: pragSCCFunD :: Quote m => Name -> m Dec
+ GHC.Internal.TH.Lib: pragSCCFunNamedD :: Quote m => Name -> String -> m Dec
+ GHC.Internal.TH.Lib: pragSpecD :: Quote m => Name -> m Type -> Phases -> m Dec
+ GHC.Internal.TH.Lib: pragSpecInlD :: Quote m => Name -> m Type -> Inline -> Phases -> m Dec
+ GHC.Internal.TH.Lib: pragSpecInstD :: Quote m => m Type -> m Dec
+ GHC.Internal.TH.Lib: prefixPatSyn :: Quote m => [Name] -> m PatSynArgs
+ GHC.Internal.TH.Lib: prim :: Callconv
+ GHC.Internal.TH.Lib: projectionE :: Quote m => NonEmpty String -> m Exp
+ GHC.Internal.TH.Lib: promotedConsT :: Quote m => m Type
+ GHC.Internal.TH.Lib: promotedInfixT :: Quote m => m Type -> Name -> m Type -> m Type
+ GHC.Internal.TH.Lib: promotedNilT :: Quote m => m Type
+ GHC.Internal.TH.Lib: promotedT :: Quote m => Name -> m Type
+ GHC.Internal.TH.Lib: promotedTupleT :: Quote m => Int -> m Type
+ GHC.Internal.TH.Lib: promotedUInfixT :: Quote m => m Type -> Name -> m Type -> m Type
+ GHC.Internal.TH.Lib: rationalL :: Rational -> Lit
+ GHC.Internal.TH.Lib: recC :: Quote m => Name -> [m VarBangType] -> m Con
+ GHC.Internal.TH.Lib: recConE :: Quote m => Name -> [m (Name, Exp)] -> m Exp
+ GHC.Internal.TH.Lib: recGadtC :: Quote m => [Name] -> [m VarStrictType] -> m Type -> m Con
+ GHC.Internal.TH.Lib: recP :: Quote m => Name -> [m FieldPat] -> m Pat
+ GHC.Internal.TH.Lib: recS :: Quote m => [m Stmt] -> m Stmt
+ GHC.Internal.TH.Lib: recUpdE :: Quote m => m Exp -> [m (Name, Exp)] -> m Exp
+ GHC.Internal.TH.Lib: recordPatSyn :: Quote m => [Name] -> m PatSynArgs
+ GHC.Internal.TH.Lib: representationalR :: Role
+ GHC.Internal.TH.Lib: roleAnnotD :: Quote m => Name -> [Role] -> m Dec
+ GHC.Internal.TH.Lib: ruleVar :: Quote m => Name -> m RuleBndr
+ GHC.Internal.TH.Lib: safe :: Safety
+ GHC.Internal.TH.Lib: sectionL :: Quote m => m Exp -> m Exp -> m Exp
+ GHC.Internal.TH.Lib: sectionR :: Quote m => m Exp -> m Exp -> m Exp
+ GHC.Internal.TH.Lib: sigD :: Quote m => Name -> m Type -> m Dec
+ GHC.Internal.TH.Lib: sigE :: Quote m => m Exp -> m Type -> m Exp
+ GHC.Internal.TH.Lib: sigP :: Quote m => m Pat -> m Type -> m Pat
+ GHC.Internal.TH.Lib: sigT :: Quote m => m Type -> m Kind -> m Type
+ GHC.Internal.TH.Lib: sourceLazy :: Quote m => m SourceStrictness
+ GHC.Internal.TH.Lib: sourceNoUnpack :: Quote m => m SourceUnpackedness
+ GHC.Internal.TH.Lib: sourceStrict :: Quote m => m SourceStrictness
+ GHC.Internal.TH.Lib: sourceUnpack :: Quote m => m SourceUnpackedness
+ GHC.Internal.TH.Lib: specifiedSpec :: Specificity
+ GHC.Internal.TH.Lib: standaloneDerivD :: Quote m => m Cxt -> m Type -> m Dec
+ GHC.Internal.TH.Lib: standaloneDerivWithStrategyD :: Quote m => Maybe (m DerivStrategy) -> m Cxt -> m Type -> m Dec
+ GHC.Internal.TH.Lib: starK :: Quote m => m Kind
+ GHC.Internal.TH.Lib: staticE :: Quote m => m Exp -> m Exp
+ GHC.Internal.TH.Lib: stdCall :: Callconv
+ GHC.Internal.TH.Lib: stockStrategy :: Quote m => m DerivStrategy
+ GHC.Internal.TH.Lib: strTyLit :: Quote m => String -> m TyLit
+ GHC.Internal.TH.Lib: strictType :: Quote m => m Strict -> m Type -> m StrictType
+ GHC.Internal.TH.Lib: stringE :: Quote m => String -> m Exp
+ GHC.Internal.TH.Lib: stringL :: String -> Lit
+ GHC.Internal.TH.Lib: stringPrimL :: [Word8] -> Lit
+ GHC.Internal.TH.Lib: thisModule :: Q Module
+ GHC.Internal.TH.Lib: tildeP :: Quote m => m Pat -> m Pat
+ GHC.Internal.TH.Lib: tupE :: Quote m => [Maybe (m Exp)] -> m Exp
+ GHC.Internal.TH.Lib: tupP :: Quote m => [m Pat] -> m Pat
+ GHC.Internal.TH.Lib: tupleK :: Int -> Kind
+ GHC.Internal.TH.Lib: tupleT :: Quote m => Int -> m Type
+ GHC.Internal.TH.Lib: tySynD :: Quote m => Name -> [m (TyVarBndr BndrVis)] -> m Type -> m Dec
+ GHC.Internal.TH.Lib: tySynEqn :: Quote m => Maybe [m (TyVarBndr ())] -> m Type -> m Type -> m TySynEqn
+ GHC.Internal.TH.Lib: tySynInstD :: Quote m => m TySynEqn -> m Dec
+ GHC.Internal.TH.Lib: tyVarSig :: Quote m => m (TyVarBndr ()) -> m FamilyResultSig
+ GHC.Internal.TH.Lib: type BangQ = Q Bang
+ GHC.Internal.TH.Lib: type BangTypeQ = Q BangType
+ GHC.Internal.TH.Lib: type BodyQ = Q Body
+ GHC.Internal.TH.Lib: type ClauseQ = Q Clause
+ GHC.Internal.TH.Lib: type CodeQ = Code Q
+ GHC.Internal.TH.Lib: type ConQ = Q Con
+ GHC.Internal.TH.Lib: type CxtQ = Q Cxt
+ GHC.Internal.TH.Lib: type DecQ = Q Dec
+ GHC.Internal.TH.Lib: type Decs = [Dec]
+ GHC.Internal.TH.Lib: type DecsQ = Q [Dec]
+ GHC.Internal.TH.Lib: type DerivClauseQ = Q DerivClause
+ GHC.Internal.TH.Lib: type DerivStrategyQ = Q DerivStrategy
+ GHC.Internal.TH.Lib: type ExpQ = Q Exp
+ GHC.Internal.TH.Lib: type FamilyResultSigQ = Q FamilyResultSig
+ GHC.Internal.TH.Lib: type FieldExpQ = Q FieldExp
+ GHC.Internal.TH.Lib: type FieldPatQ = Q FieldPat
+ GHC.Internal.TH.Lib: type GuardQ = Q Guard
+ GHC.Internal.TH.Lib: type InfoQ = Q Info
+ GHC.Internal.TH.Lib: type InjectivityAnn = InjectivityAnn
+ GHC.Internal.TH.Lib: type KindQ = Q Kind
+ GHC.Internal.TH.Lib: type MatchQ = Q Match
+ GHC.Internal.TH.Lib: type PatQ = Q Pat
+ GHC.Internal.TH.Lib: type PatSynArgsQ = Q PatSynArgs
+ GHC.Internal.TH.Lib: type PatSynDirQ = Q PatSynDir
+ GHC.Internal.TH.Lib: type PredQ = Q Pred
+ GHC.Internal.TH.Lib: type RangeQ = Q Range
+ GHC.Internal.TH.Lib: type Role = Role
+ GHC.Internal.TH.Lib: type RuleBndrQ = Q RuleBndr
+ GHC.Internal.TH.Lib: type SourceStrictnessQ = Q SourceStrictness
+ GHC.Internal.TH.Lib: type SourceUnpackednessQ = Q SourceUnpackedness
+ GHC.Internal.TH.Lib: type StmtQ = Q Stmt
+ GHC.Internal.TH.Lib: type StrictTypeQ = Q StrictType
+ GHC.Internal.TH.Lib: type TExpQ (a :: TYPE r) = Q TExp a
+ GHC.Internal.TH.Lib: type TyLitQ = Q TyLit
+ GHC.Internal.TH.Lib: type TySynEqnQ = Q TySynEqn
+ GHC.Internal.TH.Lib: type TyVarBndrSpec = TyVarBndr Specificity
+ GHC.Internal.TH.Lib: type TyVarBndrUnit = TyVarBndr ()
+ GHC.Internal.TH.Lib: type TyVarBndrVis = TyVarBndr BndrVis
+ GHC.Internal.TH.Lib: type TypeQ = Q Type
+ GHC.Internal.TH.Lib: type VarBangTypeQ = Q VarBangType
+ GHC.Internal.TH.Lib: type VarStrictTypeQ = Q VarStrictType
+ GHC.Internal.TH.Lib: typeAnnotation :: Name -> AnnTarget
+ GHC.Internal.TH.Lib: typeDataD :: Quote m => Name -> [m (TyVarBndr BndrVis)] -> Maybe (m Kind) -> [m Con] -> m Dec
+ GHC.Internal.TH.Lib: typeDataD_doc :: Name -> [Q (TyVarBndr BndrVis)] -> Maybe (Q Kind) -> [(Q Con, Maybe String, [Maybe String])] -> Maybe String -> Q Dec
+ GHC.Internal.TH.Lib: typeE :: Quote m => m Type -> m Exp
+ GHC.Internal.TH.Lib: typeP :: Quote m => m Type -> m Pat
+ GHC.Internal.TH.Lib: typedBracketE :: Quote m => m Exp -> m Exp
+ GHC.Internal.TH.Lib: typedRuleVar :: Quote m => Name -> m Type -> m RuleBndr
+ GHC.Internal.TH.Lib: typedSpliceE :: Quote m => m Exp -> m Exp
+ GHC.Internal.TH.Lib: uInfixE :: Quote m => m Exp -> m Exp -> m Exp -> m Exp
+ GHC.Internal.TH.Lib: uInfixP :: Quote m => m Pat -> Name -> m Pat -> m Pat
+ GHC.Internal.TH.Lib: uInfixT :: Quote m => m Type -> Name -> m Type -> m Type
+ GHC.Internal.TH.Lib: unboundVarE :: Quote m => Name -> m Exp
+ GHC.Internal.TH.Lib: unboxedSumE :: Quote m => m Exp -> SumAlt -> SumArity -> m Exp
+ GHC.Internal.TH.Lib: unboxedSumP :: Quote m => m Pat -> SumAlt -> SumArity -> m Pat
+ GHC.Internal.TH.Lib: unboxedSumT :: Quote m => SumArity -> m Type
+ GHC.Internal.TH.Lib: unboxedTupE :: Quote m => [Maybe (m Exp)] -> m Exp
+ GHC.Internal.TH.Lib: unboxedTupP :: Quote m => [m Pat] -> m Pat
+ GHC.Internal.TH.Lib: unboxedTupleT :: Quote m => Int -> m Type
+ GHC.Internal.TH.Lib: unidir :: Quote m => m PatSynDir
+ GHC.Internal.TH.Lib: unpacked :: Quote m => m Strict
+ GHC.Internal.TH.Lib: unsafe :: Safety
+ GHC.Internal.TH.Lib: valD :: Quote m => m Pat -> m Body -> [m Dec] -> m Dec
+ GHC.Internal.TH.Lib: valueAnnotation :: Name -> AnnTarget
+ GHC.Internal.TH.Lib: varBangType :: Quote m => Name -> m BangType -> m VarBangType
+ GHC.Internal.TH.Lib: varE :: Quote m => Name -> m Exp
+ GHC.Internal.TH.Lib: varK :: Name -> Kind
+ GHC.Internal.TH.Lib: varP :: Quote m => Name -> m Pat
+ GHC.Internal.TH.Lib: varStrictType :: Quote m => Name -> m StrictType -> m VarStrictType
+ GHC.Internal.TH.Lib: varT :: Quote m => Name -> m Type
+ GHC.Internal.TH.Lib: viaStrategy :: Quote m => m Type -> m DerivStrategy
+ GHC.Internal.TH.Lib: viewP :: Quote m => m Exp -> m Pat -> m Pat
+ GHC.Internal.TH.Lib: wildCardT :: Quote m => m Type
+ GHC.Internal.TH.Lib: wildP :: Quote m => m Pat
+ GHC.Internal.TH.Lib: withDecDoc :: String -> Q Dec -> Q Dec
+ GHC.Internal.TH.Lib: withDecsDoc :: String -> Q [Dec] -> Q [Dec]
+ GHC.Internal.TH.Lib: wordPrimL :: Integer -> Lit
+ GHC.Internal.TH.Lift: ($dmlift) :: forall m. (Lift t, r ~ LiftedRep, Quote m) => t -> m Exp
+ GHC.Internal.TH.Lift: class Lift (t :: TYPE r)
+ GHC.Internal.TH.Lift: dataToExpQ :: (Quote m, Data a) => (forall b. Data b => b -> Maybe (m Exp)) -> a -> m Exp
+ GHC.Internal.TH.Lift: dataToPatQ :: (Quote m, Data a) => (forall b. Data b => b -> Maybe (m Pat)) -> a -> m Pat
+ GHC.Internal.TH.Lift: dataToQa :: (Quote m, Data a) => (Name -> k) -> (Lit -> m q) -> (k -> [m q] -> m q) -> (forall b. Data b => b -> Maybe (m q)) -> a -> m q
+ GHC.Internal.TH.Lift: falseName :: Name
+ GHC.Internal.TH.Lift: instance (GHC.Internal.TH.Lift.Lift a, GHC.Internal.TH.Lift.Lift b) => GHC.Internal.TH.Lift.Lift (# a | b #)
+ GHC.Internal.TH.Lift: instance (GHC.Internal.TH.Lift.Lift a, GHC.Internal.TH.Lift.Lift b) => GHC.Internal.TH.Lift.Lift (# a, b #)
+ GHC.Internal.TH.Lift: instance (GHC.Internal.TH.Lift.Lift a, GHC.Internal.TH.Lift.Lift b) => GHC.Internal.TH.Lift.Lift (GHC.Internal.Data.Either.Either a b)
+ GHC.Internal.TH.Lift: instance (GHC.Internal.TH.Lift.Lift a, GHC.Internal.TH.Lift.Lift b) => GHC.Internal.TH.Lift.Lift (a, b)
+ GHC.Internal.TH.Lift: instance (GHC.Internal.TH.Lift.Lift a, GHC.Internal.TH.Lift.Lift b, GHC.Internal.TH.Lift.Lift c) => GHC.Internal.TH.Lift.Lift (# a | b | c #)
+ GHC.Internal.TH.Lift: instance (GHC.Internal.TH.Lift.Lift a, GHC.Internal.TH.Lift.Lift b, GHC.Internal.TH.Lift.Lift c) => GHC.Internal.TH.Lift.Lift (# a, b, c #)
+ GHC.Internal.TH.Lift: instance (GHC.Internal.TH.Lift.Lift a, GHC.Internal.TH.Lift.Lift b, GHC.Internal.TH.Lift.Lift c) => GHC.Internal.TH.Lift.Lift (a, b, c)
+ GHC.Internal.TH.Lift: instance (GHC.Internal.TH.Lift.Lift a, GHC.Internal.TH.Lift.Lift b, GHC.Internal.TH.Lift.Lift c, GHC.Internal.TH.Lift.Lift d) => GHC.Internal.TH.Lift.Lift (# a | b | c | d #)
+ GHC.Internal.TH.Lift: instance (GHC.Internal.TH.Lift.Lift a, GHC.Internal.TH.Lift.Lift b, GHC.Internal.TH.Lift.Lift c, GHC.Internal.TH.Lift.Lift d) => GHC.Internal.TH.Lift.Lift (# a, b, c, d #)
+ GHC.Internal.TH.Lift: instance (GHC.Internal.TH.Lift.Lift a, GHC.Internal.TH.Lift.Lift b, GHC.Internal.TH.Lift.Lift c, GHC.Internal.TH.Lift.Lift d) => GHC.Internal.TH.Lift.Lift (a, b, c, d)
+ GHC.Internal.TH.Lift: instance (GHC.Internal.TH.Lift.Lift a, GHC.Internal.TH.Lift.Lift b, GHC.Internal.TH.Lift.Lift c, GHC.Internal.TH.Lift.Lift d, GHC.Internal.TH.Lift.Lift e) => GHC.Internal.TH.Lift.Lift (# a | b | c | d | e #)
+ GHC.Internal.TH.Lift: instance (GHC.Internal.TH.Lift.Lift a, GHC.Internal.TH.Lift.Lift b, GHC.Internal.TH.Lift.Lift c, GHC.Internal.TH.Lift.Lift d, GHC.Internal.TH.Lift.Lift e) => GHC.Internal.TH.Lift.Lift (# a, b, c, d, e #)
+ GHC.Internal.TH.Lift: instance (GHC.Internal.TH.Lift.Lift a, GHC.Internal.TH.Lift.Lift b, GHC.Internal.TH.Lift.Lift c, GHC.Internal.TH.Lift.Lift d, GHC.Internal.TH.Lift.Lift e) => GHC.Internal.TH.Lift.Lift (a, b, c, d, e)
+ GHC.Internal.TH.Lift: instance (GHC.Internal.TH.Lift.Lift a, GHC.Internal.TH.Lift.Lift b, GHC.Internal.TH.Lift.Lift c, GHC.Internal.TH.Lift.Lift d, GHC.Internal.TH.Lift.Lift e, GHC.Internal.TH.Lift.Lift f) => GHC.Internal.TH.Lift.Lift (# a | b | c | d | e | f #)
+ GHC.Internal.TH.Lift: instance (GHC.Internal.TH.Lift.Lift a, GHC.Internal.TH.Lift.Lift b, GHC.Internal.TH.Lift.Lift c, GHC.Internal.TH.Lift.Lift d, GHC.Internal.TH.Lift.Lift e, GHC.Internal.TH.Lift.Lift f) => GHC.Internal.TH.Lift.Lift (# a, b, c, d, e, f #)
+ GHC.Internal.TH.Lift: instance (GHC.Internal.TH.Lift.Lift a, GHC.Internal.TH.Lift.Lift b, GHC.Internal.TH.Lift.Lift c, GHC.Internal.TH.Lift.Lift d, GHC.Internal.TH.Lift.Lift e, GHC.Internal.TH.Lift.Lift f) => GHC.Internal.TH.Lift.Lift (a, b, c, d, e, f)
+ GHC.Internal.TH.Lift: instance (GHC.Internal.TH.Lift.Lift a, GHC.Internal.TH.Lift.Lift b, GHC.Internal.TH.Lift.Lift c, GHC.Internal.TH.Lift.Lift d, GHC.Internal.TH.Lift.Lift e, GHC.Internal.TH.Lift.Lift f, GHC.Internal.TH.Lift.Lift g) => GHC.Internal.TH.Lift.Lift (# a | b | c | d | e | f | g #)
+ GHC.Internal.TH.Lift: instance (GHC.Internal.TH.Lift.Lift a, GHC.Internal.TH.Lift.Lift b, GHC.Internal.TH.Lift.Lift c, GHC.Internal.TH.Lift.Lift d, GHC.Internal.TH.Lift.Lift e, GHC.Internal.TH.Lift.Lift f, GHC.Internal.TH.Lift.Lift g) => GHC.Internal.TH.Lift.Lift (# a, b, c, d, e, f, g #)
+ GHC.Internal.TH.Lift: instance (GHC.Internal.TH.Lift.Lift a, GHC.Internal.TH.Lift.Lift b, GHC.Internal.TH.Lift.Lift c, GHC.Internal.TH.Lift.Lift d, GHC.Internal.TH.Lift.Lift e, GHC.Internal.TH.Lift.Lift f, GHC.Internal.TH.Lift.Lift g) => GHC.Internal.TH.Lift.Lift (a, b, c, d, e, f, g)
+ GHC.Internal.TH.Lift: instance GHC.Internal.Real.Integral a => GHC.Internal.TH.Lift.Lift (GHC.Internal.Real.Ratio a)
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift (# #)
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift ()
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift (GHC.Internal.TH.Syntax.TExp a)
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.Base.Void
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.ForeignSrcLang.ForeignSrcLang
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.Int.Int16
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.Int.Int32
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.Int.Int64
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.Int.Int8
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.LanguageExtensions.Extension
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.AnnLookup
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.AnnTarget
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Bang
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.BndrVis
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Body
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Bytes
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Callconv
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Clause
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Con
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Dec
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.DecidedStrictness
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.DerivClause
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.DerivStrategy
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.DocLoc
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Exp
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.FamilyResultSig
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Fixity
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.FixityDirection
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Foreign
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.FunDep
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Guard
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Info
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.InjectivityAnn
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Inline
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Lit
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Loc
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Match
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.ModName
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Module
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Name
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.NameFlavour
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.NameIs
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.NameSpace
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.NamespaceSpecifier
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.OccName
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Overlap
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Pat
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.PatSynArgs
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.PatSynDir
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Phases
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.PkgName
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Pragma
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Range
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Role
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.RuleBndr
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.RuleMatch
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Safety
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.SourceStrictness
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.SourceUnpackedness
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Specificity
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Stmt
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.TyLit
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.TySynEqn
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.Type
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.TH.Syntax.TypeFamilyHead
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.Word.Word16
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.Word.Word32
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.Word.Word64
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Internal.Word.Word8
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Num.Integer.Integer
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Num.Natural.Natural
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Prim.Addr#
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Prim.Char#
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Prim.Double#
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Prim.Float#
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Prim.Int#
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Prim.Word#
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Types.Bool
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Types.Char
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Types.Double
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Types.Float
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Types.Int
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift GHC.Types.Word
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift a => GHC.Internal.TH.Lift.Lift (# a #)
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift a => GHC.Internal.TH.Lift.Lift (GHC.Internal.Base.NonEmpty a)
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift a => GHC.Internal.TH.Lift.Lift (GHC.Internal.Maybe.Maybe a)
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift a => GHC.Internal.TH.Lift.Lift (GHC.Internal.TH.Syntax.TyVarBndr a)
+ GHC.Internal.TH.Lift: instance GHC.Internal.TH.Lift.Lift a => GHC.Internal.TH.Lift.Lift [a]
+ GHC.Internal.TH.Lift: justName :: Name
+ GHC.Internal.TH.Lift: leftName :: Name
+ GHC.Internal.TH.Lift: lift :: (Lift t, Quote m) => t -> m Exp
+ GHC.Internal.TH.Lift: liftData :: (Quote m, Data a) => a -> m Exp
+ GHC.Internal.TH.Lift: liftString :: Quote m => String -> m Exp
+ GHC.Internal.TH.Lift: liftTyped :: forall (m :: Type -> Type). (Lift t, Quote m) => t -> Code m t
+ GHC.Internal.TH.Lift: nonemptyName :: Name
+ GHC.Internal.TH.Lift: nothingName :: Name
+ GHC.Internal.TH.Lift: rightName :: Name
+ GHC.Internal.TH.Lift: trueName :: Name
+ GHC.Internal.TH.Quote: QuasiQuoter :: (String -> Q Exp) -> (String -> Q Pat) -> (String -> Q Type) -> (String -> Q [Dec]) -> QuasiQuoter
+ GHC.Internal.TH.Quote: [quoteDec] :: QuasiQuoter -> String -> Q [Dec]
+ GHC.Internal.TH.Quote: [quoteExp] :: QuasiQuoter -> String -> Q Exp
+ GHC.Internal.TH.Quote: [quotePat] :: QuasiQuoter -> String -> Q Pat
+ GHC.Internal.TH.Quote: [quoteType] :: QuasiQuoter -> String -> Q Type
+ GHC.Internal.TH.Quote: data QuasiQuoter
+ GHC.Internal.TH.Syntax: AllPhases :: Phases
+ GHC.Internal.TH.Syntax: Alone :: NameIs
+ GHC.Internal.TH.Syntax: AnnLookupModule :: Module -> AnnLookup
+ GHC.Internal.TH.Syntax: AnnLookupName :: Name -> AnnLookup
+ GHC.Internal.TH.Syntax: AnnP :: AnnTarget -> Exp -> Pragma
+ GHC.Internal.TH.Syntax: AnyclassStrategy :: DerivStrategy
+ GHC.Internal.TH.Syntax: AppE :: Exp -> Exp -> Exp
+ GHC.Internal.TH.Syntax: AppKindT :: Type -> Kind -> Type
+ GHC.Internal.TH.Syntax: AppT :: Type -> Type -> Type
+ GHC.Internal.TH.Syntax: AppTypeE :: Exp -> Type -> Exp
+ GHC.Internal.TH.Syntax: Applied :: NameIs
+ GHC.Internal.TH.Syntax: ArgDoc :: Name -> Int -> DocLoc
+ GHC.Internal.TH.Syntax: ArithSeqE :: Range -> Exp
+ GHC.Internal.TH.Syntax: ArrowT :: Type
+ GHC.Internal.TH.Syntax: AsP :: Name -> Pat -> Pat
+ GHC.Internal.TH.Syntax: Bang :: SourceUnpackedness -> SourceStrictness -> Bang
+ GHC.Internal.TH.Syntax: BangP :: Pat -> Pat
+ GHC.Internal.TH.Syntax: BeforePhase :: Int -> Phases
+ GHC.Internal.TH.Syntax: BindS :: Pat -> Exp -> Stmt
+ GHC.Internal.TH.Syntax: BndrInvis :: BndrVis
+ GHC.Internal.TH.Syntax: BndrReq :: BndrVis
+ GHC.Internal.TH.Syntax: Bytes :: ForeignPtr Word8 -> Word -> Word -> Bytes
+ GHC.Internal.TH.Syntax: BytesPrimL :: Bytes -> Lit
+ GHC.Internal.TH.Syntax: CApi :: Callconv
+ GHC.Internal.TH.Syntax: CCall :: Callconv
+ GHC.Internal.TH.Syntax: CaseE :: Exp -> [Match] -> Exp
+ GHC.Internal.TH.Syntax: CharL :: Char -> Lit
+ GHC.Internal.TH.Syntax: CharPrimL :: Char -> Lit
+ GHC.Internal.TH.Syntax: CharTyLit :: Char -> TyLit
+ GHC.Internal.TH.Syntax: ClassD :: Cxt -> Name -> [TyVarBndr BndrVis] -> [FunDep] -> [Dec] -> Dec
+ GHC.Internal.TH.Syntax: ClassI :: Dec -> [InstanceDec] -> Info
+ GHC.Internal.TH.Syntax: ClassOpI :: Name -> Type -> ParentName -> Info
+ GHC.Internal.TH.Syntax: Clause :: [Pat] -> Body -> [Dec] -> Clause
+ GHC.Internal.TH.Syntax: ClosedTypeFamilyD :: TypeFamilyHead -> [TySynEqn] -> Dec
+ GHC.Internal.TH.Syntax: Code :: m (TExp a) -> Code (m :: Type -> Type) (a :: TYPE r)
+ GHC.Internal.TH.Syntax: CompE :: [Stmt] -> Exp
+ GHC.Internal.TH.Syntax: CompleteP :: [Name] -> Maybe Name -> Pragma
+ GHC.Internal.TH.Syntax: ConE :: Name -> Exp
+ GHC.Internal.TH.Syntax: ConLike :: RuleMatch
+ GHC.Internal.TH.Syntax: ConP :: Name -> [Type] -> [Pat] -> Pat
+ GHC.Internal.TH.Syntax: ConT :: Name -> Type
+ GHC.Internal.TH.Syntax: CondE :: Exp -> Exp -> Exp -> Exp
+ GHC.Internal.TH.Syntax: ConstrainedE :: [Exp] -> Exp -> Exp
+ GHC.Internal.TH.Syntax: ConstraintT :: Type
+ GHC.Internal.TH.Syntax: DataConI :: Name -> Type -> ParentName -> Info
+ GHC.Internal.TH.Syntax: DataD :: Cxt -> Name -> [TyVarBndr BndrVis] -> Maybe Kind -> [Con] -> [DerivClause] -> Dec
+ GHC.Internal.TH.Syntax: DataFamilyD :: Name -> [TyVarBndr BndrVis] -> Maybe Kind -> Dec
+ GHC.Internal.TH.Syntax: DataInstD :: Cxt -> Maybe [TyVarBndr ()] -> Type -> Maybe Kind -> [Con] -> [DerivClause] -> Dec
+ GHC.Internal.TH.Syntax: DataName :: NameSpace
+ GHC.Internal.TH.Syntax: DataNamespaceSpecifier :: NamespaceSpecifier
+ GHC.Internal.TH.Syntax: DecidedLazy :: DecidedStrictness
+ GHC.Internal.TH.Syntax: DecidedStrict :: DecidedStrictness
+ GHC.Internal.TH.Syntax: DecidedUnpack :: DecidedStrictness
+ GHC.Internal.TH.Syntax: DeclDoc :: Name -> DocLoc
+ GHC.Internal.TH.Syntax: DefaultD :: [Type] -> Dec
+ GHC.Internal.TH.Syntax: DefaultSigD :: Name -> Type -> Dec
+ GHC.Internal.TH.Syntax: DerivClause :: Maybe DerivStrategy -> Cxt -> DerivClause
+ GHC.Internal.TH.Syntax: DoE :: Maybe ModName -> [Stmt] -> Exp
+ GHC.Internal.TH.Syntax: DoublePrimL :: Rational -> Lit
+ GHC.Internal.TH.Syntax: EqualityT :: Type
+ GHC.Internal.TH.Syntax: ExplBidir :: [Clause] -> PatSynDir
+ GHC.Internal.TH.Syntax: ExportF :: Callconv -> String -> Name -> Type -> Foreign
+ GHC.Internal.TH.Syntax: FamilyI :: Dec -> [InstanceDec] -> Info
+ GHC.Internal.TH.Syntax: Fixity :: Int -> FixityDirection -> Fixity
+ GHC.Internal.TH.Syntax: FldName :: !String -> NameSpace
+ GHC.Internal.TH.Syntax: FloatPrimL :: Rational -> Lit
+ GHC.Internal.TH.Syntax: ForallC :: [TyVarBndr Specificity] -> Cxt -> Con -> Con
+ GHC.Internal.TH.Syntax: ForallE :: [TyVarBndr Specificity] -> Exp -> Exp
+ GHC.Internal.TH.Syntax: ForallT :: [TyVarBndr Specificity] -> Cxt -> Type -> Type
+ GHC.Internal.TH.Syntax: ForallVisE :: [TyVarBndr ()] -> Exp -> Exp
+ GHC.Internal.TH.Syntax: ForallVisT :: [TyVarBndr ()] -> Type -> Type
+ GHC.Internal.TH.Syntax: ForeignD :: Foreign -> Dec
+ GHC.Internal.TH.Syntax: FromPhase :: Int -> Phases
+ GHC.Internal.TH.Syntax: FromR :: Exp -> Range
+ GHC.Internal.TH.Syntax: FromThenR :: Exp -> Exp -> Range
+ GHC.Internal.TH.Syntax: FromThenToR :: Exp -> Exp -> Exp -> Range
+ GHC.Internal.TH.Syntax: FromToR :: Exp -> Exp -> Range
+ GHC.Internal.TH.Syntax: FunD :: Name -> [Clause] -> Dec
+ GHC.Internal.TH.Syntax: FunDep :: [Name] -> [Name] -> FunDep
+ GHC.Internal.TH.Syntax: FunLike :: RuleMatch
+ GHC.Internal.TH.Syntax: GadtC :: [Name] -> [BangType] -> Type -> Con
+ GHC.Internal.TH.Syntax: GetFieldE :: Exp -> String -> Exp
+ GHC.Internal.TH.Syntax: GuardedB :: [(Guard, Exp)] -> Body
+ GHC.Internal.TH.Syntax: ImplBidir :: PatSynDir
+ GHC.Internal.TH.Syntax: ImplicitParamBindD :: String -> Exp -> Dec
+ GHC.Internal.TH.Syntax: ImplicitParamT :: String -> Type -> Type
+ GHC.Internal.TH.Syntax: ImplicitParamVarE :: String -> Exp
+ GHC.Internal.TH.Syntax: ImportF :: Callconv -> Safety -> String -> Name -> Type -> Foreign
+ GHC.Internal.TH.Syntax: Incoherent :: Overlap
+ GHC.Internal.TH.Syntax: InferR :: Role
+ GHC.Internal.TH.Syntax: InferredSpec :: Specificity
+ GHC.Internal.TH.Syntax: Infix :: NameIs
+ GHC.Internal.TH.Syntax: InfixC :: BangType -> Name -> BangType -> Con
+ GHC.Internal.TH.Syntax: InfixD :: Fixity -> NamespaceSpecifier -> Name -> Dec
+ GHC.Internal.TH.Syntax: InfixE :: Maybe Exp -> Exp -> Maybe Exp -> Exp
+ GHC.Internal.TH.Syntax: InfixL :: FixityDirection
+ GHC.Internal.TH.Syntax: InfixN :: FixityDirection
+ GHC.Internal.TH.Syntax: InfixP :: Pat -> Name -> Pat -> Pat
+ GHC.Internal.TH.Syntax: InfixPatSyn :: Name -> Name -> PatSynArgs
+ GHC.Internal.TH.Syntax: InfixR :: FixityDirection
+ GHC.Internal.TH.Syntax: InfixT :: Type -> Name -> Type -> Type
+ GHC.Internal.TH.Syntax: InjectivityAnn :: Name -> [Name] -> InjectivityAnn
+ GHC.Internal.TH.Syntax: Inlinable :: Inline
+ GHC.Internal.TH.Syntax: Inline :: Inline
+ GHC.Internal.TH.Syntax: InlineP :: Name -> Inline -> RuleMatch -> Phases -> Pragma
+ GHC.Internal.TH.Syntax: InstDoc :: Type -> DocLoc
+ GHC.Internal.TH.Syntax: InstanceD :: Maybe Overlap -> Cxt -> Type -> [Dec] -> Dec
+ GHC.Internal.TH.Syntax: IntPrimL :: Integer -> Lit
+ GHC.Internal.TH.Syntax: IntegerL :: Integer -> Lit
+ GHC.Internal.TH.Syntax: Interruptible :: Safety
+ GHC.Internal.TH.Syntax: InvisP :: Type -> Pat
+ GHC.Internal.TH.Syntax: JavaScript :: Callconv
+ GHC.Internal.TH.Syntax: KiSigD :: Name -> Kind -> Dec
+ GHC.Internal.TH.Syntax: KindSig :: Kind -> FamilyResultSig
+ GHC.Internal.TH.Syntax: KindedTV :: Name -> flag -> Kind -> TyVarBndr flag
+ GHC.Internal.TH.Syntax: LabelE :: String -> Exp
+ GHC.Internal.TH.Syntax: LamCaseE :: [Match] -> Exp
+ GHC.Internal.TH.Syntax: LamCasesE :: [Clause] -> Exp
+ GHC.Internal.TH.Syntax: LamE :: [Pat] -> Exp -> Exp
+ GHC.Internal.TH.Syntax: LangAsm :: ForeignSrcLang
+ GHC.Internal.TH.Syntax: LangC :: ForeignSrcLang
+ GHC.Internal.TH.Syntax: LangCxx :: ForeignSrcLang
+ GHC.Internal.TH.Syntax: LangJs :: ForeignSrcLang
+ GHC.Internal.TH.Syntax: LangObjc :: ForeignSrcLang
+ GHC.Internal.TH.Syntax: LangObjcxx :: ForeignSrcLang
+ GHC.Internal.TH.Syntax: LetE :: [Dec] -> Exp -> Exp
+ GHC.Internal.TH.Syntax: LetS :: [Dec] -> Stmt
+ GHC.Internal.TH.Syntax: LineP :: Int -> String -> Pragma
+ GHC.Internal.TH.Syntax: ListE :: [Exp] -> Exp
+ GHC.Internal.TH.Syntax: ListP :: [Pat] -> Pat
+ GHC.Internal.TH.Syntax: ListT :: Type
+ GHC.Internal.TH.Syntax: LitE :: Lit -> Exp
+ GHC.Internal.TH.Syntax: LitP :: Lit -> Pat
+ GHC.Internal.TH.Syntax: LitT :: TyLit -> Type
+ GHC.Internal.TH.Syntax: Loc :: String -> String -> String -> CharPos -> CharPos -> Loc
+ GHC.Internal.TH.Syntax: MDoE :: Maybe ModName -> [Stmt] -> Exp
+ GHC.Internal.TH.Syntax: Match :: Pat -> Body -> [Dec] -> Match
+ GHC.Internal.TH.Syntax: ModName :: String -> ModName
+ GHC.Internal.TH.Syntax: Module :: PkgName -> ModName -> Module
+ GHC.Internal.TH.Syntax: ModuleAnnotation :: AnnTarget
+ GHC.Internal.TH.Syntax: ModuleDoc :: DocLoc
+ GHC.Internal.TH.Syntax: ModuleInfo :: [Module] -> ModuleInfo
+ GHC.Internal.TH.Syntax: MulArrowT :: Type
+ GHC.Internal.TH.Syntax: MultiIfE :: [(Guard, Exp)] -> Exp
+ GHC.Internal.TH.Syntax: Name :: OccName -> NameFlavour -> Name
+ GHC.Internal.TH.Syntax: NameG :: NameSpace -> PkgName -> ModName -> NameFlavour
+ GHC.Internal.TH.Syntax: NameL :: !Uniq -> NameFlavour
+ GHC.Internal.TH.Syntax: NameQ :: ModName -> NameFlavour
+ GHC.Internal.TH.Syntax: NameS :: NameFlavour
+ GHC.Internal.TH.Syntax: NameU :: !Uniq -> NameFlavour
+ GHC.Internal.TH.Syntax: NewtypeD :: Cxt -> Name -> [TyVarBndr BndrVis] -> Maybe Kind -> Con -> [DerivClause] -> Dec
+ GHC.Internal.TH.Syntax: NewtypeInstD :: Cxt -> Maybe [TyVarBndr ()] -> Type -> Maybe Kind -> Con -> [DerivClause] -> Dec
+ GHC.Internal.TH.Syntax: NewtypeStrategy :: DerivStrategy
+ GHC.Internal.TH.Syntax: NoBindS :: Exp -> Stmt
+ GHC.Internal.TH.Syntax: NoInline :: Inline
+ GHC.Internal.TH.Syntax: NoNamespaceSpecifier :: NamespaceSpecifier
+ GHC.Internal.TH.Syntax: NoSig :: FamilyResultSig
+ GHC.Internal.TH.Syntax: NoSourceStrictness :: SourceStrictness
+ GHC.Internal.TH.Syntax: NoSourceUnpackedness :: SourceUnpackedness
+ GHC.Internal.TH.Syntax: NominalR :: Role
+ GHC.Internal.TH.Syntax: NormalB :: Exp -> Body
+ GHC.Internal.TH.Syntax: NormalC :: Name -> [BangType] -> Con
+ GHC.Internal.TH.Syntax: NormalG :: Exp -> Guard
+ GHC.Internal.TH.Syntax: NumTyLit :: Integer -> TyLit
+ GHC.Internal.TH.Syntax: OccName :: String -> OccName
+ GHC.Internal.TH.Syntax: OpaqueP :: Name -> Pragma
+ GHC.Internal.TH.Syntax: OpenTypeFamilyD :: TypeFamilyHead -> Dec
+ GHC.Internal.TH.Syntax: OrP :: NonEmpty Pat -> Pat
+ GHC.Internal.TH.Syntax: Overlappable :: Overlap
+ GHC.Internal.TH.Syntax: Overlapping :: Overlap
+ GHC.Internal.TH.Syntax: Overlaps :: Overlap
+ GHC.Internal.TH.Syntax: ParS :: [[Stmt]] -> Stmt
+ GHC.Internal.TH.Syntax: ParensE :: Exp -> Exp
+ GHC.Internal.TH.Syntax: ParensP :: Pat -> Pat
+ GHC.Internal.TH.Syntax: ParensT :: Type -> Type
+ GHC.Internal.TH.Syntax: PatG :: [Stmt] -> Guard
+ GHC.Internal.TH.Syntax: PatSynD :: Name -> PatSynArgs -> PatSynDir -> Pat -> Dec
+ GHC.Internal.TH.Syntax: PatSynI :: Name -> PatSynType -> Info
+ GHC.Internal.TH.Syntax: PatSynSigD :: Name -> PatSynType -> Dec
+ GHC.Internal.TH.Syntax: PhantomR :: Role
+ GHC.Internal.TH.Syntax: PkgName :: String -> PkgName
+ GHC.Internal.TH.Syntax: PlainTV :: Name -> flag -> TyVarBndr flag
+ GHC.Internal.TH.Syntax: PragmaD :: Pragma -> Dec
+ GHC.Internal.TH.Syntax: PrefixPatSyn :: [Name] -> PatSynArgs
+ GHC.Internal.TH.Syntax: Prim :: Callconv
+ GHC.Internal.TH.Syntax: PrimTyConI :: Name -> Arity -> Unlifted -> Info
+ GHC.Internal.TH.Syntax: ProjectionE :: NonEmpty String -> Exp
+ GHC.Internal.TH.Syntax: PromotedConsT :: Type
+ GHC.Internal.TH.Syntax: PromotedInfixT :: Type -> Name -> Type -> Type
+ GHC.Internal.TH.Syntax: PromotedNilT :: Type
+ GHC.Internal.TH.Syntax: PromotedT :: Name -> Type
+ GHC.Internal.TH.Syntax: PromotedTupleT :: Int -> Type
+ GHC.Internal.TH.Syntax: PromotedUInfixT :: Type -> Name -> Type -> Type
+ GHC.Internal.TH.Syntax: Q :: (forall (m :: Type -> Type). Quasi m => m a) -> Q a
+ GHC.Internal.TH.Syntax: RationalL :: Rational -> Lit
+ GHC.Internal.TH.Syntax: RawObject :: ForeignSrcLang
+ GHC.Internal.TH.Syntax: RecC :: Name -> [VarBangType] -> Con
+ GHC.Internal.TH.Syntax: RecConE :: Name -> [FieldExp] -> Exp
+ GHC.Internal.TH.Syntax: RecGadtC :: [Name] -> [VarBangType] -> Type -> Con
+ GHC.Internal.TH.Syntax: RecP :: Name -> [FieldPat] -> Pat
+ GHC.Internal.TH.Syntax: RecS :: [Stmt] -> Stmt
+ GHC.Internal.TH.Syntax: RecUpdE :: Exp -> [FieldExp] -> Exp
+ GHC.Internal.TH.Syntax: RecordPatSyn :: [Name] -> PatSynArgs
+ GHC.Internal.TH.Syntax: RepresentationalR :: Role
+ GHC.Internal.TH.Syntax: RoleAnnotD :: Name -> [Role] -> Dec
+ GHC.Internal.TH.Syntax: RuleP :: String -> Maybe [TyVarBndr ()] -> [RuleBndr] -> Exp -> Exp -> Phases -> Pragma
+ GHC.Internal.TH.Syntax: RuleVar :: Name -> RuleBndr
+ GHC.Internal.TH.Syntax: SCCP :: Name -> Maybe String -> Pragma
+ GHC.Internal.TH.Syntax: Safe :: Safety
+ GHC.Internal.TH.Syntax: SigD :: Name -> Type -> Dec
+ GHC.Internal.TH.Syntax: SigE :: Exp -> Type -> Exp
+ GHC.Internal.TH.Syntax: SigP :: Pat -> Type -> Pat
+ GHC.Internal.TH.Syntax: SigT :: Type -> Kind -> Type
+ GHC.Internal.TH.Syntax: SourceLazy :: SourceStrictness
+ GHC.Internal.TH.Syntax: SourceNoUnpack :: SourceUnpackedness
+ GHC.Internal.TH.Syntax: SourceStrict :: SourceStrictness
+ GHC.Internal.TH.Syntax: SourceUnpack :: SourceUnpackedness
+ GHC.Internal.TH.Syntax: SpecialiseInstP :: Type -> Pragma
+ GHC.Internal.TH.Syntax: SpecialiseP :: Name -> Type -> Maybe Inline -> Phases -> Pragma
+ GHC.Internal.TH.Syntax: SpecifiedSpec :: Specificity
+ GHC.Internal.TH.Syntax: StandaloneDerivD :: Maybe DerivStrategy -> Cxt -> Type -> Dec
+ GHC.Internal.TH.Syntax: StarT :: Type
+ GHC.Internal.TH.Syntax: StaticE :: Exp -> Exp
+ GHC.Internal.TH.Syntax: StdCall :: Callconv
+ GHC.Internal.TH.Syntax: StockStrategy :: DerivStrategy
+ GHC.Internal.TH.Syntax: StrTyLit :: String -> TyLit
+ GHC.Internal.TH.Syntax: StringL :: String -> Lit
+ GHC.Internal.TH.Syntax: StringPrimL :: [Word8] -> Lit
+ GHC.Internal.TH.Syntax: TExp :: Exp -> TExp (a :: TYPE r)
+ GHC.Internal.TH.Syntax: TcClsName :: NameSpace
+ GHC.Internal.TH.Syntax: TildeP :: Pat -> Pat
+ GHC.Internal.TH.Syntax: TupE :: [Maybe Exp] -> Exp
+ GHC.Internal.TH.Syntax: TupP :: [Pat] -> Pat
+ GHC.Internal.TH.Syntax: TupleT :: Int -> Type
+ GHC.Internal.TH.Syntax: TyConI :: Dec -> Info
+ GHC.Internal.TH.Syntax: TySynD :: Name -> [TyVarBndr BndrVis] -> Type -> Dec
+ GHC.Internal.TH.Syntax: TySynEqn :: Maybe [TyVarBndr ()] -> Type -> Type -> TySynEqn
+ GHC.Internal.TH.Syntax: TySynInstD :: TySynEqn -> Dec
+ GHC.Internal.TH.Syntax: TyVarI :: Name -> Type -> Info
+ GHC.Internal.TH.Syntax: TyVarSig :: TyVarBndr () -> FamilyResultSig
+ GHC.Internal.TH.Syntax: TypeAnnotation :: Name -> AnnTarget
+ GHC.Internal.TH.Syntax: TypeDataD :: Name -> [TyVarBndr BndrVis] -> Maybe Kind -> [Con] -> Dec
+ GHC.Internal.TH.Syntax: TypeE :: Type -> Exp
+ GHC.Internal.TH.Syntax: TypeFamilyHead :: Name -> [TyVarBndr BndrVis] -> FamilyResultSig -> Maybe InjectivityAnn -> TypeFamilyHead
+ GHC.Internal.TH.Syntax: TypeNamespaceSpecifier :: NamespaceSpecifier
+ GHC.Internal.TH.Syntax: TypeP :: Type -> Pat
+ GHC.Internal.TH.Syntax: TypedBracketE :: Exp -> Exp
+ GHC.Internal.TH.Syntax: TypedRuleVar :: Name -> Type -> RuleBndr
+ GHC.Internal.TH.Syntax: TypedSpliceE :: Exp -> Exp
+ GHC.Internal.TH.Syntax: UInfixE :: Exp -> Exp -> Exp -> Exp
+ GHC.Internal.TH.Syntax: UInfixP :: Pat -> Name -> Pat -> Pat
+ GHC.Internal.TH.Syntax: UInfixT :: Type -> Name -> Type -> Type
+ GHC.Internal.TH.Syntax: UnboundVarE :: Name -> Exp
+ GHC.Internal.TH.Syntax: UnboxedSumE :: Exp -> SumAlt -> SumArity -> Exp
+ GHC.Internal.TH.Syntax: UnboxedSumP :: Pat -> SumAlt -> SumArity -> Pat
+ GHC.Internal.TH.Syntax: UnboxedSumT :: SumArity -> Type
+ GHC.Internal.TH.Syntax: UnboxedTupE :: [Maybe Exp] -> Exp
+ GHC.Internal.TH.Syntax: UnboxedTupP :: [Pat] -> Pat
+ GHC.Internal.TH.Syntax: UnboxedTupleT :: Int -> Type
+ GHC.Internal.TH.Syntax: Unidir :: PatSynDir
+ GHC.Internal.TH.Syntax: Unsafe :: Safety
+ GHC.Internal.TH.Syntax: ValD :: Pat -> Body -> [Dec] -> Dec
+ GHC.Internal.TH.Syntax: ValueAnnotation :: Name -> AnnTarget
+ GHC.Internal.TH.Syntax: VarE :: Name -> Exp
+ GHC.Internal.TH.Syntax: VarI :: Name -> Type -> Maybe Dec -> Info
+ GHC.Internal.TH.Syntax: VarName :: NameSpace
+ GHC.Internal.TH.Syntax: VarP :: Name -> Pat
+ GHC.Internal.TH.Syntax: VarT :: Name -> Type
+ GHC.Internal.TH.Syntax: ViaStrategy :: Type -> DerivStrategy
+ GHC.Internal.TH.Syntax: ViewP :: Exp -> Pat -> Pat
+ GHC.Internal.TH.Syntax: WildCardT :: Type
+ GHC.Internal.TH.Syntax: WildP :: Pat
+ GHC.Internal.TH.Syntax: WordPrimL :: Integer -> Lit
+ GHC.Internal.TH.Syntax: [bytesOffset] :: Bytes -> Word
+ GHC.Internal.TH.Syntax: [bytesPtr] :: Bytes -> ForeignPtr Word8
+ GHC.Internal.TH.Syntax: [bytesSize] :: Bytes -> Word
+ GHC.Internal.TH.Syntax: [examineCode] :: Code (m :: Type -> Type) (a :: TYPE r) -> m (TExp a)
+ GHC.Internal.TH.Syntax: [fldParent] :: NameSpace -> !String
+ GHC.Internal.TH.Syntax: [loc_end] :: Loc -> CharPos
+ GHC.Internal.TH.Syntax: [loc_filename] :: Loc -> String
+ GHC.Internal.TH.Syntax: [loc_module] :: Loc -> String
+ GHC.Internal.TH.Syntax: [loc_package] :: Loc -> String
+ GHC.Internal.TH.Syntax: [loc_start] :: Loc -> CharPos
+ GHC.Internal.TH.Syntax: [unQ] :: Q a -> forall (m :: Type -> Type). Quasi m => m a
+ GHC.Internal.TH.Syntax: [unType] :: TExp (a :: TYPE r) -> Exp
+ GHC.Internal.TH.Syntax: addCorePlugin :: String -> Q ()
+ GHC.Internal.TH.Syntax: addDependentFile :: FilePath -> Q ()
+ GHC.Internal.TH.Syntax: addForeignFile :: ForeignSrcLang -> String -> Q ()
+ GHC.Internal.TH.Syntax: addForeignFilePath :: ForeignSrcLang -> FilePath -> Q ()
+ GHC.Internal.TH.Syntax: addForeignSource :: ForeignSrcLang -> String -> Q ()
+ GHC.Internal.TH.Syntax: addModFinalizer :: Q () -> Q ()
+ GHC.Internal.TH.Syntax: addTempFile :: String -> Q FilePath
+ GHC.Internal.TH.Syntax: addTopDecls :: [Dec] -> Q ()
+ GHC.Internal.TH.Syntax: badIO :: String -> IO a
+ GHC.Internal.TH.Syntax: bindCode :: Monad m => m a -> (a -> Code m b) -> Code m b
+ GHC.Internal.TH.Syntax: bindCode_ :: Monad m => m a -> Code m b -> Code m b
+ GHC.Internal.TH.Syntax: class (MonadIO m, MonadFail m) => Quasi (m :: Type -> Type)
+ GHC.Internal.TH.Syntax: class Monad m => Quote (m :: Type -> Type)
+ GHC.Internal.TH.Syntax: cmpEq :: Ordering -> Bool
+ GHC.Internal.TH.Syntax: compareBytes :: Bytes -> Bytes -> Ordering
+ GHC.Internal.TH.Syntax: counter :: IORef Uniq
+ GHC.Internal.TH.Syntax: data AnnLookup
+ GHC.Internal.TH.Syntax: data AnnTarget
+ GHC.Internal.TH.Syntax: data Bang
+ GHC.Internal.TH.Syntax: data BndrVis
+ GHC.Internal.TH.Syntax: data Body
+ GHC.Internal.TH.Syntax: data Bytes
+ GHC.Internal.TH.Syntax: data Callconv
+ GHC.Internal.TH.Syntax: data Clause
+ GHC.Internal.TH.Syntax: data Con
+ GHC.Internal.TH.Syntax: data Dec
+ GHC.Internal.TH.Syntax: data DecidedStrictness
+ GHC.Internal.TH.Syntax: data DerivClause
+ GHC.Internal.TH.Syntax: data DerivStrategy
+ GHC.Internal.TH.Syntax: data DocLoc
+ GHC.Internal.TH.Syntax: data Exp
+ GHC.Internal.TH.Syntax: data FamilyResultSig
+ GHC.Internal.TH.Syntax: data Fixity
+ GHC.Internal.TH.Syntax: data FixityDirection
+ GHC.Internal.TH.Syntax: data Foreign
+ GHC.Internal.TH.Syntax: data ForeignSrcLang
+ GHC.Internal.TH.Syntax: data FunDep
+ GHC.Internal.TH.Syntax: data Guard
+ GHC.Internal.TH.Syntax: data Info
+ GHC.Internal.TH.Syntax: data InjectivityAnn
+ GHC.Internal.TH.Syntax: data Inline
+ GHC.Internal.TH.Syntax: data Lit
+ GHC.Internal.TH.Syntax: data Loc
+ GHC.Internal.TH.Syntax: data Match
+ GHC.Internal.TH.Syntax: data Module
+ GHC.Internal.TH.Syntax: data ModuleInfo
+ GHC.Internal.TH.Syntax: data Name
+ GHC.Internal.TH.Syntax: data NameFlavour
+ GHC.Internal.TH.Syntax: data NameIs
+ GHC.Internal.TH.Syntax: data NameSpace
+ GHC.Internal.TH.Syntax: data NamespaceSpecifier
+ GHC.Internal.TH.Syntax: data Overlap
+ GHC.Internal.TH.Syntax: data Pat
+ GHC.Internal.TH.Syntax: data PatSynArgs
+ GHC.Internal.TH.Syntax: data PatSynDir
+ GHC.Internal.TH.Syntax: data Phases
+ GHC.Internal.TH.Syntax: data Pragma
+ GHC.Internal.TH.Syntax: data Range
+ GHC.Internal.TH.Syntax: data Role
+ GHC.Internal.TH.Syntax: data RuleBndr
+ GHC.Internal.TH.Syntax: data RuleMatch
+ GHC.Internal.TH.Syntax: data Safety
+ GHC.Internal.TH.Syntax: data SourceStrictness
+ GHC.Internal.TH.Syntax: data SourceUnpackedness
+ GHC.Internal.TH.Syntax: data Specificity
+ GHC.Internal.TH.Syntax: data Stmt
+ GHC.Internal.TH.Syntax: data TyLit
+ GHC.Internal.TH.Syntax: data TySynEqn
+ GHC.Internal.TH.Syntax: data TyVarBndr flag
+ GHC.Internal.TH.Syntax: data Type
+ GHC.Internal.TH.Syntax: data TypeFamilyHead
+ GHC.Internal.TH.Syntax: defaultFixity :: Fixity
+ GHC.Internal.TH.Syntax: eqBytes :: Bytes -> Bytes -> Bool
+ GHC.Internal.TH.Syntax: extsEnabled :: Q [Extension]
+ GHC.Internal.TH.Syntax: getDoc :: DocLoc -> Q (Maybe String)
+ GHC.Internal.TH.Syntax: getPackageRoot :: Q FilePath
+ GHC.Internal.TH.Syntax: getQ :: Typeable a => Q (Maybe a)
+ GHC.Internal.TH.Syntax: get_cons_names :: Con -> [Name]
+ GHC.Internal.TH.Syntax: hoistCode :: Monad m => (forall x. () => m x -> n x) -> Code m a -> Code n a
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.AnnLookup
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.AnnTarget
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Bang
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.BndrVis
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Body
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Bytes
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Callconv
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Clause
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Con
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Dec
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.DecidedStrictness
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.DerivClause
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.DerivStrategy
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.DocLoc
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Exp
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.FamilyResultSig
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Fixity
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.FixityDirection
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Foreign
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.FunDep
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Guard
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Info
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.InjectivityAnn
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Inline
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Lit
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Loc
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Match
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.ModName
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Module
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.ModuleInfo
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Name
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.NameFlavour
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.NameSpace
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.NamespaceSpecifier
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.OccName
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Overlap
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Pat
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.PatSynArgs
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.PatSynDir
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Phases
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.PkgName
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Pragma
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Range
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Role
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.RuleBndr
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.RuleMatch
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Safety
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.SourceStrictness
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.SourceUnpackedness
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Specificity
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Stmt
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.TyLit
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.TySynEqn
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.Type
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq GHC.Internal.TH.Syntax.TypeFamilyHead
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Eq flag => GHC.Classes.Eq (GHC.Internal.TH.Syntax.TyVarBndr flag)
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.AnnLookup
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.AnnTarget
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Bang
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.BndrVis
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Body
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Bytes
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Callconv
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Clause
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Con
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Dec
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.DecidedStrictness
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.DerivClause
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.DerivStrategy
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.DocLoc
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Exp
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.FamilyResultSig
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Fixity
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.FixityDirection
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Foreign
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.FunDep
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Guard
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Info
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.InjectivityAnn
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Inline
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Lit
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Loc
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Match
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.ModName
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Module
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.ModuleInfo
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Name
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.NameFlavour
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.NameSpace
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.NamespaceSpecifier
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.OccName
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Overlap
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Pat
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.PatSynArgs
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.PatSynDir
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Phases
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.PkgName
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Pragma
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Range
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Role
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.RuleBndr
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.RuleMatch
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Safety
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.SourceStrictness
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.SourceUnpackedness
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Specificity
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Stmt
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.TyLit
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.TySynEqn
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.Type
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord GHC.Internal.TH.Syntax.TypeFamilyHead
+ GHC.Internal.TH.Syntax: instance GHC.Classes.Ord flag => GHC.Classes.Ord (GHC.Internal.TH.Syntax.TyVarBndr flag)
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Base.Applicative GHC.Internal.TH.Syntax.Q
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Base.Functor GHC.Internal.TH.Syntax.Q
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Base.Functor GHC.Internal.TH.Syntax.TyVarBndr
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Base.Monad GHC.Internal.TH.Syntax.Q
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Base.Monoid a => GHC.Internal.Base.Monoid (GHC.Internal.TH.Syntax.Q a)
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Base.Semigroup a => GHC.Internal.Base.Semigroup (GHC.Internal.TH.Syntax.Q a)
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Control.Monad.Fail.MonadFail GHC.Internal.TH.Syntax.Q
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Control.Monad.Fix.MonadFix GHC.Internal.TH.Syntax.Q
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Control.Monad.IO.Class.MonadIO GHC.Internal.TH.Syntax.Q
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.AnnLookup
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.AnnTarget
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Bang
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.BndrVis
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Body
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Bytes
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Callconv
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Clause
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Con
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Dec
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.DecidedStrictness
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.DerivClause
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.DerivStrategy
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.DocLoc
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Exp
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.FamilyResultSig
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Fixity
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.FixityDirection
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Foreign
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.FunDep
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Guard
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Info
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.InjectivityAnn
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Inline
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Lit
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Loc
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Match
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.ModName
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Module
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.ModuleInfo
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Name
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.NameFlavour
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.NameSpace
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.NamespaceSpecifier
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.OccName
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Overlap
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Pat
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.PatSynArgs
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.PatSynDir
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Phases
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.PkgName
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Pragma
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Range
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Role
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.RuleBndr
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.RuleMatch
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Safety
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.SourceStrictness
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.SourceUnpackedness
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Specificity
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Stmt
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.TyLit
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.TySynEqn
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.Type
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data GHC.Internal.TH.Syntax.TypeFamilyHead
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Data.Data flag => GHC.Internal.Data.Data.Data (GHC.Internal.TH.Syntax.TyVarBndr flag)
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Foldable.Foldable GHC.Internal.TH.Syntax.TyVarBndr
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Data.Traversable.Traversable GHC.Internal.TH.Syntax.TyVarBndr
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic (GHC.Internal.TH.Syntax.TyVarBndr flag)
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.AnnLookup
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.AnnTarget
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Bang
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.BndrVis
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Body
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Bytes
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Callconv
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Clause
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Con
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Dec
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.DecidedStrictness
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.DerivClause
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.DerivStrategy
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.DocLoc
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Exp
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.FamilyResultSig
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Fixity
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.FixityDirection
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Foreign
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.FunDep
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Guard
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Info
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.InjectivityAnn
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Inline
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Lit
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Loc
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Match
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.ModName
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Module
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.ModuleInfo
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Name
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.NameFlavour
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.NameSpace
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.NamespaceSpecifier
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.OccName
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Overlap
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Pat
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.PatSynArgs
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.PatSynDir
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Phases
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.PkgName
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Pragma
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Range
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Role
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.RuleBndr
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.RuleMatch
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Safety
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.SourceStrictness
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.SourceUnpackedness
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Specificity
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Stmt
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.TyLit
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.TySynEqn
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.Type
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Generics.Generic GHC.Internal.TH.Syntax.TypeFamilyHead
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.AnnLookup
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.AnnTarget
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Bang
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.BndrVis
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Body
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Bytes
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Callconv
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Clause
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Con
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Dec
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.DecidedStrictness
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.DerivClause
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.DerivStrategy
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.DocLoc
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Exp
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.FamilyResultSig
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Fixity
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.FixityDirection
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Foreign
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.FunDep
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Guard
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Info
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.InjectivityAnn
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Inline
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Lit
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Loc
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Match
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.ModName
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Module
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.ModuleInfo
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Name
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.NameFlavour
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.NameSpace
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.NamespaceSpecifier
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.OccName
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Overlap
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Pat
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.PatSynArgs
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.PatSynDir
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Phases
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.PkgName
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Pragma
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Range
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Role
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.RuleBndr
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.RuleMatch
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Safety
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.SourceStrictness
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.SourceUnpackedness
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Specificity
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Stmt
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.TyLit
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.TySynEqn
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.Type
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show GHC.Internal.TH.Syntax.TypeFamilyHead
+ GHC.Internal.TH.Syntax: instance GHC.Internal.Show.Show flag => GHC.Internal.Show.Show (GHC.Internal.TH.Syntax.TyVarBndr flag)
+ GHC.Internal.TH.Syntax: instance GHC.Internal.TH.Syntax.Quasi GHC.Internal.TH.Syntax.Q
+ GHC.Internal.TH.Syntax: instance GHC.Internal.TH.Syntax.Quasi GHC.Types.IO
+ GHC.Internal.TH.Syntax: instance GHC.Internal.TH.Syntax.Quote GHC.Internal.TH.Syntax.Q
+ GHC.Internal.TH.Syntax: instance GHC.Internal.TH.Syntax.Quote GHC.Types.IO
+ GHC.Internal.TH.Syntax: isExtEnabled :: Extension -> Q Bool
+ GHC.Internal.TH.Syntax: isInstance :: Name -> [Type] -> Q Bool
+ GHC.Internal.TH.Syntax: joinCode :: Monad m => m (Code m a) -> Code m a
+ GHC.Internal.TH.Syntax: liftCode :: forall a m. m (TExp a) -> Code m a
+ GHC.Internal.TH.Syntax: location :: Q Loc
+ GHC.Internal.TH.Syntax: lookupName :: Bool -> String -> Q (Maybe Name)
+ GHC.Internal.TH.Syntax: lookupTypeName :: String -> Q (Maybe Name)
+ GHC.Internal.TH.Syntax: lookupValueName :: String -> Q (Maybe Name)
+ GHC.Internal.TH.Syntax: manyName :: Name
+ GHC.Internal.TH.Syntax: maxPrecedence :: Int
+ GHC.Internal.TH.Syntax: memcmp :: Ptr a -> Ptr b -> CSize -> IO CInt
+ GHC.Internal.TH.Syntax: mkModName :: String -> ModName
+ GHC.Internal.TH.Syntax: mkName :: String -> Name
+ GHC.Internal.TH.Syntax: mkNameG :: NameSpace -> String -> String -> String -> Name
+ GHC.Internal.TH.Syntax: mkNameG_d :: String -> String -> String -> Name
+ GHC.Internal.TH.Syntax: mkNameG_fld :: String -> String -> String -> String -> Name
+ GHC.Internal.TH.Syntax: mkNameG_tc :: String -> String -> String -> Name
+ GHC.Internal.TH.Syntax: mkNameG_v :: String -> String -> String -> Name
+ GHC.Internal.TH.Syntax: mkNameL :: String -> Uniq -> Name
+ GHC.Internal.TH.Syntax: mkNameQ :: String -> String -> Name
+ GHC.Internal.TH.Syntax: mkNameS :: String -> Name
+ GHC.Internal.TH.Syntax: mkNameU :: String -> Uniq -> Name
+ GHC.Internal.TH.Syntax: mkOccName :: String -> OccName
+ GHC.Internal.TH.Syntax: mkPkgName :: String -> PkgName
+ GHC.Internal.TH.Syntax: mk_tup_name :: Int -> NameSpace -> Bool -> Name
+ GHC.Internal.TH.Syntax: modString :: ModName -> String
+ GHC.Internal.TH.Syntax: nameBase :: Name -> String
+ GHC.Internal.TH.Syntax: nameModule :: Name -> Maybe String
+ GHC.Internal.TH.Syntax: namePackage :: Name -> Maybe String
+ GHC.Internal.TH.Syntax: nameSpace :: Name -> Maybe NameSpace
+ GHC.Internal.TH.Syntax: newDeclarationGroup :: Q [Dec]
+ GHC.Internal.TH.Syntax: newName :: Quote m => String -> m Name
+ GHC.Internal.TH.Syntax: newNameIO :: String -> IO Name
+ GHC.Internal.TH.Syntax: newtype Code (m :: Type -> Type) (a :: TYPE r)
+ GHC.Internal.TH.Syntax: newtype ModName
+ GHC.Internal.TH.Syntax: newtype OccName
+ GHC.Internal.TH.Syntax: newtype PkgName
+ GHC.Internal.TH.Syntax: newtype Q a
+ GHC.Internal.TH.Syntax: newtype TExp (a :: TYPE r)
+ GHC.Internal.TH.Syntax: occString :: OccName -> String
+ GHC.Internal.TH.Syntax: oneName :: Name
+ GHC.Internal.TH.Syntax: pkgString :: PkgName -> String
+ GHC.Internal.TH.Syntax: putDoc :: DocLoc -> String -> Q ()
+ GHC.Internal.TH.Syntax: putQ :: Typeable a => a -> Q ()
+ GHC.Internal.TH.Syntax: qAddCorePlugin :: Quasi m => String -> m ()
+ GHC.Internal.TH.Syntax: qAddDependentFile :: Quasi m => FilePath -> m ()
+ GHC.Internal.TH.Syntax: qAddForeignFilePath :: Quasi m => ForeignSrcLang -> String -> m ()
+ GHC.Internal.TH.Syntax: qAddModFinalizer :: Quasi m => Q () -> m ()
+ GHC.Internal.TH.Syntax: qAddTempFile :: Quasi m => String -> m FilePath
+ GHC.Internal.TH.Syntax: qAddTopDecls :: Quasi m => [Dec] -> m ()
+ GHC.Internal.TH.Syntax: qExtsEnabled :: Quasi m => m [Extension]
+ GHC.Internal.TH.Syntax: qGetDoc :: Quasi m => DocLoc -> m (Maybe String)
+ GHC.Internal.TH.Syntax: qGetPackageRoot :: Quasi m => m FilePath
+ GHC.Internal.TH.Syntax: qGetQ :: (Quasi m, Typeable a) => m (Maybe a)
+ GHC.Internal.TH.Syntax: qIsExtEnabled :: Quasi m => Extension -> m Bool
+ GHC.Internal.TH.Syntax: qLocation :: Quasi m => m Loc
+ GHC.Internal.TH.Syntax: qLookupName :: Quasi m => Bool -> String -> m (Maybe Name)
+ GHC.Internal.TH.Syntax: qNewName :: Quasi m => String -> m Name
+ GHC.Internal.TH.Syntax: qPutDoc :: Quasi m => DocLoc -> String -> m ()
+ GHC.Internal.TH.Syntax: qPutQ :: (Quasi m, Typeable a) => a -> m ()
+ GHC.Internal.TH.Syntax: qRecover :: Quasi m => m a -> m a -> m a
+ GHC.Internal.TH.Syntax: qReify :: Quasi m => Name -> m Info
+ GHC.Internal.TH.Syntax: qReifyAnnotations :: (Quasi m, Data a) => AnnLookup -> m [a]
+ GHC.Internal.TH.Syntax: qReifyConStrictness :: Quasi m => Name -> m [DecidedStrictness]
+ GHC.Internal.TH.Syntax: qReifyFixity :: Quasi m => Name -> m (Maybe Fixity)
+ GHC.Internal.TH.Syntax: qReifyInstances :: Quasi m => Name -> [Type] -> m [Dec]
+ GHC.Internal.TH.Syntax: qReifyModule :: Quasi m => Module -> m ModuleInfo
+ GHC.Internal.TH.Syntax: qReifyRoles :: Quasi m => Name -> m [Role]
+ GHC.Internal.TH.Syntax: qReifyType :: Quasi m => Name -> m Type
+ GHC.Internal.TH.Syntax: qReport :: Quasi m => Bool -> String -> m ()
+ GHC.Internal.TH.Syntax: qRunIO :: Quasi m => IO a -> m a
+ GHC.Internal.TH.Syntax: recover :: Q a -> Q a -> Q a
+ GHC.Internal.TH.Syntax: reify :: Name -> Q Info
+ GHC.Internal.TH.Syntax: reifyAnnotations :: Data a => AnnLookup -> Q [a]
+ GHC.Internal.TH.Syntax: reifyConStrictness :: Name -> Q [DecidedStrictness]
+ GHC.Internal.TH.Syntax: reifyFixity :: Name -> Q (Maybe Fixity)
+ GHC.Internal.TH.Syntax: reifyInstances :: Name -> [Type] -> Q [InstanceDec]
+ GHC.Internal.TH.Syntax: reifyModule :: Module -> Q ModuleInfo
+ GHC.Internal.TH.Syntax: reifyRoles :: Name -> Q [Role]
+ GHC.Internal.TH.Syntax: reifyType :: Name -> Q Type
+ GHC.Internal.TH.Syntax: report :: Bool -> String -> Q ()
+ GHC.Internal.TH.Syntax: reportError :: String -> Q ()
+ GHC.Internal.TH.Syntax: reportWarning :: String -> Q ()
+ GHC.Internal.TH.Syntax: runIO :: IO a -> Q a
+ GHC.Internal.TH.Syntax: runQ :: Quasi m => Q a -> m a
+ GHC.Internal.TH.Syntax: sequenceQ :: Monad m => forall a. () => [m a] -> m [a]
+ GHC.Internal.TH.Syntax: showName :: Name -> String
+ GHC.Internal.TH.Syntax: showName' :: NameIs -> Name -> String
+ GHC.Internal.TH.Syntax: thenCmp :: Ordering -> Ordering -> Ordering
+ GHC.Internal.TH.Syntax: tupleDataName :: Int -> Name
+ GHC.Internal.TH.Syntax: tupleTypeName :: Int -> Name
+ GHC.Internal.TH.Syntax: type Arity = Int
+ GHC.Internal.TH.Syntax: type BangType = (Bang, Type)
+ GHC.Internal.TH.Syntax: type CharPos = (Int, Int)
+ GHC.Internal.TH.Syntax: type Cxt = [Pred]
+ GHC.Internal.TH.Syntax: type FieldExp = (Name, Exp)
+ GHC.Internal.TH.Syntax: type FieldPat = (Name, Pat)
+ GHC.Internal.TH.Syntax: type InstanceDec = Dec
+ GHC.Internal.TH.Syntax: type Kind = Type
+ GHC.Internal.TH.Syntax: type ParentName = Name
+ GHC.Internal.TH.Syntax: type PatSynType = Type
+ GHC.Internal.TH.Syntax: type Pred = Type
+ GHC.Internal.TH.Syntax: type Strict = Bang
+ GHC.Internal.TH.Syntax: type StrictType = BangType
+ GHC.Internal.TH.Syntax: type SumAlt = Int
+ GHC.Internal.TH.Syntax: type SumArity = Int
+ GHC.Internal.TH.Syntax: type Uniq = Integer
+ GHC.Internal.TH.Syntax: type Unlifted = Bool
+ GHC.Internal.TH.Syntax: type VarBangType = (Name, Bang, Type)
+ GHC.Internal.TH.Syntax: type VarStrictType = VarBangType
+ GHC.Internal.TH.Syntax: unTypeCode :: forall a m. Quote m => Code m a -> m Exp
+ GHC.Internal.TH.Syntax: unTypeQ :: forall a m. Quote m => m (TExp a) -> m Exp
+ GHC.Internal.TH.Syntax: unboxedSumDataName :: SumAlt -> SumArity -> Name
+ GHC.Internal.TH.Syntax: unboxedSumTypeName :: SumArity -> Name
+ GHC.Internal.TH.Syntax: unboxedTupleDataName :: Int -> Name
+ GHC.Internal.TH.Syntax: unboxedTupleTypeName :: Int -> Name
+ GHC.Internal.TH.Syntax: unsafeCodeCoerce :: forall a m. Quote m => m Exp -> Code m a
+ GHC.Internal.TH.Syntax: unsafeTExpCoerce :: forall a m. Quote m => m Exp -> m (TExp a)
+ GHC.Internal.TypeLits: pattern UnsafeSChar :: Char -> SChar c
+ GHC.Internal.TypeLits: pattern UnsafeSNat :: Natural -> SNat n
+ GHC.Internal.TypeLits: pattern UnsafeSSymbol :: String -> SSymbol s
+ GHC.Internal.TypeLits: unsafeWithSCharCo :: ((forall (c :: Char). () => Coercible (SChar c) Char) => r) -> r
+ GHC.Internal.TypeLits: unsafeWithSNatCo :: ((forall (n :: Nat). () => Coercible (SNat n) Natural) => r) -> r
+ GHC.Internal.TypeLits: unsafeWithSSymbolCo :: ((forall (s :: Symbol). () => Coercible (SSymbol s) String) => r) -> r
+ GHC.Internal.TypeNats: pattern UnsafeSNat :: Natural -> SNat n
+ GHC.Internal.TypeNats: unsafeWithSNatCo :: ((forall (n :: Nat). () => Coercible (SNat n) Natural) => r) -> r
- GHC.Internal.Base: class a ~# b => (a :: k) ~ (b :: k)
+ GHC.Internal.Base: class a ~# b => (a :: k0) ~~ (b :: k1)
- GHC.Internal.Base: infix 4 >#
+ GHC.Internal.Base: infix 4 >=##
- GHC.Internal.Base: infixl 4 <**>
+ GHC.Internal.Base: infixl 4 <$
- GHC.Internal.Base: infixl 6 +#
+ GHC.Internal.Base: infixl 6 -##
- GHC.Internal.Base: infixl 7 *#
+ GHC.Internal.Base: infixl 7 /##
- GHC.Internal.Base: infixr 5 ++
+ GHC.Internal.Base: infixr 5 :|
- GHC.Internal.Base: type family MultMul (a :: Multiplicity) (b :: Multiplicity) :: Multiplicity
+ GHC.Internal.Base: type family Any :: k
- GHC.Internal.Control.Exception: ioError :: IOError -> IO a
+ GHC.Internal.Control.Exception: ioError :: HasCallStack => IOError -> IO a
- GHC.Internal.Control.Exception.Base: ioError :: IOError -> IO a
+ GHC.Internal.Control.Exception.Base: ioError :: HasCallStack => IOError -> IO a
- GHC.Internal.Data.Function: flip :: (a -> b -> c) -> b -> a -> c
+ GHC.Internal.Data.Function: flip :: forall (repc :: RuntimeRep) a b (c :: TYPE repc). (a -> b -> c) -> b -> a -> c
- GHC.Internal.Exts: class a ~# b => (a :: k) ~ (b :: k)
+ GHC.Internal.Exts: class a ~# b => (a :: k0) ~~ (b :: k1)
- GHC.Internal.Exts: infix 4 >#
+ GHC.Internal.Exts: infix 4 >=##
- GHC.Internal.Exts: infixl 6 +#
+ GHC.Internal.Exts: infixl 6 -##
- GHC.Internal.Exts: infixl 7 *#
+ GHC.Internal.Exts: infixl 7 /##
- GHC.Internal.Exts: pattern KindRepApp :: () => KindRep -> KindRep -> KindRep
+ GHC.Internal.Exts: pattern KindRepFun :: () => KindRep -> KindRep -> KindRep
- GHC.Internal.Exts: pattern KindRepTypeLitS :: () => TypeLitSort -> Addr# -> KindRep
+ GHC.Internal.Exts: pattern TypeLitSymbol :: () => TypeLitSort
- GHC.Internal.Exts: seq# :: a -> State# d -> (# State# d, a #)
+ GHC.Internal.Exts: seq# :: a -> State# s -> (# State# s, a #)
- GHC.Internal.Exts: type family MultMul (a :: Multiplicity) (b :: Multiplicity) :: Multiplicity
+ GHC.Internal.Exts: type family Any :: k
- GHC.Internal.IO: catchAny :: IO a -> (forall e. Exception e => e -> IO a) -> IO a
+ GHC.Internal.IO: catchAny :: IO a -> (forall e. (HasExceptionContext, Exception e) => e -> IO a) -> IO a
- GHC.Internal.IO.Exception: ioError :: IOError -> IO a
+ GHC.Internal.IO.Exception: ioError :: HasCallStack => IOError -> IO a
- GHC.Internal.RTS.Flags: HpcFlags :: Bool -> HpcFlags
+ GHC.Internal.RTS.Flags: HpcFlags :: Bool -> Bool -> HpcFlags
- GHC.Internal.RTS.Flags: MiscFlags :: RtsTime -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Word -> IoSubSystem -> Word32 -> MiscFlags
+ GHC.Internal.RTS.Flags: MiscFlags :: RtsTime -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Word -> IoManagerFlag -> Word32 -> MiscFlags
- GHC.Internal.RTS.Flags: [ioManager] :: MiscFlags -> IoSubSystem
+ GHC.Internal.RTS.Flags: [ioManager] :: MiscFlags -> IoManagerFlag
- GHC.Internal.Records: class HasField (x :: k) r a | x r -> a
+ GHC.Internal.Records: class HasField (x :: k) (r :: TYPE r_rep) (a :: TYPE a_rep) | x r -> a
- GHC.Internal.System.IO.Error: ioError :: IOError -> IO a
+ GHC.Internal.System.IO.Error: ioError :: HasCallStack => IOError -> IO a
Files
- cbits/fs.c +1/−1
- configure +34071/−33091
- ghc-internal.cabal +20/−8
- include/HsBaseConfig.h.in +81/−22
- jsbits/base.js +165/−29
- src/GHC/Internal/Base.hs +18/−13
- src/GHC/Internal/Conc/Bound.hs +11/−2
- src/GHC/Internal/Conc/POSIX.hs +1/−5
- src/GHC/Internal/Conc/Sync.hs +6/−4
- src/GHC/Internal/Conc/Windows.hs +0/−3
- src/GHC/Internal/Control/Arrow.hs +42/−1
- src/GHC/Internal/Control/Category.hs +74/−8
- src/GHC/Internal/Control/Exception.hs +20/−6
- src/GHC/Internal/Control/Exception/Base.hs +25/−13
- src/GHC/Internal/Control/Monad/Fix.hs +7/−2
- src/GHC/Internal/Control/Monad/IO/Class.hs +74/−0
- src/GHC/Internal/Control/Monad/Zip.hs +144/−0
- src/GHC/Internal/Data/Enum.hs +0/−22
- src/GHC/Internal/Data/Foldable.hs +18/−4
- src/GHC/Internal/Data/List/NonEmpty.hs +21/−0
- src/GHC/Internal/Data/Monoid.hs +4/−3
- src/GHC/Internal/Data/OldList.hs +85/−22
- src/GHC/Internal/Debug/Trace.hs +23/−11
- src/GHC/Internal/Enum.hs +23/−14
- src/GHC/Internal/Environment.hs +0/−10
- src/GHC/Internal/Event/Windows.hsc +1/−2
- src/GHC/Internal/Event/Windows/FFI.hsc +11/−13
- src/GHC/Internal/Exception.hs +17/−25
- src/GHC/Internal/Exception/Backtrace.hs +10/−1
- src/GHC/Internal/Exception/Context.hs +4/−4
- src/GHC/Internal/Exception/Type.hs +74/−10
- src/GHC/Internal/Exts.hs +2/−1
- src/GHC/Internal/ForeignSrcLang.hs +25/−0
- src/GHC/Internal/Generics.hs +10/−2
- src/GHC/Internal/IO.hs +47/−9
- src/GHC/Internal/IO/Encoding/CodePage.hs +2/−5
- src/GHC/Internal/IO/Encoding/CodePage/API.hs +4/−6
- src/GHC/Internal/IO/Exception.hs +45/−17
- src/GHC/Internal/IO/FD.hs +3/−13
- src/GHC/Internal/IO/Handle.hs +10/−1
- src/GHC/Internal/IO/Handle/FD.hs +28/−19
- src/GHC/Internal/IO/Handle/Internals.hs +4/−3
- src/GHC/Internal/IO/Handle/Lock/Windows.hsc +2/−3
- src/GHC/Internal/IO/Handle/Text.hs +19/−6
- src/GHC/Internal/IO/Handle/Types.hs +8/−1
- src/GHC/Internal/IO/StdHandles.hs +83/−33
- src/GHC/Internal/IO/SubSystem.hs +51/−4
- src/GHC/Internal/IO/Windows/Encoding.hs +4/−6
- src/GHC/Internal/IO/Windows/Handle.hsc +9/−10
- src/GHC/Internal/IO/Windows/Paths.hs +0/−2
- src/GHC/Internal/JS/Foreign/Callback.hs +2/−4
- src/GHC/Internal/JS/Prim.hs +0/−4
- src/GHC/Internal/LanguageExtensions.hs +172/−0
- src/GHC/Internal/Lexeme.hs +57/−0
- src/GHC/Internal/List.hs +10/−4
- src/GHC/Internal/RTS/Flags.hsc +25/−60
- src/GHC/Internal/RTS/Flags/Test.hsc +36/−0
- src/GHC/Internal/Records.hs +11/−6
- src/GHC/Internal/Stack.hs +2/−7
- src/GHC/Internal/Stack.hs-boot +3/−2
- src/GHC/Internal/Stack/CCS.hs-boot +0/−16
- src/GHC/Internal/System/Environment.hs +5/−15
- src/GHC/Internal/System/Environment/Blank.hsc +2/−14
- src/GHC/Internal/System/Environment/ExecutablePath.hsc +8/−16
- src/GHC/Internal/System/IO.hs +261/−47
- src/GHC/Internal/System/IO/Error.hs +2/−1
- src/GHC/Internal/System/Posix/Internals.hs +8/−3
- src/GHC/Internal/TH/Lib.hs +1263/−0
- src/GHC/Internal/TH/Lift.hs +586/−0
- src/GHC/Internal/TH/Quote.hs +42/−0
- src/GHC/Internal/TH/Syntax.hs +2555/−0
- src/GHC/Internal/Text/Read/Lex.hs +26/−14
- src/GHC/Internal/TypeLits.hs +55/−4
- src/GHC/Internal/TypeNats.hs +76/−2
- src/GHC/Internal/Unicode/Bits.hs +54/−10
- src/GHC/Internal/Unicode/Char/DerivedCoreProperties.hs +4/−5
- src/GHC/Internal/Unicode/Char/UnicodeData/GeneralCategory.hs too large to diff
- src/GHC/Internal/Unicode/Char/UnicodeData/SimpleLowerCaseMapping.hs +29/−3
- src/GHC/Internal/Unicode/Char/UnicodeData/SimpleTitleCaseMapping.hs +29/−3
- src/GHC/Internal/Unicode/Char/UnicodeData/SimpleUpperCaseMapping.hs +29/−3
- src/GHC/Internal/Unicode/Version.hs +3/−4
- src/GHC/Internal/Unsafe/Coerce.hs +4/−0
- src/GHC/Internal/Windows.hs +2/−4
- src/GHC/Internal/Word.hs +7/−1
cbits/fs.c view
@@ -140,7 +140,7 @@ This function should only be called when the creation of the fd actually failed and you want to return -1 for the fd. */ static-int setErrNoFromWin32Error () {+int setErrNoFromWin32Error (void) { switch (GetLastError()) { case ERROR_SUCCESS: errno = 0;
configure view
@@ -1,33094 +1,34074 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles.-# Generated by GNU Autoconf 2.69 for Haskell ghc-internal 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 ghc-internal package'-PACKAGE_TARNAME='ghc-internal'-PACKAGE_VERSION='1.0'-PACKAGE_STRING='Haskell ghc-internal 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 ghc-internal 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/ghc-internal]- --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 ghc-internal 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 ghc-internal 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_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--# 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-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 ghc-internal 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--ac_fn_c_check_decl "$LINENO" "CLOCK_PROCESS_CPUTIME_ID" "ac_cv_have_decl_CLOCK_PROCESS_CPUTIME_ID" "#include <time.h>-"-if test "x$ac_cv_have_decl_CLOCK_PROCESS_CPUTIME_ID" = xyes; then :- ac_have_decl=1-else- ac_have_decl=0-fi--cat >>confdefs.h <<_ACEOF-#define HAVE_DECL_CLOCK_PROCESS_CPUTIME_ID $ac_have_decl-_ACEOF--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_s 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---for ac_func in strerror_r strerror_s-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_func_strerror_r" = no && test "$ac_cv_func_strerror_s" = no; then- as_fn_error $? "Either strerror_r or strerror_s must be available" "$LINENO" 5-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)-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---for ac_func in chmod-do :- ac_fn_c_check_func "$LINENO" "chmod" "ac_cv_func_chmod"-if test "x$ac_cv_func_chmod" = xyes; then :- cat >>confdefs.h <<_ACEOF-#define HAVE_CHMOD 1-_ACEOF--fi-done--for ac_func in dup-do :- ac_fn_c_check_func "$LINENO" "dup" "ac_cv_func_dup"-if test "x$ac_cv_func_dup" = xyes; then :- cat >>confdefs.h <<_ACEOF-#define HAVE_DUP 1-_ACEOF--fi-done--for ac_func in fork-do :- ac_fn_c_check_func "$LINENO" "fork" "ac_cv_func_fork"-if test "x$ac_cv_func_fork" = xyes; then :- cat >>confdefs.h <<_ACEOF-#define HAVE_FORK 1-_ACEOF--fi-done--for ac_func in getpid-do :- ac_fn_c_check_func "$LINENO" "getpid" "ac_cv_func_getpid"-if test "x$ac_cv_func_getpid" = xyes; then :- cat >>confdefs.h <<_ACEOF-#define HAVE_GETPID 1-_ACEOF--fi-done--for ac_func in mkfifo-do :- ac_fn_c_check_func "$LINENO" "mkfifo" "ac_cv_func_mkfifo"-if test "x$ac_cv_func_mkfifo" = xyes; then :- cat >>confdefs.h <<_ACEOF-#define HAVE_MKFIFO 1-_ACEOF--fi-done--for ac_func in pipe-do :- ac_fn_c_check_func "$LINENO" "pipe" "ac_cv_func_pipe"-if test "x$ac_cv_func_pipe" = xyes; then :- cat >>confdefs.h <<_ACEOF-#define HAVE_PIPE 1-_ACEOF--fi-done--for ac_func in umask-do :- ac_fn_c_check_func "$LINENO" "umask" "ac_cv_func_umask"-if test "x$ac_cv_func_umask" = xyes; then :- cat >>confdefs.h <<_ACEOF-#define HAVE_UMASK 1-_ACEOF--fi-done---ac_fn_c_check_type "$LINENO" "struct rlimit" "ac_cv_type_struct_rlimit" "#include <sys/resource.h>-"-if test "x$ac_cv_type_struct_rlimit" = xyes; then :--$as_echo "#define HAVE_STRUCT_RLIMIT 1" >>confdefs.h--fi---### 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-------# Compute offsets/sizes used by jsbits/base.js-if test "$host" = "javascript-ghcjs"-then- { $as_echo "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_mode" >&5-$as_echo_n "checking offset of stat.st_mode... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_mode))" "OFFSET_STAT_ST_MODE" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine offset of stat.st_mode" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_MODE" >&5-$as_echo "$OFFSET_STAT_ST_MODE" >&6; }--cat >>confdefs.h <<_ACEOF-#define OFFSET_STAT_ST_MODE $OFFSET_STAT_ST_MODE-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_dev" >&5-$as_echo_n "checking offset of stat.st_dev... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_dev))" "OFFSET_STAT_ST_DEV" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine offset of stat.st_dev" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_DEV" >&5-$as_echo "$OFFSET_STAT_ST_DEV" >&6; }--cat >>confdefs.h <<_ACEOF-#define OFFSET_STAT_ST_DEV $OFFSET_STAT_ST_DEV-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_uid" >&5-$as_echo_n "checking offset of stat.st_uid... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_uid))" "OFFSET_STAT_ST_UID" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine offset of stat.st_uid" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_UID" >&5-$as_echo "$OFFSET_STAT_ST_UID" >&6; }--cat >>confdefs.h <<_ACEOF-#define OFFSET_STAT_ST_UID $OFFSET_STAT_ST_UID-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_gid" >&5-$as_echo_n "checking offset of stat.st_gid... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_gid))" "OFFSET_STAT_ST_GID" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine offset of stat.st_gid" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_GID" >&5-$as_echo "$OFFSET_STAT_ST_GID" >&6; }--cat >>confdefs.h <<_ACEOF-#define OFFSET_STAT_ST_GID $OFFSET_STAT_ST_GID-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_nlink" >&5-$as_echo_n "checking offset of stat.st_nlink... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_nlink))" "OFFSET_STAT_ST_NLINK" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine offset of stat.st_nlink" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_NLINK" >&5-$as_echo "$OFFSET_STAT_ST_NLINK" >&6; }--cat >>confdefs.h <<_ACEOF-#define OFFSET_STAT_ST_NLINK $OFFSET_STAT_ST_NLINK-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_rdev" >&5-$as_echo_n "checking offset of stat.st_rdev... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_rdev))" "OFFSET_STAT_ST_RDEV" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine offset of stat.st_rdev" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_RDEV" >&5-$as_echo "$OFFSET_STAT_ST_RDEV" >&6; }--cat >>confdefs.h <<_ACEOF-#define OFFSET_STAT_ST_RDEV $OFFSET_STAT_ST_RDEV-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_size" >&5-$as_echo_n "checking offset of stat.st_size... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_size))" "OFFSET_STAT_ST_SIZE" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine offset of stat.st_size" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_SIZE" >&5-$as_echo "$OFFSET_STAT_ST_SIZE" >&6; }--cat >>confdefs.h <<_ACEOF-#define OFFSET_STAT_ST_SIZE $OFFSET_STAT_ST_SIZE-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_blksize" >&5-$as_echo_n "checking offset of stat.st_blksize... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_blksize))" "OFFSET_STAT_ST_BLKSIZE" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine offset of stat.st_blksize" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_BLKSIZE" >&5-$as_echo "$OFFSET_STAT_ST_BLKSIZE" >&6; }--cat >>confdefs.h <<_ACEOF-#define OFFSET_STAT_ST_BLKSIZE $OFFSET_STAT_ST_BLKSIZE-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_blocks" >&5-$as_echo_n "checking offset of stat.st_blocks... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_blocks))" "OFFSET_STAT_ST_BLOCKS" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine offset of stat.st_blocks" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_BLOCKS" >&5-$as_echo "$OFFSET_STAT_ST_BLOCKS" >&6; }--cat >>confdefs.h <<_ACEOF-#define OFFSET_STAT_ST_BLOCKS $OFFSET_STAT_ST_BLOCKS-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_ino" >&5-$as_echo_n "checking offset of stat.st_ino... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_ino))" "OFFSET_STAT_ST_INO" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine offset of stat.st_ino" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_INO" >&5-$as_echo "$OFFSET_STAT_ST_INO" >&6; }--cat >>confdefs.h <<_ACEOF-#define OFFSET_STAT_ST_INO $OFFSET_STAT_ST_INO-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_atime" >&5-$as_echo_n "checking offset of stat.st_atime... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_atime))" "OFFSET_STAT_ST_ATIME" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine offset of stat.st_atime" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_ATIME" >&5-$as_echo "$OFFSET_STAT_ST_ATIME" >&6; }--cat >>confdefs.h <<_ACEOF-#define OFFSET_STAT_ST_ATIME $OFFSET_STAT_ST_ATIME-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_atim.tv_nsec" >&5-$as_echo_n "checking offset of stat.st_atim.tv_nsec... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_atim.tv_nsec))" "OFFSET_STAT_ST_ATIM_TV_NSEC" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine offset of stat.st_atim.tv_nsec" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_ATIM_TV_NSEC" >&5-$as_echo "$OFFSET_STAT_ST_ATIM_TV_NSEC" >&6; }--cat >>confdefs.h <<_ACEOF-#define OFFSET_STAT_ST_ATIM_TV_NSEC $OFFSET_STAT_ST_ATIM_TV_NSEC-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_mtime" >&5-$as_echo_n "checking offset of stat.st_mtime... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_mtime))" "OFFSET_STAT_ST_MTIME" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine offset of stat.st_mtime" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_MTIME" >&5-$as_echo "$OFFSET_STAT_ST_MTIME" >&6; }--cat >>confdefs.h <<_ACEOF-#define OFFSET_STAT_ST_MTIME $OFFSET_STAT_ST_MTIME-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_mtim.tv_nsec" >&5-$as_echo_n "checking offset of stat.st_mtim.tv_nsec... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_mtim.tv_nsec))" "OFFSET_STAT_ST_MTIM_TV_NSEC" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine offset of stat.st_mtim.tv_nsec" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_MTIM_TV_NSEC" >&5-$as_echo "$OFFSET_STAT_ST_MTIM_TV_NSEC" >&6; }--cat >>confdefs.h <<_ACEOF-#define OFFSET_STAT_ST_MTIM_TV_NSEC $OFFSET_STAT_ST_MTIM_TV_NSEC-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_ctime" >&5-$as_echo_n "checking offset of stat.st_ctime... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_ctime))" "OFFSET_STAT_ST_CTIME" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine offset of stat.st_ctime" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_CTIME" >&5-$as_echo "$OFFSET_STAT_ST_CTIME" >&6; }--cat >>confdefs.h <<_ACEOF-#define OFFSET_STAT_ST_CTIME $OFFSET_STAT_ST_CTIME-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_ctim.tv_nsec" >&5-$as_echo_n "checking offset of stat.st_ctim.tv_nsec... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_ctim.tv_nsec))" "OFFSET_STAT_ST_CTIM_TV_NSEC" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine offset of stat.st_ctim.tv_nsec" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_CTIM_TV_NSEC" >&5-$as_echo "$OFFSET_STAT_ST_CTIM_TV_NSEC" >&6; }--cat >>confdefs.h <<_ACEOF-#define OFFSET_STAT_ST_CTIM_TV_NSEC $OFFSET_STAT_ST_CTIM_TV_NSEC-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of stat.st_mode" >&5-$as_echo_n "checking size of stat.st_mode... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_mode))" "SIZEOF_STAT_ST_MODE" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine size of stat.st_mode" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_MODE" >&5-$as_echo "$SIZEOF_STAT_ST_MODE" >&6; }--cat >>confdefs.h <<_ACEOF-#define SIZEOF_STAT_ST_MODE $SIZEOF_STAT_ST_MODE-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of stat.st_dev" >&5-$as_echo_n "checking size of stat.st_dev... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_dev))" "SIZEOF_STAT_ST_DEV" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine size of stat.st_dev" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_DEV" >&5-$as_echo "$SIZEOF_STAT_ST_DEV" >&6; }--cat >>confdefs.h <<_ACEOF-#define SIZEOF_STAT_ST_DEV $SIZEOF_STAT_ST_DEV-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of stat.st_uid" >&5-$as_echo_n "checking size of stat.st_uid... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_uid))" "SIZEOF_STAT_ST_UID" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine size of stat.st_uid" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_UID" >&5-$as_echo "$SIZEOF_STAT_ST_UID" >&6; }--cat >>confdefs.h <<_ACEOF-#define SIZEOF_STAT_ST_UID $SIZEOF_STAT_ST_UID-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of stat.st_gid" >&5-$as_echo_n "checking size of stat.st_gid... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_gid))" "SIZEOF_STAT_ST_GID" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine size of stat.st_gid" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_GID" >&5-$as_echo "$SIZEOF_STAT_ST_GID" >&6; }--cat >>confdefs.h <<_ACEOF-#define SIZEOF_STAT_ST_GID $SIZEOF_STAT_ST_GID-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of stat.st_nlink" >&5-$as_echo_n "checking size of stat.st_nlink... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_nlink))" "SIZEOF_STAT_ST_NLINK" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine size of stat.st_nlink" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_NLINK" >&5-$as_echo "$SIZEOF_STAT_ST_NLINK" >&6; }--cat >>confdefs.h <<_ACEOF-#define SIZEOF_STAT_ST_NLINK $SIZEOF_STAT_ST_NLINK-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of stat.st_rdev" >&5-$as_echo_n "checking size of stat.st_rdev... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_rdev))" "SIZEOF_STAT_ST_RDEV" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine size of stat.st_rdev" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_RDEV" >&5-$as_echo "$SIZEOF_STAT_ST_RDEV" >&6; }--cat >>confdefs.h <<_ACEOF-#define SIZEOF_STAT_ST_RDEV $SIZEOF_STAT_ST_RDEV-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of stat.st_size" >&5-$as_echo_n "checking size of stat.st_size... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_size))" "SIZEOF_STAT_ST_SIZE" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine size of stat.st_size" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_SIZE" >&5-$as_echo "$SIZEOF_STAT_ST_SIZE" >&6; }--cat >>confdefs.h <<_ACEOF-#define SIZEOF_STAT_ST_SIZE $SIZEOF_STAT_ST_SIZE-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of stat.st_blksize" >&5-$as_echo_n "checking size of stat.st_blksize... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_blksize))" "SIZEOF_STAT_ST_BLKSIZE" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine size of stat.st_blksize" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_BLKSIZE" >&5-$as_echo "$SIZEOF_STAT_ST_BLKSIZE" >&6; }--cat >>confdefs.h <<_ACEOF-#define SIZEOF_STAT_ST_BLKSIZE $SIZEOF_STAT_ST_BLKSIZE-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of stat.st_blocks" >&5-$as_echo_n "checking size of stat.st_blocks... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_blocks))" "SIZEOF_STAT_ST_BLOCKS" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine size of stat.st_blocks" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_BLOCKS" >&5-$as_echo "$SIZEOF_STAT_ST_BLOCKS" >&6; }--cat >>confdefs.h <<_ACEOF-#define SIZEOF_STAT_ST_BLOCKS $SIZEOF_STAT_ST_BLOCKS-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of stat.st_ino" >&5-$as_echo_n "checking size of stat.st_ino... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_ino))" "SIZEOF_STAT_ST_INO" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine size of stat.st_ino" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_INO" >&5-$as_echo "$SIZEOF_STAT_ST_INO" >&6; }--cat >>confdefs.h <<_ACEOF-#define SIZEOF_STAT_ST_INO $SIZEOF_STAT_ST_INO-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of stat.st_atime" >&5-$as_echo_n "checking size of stat.st_atime... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_atime))" "SIZEOF_STAT_ST_ATIME" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine size of stat.st_atime" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_ATIME" >&5-$as_echo "$SIZEOF_STAT_ST_ATIME" >&6; }--cat >>confdefs.h <<_ACEOF-#define SIZEOF_STAT_ST_ATIME $SIZEOF_STAT_ST_ATIME-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of stat.st_atim.tv_nsec" >&5-$as_echo_n "checking size of stat.st_atim.tv_nsec... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_atim.tv_nsec))" "SIZEOF_STAT_ST_ATIM_TV_NSEC" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine size of stat.st_atim.tv_nsec" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_ATIM_TV_NSEC" >&5-$as_echo "$SIZEOF_STAT_ST_ATIM_TV_NSEC" >&6; }--cat >>confdefs.h <<_ACEOF-#define SIZEOF_STAT_ST_ATIM_TV_NSEC $SIZEOF_STAT_ST_ATIM_TV_NSEC-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of stat.st_mtime" >&5-$as_echo_n "checking size of stat.st_mtime... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_mtime))" "SIZEOF_STAT_ST_MTIME" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine size of stat.st_mtime" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_MTIME" >&5-$as_echo "$SIZEOF_STAT_ST_MTIME" >&6; }--cat >>confdefs.h <<_ACEOF-#define SIZEOF_STAT_ST_MTIME $SIZEOF_STAT_ST_MTIME-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of stat.st_mtim.tv_nsec" >&5-$as_echo_n "checking size of stat.st_mtim.tv_nsec... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_mtim.tv_nsec))" "SIZEOF_STAT_ST_MTIM_TV_NSEC" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine size of stat.st_mtim.tv_nsec" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_MTIM_TV_NSEC" >&5-$as_echo "$SIZEOF_STAT_ST_MTIM_TV_NSEC" >&6; }--cat >>confdefs.h <<_ACEOF-#define SIZEOF_STAT_ST_MTIM_TV_NSEC $SIZEOF_STAT_ST_MTIM_TV_NSEC-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of stat.st_ctime" >&5-$as_echo_n "checking size of stat.st_ctime... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_ctime))" "SIZEOF_STAT_ST_CTIME" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine size of stat.st_ctime" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_CTIME" >&5-$as_echo "$SIZEOF_STAT_ST_CTIME" >&6; }--cat >>confdefs.h <<_ACEOF-#define SIZEOF_STAT_ST_CTIME $SIZEOF_STAT_ST_CTIME-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of stat.st_ctim.tv_nsec" >&5-$as_echo_n "checking size of stat.st_ctim.tv_nsec... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_ctim.tv_nsec))" "SIZEOF_STAT_ST_CTIM_TV_NSEC" "#include <sys/stat.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine size of stat.st_ctim.tv_nsec" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_CTIM_TV_NSEC" >&5-$as_echo "$SIZEOF_STAT_ST_CTIM_TV_NSEC" >&6; }--cat >>confdefs.h <<_ACEOF-#define SIZEOF_STAT_ST_CTIM_TV_NSEC $SIZEOF_STAT_ST_CTIM_TV_NSEC-_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 struct stat" >&5-$as_echo_n "checking size of struct stat... " >&6; }-if ${ac_cv_sizeof_struct_stat+:} false; then :- $as_echo_n "(cached) " >&6-else- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (struct stat))" "ac_cv_sizeof_struct_stat" "#include <sys/stat.h>-"; then :--else- if test "$ac_cv_type_struct_stat" = 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 stat)-See \`config.log' for more details" "$LINENO" 5; }- else- ac_cv_sizeof_struct_stat=0- fi-fi--fi-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_struct_stat" >&5-$as_echo "$ac_cv_sizeof_struct_stat" >&6; }----cat >>confdefs.h <<_ACEOF-#define SIZEOF_STRUCT_STAT $ac_cv_sizeof_struct_stat-_ACEOF---- { $as_echo "$as_me:${as_lineno-$LINENO}: checking offset of utimbuf.actime" >&5-$as_echo_n "checking offset of utimbuf.actime... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(offsetof(struct utimbuf, actime))" "OFFSET_UTIMBUF_ACTIME" "#include <utime.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine offset of utimbuf.actime" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OFFSET_UTIMBUF_ACTIME" >&5-$as_echo "$OFFSET_UTIMBUF_ACTIME" >&6; }--cat >>confdefs.h <<_ACEOF-#define OFFSET_UTIMBUF_ACTIME $OFFSET_UTIMBUF_ACTIME-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking offset of utimbuf.modtime" >&5-$as_echo_n "checking offset of utimbuf.modtime... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(offsetof(struct utimbuf, modtime))" "OFFSET_UTIMBUF_MODTIME" "#include <utime.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine offset of utimbuf.modtime" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OFFSET_UTIMBUF_MODTIME" >&5-$as_echo "$OFFSET_UTIMBUF_MODTIME" >&6; }--cat >>confdefs.h <<_ACEOF-#define OFFSET_UTIMBUF_MODTIME $OFFSET_UTIMBUF_MODTIME-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of utimbuf.actime" >&5-$as_echo_n "checking size of utimbuf.actime... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct utimbuf *)0)->actime))" "SIZEOF_UTIMBUF_ACTIME" "#include <utime.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine size of utimbuf.actime" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_UTIMBUF_ACTIME" >&5-$as_echo "$SIZEOF_UTIMBUF_ACTIME" >&6; }--cat >>confdefs.h <<_ACEOF-#define SIZEOF_UTIMBUF_ACTIME $SIZEOF_UTIMBUF_ACTIME-_ACEOF--- { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of utimbuf.modtime" >&5-$as_echo_n "checking size of utimbuf.modtime... " >&6; }-if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct utimbuf *)0)->modtime))" "SIZEOF_UTIMBUF_MODTIME" "#include <utime.h>-#include <stddef.h>"; then :--else- as_fn_error $? "could not determine size of utimbuf.modtime" "$LINENO" 5-fi--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_UTIMBUF_MODTIME" >&5-$as_echo "$SIZEOF_UTIMBUF_MODTIME" >&6; }--cat >>confdefs.h <<_ACEOF-#define SIZEOF_UTIMBUF_MODTIME $SIZEOF_UTIMBUF_MODTIME-_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 struct utimbuf" >&5-$as_echo_n "checking size of struct utimbuf... " >&6; }-if ${ac_cv_sizeof_struct_utimbuf+:} false; then :- $as_echo_n "(cached) " >&6-else- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (struct utimbuf))" "ac_cv_sizeof_struct_utimbuf" "#include <utime.h>-"; then :--else- if test "$ac_cv_type_struct_utimbuf" = 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 utimbuf)-See \`config.log' for more details" "$LINENO" 5; }- else- ac_cv_sizeof_struct_utimbuf=0- fi-fi--fi-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_struct_utimbuf" >&5-$as_echo "$ac_cv_sizeof_struct_utimbuf" >&6; }----cat >>confdefs.h <<_ACEOF-#define SIZEOF_STRUCT_UTIMBUF $ac_cv_sizeof_struct_utimbuf-_ACEOF---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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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--#include <time.h>--#if HAVE_TERMIOS_H-# include <termios.h>-#endif--#if HAVE_STRING_H-# include <string.h>-#endif--#if HAVE_CTYPE_H-# include <ctype.h>-#endif--#if HAVE_INTTYPES_H-# include <inttypes.h>-#else-# if HAVE_STDINT_H-# include <stdint.h>-# endif-#endif--#if HAVE_SYS_RESOURCE_H-# include <sys/resource.h>-#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 ghc-internal.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 ghc-internal 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 ghc-internal 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" ;;- "ghc-internal.buildinfo") CONFIG_FILES="$CONFIG_FILES ghc-internal.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+# Generated by GNU Autoconf 2.71 for Haskell ghc-internal 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 ghc-internal package'+PACKAGE_TARNAME='ghc-internal'+PACKAGE_VERSION='1.0'+PACKAGE_STRING='Haskell ghc-internal 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 ghc-internal 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/ghc-internal]+ --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 ghc-internal 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 ghc-internal 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_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_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_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 ghc-internal 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*)+ 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++{ 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" "CLOCK_PROCESS_CPUTIME_ID" "ac_cv_have_decl_CLOCK_PROCESS_CPUTIME_ID" "#include <time.h>+" "$ac_c_undeclared_builtin_options" "CFLAGS"+if test "x$ac_cv_have_decl_CLOCK_PROCESS_CPUTIME_ID" = xyes+then :+ ac_have_decl=1+else $as_nop+ ac_have_decl=0+fi+printf "%s\n" "#define HAVE_DECL_CLOCK_PROCESS_CPUTIME_ID $ac_have_decl" >>confdefs.h++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_s" "ac_cv_func__chsize_s"+if test "x$ac_cv_func__chsize_s" = xyes+then :+ printf "%s\n" "#define HAVE__CHSIZE_S 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+++ac_fn_c_check_func "$LINENO" "strerror_r" "ac_cv_func_strerror_r"+if test "x$ac_cv_func_strerror_r" = xyes+then :+ printf "%s\n" "#define HAVE_STRERROR_R 1" >>confdefs.h++fi+ac_fn_c_check_func "$LINENO" "strerror_s" "ac_cv_func_strerror_s"+if test "x$ac_cv_func_strerror_s" = xyes+then :+ printf "%s\n" "#define HAVE_STRERROR_S 1" >>confdefs.h++fi+++if test "$ac_cv_func_strerror_r" = no && test "$ac_cv_func_strerror_s" = no; then+ as_fn_error $? "Either strerror_r or strerror_s must be available" "$LINENO" 5+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+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+++ac_fn_c_check_func "$LINENO" "chmod" "ac_cv_func_chmod"+if test "x$ac_cv_func_chmod" = xyes+then :+ printf "%s\n" "#define HAVE_CHMOD 1" >>confdefs.h++fi++ac_fn_c_check_func "$LINENO" "dup" "ac_cv_func_dup"+if test "x$ac_cv_func_dup" = xyes+then :+ printf "%s\n" "#define HAVE_DUP 1" >>confdefs.h++fi++ac_fn_c_check_func "$LINENO" "fork" "ac_cv_func_fork"+if test "x$ac_cv_func_fork" = xyes+then :+ printf "%s\n" "#define HAVE_FORK 1" >>confdefs.h++fi++ac_fn_c_check_func "$LINENO" "getpid" "ac_cv_func_getpid"+if test "x$ac_cv_func_getpid" = xyes+then :+ printf "%s\n" "#define HAVE_GETPID 1" >>confdefs.h++fi++ac_fn_c_check_func "$LINENO" "mkfifo" "ac_cv_func_mkfifo"+if test "x$ac_cv_func_mkfifo" = xyes+then :+ printf "%s\n" "#define HAVE_MKFIFO 1" >>confdefs.h++fi++ac_fn_c_check_func "$LINENO" "pipe" "ac_cv_func_pipe"+if test "x$ac_cv_func_pipe" = xyes+then :+ printf "%s\n" "#define HAVE_PIPE 1" >>confdefs.h++fi++ac_fn_c_check_func "$LINENO" "umask" "ac_cv_func_umask"+if test "x$ac_cv_func_umask" = xyes+then :+ printf "%s\n" "#define HAVE_UMASK 1" >>confdefs.h++fi+++ac_fn_c_check_type "$LINENO" "struct rlimit" "ac_cv_type_struct_rlimit" "#include <sys/resource.h>+"+if test "x$ac_cv_type_struct_rlimit" = xyes+then :++printf "%s\n" "#define HAVE_STRUCT_RLIMIT 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+++++++# Compute offsets/sizes used by jsbits/base.js+if test "$host" = "javascript-ghcjs"+then+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_mode" >&5+printf %s "checking offset of stat.st_mode... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_mode))" "OFFSET_STAT_ST_MODE" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine offset of stat.st_mode" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_MODE" >&5+printf "%s\n" "$OFFSET_STAT_ST_MODE" >&6; }++printf "%s\n" "#define OFFSET_STAT_ST_MODE $OFFSET_STAT_ST_MODE" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_dev" >&5+printf %s "checking offset of stat.st_dev... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_dev))" "OFFSET_STAT_ST_DEV" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine offset of stat.st_dev" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_DEV" >&5+printf "%s\n" "$OFFSET_STAT_ST_DEV" >&6; }++printf "%s\n" "#define OFFSET_STAT_ST_DEV $OFFSET_STAT_ST_DEV" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_uid" >&5+printf %s "checking offset of stat.st_uid... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_uid))" "OFFSET_STAT_ST_UID" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine offset of stat.st_uid" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_UID" >&5+printf "%s\n" "$OFFSET_STAT_ST_UID" >&6; }++printf "%s\n" "#define OFFSET_STAT_ST_UID $OFFSET_STAT_ST_UID" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_gid" >&5+printf %s "checking offset of stat.st_gid... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_gid))" "OFFSET_STAT_ST_GID" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine offset of stat.st_gid" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_GID" >&5+printf "%s\n" "$OFFSET_STAT_ST_GID" >&6; }++printf "%s\n" "#define OFFSET_STAT_ST_GID $OFFSET_STAT_ST_GID" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_nlink" >&5+printf %s "checking offset of stat.st_nlink... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_nlink))" "OFFSET_STAT_ST_NLINK" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine offset of stat.st_nlink" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_NLINK" >&5+printf "%s\n" "$OFFSET_STAT_ST_NLINK" >&6; }++printf "%s\n" "#define OFFSET_STAT_ST_NLINK $OFFSET_STAT_ST_NLINK" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_rdev" >&5+printf %s "checking offset of stat.st_rdev... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_rdev))" "OFFSET_STAT_ST_RDEV" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine offset of stat.st_rdev" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_RDEV" >&5+printf "%s\n" "$OFFSET_STAT_ST_RDEV" >&6; }++printf "%s\n" "#define OFFSET_STAT_ST_RDEV $OFFSET_STAT_ST_RDEV" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_size" >&5+printf %s "checking offset of stat.st_size... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_size))" "OFFSET_STAT_ST_SIZE" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine offset of stat.st_size" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_SIZE" >&5+printf "%s\n" "$OFFSET_STAT_ST_SIZE" >&6; }++printf "%s\n" "#define OFFSET_STAT_ST_SIZE $OFFSET_STAT_ST_SIZE" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_blksize" >&5+printf %s "checking offset of stat.st_blksize... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_blksize))" "OFFSET_STAT_ST_BLKSIZE" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine offset of stat.st_blksize" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_BLKSIZE" >&5+printf "%s\n" "$OFFSET_STAT_ST_BLKSIZE" >&6; }++printf "%s\n" "#define OFFSET_STAT_ST_BLKSIZE $OFFSET_STAT_ST_BLKSIZE" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_blocks" >&5+printf %s "checking offset of stat.st_blocks... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_blocks))" "OFFSET_STAT_ST_BLOCKS" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine offset of stat.st_blocks" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_BLOCKS" >&5+printf "%s\n" "$OFFSET_STAT_ST_BLOCKS" >&6; }++printf "%s\n" "#define OFFSET_STAT_ST_BLOCKS $OFFSET_STAT_ST_BLOCKS" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_ino" >&5+printf %s "checking offset of stat.st_ino... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_ino))" "OFFSET_STAT_ST_INO" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine offset of stat.st_ino" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_INO" >&5+printf "%s\n" "$OFFSET_STAT_ST_INO" >&6; }++printf "%s\n" "#define OFFSET_STAT_ST_INO $OFFSET_STAT_ST_INO" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_atime" >&5+printf %s "checking offset of stat.st_atime... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_atime))" "OFFSET_STAT_ST_ATIME" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine offset of stat.st_atime" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_ATIME" >&5+printf "%s\n" "$OFFSET_STAT_ST_ATIME" >&6; }++printf "%s\n" "#define OFFSET_STAT_ST_ATIME $OFFSET_STAT_ST_ATIME" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_atim.tv_nsec" >&5+printf %s "checking offset of stat.st_atim.tv_nsec... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_atim.tv_nsec))" "OFFSET_STAT_ST_ATIM_TV_NSEC" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine offset of stat.st_atim.tv_nsec" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_ATIM_TV_NSEC" >&5+printf "%s\n" "$OFFSET_STAT_ST_ATIM_TV_NSEC" >&6; }++printf "%s\n" "#define OFFSET_STAT_ST_ATIM_TV_NSEC $OFFSET_STAT_ST_ATIM_TV_NSEC" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_mtime" >&5+printf %s "checking offset of stat.st_mtime... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_mtime))" "OFFSET_STAT_ST_MTIME" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine offset of stat.st_mtime" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_MTIME" >&5+printf "%s\n" "$OFFSET_STAT_ST_MTIME" >&6; }++printf "%s\n" "#define OFFSET_STAT_ST_MTIME $OFFSET_STAT_ST_MTIME" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_mtim.tv_nsec" >&5+printf %s "checking offset of stat.st_mtim.tv_nsec... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_mtim.tv_nsec))" "OFFSET_STAT_ST_MTIM_TV_NSEC" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine offset of stat.st_mtim.tv_nsec" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_MTIM_TV_NSEC" >&5+printf "%s\n" "$OFFSET_STAT_ST_MTIM_TV_NSEC" >&6; }++printf "%s\n" "#define OFFSET_STAT_ST_MTIM_TV_NSEC $OFFSET_STAT_ST_MTIM_TV_NSEC" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_ctime" >&5+printf %s "checking offset of stat.st_ctime... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_ctime))" "OFFSET_STAT_ST_CTIME" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine offset of stat.st_ctime" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_CTIME" >&5+printf "%s\n" "$OFFSET_STAT_ST_CTIME" >&6; }++printf "%s\n" "#define OFFSET_STAT_ST_CTIME $OFFSET_STAT_ST_CTIME" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking offset of stat.st_ctim.tv_nsec" >&5+printf %s "checking offset of stat.st_ctim.tv_nsec... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(offsetof(struct stat, st_ctim.tv_nsec))" "OFFSET_STAT_ST_CTIM_TV_NSEC" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine offset of stat.st_ctim.tv_nsec" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OFFSET_STAT_ST_CTIM_TV_NSEC" >&5+printf "%s\n" "$OFFSET_STAT_ST_CTIM_TV_NSEC" >&6; }++printf "%s\n" "#define OFFSET_STAT_ST_CTIM_TV_NSEC $OFFSET_STAT_ST_CTIM_TV_NSEC" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of stat.st_mode" >&5+printf %s "checking size of stat.st_mode... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_mode))" "SIZEOF_STAT_ST_MODE" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine size of stat.st_mode" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_MODE" >&5+printf "%s\n" "$SIZEOF_STAT_ST_MODE" >&6; }++printf "%s\n" "#define SIZEOF_STAT_ST_MODE $SIZEOF_STAT_ST_MODE" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of stat.st_dev" >&5+printf %s "checking size of stat.st_dev... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_dev))" "SIZEOF_STAT_ST_DEV" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine size of stat.st_dev" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_DEV" >&5+printf "%s\n" "$SIZEOF_STAT_ST_DEV" >&6; }++printf "%s\n" "#define SIZEOF_STAT_ST_DEV $SIZEOF_STAT_ST_DEV" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of stat.st_uid" >&5+printf %s "checking size of stat.st_uid... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_uid))" "SIZEOF_STAT_ST_UID" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine size of stat.st_uid" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_UID" >&5+printf "%s\n" "$SIZEOF_STAT_ST_UID" >&6; }++printf "%s\n" "#define SIZEOF_STAT_ST_UID $SIZEOF_STAT_ST_UID" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of stat.st_gid" >&5+printf %s "checking size of stat.st_gid... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_gid))" "SIZEOF_STAT_ST_GID" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine size of stat.st_gid" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_GID" >&5+printf "%s\n" "$SIZEOF_STAT_ST_GID" >&6; }++printf "%s\n" "#define SIZEOF_STAT_ST_GID $SIZEOF_STAT_ST_GID" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of stat.st_nlink" >&5+printf %s "checking size of stat.st_nlink... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_nlink))" "SIZEOF_STAT_ST_NLINK" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine size of stat.st_nlink" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_NLINK" >&5+printf "%s\n" "$SIZEOF_STAT_ST_NLINK" >&6; }++printf "%s\n" "#define SIZEOF_STAT_ST_NLINK $SIZEOF_STAT_ST_NLINK" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of stat.st_rdev" >&5+printf %s "checking size of stat.st_rdev... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_rdev))" "SIZEOF_STAT_ST_RDEV" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine size of stat.st_rdev" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_RDEV" >&5+printf "%s\n" "$SIZEOF_STAT_ST_RDEV" >&6; }++printf "%s\n" "#define SIZEOF_STAT_ST_RDEV $SIZEOF_STAT_ST_RDEV" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of stat.st_size" >&5+printf %s "checking size of stat.st_size... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_size))" "SIZEOF_STAT_ST_SIZE" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine size of stat.st_size" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_SIZE" >&5+printf "%s\n" "$SIZEOF_STAT_ST_SIZE" >&6; }++printf "%s\n" "#define SIZEOF_STAT_ST_SIZE $SIZEOF_STAT_ST_SIZE" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of stat.st_blksize" >&5+printf %s "checking size of stat.st_blksize... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_blksize))" "SIZEOF_STAT_ST_BLKSIZE" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine size of stat.st_blksize" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_BLKSIZE" >&5+printf "%s\n" "$SIZEOF_STAT_ST_BLKSIZE" >&6; }++printf "%s\n" "#define SIZEOF_STAT_ST_BLKSIZE $SIZEOF_STAT_ST_BLKSIZE" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of stat.st_blocks" >&5+printf %s "checking size of stat.st_blocks... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_blocks))" "SIZEOF_STAT_ST_BLOCKS" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine size of stat.st_blocks" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_BLOCKS" >&5+printf "%s\n" "$SIZEOF_STAT_ST_BLOCKS" >&6; }++printf "%s\n" "#define SIZEOF_STAT_ST_BLOCKS $SIZEOF_STAT_ST_BLOCKS" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of stat.st_ino" >&5+printf %s "checking size of stat.st_ino... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_ino))" "SIZEOF_STAT_ST_INO" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine size of stat.st_ino" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_INO" >&5+printf "%s\n" "$SIZEOF_STAT_ST_INO" >&6; }++printf "%s\n" "#define SIZEOF_STAT_ST_INO $SIZEOF_STAT_ST_INO" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of stat.st_atime" >&5+printf %s "checking size of stat.st_atime... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_atime))" "SIZEOF_STAT_ST_ATIME" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine size of stat.st_atime" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_ATIME" >&5+printf "%s\n" "$SIZEOF_STAT_ST_ATIME" >&6; }++printf "%s\n" "#define SIZEOF_STAT_ST_ATIME $SIZEOF_STAT_ST_ATIME" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of stat.st_atim.tv_nsec" >&5+printf %s "checking size of stat.st_atim.tv_nsec... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_atim.tv_nsec))" "SIZEOF_STAT_ST_ATIM_TV_NSEC" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine size of stat.st_atim.tv_nsec" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_ATIM_TV_NSEC" >&5+printf "%s\n" "$SIZEOF_STAT_ST_ATIM_TV_NSEC" >&6; }++printf "%s\n" "#define SIZEOF_STAT_ST_ATIM_TV_NSEC $SIZEOF_STAT_ST_ATIM_TV_NSEC" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of stat.st_mtime" >&5+printf %s "checking size of stat.st_mtime... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_mtime))" "SIZEOF_STAT_ST_MTIME" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine size of stat.st_mtime" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_MTIME" >&5+printf "%s\n" "$SIZEOF_STAT_ST_MTIME" >&6; }++printf "%s\n" "#define SIZEOF_STAT_ST_MTIME $SIZEOF_STAT_ST_MTIME" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of stat.st_mtim.tv_nsec" >&5+printf %s "checking size of stat.st_mtim.tv_nsec... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_mtim.tv_nsec))" "SIZEOF_STAT_ST_MTIM_TV_NSEC" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine size of stat.st_mtim.tv_nsec" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_MTIM_TV_NSEC" >&5+printf "%s\n" "$SIZEOF_STAT_ST_MTIM_TV_NSEC" >&6; }++printf "%s\n" "#define SIZEOF_STAT_ST_MTIM_TV_NSEC $SIZEOF_STAT_ST_MTIM_TV_NSEC" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of stat.st_ctime" >&5+printf %s "checking size of stat.st_ctime... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_ctime))" "SIZEOF_STAT_ST_CTIME" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine size of stat.st_ctime" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_CTIME" >&5+printf "%s\n" "$SIZEOF_STAT_ST_CTIME" >&6; }++printf "%s\n" "#define SIZEOF_STAT_ST_CTIME $SIZEOF_STAT_ST_CTIME" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of stat.st_ctim.tv_nsec" >&5+printf %s "checking size of stat.st_ctim.tv_nsec... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct stat *)0)->st_ctim.tv_nsec))" "SIZEOF_STAT_ST_CTIM_TV_NSEC" "#include <sys/stat.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine size of stat.st_ctim.tv_nsec" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_STAT_ST_CTIM_TV_NSEC" >&5+printf "%s\n" "$SIZEOF_STAT_ST_CTIM_TV_NSEC" >&6; }++printf "%s\n" "#define SIZEOF_STAT_ST_CTIM_TV_NSEC $SIZEOF_STAT_ST_CTIM_TV_NSEC" >>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 struct stat" >&5+printf %s "checking size of struct stat... " >&6; }+if test ${ac_cv_sizeof_struct_stat+y}+then :+ printf %s "(cached) " >&6+else $as_nop+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (struct stat))" "ac_cv_sizeof_struct_stat" "#include <sys/stat.h>+"+then :++else $as_nop+ if test "$ac_cv_type_struct_stat" = 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 stat)+See \`config.log' for more details" "$LINENO" 5; }+ else+ ac_cv_sizeof_struct_stat=0+ fi+fi++fi+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_struct_stat" >&5+printf "%s\n" "$ac_cv_sizeof_struct_stat" >&6; }++++printf "%s\n" "#define SIZEOF_STRUCT_STAT $ac_cv_sizeof_struct_stat" >>confdefs.h++++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking offset of utimbuf.actime" >&5+printf %s "checking offset of utimbuf.actime... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(offsetof(struct utimbuf, actime))" "OFFSET_UTIMBUF_ACTIME" "#include <utime.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine offset of utimbuf.actime" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OFFSET_UTIMBUF_ACTIME" >&5+printf "%s\n" "$OFFSET_UTIMBUF_ACTIME" >&6; }++printf "%s\n" "#define OFFSET_UTIMBUF_ACTIME $OFFSET_UTIMBUF_ACTIME" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking offset of utimbuf.modtime" >&5+printf %s "checking offset of utimbuf.modtime... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(offsetof(struct utimbuf, modtime))" "OFFSET_UTIMBUF_MODTIME" "#include <utime.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine offset of utimbuf.modtime" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OFFSET_UTIMBUF_MODTIME" >&5+printf "%s\n" "$OFFSET_UTIMBUF_MODTIME" >&6; }++printf "%s\n" "#define OFFSET_UTIMBUF_MODTIME $OFFSET_UTIMBUF_MODTIME" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of utimbuf.actime" >&5+printf %s "checking size of utimbuf.actime... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct utimbuf *)0)->actime))" "SIZEOF_UTIMBUF_ACTIME" "#include <utime.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine size of utimbuf.actime" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_UTIMBUF_ACTIME" >&5+printf "%s\n" "$SIZEOF_UTIMBUF_ACTIME" >&6; }++printf "%s\n" "#define SIZEOF_UTIMBUF_ACTIME $SIZEOF_UTIMBUF_ACTIME" >>confdefs.h+++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of utimbuf.modtime" >&5+printf %s "checking size of utimbuf.modtime... " >&6; }+if ac_fn_c_compute_int "$LINENO" "(sizeof(((struct utimbuf *)0)->modtime))" "SIZEOF_UTIMBUF_MODTIME" "#include <utime.h>+#include <stddef.h>"+then :++else $as_nop+ as_fn_error $? "could not determine size of utimbuf.modtime" "$LINENO" 5+fi++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SIZEOF_UTIMBUF_MODTIME" >&5+printf "%s\n" "$SIZEOF_UTIMBUF_MODTIME" >&6; }++printf "%s\n" "#define SIZEOF_UTIMBUF_MODTIME $SIZEOF_UTIMBUF_MODTIME" >>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 struct utimbuf" >&5+printf %s "checking size of struct utimbuf... " >&6; }+if test ${ac_cv_sizeof_struct_utimbuf+y}+then :+ printf %s "(cached) " >&6+else $as_nop+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (struct utimbuf))" "ac_cv_sizeof_struct_utimbuf" "#include <utime.h>+"+then :++else $as_nop+ if test "$ac_cv_type_struct_utimbuf" = 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 utimbuf)+See \`config.log' for more details" "$LINENO" 5; }+ else+ ac_cv_sizeof_struct_utimbuf=0+ fi+fi++fi+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_struct_utimbuf" >&5+printf "%s\n" "$ac_cv_sizeof_struct_utimbuf" >&6; }++++printf "%s\n" "#define SIZEOF_STRUCT_UTIMBUF $ac_cv_sizeof_struct_utimbuf" >>confdefs.h+++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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/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; memset(val, 0, 0);++ ;+ 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="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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++#include <time.h>++#if HAVE_TERMIOS_H+# include <termios.h>+#endif++#if HAVE_STRING_H+# include <string.h>+#endif++#if HAVE_CTYPE_H+# include <ctype.h>+#endif++#if HAVE_INTTYPES_H+# include <inttypes.h>+#else+# if HAVE_STDINT_H+# include <stdint.h>+# endif+#endif++#if HAVE_SYS_RESOURCE_H+# include <sys/resource.h>+#endif++#if 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++++ ac_fn_check_decl "$LINENO" "environ" "ac_cv_have_decl_environ" "+ #include <stdlib.h>+ #include <unistd.h>++" "$ac_c_undeclared_builtin_options" "CFLAGS"+if test "x$ac_cv_have_decl_environ" = xyes+then :+ ac_have_decl=1+else $as_nop+ ac_have_decl=0+fi+printf "%s\n" "#define HAVE_DECL_ENVIRON $ac_have_decl" >>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 ghc-internal.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 ghc-internal 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 ghc-internal 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" ;;+ "ghc-internal.buildinfo") CONFIG_FILES="$CONFIG_FILES ghc-internal.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+
ghc-internal.cabal view
@@ -4,19 +4,21 @@ name: ghc-internal -- The project is ghc's version plus ghc-internal's version suffix. -- For example, for ghc=9.10.1, ghc-internal's version will be 9.1001.0.-version: 9.1003.0+version: 9.1201.0 license: BSD-3-Clause license-file: LICENSE-maintainer: Core Libraries Committee <core-libraries-committee@haskell.org>-bug-reports: https://github.com/haskell/core-libraries-committee/issues+maintainer: The GHC Developers <ghc-devs@haskell.org>+bug-reports: https://gitlab.haskell.org/ghc/ghc/-/issues/new synopsis: Basic libraries category: Prelude build-type: Configure description:- This package contains the Standard Haskell "Prelude" and its support libraries,- and a large collection of useful libraries ranging from data- structures to parsing combinators and debugging utilities.+ This package contains the implementation of GHC's standard libraries and is+ not intended for use by end-users.+ .+ Users should instead use either the @base@ or @ghc-experimental@ packages + extra-tmp-files: autom4te.cache ghc-internal.buildinfo@@ -89,7 +91,7 @@ build-depends: rts == 1.0.*,- ghc-prim >= 0.11 && < 0.13,+ ghc-prim >= 0.11 && < 0.14, ghc-bignum >= 1.0 && < 2.0 exposed-modules:@@ -102,7 +104,9 @@ GHC.Internal.Control.Monad GHC.Internal.Control.Monad.Fail GHC.Internal.Control.Monad.Fix+ GHC.Internal.Control.Monad.IO.Class GHC.Internal.Control.Monad.ST+ GHC.Internal.Control.Monad.Zip GHC.Internal.Control.Monad.ST.Lazy GHC.Internal.Control.Monad.ST.Imp GHC.Internal.Control.Monad.ST.Lazy.Imp@@ -113,7 +117,6 @@ GHC.Internal.Data.Dynamic GHC.Internal.Data.Either GHC.Internal.Data.Eq- GHC.Internal.Data.Enum GHC.Internal.Data.Foldable GHC.Internal.Data.Function GHC.Internal.Data.Functor@@ -123,6 +126,7 @@ GHC.Internal.Data.IORef GHC.Internal.Data.Ix GHC.Internal.Data.List+ GHC.Internal.Data.List.NonEmpty GHC.Internal.Data.Maybe GHC.Internal.Data.Monoid GHC.Internal.Data.OldList@@ -162,6 +166,7 @@ GHC.Internal.Foreign.Ptr GHC.Internal.Foreign.StablePtr GHC.Internal.Foreign.Storable+ GHC.Internal.ForeignSrcLang GHC.Internal.Arr GHC.Internal.ArrayArray GHC.Internal.Base@@ -231,6 +236,8 @@ GHC.Internal.Integer.Logarithms GHC.Internal.IsList GHC.Internal.Ix+ GHC.Internal.LanguageExtensions+ GHC.Internal.Lexeme GHC.Internal.List GHC.Internal.Maybe GHC.Internal.MVar@@ -245,6 +252,7 @@ GHC.Internal.Records GHC.Internal.ResponseFile GHC.Internal.RTS.Flags+ GHC.Internal.RTS.Flags.Test GHC.Internal.ST GHC.Internal.Stack.CloneStack GHC.Internal.StaticPtr@@ -257,6 +265,10 @@ GHC.Internal.Stack.Types GHC.Internal.Stats GHC.Internal.Storable+ GHC.Internal.TH.Syntax+ GHC.Internal.TH.Lib+ GHC.Internal.TH.Lift+ GHC.Internal.TH.Quote GHC.Internal.TopHandler GHC.Internal.TypeError GHC.Internal.TypeLits
include/HsBaseConfig.h.in view
@@ -392,8 +392,8 @@ /* Define to 1 if you have the `lstat' function. */ #undef HAVE_LSTAT -/* Define to 1 if you have the <memory.h> header file. */-#undef HAVE_MEMORY_H+/* Define to 1 if you have the <minix/config.h> header file. */+#undef HAVE_MINIX_CONFIG_H /* Define to 1 if you have the `mkfifo' function. */ #undef HAVE_MKFIFO@@ -416,6 +416,9 @@ /* 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 @@ -503,6 +506,9 @@ /* 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 @@ -803,7 +809,9 @@ /* Size of utimbuf.modtime */ #undef SIZEOF_UTIMBUF_MODTIME -/* Define to 1 if you have the ANSI C header files. */+/* 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. */ #undef STDC_HEADERS /* Define if stdlib.h declares unsetenv to return void. */@@ -813,41 +821,92 @@ #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 threading extensions on Solaris. */+/* 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. */ #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 general extensions on Solaris. */-#ifndef __EXTENSIONS__-# undef __EXTENSIONS__+/* Enable X/Open extensions. Define to 500 only if necessary+ to make mbstate_t available. */+#ifndef _XOPEN_SOURCE+# undef _XOPEN_SOURCE #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
jsbits/base.js view
@@ -138,6 +138,126 @@ h$unsupported(-1, c); } +function h$stat(path, path_off, stat, stat_off) {+#ifndef GHCJS_BROWSER+ if(h$isNode()) {+ try {+ var stats = h$fs.statSync(h$decodeUtf8z(path, path_off));+ h$base_fillStat(stats, stat, stat_off);+ return 0;+ } catch(e) {+ h$setErrno(e);+ return -1;+ }+ }+ else+#endif+ h$unsupported(-1);+}++function h$lstat(path, path_off, stat, stat_off) {+#ifndef GHCJS_BROWSER+ if(h$isNode()) {+ try {+ var stats = h$fs.lstatSync(h$decodeUtf8z(path, path_off));+ h$base_fillStat(stats, stat, stat_off);+ return 0;+ } catch(e) {+ h$setErrno(e);+ return -1;+ }+ }+ else+#endif+ h$unsupported(-1);+}++function h$fstatat(dirfd, path, path_off, stat, stat_off, flag) {+#ifndef GHCJS_BROWSER+ if(h$isNode()) {+ var fp = h$calculate_at(dirfd, path, path_off);+ try {+ if (flag & h$base_at_symlink_nofollow) {+ var fs = h$fs.lstatSync(fp);+ h$base_fillStat(fs, stat, stat_off);+ return 0;+ }+ else {+ var fs = h$fs.statSync(fp);+ h$base_fillStat(fs, stat, stat_off);+ return 0;+ }++ } catch(e) {+ h$setErrno(e);+ return -1;+ }+ }+#endif++ return h$unsupported(-1);+}++function h$unlinkat(dirfd, path, path_off, flag) {+#ifndef GHCJS_BROWSER+ if(h$isNode()) {+ var fp = h$calculate_at(dirfd, path, path_off);+ try {+ if (flag & h$base_at_removedir) {+ h$fs.rmdirSync(fp);+ return 0;+ }+ else {+ h$fs.unlinkSync(fp);+ return 0;+ }++ } catch(e) {+ h$setErrno(e);+ return -1;+ }+ }+#endif++ return h$unsupported(-1);+}++function h$dup(fd) {+#ifndef GHCJS_BROWSER+ if(h$isNode()) {+ try {+ // NodeJS doesn't provide "dup" (see+ // https://github.com/nodejs/node/issues/41733), so we do this hack that+ // probably only works on Linux.+ return h$fs.openSync("/proc/self/fd/"+fd);+ } catch(e) {+ h$setErrno(e);+ return -1;+ }+ }+ else+#endif+ h$unsupported(-1);+}++function h$fdopendir(fd) {+#ifndef GHCJS_BROWSER+ if(h$isNode()) {+ try {+ // NodeJS doesn't provide "fdopendir", so we do this hack that probably+ // only works on Linux.+ return h$fs.opendirSync("/proc/self/fd/"+fd);+ } catch(e) {+ h$setErrno(e);+ return -1;+ }+ }+ else+#endif+ h$unsupported(-1);+}++ function h$base_isatty(fd) { TRACE_IO("base_isatty " + fd) // return 1; // fixme debug@@ -247,23 +367,6 @@ h$unsupported(-1, c); } -function h$lstat(file, file_off, stat, stat_off) {- TRACE_IO("lstat")-#ifndef GHCJS_BROWSER- if(h$isNode()) {- try {- var fs = h$fs.lstatSync(h$decodeUtf8z(file, file_off));- h$base_fillStat(fs, stat, stat_off);- return 0;- } catch(e) {- h$setErrno(e);- return -1;- }- } else-#endif- h$unsupported(-1);-}- function h$rmdir(file, file_off) { TRACE_IO("rmdir") #ifndef GHCJS_BROWSER@@ -285,7 +388,7 @@ #ifndef GHCJS_BROWSER if (h$isNode()) { try {- fs.renameSync(h$decodeUtf8z(old_path, old_path_off), h$decodeUtf8z(new_path, new_path_off));+ h$fs.renameSync(h$decodeUtf8z(old_path, old_path_off), h$decodeUtf8z(new_path, new_path_off)); return 0; } catch(e) { h$setErrno(e);@@ -318,7 +421,7 @@ #ifndef GHCJS_BROWSER if (h$isNode()) { try {- var rp = h$encodeUtf8(fs.realpathSync(h$decodeUtf8z(path,off)));+ var rp = h$encodeUtf8(h$fs.realpathSync(h$decodeUtf8z(path,off))); if (resolved !== null) { h$copyMutableByteArray(rp, 0, resolved, resolved_off, Math.min(resolved.len - resolved_off, rp.len)); RETURN_UBX_TUP2(resolved, resolved_off);@@ -333,25 +436,55 @@ h$unsupported(-1); } -function h$base_open(file, file_off, how, mode, c) {- return h$open(file,file_off,how,mode,c);+function h$path_is_abs(path) {+ return path.charAt(0) === '/'; } -function h$openat(dirfd, file, file_off, how, mode) {- if (dirfd != h$base_at_fdcwd) {- // we only support AT_FDWCD (open) until NodeJS provides "openat"- return h$unsupported(-1);+function h$path_join2(p1,p2) {+ // Emscripten would normalize the path here. We don't for now.+ return (p1 + '/' + p2);+}++// Compute path from a FD and a path+function h$calculate_at(dirfd, file, file_off) {+ var path = h$decodeUtf8z(file,file_off);++ if (h$path_is_abs(path)) {+ return path; }++ // relative path+ var dir;+ if (dirfd == h$base_at_fdcwd) {+ dir = h$process.cwd();+ }+#ifndef GHCJS_BROWSER+ else if (h$isNode()) {+ // hack that probably only works on Linux with /proc mounted+ dir = h$fs.readlinkSync("/proc/self/fd/"+dirfd);+ }+#endif else {- return h$open(file,file_off,how,mode,undefined);+ return h$unsupported(-1); }++ return h$path_join2(dir,path); } -function h$open(file, file_off, how, mode,c) {+function h$openat(dirfd, file, file_off, how, mode, c) {+ var path = h$calculate_at(dirfd, file, file_off);+ return h$base_open(path, how, mode, c);+}++function h$open(file, file_off, how, mode, c) {+ var path = h$decodeUtf8z(file, file_off);+ return h$base_open(path, how, mode, c);+}++function h$base_open(fp, how, mode, c) { #ifndef GHCJS_BROWSER if(h$isNode()) { var flags, off;- var fp = h$decodeUtf8z(file, file_off); TRACE_IO("open: " + fp) var acc = how & h$base_o_accmode; // passing a number lets node.js use it directly as the flags (undocumented)@@ -586,6 +719,9 @@ const h$base_o_nonblock = 0x00004; const h$base_o_binary = 0x00000; const h$base_at_fdcwd = -100;+const h$base_at_symlink_nofollow = 0x100;+const h$base_at_removedir = 0x200;+const h$base_at_symlink_follow = 0x400; function h$base_stat_check_mode(mode,p) {@@ -1023,7 +1159,7 @@ throw "h$opendir unsupported"; } - const d = fs.opendirSync(h$decodeUtf8z(path,0));+ const d = h$fs.opendirSync(h$decodeUtf8z(path,0)); RETURN_UBX_TUP2(d,0); }
src/GHC/Internal/Base.hs view
@@ -416,12 +416,15 @@ * Do-notation introduces references to GHC.Internal.Base for Monad stuff. * Likewise arrow-notation to GHC.Internal.Control.Arrow * Likewise RecursiveDo stuff to GHC.Internal.Control.Monad.Fix- * (Does TemplateHaskellQuotes fall into this category as well?)+ * TemplateHaskell quotes introduce references to GHC.Internal.TH.Lib. - These are not problematic in practice. For example, a program- that uses arrow-notation but does not otherwise import the Arrow- type class will almost certainly fail to type-check anyway.- (The "Arrow m" constraint will be very hard to solve!)+ These are not problematic in practice, because we do not make use of+ overloaded notation during bootstrap of GHC. Yet! If in the future we+ we decide to use TemplateHaskell in GHC or `ghc-internal`, we need to+ add explicit imports. To demonstrate that these errors can occur, consider+ e n = [| True |]+ which compiles with -XTemplateHaskell *without* requiring the user to+ import GHC.Internal.TH.Lib. W4: Stock derived instances introduce references to various things.@@ -430,12 +433,13 @@ as long as the module which defines Eq imports GHC.Magic this cannot cause trouble. - Embarrassingly, we do not follow this plan for the Lift class.- Derived Lift instances refer to machinery in Language.Haskell.TH.Lib,- which is not imported by the module Language.Haskell.TH.Syntax that- defines the Lift class. This is still causing annoyance for boot- library maintainers as of March 2024: See #22229.+ A similar solution concerns the deriving of Lift instances with+ -XTemplateHaskell: A derived Lift instance must (transitively)+ import GHC.Internal.TH.Lift, where the Lift class is defined.+ The derived Lift instance references various identifiers in+ GHC.Internal.TH.Lib, so it is an import of GHC.Internal.TH.Lift. + W5: If no explicit "default" declaration is present, the assumed "default (Integer, Double)" creates a dependency on GHC.Num.Integer@@ -967,7 +971,7 @@ class Functor f where -- | 'fmap' is used to apply a function of type @(a -> b)@ to a value of type @f a@, -- where f is a functor, to produce a value of type @f b@.- -- Note that for any type constructor with more than one parameter (e.g., `Either`),+ -- Note that for any type constructor with more than one parameter (e.g., 'Either'), -- only the last type parameter can be modified with `fmap` (e.g., `b` in `Either a b`). -- -- Some type constructors with two parameters or more have a @'Data.Bifunctor'@ instance that allows@@ -1332,7 +1336,7 @@ -- @ -- -- An alternative name for this function is \'bind\', but some people- -- may refer to it as \'flatMap\', which results from it being equivialent+ -- may refer to it as \'flatMap\', which results from it being equivalent -- to -- -- @\\x f -> 'join' ('fmap' f x) :: Monad m => m a -> (a -> m b) -> m b@@@ -1721,6 +1725,7 @@ bs' = as >>= toList . f toList ~(c :| cs) = c : cs + ---------------------------------------------- -- The list type @@ -2180,7 +2185,7 @@ -- -- >>> let (.>) = flip (.) in (+1) .> show $ 5 -- "6"-flip :: (a -> b -> c) -> b -> a -> c+flip :: forall repc a b (c :: TYPE repc). (a -> b -> c) -> b -> a -> c flip f x y = f y x -- Note: Before base-4.19, ($) was not representation polymorphic
src/GHC/Internal/Conc/Bound.hs view
@@ -112,13 +112,21 @@ action <- deRefStablePtr stableAction action -foreign import ccall forkOS_createThread- :: StablePtr (IO ()) -> IO CInt + failNonThreaded :: IO a failNonThreaded = fail $ "RTS doesn't support multiple OS threads " ++"(use ghc -threaded when linking)" +#if defined(wasm32_HOST_ARCH)++forkOS _ = failNonThreaded++#else++foreign import ccall forkOS_createThread+ :: StablePtr (IO ()) -> IO CInt+ forkOS action0 | rtsSupportsBoundThreads = do mv <- newEmptyMVar@@ -141,6 +149,7 @@ freeStablePtr entry return tid | otherwise = failNonThreaded+#endif -- | Like 'forkIOWithUnmask', but the child thread is a bound thread, -- as with 'forkOS'.
src/GHC/Internal/Conc/POSIX.hs view
@@ -44,9 +44,6 @@ , module GHC.Internal.Event.Windows.ConsoleEvent ) where --#include "windows_cconv.h"- import GHC.Internal.Data.Bits (shiftR) import GHC.Internal.Base import GHC.Internal.Clock@@ -302,6 +299,5 @@ foreign import ccall unsafe "sendIOManagerEvent" -- in the RTS (ThrIOManager.c) c_sendIOManagerEvent :: Word32 -> IO () -foreign import WINDOWS_CCONV "WaitForSingleObject"+foreign import ccall "WaitForSingleObject" c_WaitForSingleObject :: HANDLE -> DWORD -> IO DWORD-
src/GHC/Internal/Conc/Sync.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE RankNTypes #-}@@ -393,14 +394,13 @@ getNumProcessors = fmap fromIntegral c_getNumberOfProcessors foreign import ccall unsafe "getNumberOfProcessors"- c_getNumberOfProcessors :: IO Word32+ c_getNumberOfProcessors :: IO CUInt -- | Returns the number of sparks currently in the local spark pool numSparks :: IO Int numSparks = IO $ \s -> case numSparks# s of (# s', n #) -> (# s', I# n #) -foreign import ccall "&enabled_capabilities"- enabled_capabilities :: Ptr Word32+foreign import ccall "&enabled_capabilities" enabled_capabilities :: Ptr CInt childHandler :: SomeException -> IO () childHandler err = catch (real_handler err) childHandler@@ -951,7 +951,9 @@ defaultHandler :: SomeException -> IO () defaultHandler se = do (hFlush stdout) `catchAny` (\ _ -> return ())- let msg = displayException se++ let exMsg = displayExceptionWithInfo se+ msg = "Uncaught exception " ++ exMsg withCString "%s" $ \cfmt -> withCString msg $ \cmsg -> errorBelch cfmt cmsg
src/GHC/Internal/Conc/Windows.hs view
@@ -41,9 +41,6 @@ , module GHC.Internal.Event.Windows.ConsoleEvent ) where --#include "windows_cconv.h"- import GHC.Internal.Base import GHC.Internal.Conc.Sync import qualified GHC.Internal.Conc.POSIX as POSIX
src/GHC/Internal/Control/Arrow.hs view
@@ -93,17 +93,35 @@ {-# MINIMAL arr, (first | (***)) #-} -- | Lift a function to an arrow.+ --+ -- > b ╭───╮ c+ -- > >───┤ f ├───>+ -- > ╰───╯ arr :: (b -> c) -> a b c -- | Send the first component of the input through the argument -- arrow, and copy the rest unchanged to the output.+ --+ -- The default definition may be overridden with a more efficient+ -- version if desired.+ --+ -- > b ╭─────╮ c+ -- > >───┼─ f ─┼───>+ -- > >───┼─────┼───>+ -- > d ╰─────╯ d first :: a b c -> a (b,d) (c,d) first = (*** id) - -- | A mirror image of 'first'.+ -- | Send the second component of the input through the argument+ -- arrow, and copy the rest unchanged to the output. -- -- The default definition may be overridden with a more efficient -- version if desired.+ --+ -- > d ╭─────╮ d+ -- > >───┼─────┼───>+ -- > >───┼─ f ─┼───>+ -- > b ╰─────╯ c second :: a b c -> a (d,b) (d,c) second = (id ***) @@ -112,6 +130,11 @@ -- -- The default definition may be overridden with a more efficient -- version if desired.+ --+ -- > b ╭─────╮ b'+ -- > >───┼─ f ─┼───>+ -- > >───┼─ g ─┼───>+ -- > c ╰─────╯ c' (***) :: a b c -> a b' c' -> a (b,b') (c,c') f *** g = first f >>> arr swap >>> first g >>> arr swap where swap ~(x,y) = (y,x)@@ -121,6 +144,12 @@ -- -- The default definition may be overridden with a more efficient -- version if desired.+ --+ -- > ╭───────╮ c+ -- > b │ ┌─ f ─┼───>+ -- > >───┼─┤ │+ -- > │ └─ g ─┼───>+ -- > ╰───────╯ c' (&&&) :: a b c -> a b c' -> a b (c,c') f &&& g = arr (\b -> (b,b)) >>> f *** g @@ -204,6 +233,9 @@ second (Kleisli f) = Kleisli (\ ~(d,b) -> f b >>= \c -> return (d,c)) -- | The identity arrow, which plays the role of 'return' in arrow notation.+--+-- > b+-- > >───> returnA :: Arrow a => a b b returnA = id @@ -416,6 +448,15 @@ -- > unassoc (a,(b,c)) = ((a,b),c) -- class Arrow a => ArrowLoop a where+ -- |+ --+ -- > ╭──────────────╮+ -- > b │ ╭───╮ │ c+ -- > >───┼─────┤ ├────┼───>+ -- > │ ┌─┤ ├─┐ │+ -- > │ d │ ╰───╯ │ │+ -- > │ └───<───┘ │+ -- > ╰──────────────╯ loop :: a (b,d) (c,d) -> a b c -- | @since base-2.01
src/GHC/Internal/Control/Category.hs view
@@ -28,17 +28,81 @@ infixr 9 . infixr 1 >>>, <<< --- | A class for categories. Instances should satisfy the laws+-- | A class for categories. ----- [Right identity] @f '.' 'id' = f@--- [Left identity] @'id' '.' f = f@--- [Associativity] @f '.' (g '.' h) = (f '.' g) '.' h@+-- In mathematics, a /category/ is defined as a collection of /objects/ and a collection+-- of /morphisms/ between objects, together with an /identity morphism/ 'id' for every+-- object and an operation '(.)' that /composes/ compatible morphisms. --+-- This class is defined in an analogous way. The collection of morphisms is represented+-- by a type parameter @cat@, which has kind @k -> k -> 'Data.Kind.Type'@ for some kind variable @k@+-- that represents the collection of objects; most of the time the choice of @k@ will be+-- 'Data.Kind.Type'.+--+-- ==== __Examples__+--+-- As the method names suggest, there's a category of functions:+--+-- @+-- instance Category '(->)' where+-- id = \\x -> x+-- f . g = \\x -> f (g x)+-- @+--+-- Isomorphisms form a category as well:+--+-- @+-- data Iso a b = Iso (a -> b) (b -> a)+--+-- instance Category Iso where+-- id = Iso id id+-- Iso f1 g1 . Iso f2 g2 = Iso (f1 . f2) (g2 . g1)+-- @+--+-- Natural transformations are another important example:+--+-- @+-- newtype f ~> g = NatTransform (forall x. f x -> g x)+--+-- instance Category (~>) where+-- id = NatTransform id+-- NatTransform f . NatTransform g = NatTransform (f . g)+-- @+--+-- Using the `TypeData` language extension, we can also make a category where `k` isn't+-- `Type`, but a custom kind `Door` instead:+--+-- @+-- type data Door = DoorOpen | DoorClosed+--+-- data Action (before :: Door) (after :: Door) where+-- DoNothing :: Action door door+-- OpenDoor :: Action start DoorClosed -> Action start DoorOpen+-- CloseDoor :: Action start DoorOpen -> Action start DoorClosed+--+-- instance Category Action where+-- id = DoNothing+--+-- DoNothing . action = action+-- OpenDoor rest . action = OpenDoor (rest . action)+-- CloseDoor rest . action = CloseDoor (rest . action)+-- @+-- class Category cat where- -- | the identity morphism+ -- | The identity morphism. Implementations should satisfy two laws:+ --+ -- [Right identity] @f '.' 'id' = f@+ -- [Left identity] @'id' '.' f = f@+ --+ -- These essentially state that 'id' should "do nothing". id :: cat a a - -- | morphism composition+ -- | Morphism composition. Implementations should satisfy the law:+ --+ -- [Associativity] @f '.' (g '.' h) = (f '.' g) '.' h@+ --+ -- This means that the way morphisms are grouped is irrelevant, so it is unambiguous+ -- to write a composition of morphisms as @f '.' g '.' h@, without parentheses. (.) :: cat b c -> cat a b -> cat a c {-# RULES@@ -70,11 +134,13 @@ id = Coercion (.) Coercion = coerce --- | Right-to-left composition+-- | Right-to-left composition. This is a synonym for '(.)', but it can be useful to make+-- the order of composition more apparent. (<<<) :: Category cat => cat b c -> cat a b -> cat a c (<<<) = (.) --- | Left-to-right composition+-- | Left-to-right composition. This is useful if you want to write a morphism as a+-- pipeline going from left to right. (>>>) :: Category cat => cat a b -> cat b c -> cat a c f >>> g = g . f {-# INLINE (>>>) #-} -- see Note [INLINE on >>>]
src/GHC/Internal/Control/Exception.hs view
@@ -62,20 +62,25 @@ -- * Throwing exceptions throw, throwIO,+ rethrowIO, ioError, throwTo, -- ** The @catch@ functions catch,+ catchNoPropagate, catches, Handler(..), catchJust, + -- ** Exception annotation+ -- ** The @handle@ functions handle, handleJust, -- ** The @try@ functions try,+ tryWithContext, tryJust, -- ** The @evaluate@ function@@ -105,9 +110,16 @@ finally, onException, + -- * Annotating exceptions++ ExceptionContext(..),+ annotateIO,+ WhileHandling(..),+ ) where import GHC.Internal.Control.Exception.Base+import GHC.Internal.Exception.Type (ExceptionWithContext(..), whileHandling) import GHC.Internal.Base import GHC.Internal.IO (interruptible)@@ -138,13 +150,15 @@ > Handler (\ (ex :: IOException) -> handleIO ex)] -} catches :: IO a -> [Handler a] -> IO a-catches io handlers = io `catch` catchesHandler handlers+catches io handlers = io `catchNoPropagate` catchesHandler handlers -catchesHandler :: [Handler a] -> SomeException -> IO a-catchesHandler handlers e = foldr tryHandler (throw e) handlers- where tryHandler (Handler handler) res- = case fromException e of- Just e' -> handler e'+catchesHandler :: [Handler a] -> ExceptionWithContext SomeException -> IO a+catchesHandler handlers ec@(ExceptionWithContext _ e) =+ foldr tryHandler (rethrowIO ec) handlers+ where+ tryHandler (Handler handler) res =+ case fromException e of+ Just e' -> annotateIO (whileHandling ec) (handler e') Nothing -> res -- -----------------------------------------------------------------------------
src/GHC/Internal/Control/Exception/Base.hs view
@@ -46,6 +46,7 @@ -- * Throwing exceptions throwIO,+ rethrowIO, throw, ioError, throwTo,@@ -54,6 +55,7 @@ -- ** The @catch@ functions catch,+ catchNoPropagate, catchJust, -- ** The @handle@ functions@@ -62,6 +64,7 @@ -- ** The @try@ functions try,+ tryWithContext, tryJust, onException, @@ -85,6 +88,13 @@ assert, + -- * Annotating exceptions++ ExceptionContext(..),+ annotateIO,+ WhileHandling(..),++ -- * Utilities bracket,@@ -105,6 +115,7 @@ import GHC.Internal.Exception import GHC.Internal.IO hiding (bracket, finally, onException) import GHC.Internal.IO.Exception+import GHC.Internal.Exception.Type import GHC.Internal.Show -- import GHC.Internal.Exception hiding ( Exception ) import GHC.Internal.Conc.Sync@@ -132,10 +143,11 @@ -> IO a -- ^ Computation to run -> (b -> IO a) -- ^ Handler -> IO a-catchJust p a handler = catch a handler'- where handler' e = case p e of- Nothing -> throwIO e- Just b -> handler b+catchJust p a handler = catchNoPropagate a handler'+ where handler' ec@(ExceptionWithContext _ e) =+ case p e of+ Nothing -> rethrowIO ec+ Just b -> annotateIO (whileHandling ec) (handler b) -- | A version of 'catch' with the arguments swapped around; useful in -- situations where the code for the handler is shorter. For example:@@ -176,23 +188,23 @@ try :: Exception e => IO a -> IO (Either e a) try a = catch (a >>= \ v -> return (Right v)) (\e -> return (Left e)) +-- | Like 'try' but also returns the exception context, which is useful if you intend+-- to rethrow the exception later.+tryWithContext :: Exception e => IO a -> IO (Either (ExceptionWithContext e) a)+tryWithContext a = catchNoPropagate (a >>= \v -> return (Right v)) (\e -> return (Left e))+ -- | A variant of 'try' that takes an exception predicate to select -- which exceptions are caught (c.f. 'catchJust'). If the exception -- does not match the predicate, it is re-thrown. tryJust :: Exception e => (e -> Maybe b) -> IO a -> IO (Either b a)-tryJust p a = do- r <- try a- case r of- Right v -> return (Right v)- Left e -> case p e of- Nothing -> throwIO e- Just b -> return (Left b)+tryJust p a = catchJust p (Right `fmap` a) (return . Left) -- | Like 'finally', but only performs the final action if there was an -- exception raised by the computation. onException :: IO a -> IO b -> IO a-onException io what = io `catch` \e -> do _ <- what- throwIO (e :: SomeException)+onException io what = io `catchNoPropagate` \e -> do+ _ <- what+ rethrowIO (e :: ExceptionWithContext SomeException) ----------------------------------------------------------------------------- -- Some Useful Functions
src/GHC/Internal/Control/Monad/Fix.hs view
@@ -30,13 +30,13 @@ import GHC.Internal.Data.Either import GHC.Internal.Data.Function ( fix ) import GHC.Internal.Data.Maybe-import GHC.Internal.Data.Monoid ( Dual(..), Sum(..), Product(..)+import GHC.Internal.Data.Monoid ( Monoid, Dual(..), Sum(..), Product(..) , First(..), Last(..), Alt(..), Ap(..) ) import GHC.Internal.Data.Ord ( Down(..) )+import GHC.Internal.Data.Tuple ( Solo(..), snd ) import GHC.Internal.Base ( Monad, NonEmpty(..), errorWithoutStackTrace, (.) ) import GHC.Internal.Generics import GHC.Internal.List ( head, drop )-import GHC.Tuple (Solo (..)) import GHC.Internal.Control.Monad.ST.Imp import GHC.Internal.System.IO @@ -71,6 +71,11 @@ instance MonadFix Solo where mfix f = let a = f (unSolo a) in a where unSolo (MkSolo x) = x++-- | @since base-4.21+instance Monoid a => MonadFix ((,) a) where+ -- See the CLC proposal thread for discussion and proofs of the laws: https://github.com/haskell/core-libraries-committee/issues/238+ mfix f = let a = f (snd a) in a -- | @since base-2.01 instance MonadFix Maybe where
+ src/GHC/Internal/Control/Monad/IO/Class.hs view
@@ -0,0 +1,74 @@+{-# LANGUAGE Trustworthy #-}++-----------------------------------------------------------------------------+-- |+-- Module : GHC.Internal.Control.Monad.IO.Class+-- Copyright : (c) Andy Gill 2001,+-- (c) Oregon Graduate Institute of Science and Technology, 2001+-- License : BSD-style (see the file LICENSE)+--+-- Maintainer : R.Paterson@city.ac.uk+-- Stability : stable+-- Portability : portable+--+-- Class of monads based on @IO@.+-----------------------------------------------------------------------------++module GHC.Internal.Control.Monad.IO.Class (+ MonadIO(..)+ ) where++import GHC.Internal.Base++-- | Monads in which 'IO' computations may be embedded.+-- Any monad built by applying a sequence of monad transformers to the+-- 'IO' monad will be an instance of this class.+--+-- Instances should satisfy the following laws, which state that 'liftIO'+-- is a transformer of monads:+--+-- * @'liftIO' . 'return' = 'return'@+--+-- * @'liftIO' (m >>= f) = 'liftIO' m >>= ('liftIO' . f)@++class (Monad m) => MonadIO m where+ -- | Lift a computation from the 'IO' monad.+ -- This allows us to run IO computations in any monadic stack, so long as it supports these kinds of operations+ -- (i.e. 'IO' is the base monad for the stack).+ --+ -- === __Example__+ --+ --+ -- > import Control.Monad.Trans.State -- from the "transformers" library+ -- >+ -- > printState :: Show s => StateT s IO ()+ -- > printState = do+ -- > state <- get+ -- > liftIO $ print state+ --+ --+ -- Had we omitted @'liftIO'@, we would have ended up with this error:+ --+ -- > • Couldn't match type ‘IO’ with ‘StateT s IO’+ -- > Expected type: StateT s IO ()+ -- > Actual type: IO ()+ --+ -- The important part here is the mismatch between @StateT s IO ()@ and @'IO' ()@.+ --+ -- Luckily, we know of a function that takes an @'IO' a@ and returns an @(m a)@: @'liftIO'@,+ -- enabling us to run the program and see the expected results:+ --+ -- @+ -- > evalStateT printState "hello"+ -- "hello"+ --+ -- > evalStateT printState 3+ -- 3+ -- @+ --+ liftIO :: IO a -> m a++-- | @since base-4.9.0.0+instance MonadIO IO where+ liftIO = id+
+ src/GHC/Internal/Control/Monad/Zip.hs view
@@ -0,0 +1,144 @@+{-# LANGUAGE Trustworthy #-}+{-# LANGUAGE TypeOperators #-}++-----------------------------------------------------------------------------+-- |+-- Module : Control.Monad.Zip+-- Copyright : (c) Nils Schweinsberg 2011,+-- (c) George Giorgidze 2011+-- (c) University Tuebingen 2011+-- License : BSD-style (see the file libraries/base/LICENSE)+-- Maintainer : libraries@haskell.org+-- Stability : stable+-- Portability : portable+--+-- Monadic zipping (used for monad comprehensions)+--+-----------------------------------------------------------------------------++module GHC.Internal.Control.Monad.Zip ( MonadZip(..) ) where++import GHC.Internal.Control.Monad (liftM, liftM2, Monad(..))+import GHC.Internal.Data.Functor.Identity+import qualified GHC.Internal.Data.Functor+import GHC.Internal.Data.Monoid+import GHC.Internal.Data.Ord ( Down(..) )+import GHC.Internal.Data.Proxy+import GHC.Internal.Base (NonEmpty(..))+--import qualified Data.List.NonEmpty as NE+import GHC.Internal.Generics+import qualified GHC.Internal.Data.List.NonEmpty as NE+import qualified GHC.Internal.Data.List as List+import GHC.Internal.Data.Maybe+import GHC.Internal.Data.Tuple+--import Prelude++-- | Instances should satisfy the laws:+--+-- [Naturality]+--+-- @'liftM' (f 'Control.Arrow.***' g) ('mzip' ma mb)+-- = 'mzip' ('liftM' f ma) ('liftM' g mb)@+--+-- [Information Preservation]+--+-- @'liftM' ('Prelude.const' ()) ma = 'liftM' ('Prelude.const' ()) mb@+-- implies+-- @'munzip' ('mzip' ma mb) = (ma, mb)@+--+class Monad m => MonadZip m where+ {-# MINIMAL mzip | mzipWith #-}++ mzip :: m a -> m b -> m (a,b)+ mzip = mzipWith (,)++ mzipWith :: (a -> b -> c) -> m a -> m b -> m c+ mzipWith f ma mb = liftM (uncurry f) (mzip ma mb)++ munzip :: m (a,b) -> (m a, m b)+ munzip mab = (liftM fst mab, liftM snd mab)+ -- munzip is a member of the class because sometimes+ -- you can implement it more efficiently than the+ -- above default code. See #4370 comment by giorgidze++-- | @since 4.3.1.0+instance MonadZip [] where+ mzip = List.zip+ mzipWith = List.zipWith+ munzip = List.unzip++-- | @since 4.9.0.0+instance MonadZip NonEmpty where+ mzip = NE.zip+ mzipWith = NE.zipWith+ munzip = GHC.Internal.Data.Functor.unzip++-- | @since 4.8.0.0+instance MonadZip Identity where+ mzipWith = liftM2+ munzip (Identity (a, b)) = (Identity a, Identity b)++-- | @since 4.15.0.0+instance MonadZip Solo where+ mzipWith = liftM2+ munzip (MkSolo (a, b)) = (MkSolo a, MkSolo b)++-- | @since 4.8.0.0+instance MonadZip Dual where+ -- Cannot use coerce, it's unsafe+ mzipWith = liftM2++-- | @since 4.8.0.0+instance MonadZip Sum where+ mzipWith = liftM2++-- | @since 4.8.0.0+instance MonadZip Product where+ mzipWith = liftM2++-- | @since 4.8.0.0+instance MonadZip Maybe where+ mzipWith = liftM2++-- | @since 4.8.0.0+instance MonadZip First where+ mzipWith = liftM2++-- | @since 4.8.0.0+instance MonadZip Last where+ mzipWith = liftM2++-- | @since 4.8.0.0+instance MonadZip f => MonadZip (Alt f) where+ mzipWith f (Alt ma) (Alt mb) = Alt (mzipWith f ma mb)++-- | @since 4.9.0.0+instance MonadZip Proxy where+ mzipWith _ _ _ = Proxy++-- Instances for GHC.Generics+-- | @since 4.9.0.0+instance MonadZip U1 where+ mzipWith _ _ _ = U1++-- | @since 4.9.0.0+instance MonadZip Par1 where+ mzipWith = liftM2++-- | @since 4.9.0.0+instance MonadZip f => MonadZip (Rec1 f) where+ mzipWith f (Rec1 fa) (Rec1 fb) = Rec1 (mzipWith f fa fb)++-- | @since 4.9.0.0+instance MonadZip f => MonadZip (M1 i c f) where+ mzipWith f (M1 fa) (M1 fb) = M1 (mzipWith f fa fb)++-- | @since 4.9.0.0+instance (MonadZip f, MonadZip g) => MonadZip (f :*: g) where+ mzipWith f (x1 :*: y1) (x2 :*: y2) = mzipWith f x1 x2 :*: mzipWith f y1 y2++-- instances for GHC.Internal.Data.Ord++-- | @since 4.12.0.0+instance MonadZip Down where+ mzipWith = liftM2
− src/GHC/Internal/Data/Enum.hs
@@ -1,22 +0,0 @@-{-# LANGUAGE NoImplicitPrelude #-}---------------------------------------------------------------------------------- |--- Module : GHC.Internal.Data.Enum--- Copyright : (c) The University of Glasgow, 1992-2002--- License : see libraries/base/LICENSE------ Maintainer : ghc-devs@haskell.org--- Stability : stable--- Portability : non-portable (GHC extensions)------ The 'Enum' and 'Bounded' classes.-----------------------------------------------------------------------------------module GHC.Internal.Data.Enum- ( Bounded(..)- , Enum(..)- ) where--import GHC.Internal.Enum
src/GHC/Internal/Data/Foldable.hs view
@@ -555,7 +555,13 @@ elem :: Eq a => a -> t a -> Bool elem = any . (==) - -- | The largest element of a non-empty structure.+ -- | The largest element of a non-empty structure. This function is+ -- equivalent to @'foldr1' 'max'@, and its behavior on structures with+ -- multiple largest elements depends on the relevant implementation of+ -- 'max'. For the default implementation of 'max' (@max x y = if x <= y+ -- then y else x@), structure order is used as a tie-breaker: if there are+ -- multiple largest elements, the rightmost of them is chosen (this is+ -- equivalent to @'maximumBy' 'compare'@). -- -- This function is non-total and will raise a runtime exception if the -- structure happens to be empty. A structure that supports random access@@ -583,7 +589,13 @@ getMax . foldMap' (Max #. (Just :: a -> Maybe a)) {-# INLINEABLE maximum #-} - -- | The least element of a non-empty structure.+ -- | The least element of a non-empty structure. This function is+ -- equivalent to @'foldr1' 'min'@, and its behavior on structures with+ -- multiple largest elements depends on the relevant implementation of+ -- 'min'. For the default implementation of 'min' (@min x y = if x <= y+ -- then x else y@), structure order is used as a tie-breaker: if there are+ -- multiple least elements, the leftmost of them is chosen (this is+ -- equivalent to @'minimumBy' 'compare'@). -- -- This function is non-total and will raise a runtime exception if the -- structure happens to be empty. A structure that supports random access@@ -1288,7 +1300,8 @@ all p = getAll #. foldMap (All #. p) -- | The largest element of a non-empty structure with respect to the--- given comparison function.+-- given comparison function. Structure order is used as a tie-breaker: if+-- there are multiple largest elements, the rightmost of them is chosen. -- -- ==== __Examples__ --@@ -1314,7 +1327,8 @@ {-# INLINE[2] maximumBy #-} -- | The least element of a non-empty structure with respect to the--- given comparison function.+-- given comparison function. Structure order is used as a tie-breaker: if+-- there are multiple least elements, the leftmost of them is chosen. -- -- ==== __Examples__ --
+ src/GHC/Internal/Data/List/NonEmpty.hs view
@@ -0,0 +1,21 @@+{-# LANGUAGE Trustworthy #-}++module GHC.Internal.Data.List.NonEmpty+ ( NonEmpty(..)+ , zip+ , zipWith+ ) where++import GHC.Internal.Base+import qualified GHC.Internal.Data.List as List++-- | The 'zip' function takes two streams and returns a stream of+-- corresponding pairs.+zip :: NonEmpty a -> NonEmpty b -> NonEmpty (a,b)+zip ~(x :| xs) ~(y :| ys) = (x, y) :| List.zip xs ys++-- | The 'zipWith' function generalizes 'zip'. Rather than tupling+-- the elements, the elements are combined using the function+-- passed as the first argument.+zipWith :: (a -> b -> c) -> NonEmpty a -> NonEmpty b -> NonEmpty c+zipWith f ~(x :| xs) ~(y :| ys) = f x y :| List.zipWith f xs ys
src/GHC/Internal/Data/Monoid.hs view
@@ -29,6 +29,7 @@ -- -- The 'Sum' monoid is defined by the numerical addition operator and `0` as neutral element: --+-- >>> import Data.Int (Int) -- >>> mempty :: Sum Int -- Sum {getSum = 0} -- >>> Sum 1 <> Sum 2 <> Sum 3 <> Sum 4 :: Sum Int@@ -78,6 +79,9 @@ Ap(..) ) where +-- $setup+-- >>> import Data.Int+ -- Push down the module in the dependency hierarchy. import GHC.Internal.Base hiding (Any) import GHC.Internal.Enum@@ -299,6 +303,3 @@ where listLastToMaybe [] = Nothing listLastToMaybe lst = Just (last lst) -- -}---- $setup--- >>> import Prelude
src/GHC/Internal/Data/OldList.hs view
@@ -958,10 +958,11 @@ GT -> y : insertBy cmp x ys' _ -> x : ys --- | The 'maximumBy' function is the non-overloaded version of 'maximum',--- which takes a comparison function and a list+-- | The 'maximumBy' function takes a comparison function and a list -- and returns the greatest element of the list by the comparison function. -- The list must be finite and non-empty.+-- List order is used as a tie-breaker: if there are multiple greatest+-- elements, the last of them is chosen. -- -- ==== __Examples__ --@@ -980,10 +981,11 @@ GT -> x _ -> y --- | The 'minimumBy' function is the non-overloaded version of 'minimum',--- which takes a comparison function and a list+-- | The 'minimumBy' function takes a comparison function and a list -- and returns the least element of the list by the comparison function. -- The list must be finite and non-empty.+-- List order is used as a tie-breaker: if there are multiple least+-- elements, the first of them is chosen. -- -- ==== __Examples__ --@@ -1640,37 +1642,98 @@ Benchmarks show it to be often 2x the speed of the previous implementation. Fixes ticket https://gitlab.haskell.org/ghc/ghc/issues/2143++Further improved using a four-way merge, with an additional performance increase of ~20%+https://gitlab.haskell.org/ghc/ghc/issues/24280 -} -sort = sortBy compare-sortBy cmp = mergeAll . sequences+{-# INLINEABLE sort #-} -- allows specialization for the ord instance+sort = actualSort (>)++{-# INLINEABLE sortBy #-}+sortBy cmp = actualSort (\x y -> cmp x y == GT)++actualSort :: (a -> a -> Bool) -> [a] -> [a]+actualSort gt ns+ | [] <- ns = []+ | [a] <- ns = [a]+ | [a,b] <- ns = merge [a] [b]+ | [a,b,c] <- ns = merge3 [a] [b] [c]+ | [a,b,c,d] <- ns = merge4 [a] [b] [c] [d]+ | otherwise = merge_all (sequences ns) where sequences (a:b:xs)- | a `cmp` b == GT = descending b [a] xs- | otherwise = ascending b (a:) xs+ | a `gt` b = descending b [a] xs+ | otherwise = ascending b (a:) xs sequences xs = [xs] descending a as (b:bs)- | a `cmp` b == GT = descending b (a:as) bs- descending a as bs = (a:as): sequences bs+ | a `gt` b = descending b (a:as) bs+ descending a as bs = (a:as): sequences bs ascending a as (b:bs)- | a `cmp` b /= GT = ascending b (\ys -> as (a:ys)) bs- ascending a as bs = let !x = as [a]- in x : sequences bs+ | not (a `gt` b) = ascending b (\ys -> as (a:ys)) bs+ ascending a as bs = let !x = as [a]+ in x : sequences bs - mergeAll [x] = x- mergeAll xs = mergeAll (mergePairs xs)+ merge_all [x] = x+ merge_all xs = merge_all (reduce_once xs) - mergePairs (a:b:xs) = let !x = merge a b- in x : mergePairs xs- mergePairs xs = xs+ reduce_once [] = []+ reduce_once [a] = [a]+ reduce_once [a,b] = [merge a b]+ reduce_once [a,b,c] = [merge3 a b c]+ reduce_once [a,b,c,d,e] = [merge a b, merge3 c d e]+ reduce_once [a,b,c,d,e,f] = [merge3 a b c, merge3 d e f]+ reduce_once (a:b:c:d:xs) = let !x = merge4 a b c d+ in x : reduce_once xs merge as@(a:as') bs@(b:bs')- | a `cmp` b == GT = b:merge as bs'- | otherwise = a:merge as' bs- merge [] bs = bs- merge as [] = as+ | a `gt` b = b : merge as bs'+ | otherwise = a : merge as' bs+ merge [] bs = bs+ merge as [] = as++ -- `merge3` is a manually fused version of `merge (merge as bs) cs`+ merge3 as@(a:as') bs@(b:bs') cs+ | a `gt` b = merge3X b as bs' cs+ | otherwise = merge3X a as' bs cs+ merge3 [] bs cs = merge bs cs+ merge3 as [] cs = merge as cs++ merge3X x as bs cs@(c:cs')+ | x `gt` c = c : merge3X x as bs cs'+ | otherwise = x : merge3 as bs cs+ merge3X x as bs [] = x : merge as bs++ merge3Y as@(a:as') y bs cs+ | a `gt` y = y : merge3 as bs cs+ | otherwise = a : merge3Y as' y bs cs+ merge3Y [] x bs cs = x : merge bs cs++ -- `merge4 as bs cs ds` is (essentially) a manually fused version of+ -- `merge (merge as bs) (merge cs ds)`+ merge4 as@(a:as') bs@(b:bs') cs ds+ | a `gt` b = merge4X b as bs' cs ds+ | otherwise = merge4X a as' bs cs ds+ merge4 [] bs cs ds = merge3 bs cs ds+ merge4 as [] cs ds = merge3 as cs ds++ merge4X x as bs cs@(c:cs') ds@(d:ds')+ | c `gt` d = merge4XY x as bs d cs ds'+ | otherwise = merge4XY x as bs c cs' ds+ merge4X x as bs [] ds = merge3X x as bs ds+ merge4X x as bs cs [] = merge3X x as bs cs++ merge4Y as@(a:as') bs@(b:bs') y cs ds+ | a `gt` b = merge4XY b as bs' y cs ds+ | otherwise = merge4XY a as' bs y cs ds+ merge4Y as [] y cs ds = merge3Y as y cs ds+ merge4Y [] bs y cs ds = merge3Y bs y cs ds++ merge4XY x as bs y cs ds+ | x `gt` y = y : merge4X x as bs cs ds+ | otherwise = x : merge4Y as bs y cs ds {- sortBy cmp l = mergesort cmp l
src/GHC/Internal/Debug/Trace.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE Unsafe #-}+{-# LANGUAGE BangPatterns #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE UnboxedTuples #-}@@ -54,7 +55,12 @@ import GHC.Internal.Show import GHC.Internal.Stack import GHC.Internal.Data.List (null, partition)+import GHC.Internal.RTS.Flags.Test +-- | 'userEventTracingEnabled' is True if event logging for user events (@+RTS -l@) is enabled.+userEventTracingEnabled :: IO Bool+userEventTracingEnabled = getUserEventTracingEnabled+ -- | The 'traceIO' function outputs the trace message from the IO monad. -- This sequences the output with respect to other IO actions. --@@ -239,8 +245,8 @@ {-# NOINLINE traceEvent #-} -- | The 'traceEvent' function behaves like 'trace' with the difference that--- the message is emitted to the eventlog, if eventlog profiling is available--- and enabled at runtime.+-- the message is emitted to the eventlog, if eventlog tracing is available+-- and user event tracing is enabled at runtime. -- -- It is suitable for use in pure code. In an IO context use 'traceEventIO' -- instead.@@ -256,16 +262,19 @@ return expr -- | The 'traceEventIO' function emits a message to the eventlog, if eventlog--- profiling is available and enabled at runtime.+-- tracing is available and user event tracing is enabled at runtime. -- -- Compared to 'traceEvent', 'traceEventIO' sequences the event with respect to -- other IO actions. -- -- @since base-4.5.0.0 traceEventIO :: String -> IO ()-traceEventIO msg =- Enc.withCString utf8 msg $ \(Ptr p) -> IO $ \s ->- case traceEvent# p s of s' -> (# s', () #)+{-# INLINE traceEventIO #-}+traceEventIO msg = do+ enabled <- userEventTracingEnabled+ when enabled $+ Enc.withCString utf8 msg $ \(Ptr p) -> IO $ \s ->+ case traceEvent# p s of s' -> (# s', () #) -- | Like 'traceEvent', but emits the result of calling a function on its -- argument.@@ -276,7 +285,7 @@ {-# NOINLINE traceMarker #-} -- | The 'traceMarker' function emits a marker to the eventlog, if eventlog--- profiling is available and enabled at runtime. The @String@ is the name of+-- tracing is available and enabled at runtime. The @String@ is the name of -- the marker. The name is just used in the profiling tools to help you keep -- clear which marker is which. --@@ -294,16 +303,19 @@ return expr -- | The 'traceMarkerIO' function emits a marker to the eventlog, if eventlog--- profiling is available and enabled at runtime.+-- tracing is available and user event tracing is enabled at runtime. -- -- Compared to 'traceMarker', 'traceMarkerIO' sequences the event with respect to -- other IO actions. -- -- @since base-4.7.0.0 traceMarkerIO :: String -> IO ()-traceMarkerIO msg =- Enc.withCString utf8 msg $ \(Ptr p) -> IO $ \s ->- case traceMarker# p s of s' -> (# s', () #)+{-# INLINE traceMarkerIO #-}+traceMarkerIO msg = do+ enabled <- userEventTracingEnabled+ when enabled $+ Enc.withCString utf8 msg $ \(Ptr p) -> IO $ \s ->+ case traceMarker# p s of s' -> (# s', () #) -- | Immediately flush the event log, if enabled. --
src/GHC/Internal/Enum.hs view
@@ -22,14 +22,20 @@ #include "MachDeps.h" -module GHC.Internal.Enum(- Bounded(..), Enum(..),- boundedEnumFrom, boundedEnumFromThen,- toEnumError, fromEnumError, succError, predError,-- -- Instances for Bounded and Enum: (), Char, Int+module GHC.Internal.Enum+ ( Bounded(..)+ , Enum(..)+ , boundedEnumFrom+ , boundedEnumFromThen+ , toEnumError+ , fromEnumError+ , succError+ , predError+ , enumIntToWord - ) where+ -- Instances for Bounded and Enum: (), Char, Int+ )+where import GHC.Internal.Base hiding ( many ) import GHC.Internal.Char@@ -246,11 +252,11 @@ {-# NOINLINE toEnumError #-} toEnumError :: (Show a) => String -> Int -> (a,a) -> b-toEnumError inst_ty i bnds =+toEnumError inst_ty i (mi,ma) = errorWithoutStackTrace $ "Enum.toEnum{" ++ inst_ty ++ "}: tag (" ++ show i ++- ") is outside of bounds " ++- show bnds+ ") is outside of enumeration's range (" +++ show mi ++ "," ++ show ma ++ ")" {-# NOINLINE fromEnumError #-} fromEnumError :: (Show a) => String -> a -> b@@ -263,12 +269,12 @@ {-# NOINLINE succError #-} succError :: String -> a succError inst_ty =- errorWithoutStackTrace $ "Enum.succ{" ++ inst_ty ++ "}: tried to take `succ' of maxBound"+ errorWithoutStackTrace $ "Enum.succ{" ++ inst_ty ++ "}: tried to take `succ' of last tag in enumeration" {-# NOINLINE predError #-} predError :: String -> a predError inst_ty =- errorWithoutStackTrace $ "Enum.pred{" ++ inst_ty ++ "}: tried to take `pred' of minBound"+ errorWithoutStackTrace $ "Enum.pred{" ++ inst_ty ++ "}: tried to take `pred' of first tag in enumeration" ------------------------------------------------------------------------ -- Tuples@@ -565,10 +571,10 @@ -- | @since base-2.01 instance Enum Int where succ x- | x == maxBound = errorWithoutStackTrace "Prelude.Enum.succ{Int}: tried to take `succ' of maxBound"+ | x == maxBound = succError "Int" | otherwise = x + 1 pred x- | x == minBound = errorWithoutStackTrace "Prelude.Enum.pred{Int}: tried to take `pred' of minBound"+ | x == minBound = predError "Int" | otherwise = x - 1 toEnum x = x@@ -1088,6 +1094,9 @@ | x >= ndelta = x : go (x-ndelta) | otherwise = [x] +-- | Convert an Int into a Word (used in derived Enum instances)+enumIntToWord :: Int -> Word+enumIntToWord (I# i) = W# (int2Word# i) -- Instances from GHC.Types
src/GHC/Internal/Environment.hs view
@@ -15,16 +15,6 @@ import GHC.Internal.Real ( fromIntegral ) import GHC.Internal.IO.Encoding -#if defined(mingw32_HOST_OS)-# if defined(i386_HOST_ARCH)-# define WINDOWS_CCONV stdcall-# elif defined(x86_64_HOST_ARCH)-# define WINDOWS_CCONV ccall-# else-# error Unknown mingw32 arch-# endif-#endif- -- | Computation 'getFullArgs' is the "raw" version of -- 'GHC.Internal.System.Environment.getArgs', similar to @argv@ in other languages. It -- returns a list of the program's command line arguments, starting with the
src/GHC/Internal/Event/Windows.hsc view
@@ -72,7 +72,6 @@ -- #define DEBUG_TRACE 1 -##include "windows_cconv.h" #include <windows.h> #include <ntstatus.h> #include <Rts.h>@@ -1225,7 +1224,7 @@ foreign import ccall unsafe "rtsSupportsBoundThreads" threadedIOMgr :: Bool -- | Sleep for n ms-foreign import WINDOWS_CCONV unsafe "Sleep" sleepBlock :: Int -> IO ()+foreign import ccall unsafe "Sleep" sleepBlock :: Int -> IO () -- --------------------------------------------------------------------------- -- I/O manager event notifications
src/GHC/Internal/Event/Windows/FFI.hsc view
@@ -70,8 +70,6 @@ #include <windows.h> #include "winio_structs.h" -##include "windows_cconv.h"- import GHC.Internal.Data.Maybe import GHC.Internal.Base import GHC.Internal.Num ((*))@@ -109,7 +107,7 @@ -- cannot be easily changed. Associating a Handle with a Completion Port -- allows the I/O manager's worker threads to handle requests to the given -- handle.-foreign import WINDOWS_CCONV unsafe "windows.h CreateIoCompletionPort"+foreign import ccall unsafe "windows.h CreateIoCompletionPort" c_CreateIoCompletionPort :: HANDLE -> IOCP -> ULONG_PTR -> DWORD -> IO IOCP @@ -124,7 +122,7 @@ failIf_ (/= iocp) "associateHandleWithIOCP" $ c_CreateIoCompletionPort handle iocp completionKey 0 -foreign import WINDOWS_CCONV safe "windows.h GetOverlappedResult"+foreign import ccall safe "windows.h GetOverlappedResult" c_GetOverlappedResult :: HANDLE -> LPOVERLAPPED -> Ptr DWORD -> BOOL -> IO BOOL @@ -137,7 +135,7 @@ then fmap Just $ peek bytes else return Nothing -foreign import WINDOWS_CCONV safe "windows.h GetQueuedCompletionStatusEx"+foreign import ccall safe "windows.h GetQueuedCompletionStatusEx" c_GetQueuedCompletionStatusEx :: IOCP -> LPOVERLAPPED_ENTRY -> Word32 -> Ptr ULONG -> DWORD -> BOOL -> IO BOOL @@ -215,7 +213,7 @@ return bytes {-# INLINE overlappedIONumBytes #-} -foreign import WINDOWS_CCONV unsafe "windows.h PostQueuedCompletionStatus"+foreign import ccall unsafe "windows.h PostQueuedCompletionStatus" c_PostQueuedCompletionStatus :: IOCP -> DWORD -> ULONG_PTR -> LPOVERLAPPED -> IO BOOL @@ -443,11 +441,11 @@ -- | Create an event object for use when the HANDLE isn't asynchronous-foreign import WINDOWS_CCONV unsafe "windows.h CreateEventW"+foreign import ccall unsafe "windows.h CreateEventW" c_CreateEvent :: Ptr () -> Bool -> Bool -> LPCWSTR -> IO HANDLE -- | Close a handle object-foreign import WINDOWS_CCONV unsafe "windows.h CloseHandle"+foreign import ccall unsafe "windows.h CloseHandle" c_CloseHandle :: HANDLE -> IO Bool ------------------------------------------------------------------------@@ -455,7 +453,7 @@ -- | CancelIo shouldn't block, but cancellation happens infrequently, -- so we might as well be on the safe side.-foreign import WINDOWS_CCONV unsafe "windows.h CancelIoEx"+foreign import ccall unsafe "windows.h CancelIoEx" c_CancelIoEx :: HANDLE -> LPOVERLAPPED -> IO BOOL -- | Cancel all pending overlapped I/O for the given file that was initiated by@@ -471,7 +469,7 @@ ------------------------------------------------------------------------ -- Monotonic time -foreign import WINDOWS_CCONV "windows.h GetTickCount64"+foreign import ccall "windows.h GetTickCount64" c_GetTickCount64 :: IO #{type ULONGLONG} -- | Call the @GetTickCount64@ function, which returns a monotonic time in@@ -519,10 +517,10 @@ type QPFunc = Ptr Int64 -> IO BOOL -foreign import WINDOWS_CCONV "Windows.h QueryPerformanceCounter"+foreign import ccall "Windows.h QueryPerformanceCounter" c_QueryPerformanceCounter :: QPFunc -foreign import WINDOWS_CCONV "Windows.h QueryPerformanceFrequency"+foreign import ccall "Windows.h QueryPerformanceFrequency" c_QueryPerformanceFrequency :: QPFunc callQP :: QPFunc -> IO (Maybe Int64)@@ -548,5 +546,5 @@ setLastError :: ErrCode -> IO () setLastError = c_SetLastError -foreign import WINDOWS_CCONV unsafe "windows.h SetLastError"+foreign import ccall unsafe "windows.h SetLastError" c_SetLastError :: ErrCode -> IO ()
src/GHC/Internal/Exception.hs view
@@ -8,6 +8,7 @@ {-# LANGUAGE BangPatterns #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE PolyKinds #-}+{-# LANGUAGE ViewPatterns #-} {-# OPTIONS_HADDOCK not-home #-} -----------------------------------------------------------------------------@@ -35,6 +36,7 @@ -- * 'SomeException' , SomeException(..)+ , displayExceptionWithInfo -- * Exception context , someExceptionContext@@ -51,7 +53,7 @@ , ratioZeroDenomException , underflowException -- ** 'ErrorCall'- , ErrorCall(..,ErrorCall)+ , ErrorCall(.., ErrorCallWithLocation) , errorCallException , errorCallWithCallStackException , toExceptionWithBacktrace@@ -59,17 +61,15 @@ -- * Reexports -- Re-export CallStack and SrcLoc from GHC.Types , CallStack, fromCallSiteList, getCallStack, prettyCallStack- , prettyCallStackLines, showCCSStack+ , prettyCallStackLines , SrcLoc(..), prettySrcLoc ) where import GHC.Internal.Base import GHC.Internal.Show import GHC.Internal.Stack.Types-import GHC.Internal.Data.OldList import GHC.Internal.IO.Unsafe-import {-# SOURCE #-} GHC.Internal.Stack.CCS-import {-# SOURCE #-} GHC.Internal.Stack (prettyCallStackLines, prettyCallStack, prettySrcLoc)+import {-# SOURCE #-} GHC.Internal.Stack (prettyCallStackLines, prettyCallStack, prettySrcLoc, withFrozenCallStack) import {-# SOURCE #-} GHC.Internal.Exception.Backtrace (collectBacktraces) import GHC.Internal.Exception.Type @@ -170,41 +170,33 @@ return (addExceptionContext bt (toException e)) | otherwise = return (toException e) --- | This is thrown when the user calls 'error'. The first @String@ is the--- argument given to 'error', second @String@ is the location.-data ErrorCall = ErrorCallWithLocation String String+-- | This is thrown when the user calls 'error'. The @String@ is the+-- argument given to 'error'.+--+-- Historically, there was a second @String@ for the location, but it was subsumed by the backtrace mechanisms (since base-4.22).+data ErrorCall = ErrorCall String deriving ( Eq -- ^ @since base-4.7.0.0 , Ord -- ^ @since base-4.7.0.0 ) -pattern ErrorCall :: String -> ErrorCall-pattern ErrorCall err <- ErrorCallWithLocation err _ where- ErrorCall err = ErrorCallWithLocation err ""--{-# COMPLETE ErrorCall #-}+{-# DEPRECATED ErrorCallWithLocation "ErrorCallWithLocation has been deprecated in favour of ErrorCall (which does not have a location). Backtraces are now handled by the backtrace exception mechanisms exclusively." #-}+pattern ErrorCallWithLocation :: String -> String -> ErrorCall+pattern ErrorCallWithLocation err loc <- ErrorCall ((\err -> (err, error "ErrorCallWithLocation has been deprecated in favour of ErrorCall (which does not have a location). Backtraces are now handled by the backtrace exception mechanisms exclusively.")) -> (err, loc))+ where ErrorCallWithLocation err _ = ErrorCall err+{-# COMPLETE ErrorCallWithLocation #-} -- | @since base-4.0.0.0 instance Exception ErrorCall -- | @since base-4.0.0.0 instance Show ErrorCall where- showsPrec _ (ErrorCallWithLocation err "") = showString err- showsPrec _ (ErrorCallWithLocation err loc) =- showString err . showChar '\n' . showString loc+ showsPrec _ (ErrorCall err) = showString err errorCallException :: String -> SomeException errorCallException s = toException (ErrorCall s) errorCallWithCallStackException :: String -> CallStack -> SomeException errorCallWithCallStackException s stk = unsafeDupablePerformIO $ do- ccsStack <- currentCallStack- let implicitParamCallStack = prettyCallStackLines stk- ccsCallStack = showCCSStack ccsStack- stack = intercalate "\n" $ implicitParamCallStack ++ ccsCallStack- toExceptionWithBacktrace (ErrorCallWithLocation s stack)+ withFrozenCallStack $ toExceptionWithBacktrace (ErrorCall s) where ?callStack = stk--showCCSStack :: [String] -> [String]-showCCSStack [] = []-showCCSStack stk = "CallStack (from -prof):" : map (" " ++) (reverse stk)
src/GHC/Internal/Exception/Backtrace.hs view
@@ -3,7 +3,16 @@ {-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE RankNTypes #-} -module GHC.Internal.Exception.Backtrace where+module GHC.Internal.Exception.Backtrace+ ( -- * Backtrace mechanisms+ BacktraceMechanism(..)+ , getBacktraceMechanismState+ , setBacktraceMechanismState+ -- * Collecting backtraces+ , Backtraces+ , displayBacktraces+ , collectBacktraces+ ) where import GHC.Internal.Base import GHC.Internal.Data.OldList
src/GHC/Internal/Exception/Context.hs view
@@ -34,7 +34,8 @@ , ExceptionAnnotation(..) ) where -import GHC.Internal.Base ((++), return, String, Maybe(..), Semigroup(..), Monoid(..))+import GHC.Internal.Data.OldList (intersperse)+import GHC.Internal.Base (($), map, (++), return, String, Maybe(..), Semigroup(..), Monoid(..)) import GHC.Internal.Show (Show(..)) import GHC.Internal.Data.Typeable.Internal (Typeable, typeRep, eqTypeRep) import GHC.Internal.Data.Type.Equality ( (:~~:)(HRefl) )@@ -92,10 +93,9 @@ -- -- @since base-4.20.0.0 displayExceptionContext :: ExceptionContext -> String-displayExceptionContext (ExceptionContext anns0) = go anns0+displayExceptionContext (ExceptionContext anns0) = mconcat $ intersperse "\n" $ map go anns0 where- go (SomeExceptionAnnotation ann : anns) = displayExceptionAnnotation ann ++ "\n" ++ go anns- go [] = "\n"+ go (SomeExceptionAnnotation ann) = displayExceptionAnnotation ann data SomeExceptionAnnotation = forall a. ExceptionAnnotation a => SomeExceptionAnnotation a
src/GHC/Internal/Exception/Type.hs view
@@ -29,6 +29,7 @@ module GHC.Internal.Exception.Type ( Exception(..) -- Class , SomeException(..)+ , displayExceptionWithInfo , someExceptionContext , addExceptionContext , mapExceptionContext@@ -39,21 +40,60 @@ , emptyExceptionContext , mergeExceptionContext , ExceptionWithContext(..)+ -- * Exception propagation+ , WhileHandling(..)+ , whileHandling -- * Arithmetic exceptions , ArithException(..) , divZeroException, overflowException, ratioZeroDenomException , underflowException ) where +import GHC.Internal.Data.OldList (lines, unlines, null) import GHC.Internal.Data.Maybe-import GHC.Internal.Data.Typeable (Typeable, cast)+import GHC.Internal.Data.Typeable (Typeable, TypeRep, cast)+import qualified GHC.Internal.Data.Typeable as Typeable -- loop: GHC.Internal.Data.Typeable -> GHC.Internal.Err -> GHC.Internal.Exception import GHC.Internal.Base import GHC.Internal.Show import GHC.Internal.Exception.Context +{- |+A constraint used to propagate 'ExceptionContext's.++GHC will automatically default any unsolved 'HasExceptionContext' constraints to an+empty exception context, similarly to 'HasCallStack'.++NOTE: The fact that @HasExceptionContext@ is defined as an implicit parameter is+an implementation detail and __should not__ be considered a part of the API.+It does however mean that any implicit parameter `?exceptionContext :: ExceptionContext`+will be subject to defaulting, as described above.++@since base-4.20.0.0+-} type HasExceptionContext = (?exceptionContext :: ExceptionContext) +{- | @WhileHandling@ is used to annotate rethrow exceptions. By inspecting+ the @WhileHandling@ annotation, all the places the exception has been rethrow+ can be recovered.+-}++data WhileHandling = WhileHandling SomeException deriving Show++instance ExceptionAnnotation WhileHandling where+ displayExceptionAnnotation (WhileHandling e) =+ "While handling " ++ case lines $ displayException e of+ [] -> ""+ (l1:ls) ->+ -- Indent lines forward.+ -- displayException may be ill prepared for this?...+ unlines $ l1:[if null l then " |" else " | " ++ l | l <- ls]+++-- | Create 'SomeException' from an explicit context and exception.+whileHandling :: Exception e => ExceptionWithContext e -> WhileHandling+whileHandling e = WhileHandling (toException e)+ {- | The @SomeException@ type is the root of the exception type hierarchy. When an exception of type @e@ is thrown, behind the scenes it is@@ -182,6 +222,7 @@ displayException :: e -> String displayException = show + -- | @since base-4.20.0.0 backtraceDesired :: e -> Bool backtraceDesired _ = True @@ -197,15 +238,36 @@ in SomeException e fromException = Just backtraceDesired (SomeException e) = backtraceDesired e- displayException (SomeException e) =- displayException e ++ "\n" ++ displayContext ?exceptionContext+ displayException (SomeException e) = displayException e -displayContext :: ExceptionContext -> String-displayContext (ExceptionContext anns0) = go anns0- where- go (SomeExceptionAnnotation ann : anns) = displayExceptionAnnotation ann ++ "\n" ++ go anns- go [] = ""+-- | Displays a 'SomeException' with additional information:+--+-- * The type of the underlying exception+-- * The exception context+--+-- By default, 'uncaughtExceptionHandler' uses 'displayExceptionWithInfo' to print uncaught exceptions.+-- This default can be overriden with 'setUncaughtExceptionHandler', for+-- instance, to present custom error messages on exceptions to the user.+--+-- @since base-4.21+displayExceptionWithInfo :: SomeException -> String+displayExceptionWithInfo (SomeException e) =+ case displayExceptionContext ?exceptionContext of+ "" -> msg+ dc -> msg ++ "\n\n" ++ dc+ where+ msg =+ displayExceptionType (Typeable.typeOf e)+ ++ "\n\n"+ ++ displayException e + displayExceptionType :: TypeRep -> String+ displayExceptionType rep =+ tyMsg ++ ":"+ where+ tyMsg = Typeable.tyConPackage tyCon ++ ":" ++ Typeable.tyConModule tyCon ++ "." ++ Typeable.tyConName tyCon+ tyCon = Typeable.typeRepTyCon rep+ newtype NoBacktrace e = NoBacktrace e deriving (Show) @@ -224,8 +286,10 @@ instance Exception a => Exception (ExceptionWithContext a) where toException (ExceptionWithContext ctxt e) =- SomeException e- where ?exceptionContext = ctxt+ case toException e of+ SomeException c ->+ let ?exceptionContext = ctxt+ in SomeException c fromException se = do e <- fromException se return (ExceptionWithContext (someExceptionContext se) e)
src/GHC/Internal/Exts.hs view
@@ -137,7 +137,7 @@ currentCallStack, -- * Ids with special behaviour- inline, noinline, lazy, oneShot, considerAccessible,+ inline, noinline, lazy, oneShot, considerAccessible, seq#, -- * SpecConstr annotations SpecConstrAnnotation(..), SPEC (..),@@ -310,6 +310,7 @@ import qualified GHC.Prim.Ext import GHC.Internal.ArrayArray import GHC.Internal.Base hiding ( coerce )+import GHC.Internal.IO (seq#) import GHC.Internal.Ptr import GHC.Internal.Stack import GHC.Internal.IsList (IsList(..)) -- for re-export
+ src/GHC/Internal/ForeignSrcLang.hs view
@@ -0,0 +1,25 @@+{-# LANGUAGE CPP #-}+{-# LANGUAGE DeriveGeneric #-}+module GHC.Internal.ForeignSrcLang+ ( ForeignSrcLang(..)+ ) where++#ifdef BOOTSTRAP_TH+import Prelude -- See note [Why do we import Prelude here?]+import GHC.Generics (Generic)+#else+import GHC.Internal.Base+import GHC.Internal.Show+import GHC.Internal.Generics+#endif++-- | Foreign formats supported by GHC via TH+data ForeignSrcLang+ = LangC -- ^ C+ | LangCxx -- ^ C+++ | LangObjc -- ^ Objective C+ | LangObjcxx -- ^ Objective C+++ | LangAsm -- ^ Assembly language (.s)+ | LangJs -- ^ JavaScript+ | RawObject -- ^ Object (.o)+ deriving (Eq, Show, Generic)
src/GHC/Internal/Generics.hs view
@@ -735,7 +735,7 @@ import GHC.Internal.Data.Ord ( Down(..) ) import GHC.Num.Integer ( Integer, integerToInt ) import GHC.Prim ( Addr#, Char#, Double#, Float#, Int#, Word# )-import GHC.Internal.Ptr ( Ptr )+import GHC.Internal.Ptr ( Ptr(..) ) import GHC.Types -- Needed for instances@@ -746,7 +746,7 @@ import GHC.Classes ( Eq(..), Ord(..) ) import GHC.Internal.Enum ( Bounded, Enum ) import GHC.Internal.Read ( Read(..) )-import GHC.Internal.Show ( Show(..), showString )+import GHC.Internal.Show ( Show(..), showString, showChar, showParen, appPrec ) import GHC.Internal.Stack.Types ( SrcLoc(..) ) import GHC.Tuple (Solo (..)) import GHC.Internal.Unicode ( GeneralCategory(..) )@@ -1036,6 +1036,14 @@ , Generic -- ^ @since base-4.9.0.0 , Generic1 -- ^ @since base-4.9.0.0 )++-- | @since base-4.21.0.0+instance Show (UAddr p) where+ -- This Show instance would be equivalent to what deriving Show would generate,+ -- but because deriving Show doesn't support Addr# fields we define it manually.+ showsPrec d (UAddr x) =+ showParen (d > appPrec)+ (\y -> showString "UAddr {uAddr# = " (showsPrec 0 (Ptr x) (showChar '}' y))) -- | Used for marking occurrences of 'Char#' --
src/GHC/Internal/IO.hs view
@@ -40,24 +40,26 @@ FilePath, - catch, catchException, catchAny, throwIO,+ catch, catchNoPropagate, catchException, catchExceptionNoPropagate, catchAny, throwIO,+ rethrowIO, mask, mask_, uninterruptibleMask, uninterruptibleMask_, MaskingState(..), getMaskingState, unsafeUnmask, interruptible,- onException, bracket, finally, evaluate,+ onException, bracket, finally, evaluate, seq#, mkUserError ) where import GHC.Internal.Base import GHC.Internal.ST import GHC.Internal.Exception-import GHC.Internal.Exception.Type (NoBacktrace(..))+import GHC.Internal.Exception.Type (NoBacktrace(..), WhileHandling(..), HasExceptionContext, ExceptionWithContext(..)) import GHC.Internal.Show import GHC.Internal.IO.Unsafe import GHC.Internal.Unsafe.Coerce ( unsafeCoerce ) import GHC.Internal.Exception.Context ( ExceptionAnnotation ) import GHC.Internal.Stack.Types ( HasCallStack )+import {-# SOURCE #-} GHC.Internal.Stack ( withFrozenCallStack ) import {-# SOURCE #-} GHC.Internal.IO.Exception ( userError, IOError ) -- ---------------------------------------------------------------------------@@ -152,6 +154,10 @@ catchException :: Exception e => IO a -> (e -> IO a) -> IO a catchException !io handler = catch io handler +-- | A variant of 'catchException' which does not annotate the handler with 'WhileHandling'+catchExceptionNoPropagate :: Exception e => IO a -> (ExceptionWithContext e -> IO a) -> IO a+catchExceptionNoPropagate !io handler = catchNoPropagate io handler+ -- | This is the simplest of the exception-catching functions. It -- takes a single argument, runs it, and if an exception is raised -- the \"handler\" is executed, with the value of the exception passed as an@@ -194,6 +200,23 @@ where handler' e = case fromException e of+ Just e' -> unIO (annotateIO (WhileHandling e) (handler e'))+ Nothing -> raiseIO# e++-- | A variant of 'catch' which doesn't annotate the handler with the exception+-- which was caught. This function should be used when you are implementing your own+-- error handling functions which may rethrow the exceptions.+--+-- In the case where you rethrow an exception without modifying it, you should+-- rethrow the exception with the old exception context.+catchNoPropagate :: Exception e+ => IO a+ -> (ExceptionWithContext e -> IO a)+ -> IO a+catchNoPropagate (IO io) handler = IO $ catch# io handler'+ where+ handler' e =+ case fromException e of Just e' -> unIO (handler e') Nothing -> raiseIO# e @@ -202,15 +225,17 @@ -- Note that this function is /strict/ in the action. That is, -- @catchAny undefined b == _|_@. See #exceptions_and_strictness# for -- details.-catchAny :: IO a -> (forall e . Exception e => e -> IO a) -> IO a+--+-- If you rethrow an exception, you should reuse the supplied ExceptionContext.+catchAny :: IO a -> (forall e . (HasExceptionContext, Exception e) => e -> IO a) -> IO a catchAny !(IO io) handler = IO $ catch# io handler' where- handler' (SomeException e) = unIO (handler e)+ handler' se@(SomeException e) = unIO (annotateIO (WhileHandling se) (handler e)) -- | Execute an 'IO' action, adding the given 'ExceptionContext' -- to any thrown synchronous exceptions. ----- @since base-4.20.0.0+-- @since base-2.20.0.0 annotateIO :: forall e a. ExceptionAnnotation e => e -> IO a -> IO a annotateIO ann (IO io) = IO (catch# io handler) where@@ -256,10 +281,15 @@ -- imprecise exceptions. -- throwIO :: (HasCallStack, Exception e) => e -> IO a-throwIO e = do+throwIO e = withFrozenCallStack $ do se <- toExceptionWithBacktrace e IO (raiseIO# se) +-- | A utility to use when rethrowing exceptions, no new backtrace will be attached+-- when rethrowing an exception but you must supply the existing context.+rethrowIO :: Exception e => ExceptionWithContext e -> IO a+rethrowIO e = throwIO (NoBacktrace e)+ -- ----------------------------------------------------------------------------- -- Controlling asynchronous exception delivery @@ -332,9 +362,9 @@ _ -> MaskedInterruptible #) onException :: IO a -> IO b -> IO a-onException io what = io `catchException` \e -> do+onException io what = io `catchExceptionNoPropagate` \e -> do _ <- what- throwIO $ NoBacktrace (e :: SomeException)+ rethrowIO (e :: ExceptionWithContext SomeException) -- | Executes an IO computation with asynchronous -- exceptions /masked/. That is, any thread which attempts to raise@@ -439,6 +469,14 @@ r <- restore a `onException` sequel _ <- sequel return r+++-- | The primitive used to implement 'GHC.IO.evaluate'.+-- Prefer to use 'GHC.IO.evaluate' whenever possible!+seq# :: forall a s. a -> State# s -> (# State# s, a #)+-- See Note [seq# magic] in GHC.Types.Id.Make+{-# NOINLINE seq# #-} -- seq# is inlined manually in CorePrep+seq# a s = let !a' = lazy a in (# s, a' #) -- | Evaluate the argument to weak head normal form. --
src/GHC/Internal/IO/Encoding/CodePage.hs view
@@ -41,8 +41,6 @@ import GHC.Internal.Windows (DWORD) -#include "windows_cconv.h"- type CodePage = DWORD -- note CodePage = UInt which might not work on Win64. But the Win32 package@@ -55,10 +53,10 @@ else getACP -- Since the Win32 package depends on base, we have to import these ourselves:-foreign import WINDOWS_CCONV unsafe "windows.h GetConsoleCP"+foreign import ccall unsafe "windows.h GetConsoleCP" getConsoleCP :: IO Word32 -foreign import WINDOWS_CCONV unsafe "windows.h GetACP"+foreign import ccall unsafe "windows.h GetACP" getACP :: IO Word32 {-# NOINLINE currentCodePage #-}@@ -184,4 +182,3 @@ indexChar (ConvArray p) (I# i) = C# (chr# (int16ToInt# (indexInt16OffAddr# p i))) #endif-
src/GHC/Internal/IO/Encoding/CodePage/API.hs view
@@ -47,8 +47,6 @@ | c_DEBUG_DUMP = puts s | otherwise = return () -#include "windows_cconv.h"- type LPCSTR = Ptr Word8 @@ -88,12 +86,12 @@ | otherwise = errorWithoutStackTrace $ msg ++ ": expected " ++ show sz ++ " elements in list but got " ++ show (length xs) -foreign import WINDOWS_CCONV unsafe "windows.h GetCPInfo"+foreign import ccall unsafe "windows.h GetCPInfo" c_GetCPInfo :: UINT -- ^ CodePage -> Ptr CPINFO -- ^ lpCPInfo -> IO BOOL -foreign import WINDOWS_CCONV unsafe "windows.h MultiByteToWideChar"+foreign import ccall unsafe "windows.h MultiByteToWideChar" c_MultiByteToWideChar :: UINT -- ^ CodePage -> DWORD -- ^ dwFlags -> LPCSTR -- ^ lpMultiByteStr@@ -102,7 +100,7 @@ -> CInt -- ^ cchWideChar -> IO CInt -foreign import WINDOWS_CCONV unsafe "windows.h WideCharToMultiByte"+foreign import ccall unsafe "windows.h WideCharToMultiByte" c_WideCharToMultiByte :: UINT -- ^ CodePage -> DWORD -- ^ dwFlags -> LPWSTR -- ^ lpWideCharStr@@ -113,7 +111,7 @@ -> LPBOOL -- ^ lpUsedDefaultChar -> IO CInt -foreign import WINDOWS_CCONV unsafe "windows.h IsDBCSLeadByteEx"+foreign import ccall unsafe "windows.h IsDBCSLeadByteEx" c_IsDBCSLeadByteEx :: UINT -- ^ CodePage -> BYTE -- ^ TestChar -> IO BOOL
src/GHC/Internal/IO/Exception.hs view
@@ -59,9 +59,8 @@ import GHC.Internal.Read import GHC.Internal.Exception import GHC.Internal.IO.Handle.Types-import GHC.Internal.Data.OldList ( intercalate )-import {-# SOURCE #-} GHC.Internal.Stack.CCS import GHC.Internal.Stack.Types (HasCallStack)+import {-# SOURCE #-} GHC.Internal.Stack ( withFrozenCallStack ) import GHC.Internal.Foreign.C.Types import GHC.Internal.Data.Typeable ( cast )@@ -312,11 +311,11 @@ instance Exception ExitCode ioException :: HasCallStack => IOException -> IO a-ioException err = throwIO err+ioException err = withFrozenCallStack $ throwIO err -- | Raise an 'IOError' in the 'IO' monad.-ioError :: IOError -> IO a-ioError = ioException+ioError :: HasCallStack => IOError -> IO a+ioError = withFrozenCallStack ioException -- --------------------------------------------------------------------------- -- IOError type@@ -438,20 +437,50 @@ "" -> id _ -> showString " (" . showString s . showString ")") --- Note the use of "lazy". This means that--- assert False (throw e)--- will throw the assertion failure rather than e. See trac #5561. assertError :: (?callStack :: CallStack) => Bool -> a -> a assertError predicate v- | predicate = lazy v- | otherwise = unsafeDupablePerformIO $ do- ccsStack <- currentCallStack- let- implicitParamCallStack = prettyCallStackLines ?callStack- ccsCallStack = showCCSStack ccsStack- stack = intercalate "\n" $ implicitParamCallStack ++ ccsCallStack- throwIO (AssertionFailed ("Assertion failed\n" ++ stack))+ | predicate = v+ | otherwise = lazy $ unsafeDupablePerformIO $ do -- lazy: See Note [Strictness of assertError]+ throwIO (AssertionFailed "Assertion failed") +{- Note [Strictness of assertError]+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+It is vital that Demand Analysis does not see `assertError p e` as strict in e.+#5561 details what happens otherwise, tested by libraries/base/tests/assert.hs:++ let e1 i = throw Overflow+ in assertError False (e1 5)++This should *not* throw the Overflow exception; rather it should throw an+AssertionError.+Hence we use GHC.Exts.lazy to make assertError appear lazy in e, so that it+is not called by-value.+(Note that the reason we need `lazy` in the first place is that error has a+bottoming result, which is strict in all free variables.)+The way we achieve this is a bit subtle; before #24625 we defined it as++ assertError p e | p = lazy e+ | otherwise = error "assertion"++but this means that in the following example (full code in T24625) we cannot+cancel away the allocation of `Just x` because of the intervening `lazy`:++ case assertError False (Just x) of Just y -> y+ ==> { simplify }+ case lazy (Just x) of Just y -> y++Instead, we put `lazy` in the otherwise branch, thus++ assertError p e | p = e+ | otherwise = lazy $ error "assertion"++The effect on #5561 is the same: since the otherwise branch appears lazy in e,+the overall demand on `e` must be lazy as well.+Furthermore, since there is no intervening `lazy` on the expected code path,+the Simplifier may perform case-of-case on e and simplify the `Just x` example+to `x`.+-}+ unsupportedOperation :: IOError unsupportedOperation = (IOError Nothing UnsupportedOperation ""@@ -480,4 +509,3 @@ _ -> (loc, "") } not_bar c = c /= '|'-
src/GHC/Internal/IO/FD.hs view
@@ -63,16 +63,6 @@ import GHC.Internal.System.Posix.Internals hiding (FD, setEcho, getEcho) import GHC.Internal.System.Posix.Types -#if defined(mingw32_HOST_OS)-# if defined(i386_HOST_ARCH)-# define WINDOWS_CCONV stdcall-# elif defined(x86_64_HOST_ARCH)-# define WINDOWS_CCONV ccall-# else-# error Unknown mingw32 arch-# endif-#endif- c_DEBUG_DUMP :: Bool c_DEBUG_DUMP = False @@ -422,7 +412,7 @@ return () #if defined(mingw32_HOST_OS)-foreign import WINDOWS_CCONV unsafe "HsBase.h closesocket"+foreign import ccall unsafe "HsBase.h closesocket" c_closesocket :: CInt -> IO CInt #endif @@ -780,10 +770,10 @@ -- NOTE: "safe" versions of the read/write calls for use by the threaded RTS. -- These calls may block, but that's ok. -foreign import WINDOWS_CCONV safe "recv"+foreign import ccall safe "recv" c_safe_recv :: CInt -> Ptr Word8 -> CInt -> CInt{-flags-} -> IO CInt -foreign import WINDOWS_CCONV safe "send"+foreign import ccall safe "send" c_safe_send :: CInt -> Ptr Word8 -> CInt -> CInt{-flags-} -> IO CInt #endif
src/GHC/Internal/IO/Handle.hs view
@@ -74,6 +74,7 @@ import GHC.Internal.Data.Maybe import GHC.Internal.Data.Typeable + -- --------------------------------------------------------------------------- -- Closing a handle @@ -468,6 +469,9 @@ -- handle. Each of these operations returns `True' if the handle has -- the specified property, and `False' otherwise. +-- | @'hIsOpen' hdl@ returns whether the handle is open.+-- If the 'haType' of @hdl@ is 'ClosedHandle' or 'SemiClosedHandle' this returns 'False'+-- and 'True' otherwise. hIsOpen :: Handle -> IO Bool hIsOpen handle = withHandle_ "hIsOpen" handle $ \ handle_ -> do@@ -476,6 +480,9 @@ SemiClosedHandle -> return False _ -> return True +-- | @'hIsOpen' hdl@ returns whether the handle is closed.+-- If the 'haType' of @hdl@ is 'ClosedHandle' this returns 'True'+-- and 'False' otherwise. hIsClosed :: Handle -> IO Bool hIsClosed handle = withHandle_ "hIsClosed" handle $ \ handle_ -> do@@ -493,6 +500,7 @@ return (not (ho || hc)) -} +-- | @'hIsReadable' hdl@ returns whether it is possible to read from the handle. hIsReadable :: Handle -> IO Bool hIsReadable (DuplexHandle _ _ _) = return True hIsReadable handle =@@ -502,6 +510,7 @@ SemiClosedHandle -> ioe_semiclosedHandle htype -> return (isReadableHandleType htype) +-- | @'hIsWritable' hdl@ returns whether it is possible to write to the handle. hIsWritable :: Handle -> IO Bool hIsWritable (DuplexHandle _ _ _) = return True hIsWritable handle =@@ -524,6 +533,7 @@ -- of a semi-closed handle to be queried. -- sof 6/98 return (haBufferMode handle_) -- could be stricter.. +-- | @'hIsSeekable' hdl@ returns whether it is possible to 'hSeek' with the given handle. hIsSeekable :: Handle -> IO Bool hIsSeekable handle = withHandle_ "hIsSeekable" handle $ \ handle_@Handle__{..} -> do@@ -775,4 +785,3 @@ where def :: Int def = bufSize buf-
src/GHC/Internal/IO/Handle/FD.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE Trustworthy #-}+{-# LANGUAGE TypeApplications #-} {-# LANGUAGE CPP, NoImplicitPrelude #-} -----------------------------------------------------------------------------@@ -27,12 +28,13 @@ import GHC.Internal.Base import GHC.Internal.Show-import GHC.Internal.Control.Exception (try)+import GHC.Internal.Control.Exception (tryWithContext) import GHC.Internal.Data.Maybe import GHC.Internal.Data.Either (either) import GHC.Internal.Data.Typeable import GHC.Internal.Foreign.C.Types import GHC.Internal.MVar+import GHC.Internal.Exception.Type import GHC.Internal.IO import GHC.Internal.IO.Encoding import GHC.Internal.IO.Device as IODevice@@ -116,6 +118,18 @@ addFilePathToIOError fun fp ioe = ioe{ ioe_location = fun, ioe_filename = Just fp } +-- It could be good in future to use native exception annotation here rather than+-- modifying IOException+catchAndAnnotate :: FilePath -> String -> IO a -> IO a+catchAndAnnotate fp s a =+ catchExceptionNoPropagate @IOError a+ (\(ExceptionWithContext c e) -> rethrowIO (ExceptionWithContext c (addFilePathToIOError s fp e)))++-- | Specialised 'rethrowIO' to 'IOError', helpful for type inference+rethrowError :: ExceptionWithContext IOError -> IO a+rethrowError = rethrowIO++ -- | Computation 'openFile' @file mode@ allocates and returns a new, open -- handle to manage the file @file@. It manages input if @mode@ -- is 'ReadMode', output if @mode@ is 'WriteMode' or 'AppendMode',@@ -151,9 +165,9 @@ -- be using 'openBinaryFile'. openFile :: FilePath -> IOMode -> IO Handle openFile fp im =- catchException+ catchAndAnnotate+ fp "openFile" (openFile' fp im dEFAULT_OPEN_IN_BINARY_MODE True)- (\e -> ioError (addFilePathToIOError "openFile" fp e)) -- | @'withFile' name mode act@ opens a file like 'openFile' and passes -- the resulting handle to the computation @act@. The handle will be@@ -166,10 +180,9 @@ withFile :: FilePath -> IOMode -> (Handle -> IO r) -> IO r withFile fp im act = do -- Only annotate when setup or teardown of withFile' raised the exception- catchException- (withFile' fp im dEFAULT_OPEN_IN_BINARY_MODE True (try . act))- (\e -> ioError (addFilePathToIOError "withFile" fp e))- >>= either ioError pure+ catchAndAnnotate fp "withFile"+ (withFile' fp im dEFAULT_OPEN_IN_BINARY_MODE True (tryWithContext . act))+ >>= either rethrowError pure -- | Like 'openFile', but opens the file in ordinary blocking mode. -- This can be useful for opening a FIFO for writing: if we open in@@ -187,9 +200,8 @@ -- @since base-4.4.0.0 openFileBlocking :: FilePath -> IOMode -> IO Handle openFileBlocking fp im =- catchException+ catchAndAnnotate fp "openFileBlocking" (openFile' fp im dEFAULT_OPEN_IN_BINARY_MODE False)- (\e -> ioError (addFilePathToIOError "openFileBlocking" fp e)) -- | @'withFileBlocking' name mode act@ opens a file like 'openFileBlocking' -- and passes the resulting handle to the computation @act@. The handle will@@ -202,10 +214,9 @@ withFileBlocking :: FilePath -> IOMode -> (Handle -> IO r) -> IO r withFileBlocking fp im act = do -- Only annotate when setup or teardown of withFile' raised the exception- catchException- (withFile' fp im dEFAULT_OPEN_IN_BINARY_MODE False (try . act))- (\e -> ioError (addFilePathToIOError "withFileBlocking" fp e))- >>= either ioError pure+ catchAndAnnotate fp "withFileBlocking"+ (withFile' fp im dEFAULT_OPEN_IN_BINARY_MODE False (tryWithContext . act))+ >>= either rethrowError pure -- | Like 'openFile', but open the file in binary mode. -- On Windows, reading a file in text mode (which is the default)@@ -220,9 +231,8 @@ -- described in "Control.Exception". openBinaryFile :: FilePath -> IOMode -> IO Handle openBinaryFile fp m =- catchException+ catchAndAnnotate fp "openBinaryFile" (openFile' fp m True True)- (\e -> ioError (addFilePathToIOError "openBinaryFile" fp e)) -- | A version of `openBinaryFile` that takes an action to perform -- with the handle. If an exception occurs in the action, then@@ -234,10 +244,9 @@ withBinaryFile :: FilePath -> IOMode -> (Handle -> IO r) -> IO r withBinaryFile fp im act = -- Only annotate when setup or teardown of withFile' raised the exception- catchException- (withFile' fp im True True (try . act))- (\e -> ioError (addFilePathToIOError "withBinaryFile" fp e))- >>= either ioError pure+ catchAndAnnotate fp "withBinaryFile"+ (withFile' fp im True True (tryWithContext . act))+ >>= either rethrowError pure -- | Open a file and perform an action with it. If the action throws an -- exception, then the file will be closed. If the last argument is 'True',
src/GHC/Internal/IO/Handle/Internals.hs view
@@ -79,6 +79,7 @@ import GHC.Internal.Word import GHC.Internal.Base import GHC.Internal.Exception+import GHC.Internal.Exception.Type import GHC.Internal.Num ( Num(..) ) import GHC.Internal.Show import GHC.Internal.IORef@@ -178,13 +179,13 @@ do_operation fun h act m = do h_ <- takeMVar m checkHandleInvariants h_- act h_ `catchException` handler h_+ act h_ `catchExceptionNoPropagate` handler h_ where- handler h_ e = do+ handler h_ (ExceptionWithContext c e) = do putMVar m h_ case () of _ | Just ioe <- fromException e ->- ioError (augmentIOError ioe fun h)+ rethrowIO (ExceptionWithContext c $ augmentIOError ioe fun h) _ | Just async_ex <- fromException e -> do -- see Note [async] let _ = async_ex :: SomeAsyncException t <- myThreadId
src/GHC/Internal/IO/Handle/Lock/Windows.hsc view
@@ -14,7 +14,6 @@ import GHC.Types () #else -##include <windows_cconv.h> #include <windows.h> import GHC.Internal.Data.Bits@@ -128,12 +127,12 @@ c_get_osfhandle :: CInt -> IO HANDLE -- https://msdn.microsoft.com/en-us/library/windows/desktop/aa365203.aspx-foreign import WINDOWS_CCONV interruptible "LockFileEx"+foreign import ccall interruptible "LockFileEx" c_LockFileEx :: HANDLE -> DWORD -> DWORD -> DWORD -> DWORD -> LPOVERLAPPED -> IO BOOL -- https://msdn.microsoft.com/en-us/library/windows/desktop/aa365716.aspx-foreign import WINDOWS_CCONV interruptible "UnlockFileEx"+foreign import ccall interruptible "UnlockFileEx" c_UnlockFileEx :: HANDLE -> DWORD -> DWORD -> DWORD -> LPOVERLAPPED -> IO BOOL #endif
src/GHC/Internal/IO/Handle/Text.hs view
@@ -41,6 +41,7 @@ import qualified GHC.Internal.IO.BufferedIO as Buffered import GHC.Internal.IO.Exception import GHC.Internal.Exception+import GHC.Internal.Exception.Type import GHC.Internal.IO.Handle.Types import GHC.Internal.IO.Handle.Internals import qualified GHC.Internal.IO.Device as IODevice@@ -484,8 +485,9 @@ -- | The 'hGetContents'' operation reads all input on the given handle -- before returning it as a 'String' and closing the handle. --+-- This is a strict version of 'hGetContents'+-- -- @since base-4.15.0.0- hGetContents' :: Handle -> IO String hGetContents' handle = do es <- wantReadableHandle "hGetContents'" handle (strictRead handle)@@ -494,7 +496,7 @@ Left e -> case fromException e of Just ioe -> throwIO (augmentIOError ioe "hGetContents'" handle)- Nothing -> throwIO e+ Nothing -> throwIO (NoBacktrace e) strictRead :: Handle -> Handle__ -> IO (Handle__, Either SomeException String) strictRead h handle_@Handle__{..} = do@@ -565,7 +567,7 @@ -- -- This operation may fail with: ----- * 'isFullError' if the device is full; or+-- * 'isFullError' if the device is full. -- -- * 'isPermissionError' if another system resource limit would be exceeded. @@ -623,16 +625,28 @@ -- | Computation 'hPutStr' @hdl s@ writes the string -- @s@ to the file or channel managed by @hdl@. --+-- Note that 'hPutStr' is not concurrency safe unless the 'BufferMode' of+-- @hdl@ is set to 'LineBuffering' or 'BlockBuffering':+--+-- >>> let f = forkIO . hPutStr stdout+-- >>> in do hSetBuffering stdout NoBuffering; f "This is a longer string"; f ":D"; f "Hello Haskell"; pure ()+-- This: HDiesl lao lHoansgkeerl lstring+--+-- >>> let f = forkIO . hPutStr stdout+-- >>> in do hSetBuffering stdout LineBuffering; f "This is a longer string"; f ":D"; f "Hello Haskell"; pure ()+-- This is a longer string:DHello Haskell+-- -- This operation may fail with: ----- * 'isFullError' if the device is full; or+-- * 'isFullError' if the device is full. -- -- * 'isPermissionError' if another system resource limit would be exceeded.- hPutStr :: Handle -> String -> IO () hPutStr handle str = hPutStr' handle str False -- | The same as 'hPutStr', but adds a newline character.+--+-- This operation may fail with the same errors, and has the same issues with concurrency, as 'hPutStr'! hPutStrLn :: Handle -> String -> IO () hPutStrLn handle str = hPutStr' handle str True @@ -1176,4 +1190,3 @@ InvalidArgument fn ("illegal buffer size " ++ showsPrec 9 sz []) Nothing Nothing)-
src/GHC/Internal/IO/Handle/Types.hs view
@@ -162,21 +162,29 @@ | AppendHandle | ReadWriteHandle +-- | @'isReadableHandleType' hdlType@ returns 'True' if+-- @hdlType@ is one of 'ReadHandle' and 'ReadWriteHandle'. isReadableHandleType :: HandleType -> Bool isReadableHandleType ReadHandle = True isReadableHandleType ReadWriteHandle = True isReadableHandleType _ = False +-- | @'isWritableHandleType' hdlType@ returns 'True' if+-- @hdlType@ is one of 'AppendHandle', 'WriteHandle' and 'ReadWriteHandle'. isWritableHandleType :: HandleType -> Bool isWritableHandleType AppendHandle = True isWritableHandleType WriteHandle = True isWritableHandleType ReadWriteHandle = True isWritableHandleType _ = False +-- | @'isReadWriteHandleType' hdlType@ returns 'True' if+-- @hdlType@ is 'ReadWriteHandle'. isReadWriteHandleType :: HandleType -> Bool isReadWriteHandleType ReadWriteHandle{} = True isReadWriteHandleType _ = False +-- | @'isAppendHandleType' hdlType@ returns 'True' if+-- @hdlType@ is 'AppendHandle'. isAppendHandleType :: HandleType -> Bool isAppendHandleType AppendHandle = True isAppendHandleType _ = False@@ -450,4 +458,3 @@ showHandle :: FilePath -> String -> String showHandle file = showString "{handle: " . showString file . showString "}"-
src/GHC/Internal/IO/StdHandles.hs view
@@ -29,72 +29,122 @@ import GHC.Internal.IO.Handle.Types import qualified GHC.Internal.IO.Handle.FD as POSIX++-- windows only imports #if defined(mingw32_HOST_OS) import GHC.Internal.IO.SubSystem import qualified GHC.Internal.IO.Handle.Windows as Win import GHC.Internal.IO.Handle.Internals (hClose_impl)+#endif +-- | 'stdin' is a handle managing the programs standard input. stdin :: Handle+#if defined(mingw32_HOST_OS) stdin = POSIX.stdin <!> Win.stdin+#else+stdin = POSIX.stdin+#endif +-- | 'stdout' is a handle managing the programs standard output. stdout :: Handle+#if defined(mingw32_HOST_OS) stdout = POSIX.stdout <!> Win.stdout+#else+stdout = POSIX.stdout+#endif +-- | 'stderr' is a handle managing the programs standard error. stderr :: Handle+#if defined(mingw32_HOST_OS) stderr = POSIX.stderr <!> Win.stderr+#else+stderr = POSIX.stderr+#endif -openFile :: FilePath -> IOMode -> IO Handle+-- | The computation @'openFile' path mode@ returns a file handle that can be+-- used to interact with the file.+--+-- The handle is open in text mode with 'System.IO.localeEncoding'.+-- You can change the encoding with 'System.IO.hSetEncoding'.+openFile+ :: FilePath -- ^ The path to the file that should be opened+ -> IOMode -- ^ The mode in which the file should be opened+ -> IO Handle+#if defined(mingw32_HOST_OS) openFile = POSIX.openFile <!> Win.openFile+#else+openFile = POSIX.openFile+#endif +-- | The computation @'openBinaryFile' path mode@ returns a file handle that can be+-- used to interact with the binary file.+--+-- This is different from 'openFile' as in that it does not use any file encoding.+openBinaryFile+ :: FilePath -- ^ The path to the binary file that should be opened+ -> IOMode -- ^ The mode in which the binary file should be opened+ -> IO Handle+#if defined(mingw32_HOST_OS)+openBinaryFile = POSIX.openBinaryFile <!> Win.openBinaryFile+#else+openBinaryFile = POSIX.openBinaryFile+#endif++-- | The computation @'withFile' path mode action@ opens the file and runs @action@+-- with the obtained handle before closing the file.+--+-- Even when an exception is raised within the 'action', the file will still be closed.+-- This is why @'withFile' path mode act@ is preferable to+--+-- @'openFile' path mode >>= (\\hdl -> act hdl >>= 'System.IO.hClose' hdl)@+--+-- See also: 'System.IO.bracket'+withFile+ :: FilePath -- ^ The path to the file that should be opened+ -> IOMode -- ^ The mode in which the file should be opened+ -> (Handle -> IO r) -- ^ The action to run with the obtained handle+ -> IO r+#if defined(mingw32_HOST_OS) -- TODO: implement as for POSIX-withFile :: FilePath -> IOMode -> (Handle -> IO r) -> IO r withFile = POSIX.withFile <!> wf where wf path mode act = bracket (Win.openFile path mode) hClose_impl act--openBinaryFile :: FilePath -> IOMode -> IO Handle-openBinaryFile = POSIX.openBinaryFile <!> Win.openBinaryFile+#else+withFile = POSIX.withFile+#endif +-- | The computation @'withBinaryFile' path mode action@ opens the binary file+-- and runs @action@ with the obtained handle before closing the binary file.+--+-- This is different from 'withFile' as in that it does not use any file encoding.+--+-- Even when an exception is raised within the 'action', the file will still be closed.+-- This is why @'withBinaryFile' path mode act@ is preferable to+--+-- @'openBinaryFile' path mode >>= (\\hdl -> act hdl >>= 'System.IO.hClose' hdl)@+--+-- See also: 'System.IO.bracket' withBinaryFile :: FilePath -> IOMode -> (Handle -> IO r) -> IO r+#if defined(mingw32_HOST_OS) withBinaryFile = POSIX.withBinaryFile <!> wf where wf path mode act = bracket (Win.openBinaryFile path mode) hClose_impl act+#else+withBinaryFile = POSIX.withBinaryFile+#endif openFileBlocking :: FilePath -> IOMode -> IO Handle+#if defined(mingw32_HOST_OS) openFileBlocking = POSIX.openFileBlocking <!> Win.openFileBlocking+#else+openFileBlocking = POSIX.openFileBlocking+#endif withFileBlocking :: FilePath -> IOMode -> (Handle -> IO r) -> IO r+#if defined(mingw32_HOST_OS) withFileBlocking = POSIX.withFileBlocking <!> wf where wf path mode act = bracket (Win.openFileBlocking path mode) hClose_impl act- #else--stdin :: Handle-stdin = POSIX.stdin--stdout :: Handle-stdout = POSIX.stdout--stderr :: Handle-stderr = POSIX.stderr--openFile :: FilePath -> IOMode -> IO Handle-openFile = POSIX.openFile--withFile :: FilePath -> IOMode -> (Handle -> IO r) -> IO r-withFile = POSIX.withFile--openBinaryFile :: FilePath -> IOMode -> IO Handle-openBinaryFile = POSIX.openBinaryFile--withBinaryFile :: FilePath -> IOMode -> (Handle -> IO r) -> IO r-withBinaryFile = POSIX.withBinaryFile--openFileBlocking :: FilePath -> IOMode -> IO Handle-openFileBlocking = POSIX.openFileBlocking--withFileBlocking :: FilePath -> IOMode -> (Handle -> IO r) -> IO r withFileBlocking = POSIX.withFileBlocking- #endif
src/GHC/Internal/IO/SubSystem.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE Trustworthy #-}-{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE CPP #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE StandaloneDeriving #-} ----------------------------------------------------------------------------- -- |@@ -34,14 +35,33 @@ ) where import GHC.Internal.Base-import GHC.Internal.RTS.Flags+import GHC.Internal.Show+import GHC.Internal.Enum #if defined(mingw32_HOST_OS) import GHC.Internal.IO.Unsafe+import GHC.Internal.Foreign.Ptr+import GHC.Internal.Foreign.Storable+import GHC.Internal.Foreign.C.Types+import GHC.Internal.Foreign.Marshal.Utils #endif infixl 7 <!> +-- | The I/O SubSystem to use in the program.+--+-- @since base-4.9.0.0+data IoSubSystem+ = IoPOSIX -- ^ Use a POSIX I/O Sub-System+ | IoNative -- ^ Use platform native Sub-System. For unix OSes this is the+ -- same as IoPOSIX, but on Windows this means use the Windows+ -- native APIs for I/O, including IOCP and RIO.+ deriving (Eq)++-- N.B. These are currently unused by GHC but is needed for stability of @base@.+deriving instance Enum IoSubSystem+deriving instance Show IoSubSystem+ -- | Conditionally execute an action depending on the configured I/O subsystem. -- On POSIX systems always execute the first action. -- On Windows execute the second action if WINIO as active, otherwise fall back to@@ -64,10 +84,37 @@ isWindowsNativeIO :: Bool isWindowsNativeIO = False <!> True +-- | The 'IoSubSystem' in use.+--+-- This is needed to optimize support for different IO Managers on Windows.+-- GHC supports both the new WinIO manager as well as the old MIO (threaded),+-- and ancient win32-legacy (non-threaded) ones. The WinIO manager uses native+-- Win32 HANDLEs, whereas the other two use posix style FDs (via translation+-- layers).+--+-- In many places in the I\/O base library code, for correctness or performance+-- on Windows, we have to take different code paths depending on which style of+-- IO manager is in use. The IO manager is set on RTS startup (and the default+-- choice can be overridden using RTS flags). On Windows this value is obtained+-- by reading a global variable that is set by the RTS IOManager on startup.+--+-- On non-Windows systems this value is always 'IoPOSIX'.+-- ioSubSystem :: IoSubSystem #if defined(mingw32_HOST_OS)-{-# NOINLINE ioSubSystem #-}-ioSubSystem = unsafeDupablePerformIO getIoManagerFlag+{-# INLINE ioSubSystem #-}+ioSubSystem =+ case toBool ioManagerIsWin32NativeCBool of+ False -> IoPOSIX+ True -> IoNative++{-# NOINLINE ioManagerIsWin32NativeCBool #-}+ioManagerIsWin32NativeCBool :: CBool+ioManagerIsWin32NativeCBool =+ unsafeDupablePerformIO $ peek ioManagerIsWin32NativePtr++foreign import ccall "&rts_IOManagerIsWin32Native"+ ioManagerIsWin32NativePtr :: Ptr CBool #else ioSubSystem = IoPOSIX #endif
src/GHC/Internal/IO/Windows/Encoding.hs view
@@ -37,8 +37,6 @@ import GHC.Internal.Base import GHC.Internal.Real -#include "windows_cconv.h"- -- | The "System.IO" output functions (e.g. `putStr`) don't -- automatically convert to multibyte string on Windows, so this -- function is provided to make the conversion from a Unicode string@@ -83,7 +81,7 @@ encodeMultiByteRawIO cp s = encodeMultiByteIO' cp s toSizedCString where toSizedCString (st,l) = return (st, fromIntegral l) -foreign import WINDOWS_CCONV "WideCharToMultiByte"+foreign import ccall "WideCharToMultiByte" wideCharToMultiByte :: CodePage -> DWORD -- dwFlags,@@ -121,7 +119,7 @@ cwstr wchars peekCWStringLen (cwstr,fromIntegral wchars') -- converts UTF-16 to [Char] -foreign import WINDOWS_CCONV unsafe "MultiByteToWideChar"+foreign import ccall unsafe "MultiByteToWideChar" multiByteToWideChar :: CodePage -> DWORD -- dwFlags,@@ -140,7 +138,7 @@ decodeMultiByteIO = stringToUnicode {-# INLINE decodeMultiByteIO #-} -foreign import WINDOWS_CCONV unsafe "MultiByteToWideChar"+foreign import ccall unsafe "MultiByteToWideChar" multiByteToWideChar' :: CodePage -> DWORD -- dwFlags,@@ -165,7 +163,7 @@ multiByteToWideChar' cp 0 ptr (fromIntegral len) cwstr wchars fn (cwstr, wchars') -foreign import WINDOWS_CCONV "WideCharToMultiByte"+foreign import ccall "WideCharToMultiByte" wideCharToMultiByte' :: CodePage -> DWORD -- dwFlags,
src/GHC/Internal/IO/Windows/Handle.hsc view
@@ -53,7 +53,6 @@ #include <windows.h> #include <ntstatus.h> #include <winnt.h>-##include "windows_cconv.h" -- Can't avoid these semantics leaks, they are base constructs import GHC.Internal.Data.Bits ((.|.), (.&.), shiftL)@@ -344,23 +343,23 @@ -- Foreign imports -foreign import WINDOWS_CCONV safe "windows.h CreateFileW"+foreign import ccall safe "windows.h CreateFileW" c_CreateFile :: LPCTSTR -> DWORD -> DWORD -> LPSECURITY_ATTRIBUTES -> DWORD -> DWORD -> HANDLE -> IO HANDLE -foreign import WINDOWS_CCONV safe "windows.h SetFileCompletionNotificationModes"+foreign import ccall safe "windows.h SetFileCompletionNotificationModes" c_SetFileCompletionNotificationModes :: HANDLE -> UCHAR -> IO BOOL -foreign import WINDOWS_CCONV safe "windows.h ReadFile"+foreign import ccall safe "windows.h ReadFile" c_ReadFile :: HANDLE -> LPVOID -> DWORD -> LPDWORD -> LPOVERLAPPED -> IO BOOL -foreign import WINDOWS_CCONV safe "windows.h WriteFile"+foreign import ccall safe "windows.h WriteFile" c_WriteFile :: HANDLE -> LPVOID -> DWORD -> LPDWORD -> LPOVERLAPPED -> IO BOOL -foreign import WINDOWS_CCONV safe "windows.h GetStdHandle"+foreign import ccall safe "windows.h GetStdHandle" c_GetStdHandle :: StdHandleId -> IO HANDLE foreign import ccall safe "__handle_ready"@@ -411,18 +410,18 @@ foreign import ccall safe "__set_console_buffer_size" c_set_console_buffer_size :: HANDLE -> CLong -> IO BOOL -foreign import WINDOWS_CCONV safe "windows.h ReadConsoleW"+foreign import ccall safe "windows.h ReadConsoleW" c_read_console :: HANDLE -> Ptr Word16 -> DWORD -> Ptr DWORD -> PCONSOLE_READCONSOLE_CONTROL -> IO BOOL -foreign import WINDOWS_CCONV safe "windows.h WriteConsoleW"+foreign import ccall safe "windows.h WriteConsoleW" c_write_console :: HANDLE -> Ptr Word16 -> DWORD -> Ptr DWORD -> Ptr () -> IO BOOL -foreign import WINDOWS_CCONV safe "windows.h ReadConsoleInputW"+foreign import ccall safe "windows.h ReadConsoleInputW" c_read_console_input :: HANDLE -> PINPUT_RECORD -> DWORD -> LPDWORD -> IO BOOL -foreign import WINDOWS_CCONV safe "windows.h GetNumberOfConsoleInputEvents"+foreign import ccall safe "windows.h GetNumberOfConsoleInputEvents" c_get_num_console_inputs :: HANDLE -> LPDWORD -> IO BOOL type LPSECURITY_ATTRIBUTES = LPVOID
src/GHC/Internal/IO/Windows/Paths.hs view
@@ -22,8 +22,6 @@ (getDevicePath ) where -#include "windows_cconv.h"- import GHC.Internal.Base import GHC.Internal.IO
src/GHC/Internal/JS/Foreign/Callback.hs view
@@ -23,14 +23,12 @@ import qualified GHC.Internal.Exts as Exts -import GHC.Internal.Data.Typeable- import GHC.Internal.Unsafe.Coerce import GHC.Internal.Base data OnBlocked = ContinueAsync | ThrowWouldBlock deriving (Eq) -newtype Callback a = Callback JSVal deriving Typeable+newtype Callback a = Callback JSVal {- | When you create a callback, the Haskell runtime stores a reference to@@ -119,7 +117,7 @@ asyncCallback x = js_asyncCallback (unsafeCoerce x) asyncCallback1 :: (JSVal -> IO ()) -- ^ the function that the callback calls- -> IO (Callback (JSVal -> IO ())) -- ^ the calback+ -> IO (Callback (JSVal -> IO ())) -- ^ the callback asyncCallback1 x = js_asyncCallbackApply 1 (unsafeCoerce x) asyncCallback2 :: (JSVal -> JSVal -> IO ()) -- ^ the Haskell function that the callback calls
src/GHC/Internal/JS/Prim.hs view
@@ -1,6 +1,5 @@ {-# LANGUAGE CPP #-} {-# LANGUAGE MagicHash #-}-{-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE JavaScriptFFI #-} {-# LANGUAGE GHCForeignImportPrim #-}@@ -40,7 +39,6 @@ #endif ) where -import GHC.Internal.Data.Typeable (Typeable) import GHC.Internal.Unsafe.Coerce (unsafeCoerce) import GHC.Prim@@ -71,7 +69,6 @@ to a JSException -} data JSException = JSException JSVal String- deriving (Typeable) instance Ex.Exception JSException @@ -326,7 +323,6 @@ continue asynchronously, it receives this exception. -} data WouldBlockException = WouldBlockException- deriving (Typeable) instance Show WouldBlockException where show _ = "thread would block"
+ src/GHC/Internal/LanguageExtensions.hs view
@@ -0,0 +1,172 @@+-----------------------------------------------------------------------------+-- |+-- Module : GHC.Internal.LanguageExtensions+-- Copyright : (c) The GHC Team+--+-- Maintainer : ghc-devs@haskell.org+-- Portability : portable+--+-- A data type defining the language extensions supported by GHC.+--+{-# LANGUAGE DeriveGeneric, CPP, Trustworthy #-}+module GHC.Internal.LanguageExtensions ( Extension(..) ) where++#ifdef BOOTSTRAP_TH+import Prelude -- See note [Why do we import Prelude here?]+import GHC.Generics (Generic)+#else+import GHC.Internal.Base+import GHC.Internal.Show+import GHC.Internal.Generics+import GHC.Internal.Enum+#endif++-- | The language extensions known to GHC.+--+-- Note that there is an orphan 'Binary' instance for this type supplied by+-- the "GHC.LanguageExtensions" module provided by @ghc-boot@. We can't provide+-- here as this would require adding transitive dependencies to the+-- @template-haskell@ package, which must have a minimal dependency set.+data Extension+-- See Note [Updating flag description in the User's Guide] in+-- GHC.Driver.Session+ = Cpp+ | OverlappingInstances+ | UndecidableInstances+ | IncoherentInstances+ | UndecidableSuperClasses+ | MonomorphismRestriction+ | MonoLocalBinds+ | DeepSubsumption+ | RelaxedPolyRec -- Deprecated+ | ExtendedDefaultRules -- Use GHC's extended rules for defaulting+ | NamedDefaults+ | ForeignFunctionInterface+ | UnliftedFFITypes+ | InterruptibleFFI+ | CApiFFI+ | GHCForeignImportPrim+ | JavaScriptFFI+ | ParallelArrays -- Syntactic support for parallel arrays+ | Arrows -- Arrow-notation syntax+ | TemplateHaskell+ | TemplateHaskellQuotes -- subset of TH supported by stage1, no splice+ | QualifiedDo+ | QuasiQuotes+ | ImplicitParams+ | ImplicitPrelude+ | ScopedTypeVariables+ | AllowAmbiguousTypes+ | UnboxedTuples+ | UnboxedSums+ | UnliftedNewtypes+ | UnliftedDatatypes+ | BangPatterns+ | TypeFamilies+ | TypeFamilyDependencies+ | TypeInType -- Deprecated+ | OverloadedStrings+ | OverloadedLists+ | NumDecimals+ | DisambiguateRecordFields+ | RecordWildCards+ | NamedFieldPuns+ | ViewPatterns+ | OrPatterns+ | GADTs+ | GADTSyntax+ | NPlusKPatterns+ | DoAndIfThenElse+ | BlockArguments+ | RebindableSyntax+ | ConstraintKinds+ | PolyKinds -- Kind polymorphism+ | DataKinds -- Datatype promotion+ | TypeData -- allow @type data@ definitions+ | InstanceSigs+ | ApplicativeDo+ | LinearTypes+ | RequiredTypeArguments -- Visible forall (VDQ) in types of terms++ | StandaloneDeriving+ | DeriveDataTypeable+ | AutoDeriveTypeable -- Automatic derivation of Typeable+ | DeriveFunctor+ | DeriveTraversable+ | DeriveFoldable+ | DeriveGeneric -- Allow deriving Generic/1+ | DefaultSignatures -- Allow extra signatures for defmeths+ | DeriveAnyClass -- Allow deriving any class+ | DeriveLift -- Allow deriving Lift+ | DerivingStrategies+ | DerivingVia -- Derive through equal representation++ | TypeSynonymInstances+ | FlexibleContexts+ | FlexibleInstances+ | ConstrainedClassMethods+ | MultiParamTypeClasses+ | NullaryTypeClasses+ | FunctionalDependencies+ | UnicodeSyntax+ | ExistentialQuantification+ | MagicHash+ | EmptyDataDecls+ | KindSignatures+ | RoleAnnotations+ | ParallelListComp+ | TransformListComp+ | MonadComprehensions+ | GeneralizedNewtypeDeriving+ | RecursiveDo+ | PostfixOperators+ | TupleSections+ | PatternGuards+ | LiberalTypeSynonyms+ | RankNTypes+ | ImpredicativeTypes+ | TypeOperators+ | ExplicitNamespaces+ | PackageImports+ | ExplicitForAll+ | AlternativeLayoutRule+ | AlternativeLayoutRuleTransitional+ | DatatypeContexts+ | NondecreasingIndentation+ | RelaxedLayout+ | TraditionalRecordSyntax+ | LambdaCase+ | MultiWayIf+ | BinaryLiterals+ | NegativeLiterals+ | HexFloatLiterals+ | DuplicateRecordFields+ | OverloadedLabels+ | EmptyCase+ | PatternSynonyms+ | PartialTypeSignatures+ | NamedWildCards+ | StaticPointers+ | TypeApplications+ | Strict+ | StrictData+ | EmptyDataDeriving+ | NumericUnderscores+ | QuantifiedConstraints+ | StarIsType+ | ImportQualifiedPost+ | CUSKs+ | StandaloneKindSignatures+ | LexicalNegation+ | FieldSelectors+ | OverloadedRecordDot+ | OverloadedRecordUpdate+ | TypeAbstractions+ | ExtendedLiterals+ | ListTuplePuns+ | MultilineStrings+ deriving (Eq, Enum, Show, Generic, Bounded)+-- 'Ord' and 'Bounded' are provided for GHC API users (see discussions+-- in https://gitlab.haskell.org/ghc/ghc/merge_requests/2707 and+-- https://gitlab.haskell.org/ghc/ghc/merge_requests/826).+instance Ord Extension where compare a b = compare (fromEnum a) (fromEnum b)
+ src/GHC/Internal/Lexeme.hs view
@@ -0,0 +1,57 @@+{-# LANGUAGE CPP #-}+-----------------------------------------------------------------------------+-- |+-- Module : GHC.Internal.Lexeme+-- Copyright : (c) The GHC Team+--+-- Maintainer : ghc-devs@haskell.org+-- Portability : portable+--+-- Functions to evaluate whether or not a string is a valid identifier.+--+module GHC.Internal.Lexeme (+ -- * Lexical characteristics of Haskell names+ startsVarSym, startsVarId, startsConSym, startsConId,+ startsVarSymASCII, isVarSymChar, okSymChar+ ) where++#ifdef BOOTSTRAP_TH+import Prelude -- See note [Why do we import Prelude here?]+import Data.Char+#else+import GHC.Internal.Base+import GHC.Internal.Unicode+import GHC.Internal.List (elem)+#endif++-- | Is this character acceptable in a symbol (after the first char)?+-- See alexGetByte in GHC.Parser.Lexer+okSymChar :: Char -> Bool+okSymChar c+ | c `elem` "(),;[]`{}_\"'"+ = False+ | otherwise+ = case generalCategory c of+ ConnectorPunctuation -> True+ DashPunctuation -> True+ OtherPunctuation -> True+ MathSymbol -> True+ CurrencySymbol -> True+ ModifierSymbol -> True+ OtherSymbol -> True+ _ -> False++startsVarSym, startsVarId, startsConSym, startsConId :: Char -> Bool+startsVarSym c = okSymChar c && c /= ':' -- Infix Ids+startsConSym c = c == ':' -- Infix data constructors+startsVarId c = c == '_' || case generalCategory c of -- Ordinary Ids+ LowercaseLetter -> True+ OtherLetter -> True -- See #1103+ _ -> False+startsConId c = isUpper c || c == '(' -- Ordinary type constructors and data constructors++startsVarSymASCII :: Char -> Bool+startsVarSymASCII c = c `elem` "!#$%&*+./<=>?@\\^|~-"++isVarSymChar :: Char -> Bool+isVarSymChar c = c == ':' || startsVarSym c
src/GHC/Internal/List.hs view
@@ -808,8 +808,11 @@ -- | 'maximum' returns the maximum value from a list, -- which must be non-empty, finite, and of an ordered type.--- It is a special case of 'GHC.Internal.Data.List.maximumBy', which allows the--- programmer to supply their own comparison function.+-- This function is equivalent to @'foldr1' 'max'@, and its behavior on lists+-- with multiple maxima depends on the relevant implementation of 'max'. For+-- the default implementation of 'max', list order is used as a tie-breaker: if+-- there are multiple maxima, the rightmost of them is chosen (this is+-- equivalent to @'GHC.Internal.Data.List.maximumBy' 'compare'@). -- -- >>> maximum [] -- *** Exception: Prelude.maximum: empty list@@ -832,8 +835,11 @@ -- | 'minimum' returns the minimum value from a list, -- which must be non-empty, finite, and of an ordered type.--- It is a special case of 'GHC.Internal.Data.List.minimumBy', which allows the--- programmer to supply their own comparison function.+-- This function is equivalent to @'foldr1' 'min'@, and its behavior on lists+-- with multiple minima depends on the relevant implementation of 'min'. For+-- the default implementation of 'min', list order is used as a tie-breaker: if+-- there are multiple minima, the leftmost of them is chosen (this is+-- equivalent to @'GHC.Internal.Data.List.minimumBy' 'compare'@). -- -- >>> minimum [] -- *** Exception: Prelude.minimum: empty list
src/GHC/Internal/RTS/Flags.hsc view
@@ -27,6 +27,7 @@ , GCFlags (..) , ConcFlags (..) , MiscFlags (..)+ , IoManagerFlag (..) , DebugFlags (..) , DoCostCentres (..) , CCFlags (..)@@ -37,12 +38,10 @@ , TickyFlags (..) , ParFlags (..) , HpcFlags (..)- , IoSubSystem (..) , getRTSFlags , getGCFlags , getConcFlags , getMiscFlags- , getIoManagerFlag , getDebugFlags , getCCFlags , getProfFlags@@ -103,32 +102,6 @@ toEnum #{const VERBOSE_GC_STATS} = VerboseGCStats toEnum e = errorWithoutStackTrace ("invalid enum for GiveGCStats: " ++ show e) --- | The I/O SubSystem to use in the program.------ @since base-4.9.0.0-data IoSubSystem- = IoPOSIX -- ^ Use a POSIX I/O Sub-System- | IoNative -- ^ Use platform native Sub-System. For unix OSes this is the- -- same as IoPOSIX, but on Windows this means use the Windows- -- native APIs for I/O, including IOCP and RIO.- deriving (Eq, Show)---- | @since base-4.9.0.0-instance Enum IoSubSystem where- fromEnum IoPOSIX = #{const IO_MNGR_POSIX}- fromEnum IoNative = #{const IO_MNGR_NATIVE}-- toEnum #{const IO_MNGR_POSIX} = IoPOSIX- toEnum #{const IO_MNGR_NATIVE} = IoNative- toEnum e = errorWithoutStackTrace ("invalid enum for IoSubSystem: " ++ show e)---- | @since base-4.9.0.0-instance Storable IoSubSystem where- sizeOf = sizeOf . fromEnum- alignment = sizeOf . fromEnum- peek ptr = fmap toEnum $ peek (castPtr ptr)- poke ptr v = poke (castPtr ptr) (fromEnum v)- -- | Parameters of the garbage collector. -- -- @since base-4.8.0.0@@ -191,12 +164,23 @@ , linkerAlwaysPic :: Bool , linkerMemBase :: Word -- ^ address to ask the OS for memory for the linker, 0 ==> off- , ioManager :: IoSubSystem+ , ioManager :: IoManagerFlag , numIoWorkerThreads :: Word32 } deriving ( Show -- ^ @since base-4.8.0.0 , Generic -- ^ @since base-4.15.0.0 ) +-- |+--+-- @since base-4.21.0.0+data IoManagerFlag =+ IoManagerFlagAuto+ | IoManagerFlagSelect -- ^ Unix only, non-threaded RTS only+ | IoManagerFlagMIO -- ^ cross-platform, threaded RTS only+ | IoManagerFlagWinIO -- ^ Windows only+ | IoManagerFlagWin32Legacy -- ^ Windows only, non-threaded RTS only+ deriving (Eq, Enum, Show)+ -- | Flags to control debugging output & extra checking in various -- subsystems. --@@ -401,7 +385,11 @@ -- -- @since base-4.20.0.0 data HpcFlags = HpcFlags- { writeTixFile :: Bool+ { readTixFile :: Bool+ -- ^ Controls whether a @<program>.tix@ file is read at+ -- the start of execution to initialize the RTS internal+ -- HPC datastructures.+ , writeTixFile :: Bool -- ^ Controls whether the @<program>.tix@ file should be -- written after the execution of the program. }@@ -517,6 +505,8 @@ let ptr = (#ptr RTS_FLAGS, HpcFlags) rtsFlagsPtr HpcFlags <$> (toBool <$>+ (#{peek HPC_FLAGS, readTixFile} ptr :: IO CBool))+ <*> (toBool <$> (#{peek HPC_FLAGS, writeTixFile} ptr :: IO CBool)) getConcFlags :: IO ConcFlags@@ -552,36 +542,6 @@ <*> (fromIntegral <$> (#{peek MISC_FLAGS, numIoWorkerThreads} ptr :: IO Word32)) -{- Note [The need for getIoManagerFlag]- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-- GHC supports both the new WINIO manager- as well as the old MIO one. In order to- decide which code path to take we often- have to inspect what the user selected at- RTS startup.-- We could use getMiscFlags but then we end up with core containing- reads for all MiscFlags. These won't be eliminated at the core level- even if it's obvious we will only look at the ioManager part of the- ADT.-- We could add a INLINE pragma, but that just means whatever we inline- into is likely to be inlined. So rather than adding a dozen pragmas- we expose a lean way to query this particular flag. It's not satisfying- but it works well enough and allows these checks to be inlined nicely.---}--{-# INLINE getIoManagerFlag #-}--- | Needed to optimize support for different IO Managers on Windows.--- See Note [The need for getIoManagerFlag]-getIoManagerFlag :: IO IoSubSystem-getIoManagerFlag = do- let ptr = (#ptr RTS_FLAGS, MiscFlags) rtsFlagsPtr- mgrFlag <- (#{peek MISC_FLAGS, ioManager} ptr :: IO Word32)- return $ (toEnum . fromIntegral) mgrFlag- getDebugFlags :: IO DebugFlags getDebugFlags = do let ptr = (#ptr RTS_FLAGS, DebugFlags) rtsFlagsPtr@@ -653,6 +613,10 @@ getTraceFlags :: IO TraceFlags getTraceFlags = do+#if defined(javascript_HOST_ARCH)+ -- The JS backend does not currently have trace flags+ pure (TraceFlags TraceNone False False False False False False False)+#else let ptr = (#ptr RTS_FLAGS, TraceFlags) rtsFlagsPtr TraceFlags <$> (toEnum . fromIntegral <$> (#{peek TRACE_FLAGS, tracing} ptr :: IO CInt))@@ -670,6 +634,7 @@ (#{peek TRACE_FLAGS, sparks_full} ptr :: IO CBool)) <*> (toBool <$> (#{peek TRACE_FLAGS, user} ptr :: IO CBool))+#endif getTickyFlags :: IO TickyFlags getTickyFlags = do
+ src/GHC/Internal/RTS/Flags/Test.hsc view
@@ -0,0 +1,36 @@+{-# LANGUAGE NoImplicitPrelude #-}++-- | Module with fewer dependencies than GHC.Internal.RTS.Flags+-- that allows to quickly test if some flag is set.+module GHC.Internal.RTS.Flags.Test+ ( getUserEventTracingEnabled+ )+where++import GHC.Internal.Base++#if !defined(javascript_HOST_ARCH)++import GHC.Internal.Ptr+import GHC.Internal.Foreign.C.Types+import GHC.Internal.Foreign.Marshal.Utils+import GHC.Internal.Foreign.Storable+import GHC.Internal.Data.Functor ((<$>))++#include "Rts.h"+#include "rts/Flags.h"++foreign import ccall "&RtsFlags" rtsFlagsPtr :: Ptr ()+#endif++-- | Specialized version of 'getTraceFlags' for just checking if user+-- event tracing is enabled.+getUserEventTracingEnabled :: IO Bool+getUserEventTracingEnabled = do+#if defined(javascript_HOST_ARCH)+ -- The JS backend does not currently have trace flags+ pure False+#else+ let ptr = (#ptr RTS_FLAGS, TraceFlags) rtsFlagsPtr+ toBool <$> (#{peek TRACE_FLAGS, user} ptr :: IO CBool)+#endif
src/GHC/Internal/Records.hs view
@@ -1,13 +1,15 @@ {-# LANGUAGE AllowAmbiguousTypes #-}+{-# LANGUAGE ExplicitForAll #-} {-# LANGUAGE FunctionalDependencies #-} {-# LANGUAGE PolyKinds #-} {-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE StandaloneKindSignatures #-} {-# LANGUAGE Trustworthy #-} ----------------------------------------------------------------------------- -- | -- Module : GHC.Internal.Records--- Copyright : (c) Adam Gundry 2015-2016+-- Copyright : (c) Adam Gundry 2015-2024 -- License : see libraries/base/LICENSE -- -- Maintainer : ghc-devs@haskell.org@@ -15,9 +17,9 @@ -- Portability : non-portable (GHC extensions) -- -- This module defines the 'HasField' class used by the--- @OverloadedRecordFields@ extension. See the--- <https://gitlab.haskell.org/ghc/ghc/wikis/records/overloaded-record-fields--- wiki page> for more details.+-- @OverloadedRecordDot@ extension. See the+-- <https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/hasfield.html+-- user's guide> for more details. -- ----------------------------------------------------------------------------- @@ -28,16 +30,19 @@ -- See W1 of Note [Tracking dependencies on primitives] in GHC.Internal.Base import GHC.Types () +import GHC.Types (TYPE, Constraint)+ -- | Constraint representing the fact that the field @x@ belongs to -- the record type @r@ and has field type @a@. This will be solved -- automatically, but manual instances may be provided as well. --- HasField :: forall {k}. k -> * -> * -> Constraint--- getField :: forall {k} (x::k) r a. HasField x r a => r -> a+-- HasField :: forall {k} {r_rep} {a_rep} . k -> TYPE r_rep -> TYPE a_rep -> Constraint+-- getField :: forall {k} {r_rep} {a_rep} (x::k) (r :: TYPE r_rep) (a :: TYPE a_rep) . HasField x r a => r -> a -- NB: The {k} means that k is an 'inferred' type variable, and -- hence not provided in visible type applications. Thus you -- say getField @"foo" -- not getField @Symbol @"foo"+type HasField :: forall {k} {r_rep} {a_rep} . k -> TYPE r_rep -> TYPE a_rep -> Constraint class HasField x r a | x r -> a where -- | Selector function to extract the field from the record. getField :: r -> a
src/GHC/Internal/Stack.hs view
@@ -53,11 +53,10 @@ import GHC.Internal.Show import GHC.Internal.Stack.CCS import GHC.Internal.Stack.Types-import GHC.Internal.IO import GHC.Internal.Base-import GHC.Internal.List import GHC.Internal.Data.OldList (intercalate) import GHC.Internal.Exception+import GHC.Internal.IO (unsafeDupablePerformIO, throwIO) -- | Like the function 'error', but appends a stack trace to the error -- message if one is available.@@ -66,11 +65,7 @@ {-# DEPRECATED errorWithStackTrace "'error' appends the call stack now" #-} -- DEPRECATED in 8.0.1 errorWithStackTrace :: String -> a-errorWithStackTrace x = unsafeDupablePerformIO $ do- stack <- ccsToStrings =<< getCurrentCCS x- if null stack- then throwIO (ErrorCall x)- else throwIO (ErrorCallWithLocation x (renderStack stack))+errorWithStackTrace x = unsafeDupablePerformIO $ throwIO (ErrorCall x) -- | Pop the most recent call-site off the 'CallStack'.
src/GHC/Internal/Stack.hs-boot view
@@ -1,10 +1,11 @@-{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE NoImplicitPrelude, RankNTypes #-} module GHC.Internal.Stack where import GHC.Internal.Base-import GHC.Internal.Stack.Types (CallStack, SrcLoc)+import GHC.Internal.Stack.Types (HasCallStack, CallStack, SrcLoc) prettyCallStackLines :: CallStack -> [String] prettyCallStack :: CallStack -> String prettySrcLoc :: SrcLoc -> String+withFrozenCallStack :: HasCallStack => ( HasCallStack => a ) -> a
− src/GHC/Internal/Stack/CCS.hs-boot
@@ -1,16 +0,0 @@-{-# LANGUAGE NoImplicitPrelude #-}-module GHC.Internal.Stack.CCS where--{- Cuts the following loop:-- GHC.Internal.Exception.errorCallWithCallStackException requires- GHC.Internal.Stack.CCS.currentCallStack, which requires- GHC.Internal.Foreign.C (for peeking CostCentres)- GHC.Foreign, GHC.Internal.IO.Encoding (for decoding UTF-8 strings)- .. lots of stuff ...- GHC.Internal.Exception--}--import GHC.Internal.Base--currentCallStack :: IO [String]
src/GHC/Internal/System/Environment.hs view
@@ -64,16 +64,6 @@ import GHC.Internal.System.Environment.ExecutablePath -#if defined(mingw32_HOST_OS)-# if defined(i386_HOST_ARCH)-# define WINDOWS_CCONV stdcall-# elif defined(x86_64_HOST_ARCH)-# define WINDOWS_CCONV ccall-# else-# error Unknown mingw32 arch-# endif-#endif- #include "HsBaseConfig.h" -- ---------------------------------------------------------------------------@@ -158,7 +148,7 @@ eRROR_ENVVAR_NOT_FOUND :: DWORD eRROR_ENVVAR_NOT_FOUND = 203 -foreign import WINDOWS_CCONV unsafe "windows.h GetLastError"+foreign import ccall unsafe "windows.h GetLastError" c_GetLastError:: IO DWORD #else@@ -182,7 +172,7 @@ _ | res > size -> try_size s res -- Rare: size increased between calls to GetEnvironmentVariable | otherwise -> peekCWString p_value >>= return . Just -foreign import WINDOWS_CCONV unsafe "windows.h GetEnvironmentVariableW"+foreign import ccall unsafe "windows.h GetEnvironmentVariableW" c_GetEnvironmentVariable :: LPWSTR -> LPWSTR -> DWORD -> IO DWORD #else lookupEnv name =@@ -249,7 +239,7 @@ success <- c_SetEnvironmentVariable k v unless success (throwGetLastError "setEnv") -foreign import WINDOWS_CCONV unsafe "windows.h SetEnvironmentVariableW"+foreign import ccall unsafe "windows.h SetEnvironmentVariableW" c_SetEnvironmentVariable :: LPTSTR -> LPTSTR -> IO Bool #else @@ -380,10 +370,10 @@ c <- peek pBlock' seekNull pBlock' (c == (0 :: Word8 )) -foreign import WINDOWS_CCONV unsafe "windows.h GetEnvironmentStringsW"+foreign import ccall unsafe "windows.h GetEnvironmentStringsW" c_GetEnvironmentStrings :: IO (Ptr CWchar) -foreign import WINDOWS_CCONV unsafe "windows.h FreeEnvironmentStringsW"+foreign import ccall unsafe "windows.h FreeEnvironmentStringsW" c_FreeEnvironmentStrings :: Ptr CWchar -> IO Bool #else getEnvironment = do
src/GHC/Internal/System/Environment/Blank.hsc view
@@ -73,18 +73,6 @@ import qualified GHC.Internal.System.Environment as Environment #endif --- TODO: include windows_cconv.h when it's merged, instead of duplicating--- this C macro block.-#if defined(mingw32_HOST_OS)-# if defined(i386_HOST_ARCH)-## define WINDOWS_CCONV stdcall-# elif defined(x86_64_HOST_ARCH)-## define WINDOWS_CCONV ccall-# else-## error Unknown mingw32 arch-# endif-#endif- #include "HsBaseConfig.h" throwInvalidArgument :: String -> IO a@@ -142,7 +130,7 @@ success <- c_SetEnvironmentVariable k v unless success (throwGetLastError "setEnv") -foreign import WINDOWS_CCONV unsafe "windows.h SetEnvironmentVariableW"+foreign import ccall unsafe "windows.h SetEnvironmentVariableW" c_SetEnvironmentVariable :: LPTSTR -> LPTSTR -> IO Bool #else setEnv_ key value =@@ -179,7 +167,7 @@ eRROR_ENVVAR_NOT_FOUND :: DWORD eRROR_ENVVAR_NOT_FOUND = 203 -foreign import WINDOWS_CCONV unsafe "windows.h GetLastError"+foreign import ccall unsafe "windows.h GetLastError" c_GetLastError:: IO DWORD #elif HAVE_UNSETENV # if !UNSETENV_RETURNS_VOID
src/GHC/Internal/System/Environment/ExecutablePath.hsc view
@@ -200,9 +200,9 @@ | otherwise = throw e ----------------------------------------------------------------------------------- Linux / Solaris+-- Linux / Solaris / Hurd -#elif defined(linux_HOST_OS) || defined(solaris2_HOST_OS)+#elif defined(linux_HOST_OS) || defined(solaris2_HOST_OS) || defined(gnu_HOST_OS) foreign import ccall unsafe "readlink" c_readlink :: CString -> CString -> CSize -> IO CInt@@ -219,7 +219,7 @@ c_readlink s buf 4096 peekFilePathLen (buf,fromIntegral len) -# if defined(linux_HOST_OS)+# if defined(linux_HOST_OS) || defined(gnu_HOST_OS) getExecutablePath = readSymbolicLink $ "/proc/self/exe" executablePath = Just (check <$> getExecutablePath) where@@ -304,14 +304,6 @@ #elif defined(mingw32_HOST_OS) -# if defined(i386_HOST_ARCH)-## define WINDOWS_CCONV stdcall-# elif defined(x86_64_HOST_ARCH)-## define WINDOWS_CCONV ccall-# else-# error Unknown mingw32 arch-# endif- getExecutablePath = go 2048 -- plenty, PATH_MAX is 512 under Win32 where go size = allocaArray (fromIntegral size) $ \ buf -> do@@ -366,13 +358,13 @@ -- is large enough. bufSize = 1024 -foreign import WINDOWS_CCONV unsafe "windows.h GetModuleFileNameW"+foreign import ccall unsafe "windows.h GetModuleFileNameW" c_GetModuleFileName :: Ptr () -> CWString -> Word32 -> IO Word32 -foreign import WINDOWS_CCONV unsafe "windows.h PathFileExistsW"+foreign import ccall unsafe "windows.h PathFileExistsW" c_pathFileExists :: CWString -> IO Bool -foreign import WINDOWS_CCONV unsafe "windows.h CreateFileW"+foreign import ccall unsafe "windows.h CreateFileW" c_createFile :: CWString -> Word32 -> Word32@@ -391,10 +383,10 @@ (#const FILE_ATTRIBUTE_NORMAL) nullPtr -foreign import WINDOWS_CCONV unsafe "windows.h CloseHandle"+foreign import ccall unsafe "windows.h CloseHandle" c_closeHandle :: Ptr () -> IO Bool -foreign import WINDOWS_CCONV unsafe "windows.h GetFinalPathNameByHandleW"+foreign import ccall unsafe "windows.h GetFinalPathNameByHandleW" c_getFinalPathHandle :: Ptr () -> CWString -> Word32 -> Word32 -> IO Word32 --------------------------------------------------------------------------------
src/GHC/Internal/System/IO.hs view
@@ -257,24 +257,49 @@ import GHC.Internal.IO.StdHandles import GHC.Internal.Show import GHC.Internal.MVar---- -----------------------------------------------------------------------------+----------------------------------------------------------------------------- -- Standard IO -- | Write a character to the standard output device--- (same as 'hPutChar' 'stdout').-+--+-- 'putChar' is implemented as @'hPutChar' 'stdout'@.+--+-- This operation may fail with the same errors as 'hPutChar'.+--+-- ==== __Examples__+--+-- Note that the following do not put a newline.+--+-- >>> putChar 'x'+-- x+--+-- >>> putChar '\0042'+-- * putChar :: Char -> IO () putChar c = hPutChar stdout c -- | Write a string to the standard output device--- (same as 'hPutStr' 'stdout').-+--+-- 'putStr' is implemented as @'hPutStr' 'stdout'@.+--+-- This operation may fail with the same errors, and has the same issues with concurrency, as 'hPutStr'!+--+-- ==== __Examples__+--+-- Note that the following do not put a newline.+--+-- >>> putStr "Hello, World!"+-- Hello, World!+--+-- >>> putStr "\0052\0042\0050"+-- 4*2+-- putStr :: String -> IO () putStr s = hPutStr stdout s -- | The same as 'putStr', but adds a newline character.-+--+-- This operation may fail with the same errors, and has the same issues with concurrency, as 'hPutStr'! putStrLn :: String -> IO () putStrLn s = hPutStrLn stdout s @@ -284,94 +309,242 @@ -- converts values to strings for output using the 'show' operation and -- adds a newline. ----- For example, a program to print the first 20 integers and their+-- 'print' is implemented as @'putStrLn' '.' 'show'@+--+-- This operation may fail with the same errors, and has the same issues with concurrency, as 'hPutStr'!+--+-- ==== __Examples__+--+-- >>> print [1, 2, 3]+-- [1,2,3]+--+-- Be careful when using 'print' for outputting strings,+-- as this will invoke 'show' and cause strings to be printed+-- with quotation marks and non-ascii symbols escaped.+--+-- >>> print "λ :D"+-- "\995 :D"+--+-- A program to print the first 8 integers and their -- powers of 2 could be written as: ----- > main = print ([(n, 2^n) | n <- [0..19]])-+-- >>> print [(n, 2^n) | n <- [0..8]]+-- [(0,1),(1,2),(2,4),(3,8),(4,16),(5,32),(6,64),(7,128),(8,256)] print :: Show a => a -> IO () print x = putStrLn (show x) --- | Read a character from the standard input device--- (same as 'hGetChar' 'stdin').-+-- | Read a single character from the standard input device.+--+-- 'getChar' is implemented as @'hGetChar' 'stdin'@.+--+-- This operation may fail with the same errors as 'hGetChar'.+--+-- ==== __Examples__+--+-- >>> getChar+-- a'a'+--+-- >>> getChar+-- >+-- '\n' getChar :: IO Char getChar = hGetChar stdin --- | Read a line from the standard input device--- (same as 'hGetLine' 'stdin').-+-- | Read a line from the standard input device.+--+-- 'getLine' is implemented as @'hGetLine' 'stdin'@.+--+-- This operation may fail with the same errors as 'hGetLine'.+--+-- ==== __Examples__+--+-- >>> getLine+-- > Hello World!+-- "Hello World!"+--+-- >>> getLine+-- >+-- "" getLine :: IO String getLine = hGetLine stdin -- | The 'getContents' operation returns all user input as a single string,--- which is read lazily as it is needed--- (same as 'hGetContents' 'stdin').-+-- which is read lazily as it is needed.+--+-- 'getContents' is implemented as @'hGetContents' 'stdin'@.+--+-- This operation may fail with the same errors as 'hGetContents'.+--+-- ==== __Examples__+--+-- >>> getContents >>= putStr+-- > aaabbbccc :D+-- aaabbbccc :D+-- > I hope you have a great day+-- I hope you have a great day+-- > ^D+--+-- >>> getContents >>= print . length+-- > abc+-- > <3+-- > def ^D+-- 11 getContents :: IO String getContents = hGetContents stdin -- | The 'getContents'' operation returns all user input as a single string, -- which is fully read before being returned--- (same as 'hGetContents'' 'stdin'). --+-- 'getContents'' is implemented as @'hGetContents'' 'stdin'@.+--+-- This operation may fail with the same errors as 'hGetContents''.+--+-- ==== __Examples__+--+-- >>> getContents' >>= putStr+-- > aaabbbccc :D+-- > I hope you have a great day+-- aaabbbccc :D+-- I hope you have a great day+--+-- >>> getContents' >>= print . length+-- > abc+-- > <3+-- > def ^D+-- 11+-- -- @since base-4.15.0.0- getContents' :: IO String getContents' = hGetContents' stdin --- | The 'interact' function takes a function of type @String->String@--- as its argument. The entire input from the standard input device is--- passed to this function as its argument, and the resulting string is--- output on the standard output device.-+-- | @'interact' f@ takes the entire input from 'stdin' and applies @f@ to it.+-- The resulting string is written to the 'stdout' device.+--+-- Note that this operation is lazy, which allows to produce output+-- even before all input has been consumed.+--+-- This operation may fail with the same errors as 'getContents' and 'putStr'.+--+-- ==== __Examples__+--+-- >>> interact (\str -> str ++ str)+-- > hi :)+-- hi :)+-- > ^D+-- hi :)+--+-- >>> interact (const ":D")+-- :D+--+-- >>> interact (show . words)+-- > hello world!+-- > I hope you have a great day+-- > ^D+-- ["hello","world!","I","hope","you","have","a","great","day"] interact :: (String -> String) -> IO () interact f = do s <- getContents putStr (f s) -- | The 'readFile' function reads a file and -- returns the contents of the file as a string.+-- -- The file is read lazily, on demand, as with 'getContents'.-+--+-- This operation may fail with the same errors as 'hGetContents' and 'openFile'.+--+-- ==== __Examples__+--+-- >>> readFile "~/hello_world"+-- "Greetings!"+--+-- >>> take 5 <$> readFile "/dev/zero"+-- "\NUL\NUL\NUL\NUL\NUL" readFile :: FilePath -> IO String readFile name = openFile name ReadMode >>= hGetContents -- | The 'readFile'' function reads a file and -- returns the contents of the file as a string.--- The file is fully read before being returned, as with 'getContents''. --+-- This is identical to 'readFile', but the file is fully read before being returned,+-- as with 'getContents''.+-- -- @since base-4.15.0.0- readFile' :: FilePath -> IO String -- There's a bit of overkill here—both withFile and -- hGetContents' will close the file in the end. readFile' name = withFile name ReadMode hGetContents' --- | The computation 'writeFile' @file str@ function writes the string @str@,+-- | The computation @'writeFile' file str@ function writes the string @str@, -- to the file @file@.+--+-- This operation may fail with the same errors as 'hPutStr' and 'withFile'.+--+-- ==== __Examples__+--+-- >>> writeFile "hello" "world" >> readFile "hello"+-- "world"+--+-- >>> writeFile "~/" "D:"+-- *** Exception: ~/: withFile: inappropriate type (Is a directory) writeFile :: FilePath -> String -> IO () writeFile f txt = withFile f WriteMode (\ hdl -> hPutStr hdl txt) --- | The computation 'appendFile' @file str@ function appends the string @str@,+-- | The computation @'appendFile' file str@ function appends the string @str@, -- to the file @file@. -- -- Note that 'writeFile' and 'appendFile' write a literal string -- to a file. To write a value of any printable type, as with 'print', -- use the 'show' function to convert the value to a string first. ----- > main = appendFile "squares" (show [(x,x*x) | x <- [0,0.1..2]])-+-- This operation may fail with the same errors as 'hPutStr' and 'withFile'.+--+-- ==== __Examples__+--+-- The following example could be more efficently written by acquiring a handle+-- instead with 'openFile' and using the computations capable of writing to handles+-- such as 'hPutStr'.+--+-- >>> let fn = "hello_world"+-- >>> in writeFile fn "hello" >> appendFile fn " world!" >> (readFile fn >>= putStrLn)+-- "hello world!"+--+-- >>> let fn = "foo"; output = readFile' fn >>= putStrLn+-- >>> in output >> appendFile fn (show [1,2,3]) >> output+-- this is what's in the file+-- this is what's in the file[1,2,3] appendFile :: FilePath -> String -> IO () appendFile f txt = withFile f AppendMode (\ hdl -> hPutStr hdl txt) -- | The 'readLn' function combines 'getLine' and 'readIO'.-+--+-- This operation may fail with the same errors as 'getLine' and 'readIO'.+--+-- ==== __Examples__+--+-- >>> fmap (+ 5) readLn+-- > 25+-- 30+--+-- >>> readLn :: IO String+-- > this is not a string literal+-- *** Exception: user error (Prelude.readIO: no parse) readLn :: Read a => IO a readLn = getLine >>= readIO -- | The 'readIO' function is similar to 'read' except that it signals -- parse failure to the 'IO' monad instead of terminating the program.-+--+-- This operation may fail with:+--+-- * 'GHC.Internal.System.IO.Error.isUserError' if there is no unambiguous parse.+--+-- ==== __Examples__+--+-- >>> fmap (+ 1) (readIO "1")+-- 2+--+-- >>> readIO "not quite ()" :: IO ()+-- *** Exception: user error (Prelude.readIO: no parse) readIO :: Read a => String -> IO a readIO s = case (do { (x,t) <- reads s ; ("","") <- lex t ;@@ -380,7 +553,7 @@ [] -> ioError (userError "Prelude.readIO: no parse") _ -> ioError (userError "Prelude.readIO: ambiguous parse") --- | The Unicode encoding of the current locale+-- | The encoding of the current locale. -- -- This is the initial locale encoding: if it has been subsequently changed by -- 'GHC.Internal.IO.Encoding.setLocaleEncoding' this value will not reflect that change.@@ -393,21 +566,22 @@ -- This operation may fail with: -- -- * 'GHC.Internal.System.IO.Error.isEOFError' if the end of file has been reached.- hReady :: Handle -> IO Bool hReady h = hWaitForInput h 0 -- | Computation 'hPrint' @hdl t@ writes the string representation of @t@--- given by the 'shows' function to the file or channel managed by @hdl@+-- given by the 'show' function to the file or channel managed by @hdl@ -- and appends a newline. ----- This operation may fail with:+-- This operation may fail with the same errors as 'hPutStrLn' ----- * 'GHC.Internal.System.IO.Error.isFullError' if the device is full; or+-- ==== __Examples__ ----- * 'GHC.Internal.System.IO.Error.isPermissionError' if another system resource limit--- would be exceeded.-+-- >>> hPrint stdout [1,2,3]+-- [1,2,3]+--+-- >>> hPrint stdin [4,5,6]+-- *** Exception: <stdin>: hPutStr: illegal operation (handle is not open for writing) hPrint :: Show a => Handle -> a -> IO () hPrint hdl = hPutStrLn hdl . show @@ -415,9 +589,50 @@ -- --------------------------------------------------------------------------- -- fixIO --- | The implementation of 'GHC.Internal.Control.Monad.Fix.mfix' for 'IO'. If the function--- passed to 'fixIO' inspects its argument, the resulting action will throw--- 'FixIOException'.+-- | The implementation of 'Control.Monad.Fix.mfix' for 'IO'.+--+-- This operation may fail with:+--+-- * 'FixIOException' if the function passed to 'fixIO' inspects its argument.+--+-- ==== __Examples__+--+-- the IO-action is only executed once. The recursion is only on the values.+--+-- >>> take 3 <$> fixIO (\x -> putStr ":D" >> (:x) <$> readLn @Int)+-- :D+-- 2+-- [2,2,2]+--+-- If we are strict in the value, just as with 'Data.Function.fix', we do not get termination:+--+-- >>> fixIO (\x -> putStr x >> pure ('x' : x))+-- * hangs forever *+--+-- We can tie the knot of a structure within 'IO' using 'fixIO':+--+-- @+-- data Node = MkNode Int (IORef Node)+--+-- foo :: IO ()+-- foo = do+-- p \<- fixIO (\p -> newIORef (MkNode 0 p))+-- q <- output p+-- r <- output q+-- _ <- output r+-- pure ()+--+-- output :: IORef Node -> IO (IORef Node)+-- output ref = do+-- MkNode x p <- readIORef ref+-- print x+-- pure p+-- @+--+-- >>> foo+-- 0+-- 0+-- 0 fixIO :: (a -> IO a) -> IO a fixIO k = do m <- newEmptyMVar@@ -465,7 +680,6 @@ -- @O_EXCL@ flags are used to prevent this attack, but note that -- @O_EXCL@ is sometimes not supported on NFS filesystems, so if you -- rely on this behaviour it is best to use local filesystems only.--- openTempFile :: FilePath -- ^ Directory in which to create the file -> String -- ^ File name template. If the template is \"foo.ext\" then -- the created file will be \"fooXXX.ext\" where XXX is some
src/GHC/Internal/System/IO/Error.hs view
@@ -90,6 +90,7 @@ import GHC.Internal.Data.Maybe import GHC.Internal.Base+import GHC.Internal.Exception.Type import GHC.Internal.IO import GHC.Internal.IO.Exception import GHC.Internal.IO.Handle.Types@@ -320,7 +321,7 @@ -- | Catch any 'IOError' that occurs in the computation and throw a -- modified version. modifyIOError :: (IOError -> IOError) -> IO a -> IO a-modifyIOError f io = catch io (\e -> ioError (f e))+modifyIOError f io = catch io (\e -> throwIO (NoBacktrace $ f e)) -- ----------------------------------------------------------------------------- -- annotating an IOError
src/GHC/Internal/System/Posix/Internals.hs view
@@ -550,11 +550,11 @@ c_lseek :: CInt -> COff -> CInt -> IO COff foreign import javascript interruptible "h$base_lstat" lstat :: CFilePath -> Ptr CStat -> IO CInt-foreign import javascript interruptible "h$base_open"+foreign import javascript interruptible "h$open" c_open :: CFilePath -> CInt -> CMode -> IO CInt-foreign import javascript interruptible "h$base_open"+foreign import javascript interruptible "h$open" c_interruptible_open_ :: CFilePath -> CInt -> CMode -> IO CInt-foreign import javascript interruptible "h$base_open"+foreign import javascript interruptible "h$open" c_safe_open_ :: CFilePath -> CInt -> CMode -> IO CInt foreign import javascript interruptible "h$base_read" c_read :: CInt -> Ptr Word8 -> CSize -> IO CSsize@@ -745,8 +745,13 @@ foreign import capi safe "HsBase.h read" c_safe_read :: CInt -> Ptr Word8 -> CSize -> IO CSsize +#if !defined(HAVE_UMASK)+c_umask :: CMode -> IO CMode+c_umask _ = ioError (ioeSetLocation unsupportedOperation "umask")+#else foreign import ccall unsafe "HsBase.h umask" c_umask :: CMode -> IO CMode+#endif -- See Note [Windows types] foreign import capi unsafe "HsBase.h write"
+ src/GHC/Internal/TH/Lib.hs view
@@ -0,0 +1,1263 @@+{-# OPTIONS_HADDOCK not-home #-}+{-# LANGUAGE CPP #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE StandaloneKindSignatures #-}+{-# LANGUAGE Trustworthy #-}++-- |+-- GHC.Internal.TH.Lib exposes some additional functionality that+-- is used internally in GHC's integration with Template Haskell. This is not a+-- part of the public API, and as such, there are no API guarantees for this+-- module from version to version.++-- Why do we have both GHC.Internal.TH.Lib and+-- Language.Haskell.TH.Lib? Ultimately, it's because the functions in the+-- former (which are tailored for GHC's use) need different type signatures+-- than the ones in the latter. Syncing up the Internal type signatures would+-- involve a massive amount of breaking changes, so for the time being, we+-- relegate as many changes as we can to just the Internal module, where it+-- is safe to break things.++module GHC.Internal.TH.Lib where++import GHC.Internal.TH.Syntax hiding (Role, InjectivityAnn)+import qualified GHC.Internal.TH.Syntax as TH+#ifdef BOOTSTRAP_TH+import Control.Applicative(liftA, Applicative(..))+import qualified Data.Kind as Kind (Type)+import Data.Word( Word8 )+import Data.List.NonEmpty ( NonEmpty(..) )+import GHC.Exts (TYPE)+import Prelude hiding (Applicative(..))+#else+import GHC.Internal.Base hiding (Type, Module, inline)+import GHC.Internal.Data.Foldable+import GHC.Internal.Data.Functor+import GHC.Internal.Data.Maybe+import GHC.Internal.Data.Traversable (traverse, sequenceA)+import GHC.Internal.Integer+import GHC.Internal.List (zip)+import GHC.Internal.Real+import GHC.Internal.Show+import GHC.Internal.Word+import qualified GHC.Types as Kind (Type)+#endif++----------------------------------------------------------+-- * Type synonyms+----------------------------------------------------------++-- | Representation-polymorphic since /template-haskell-2.17.0.0/.+type TExpQ :: TYPE r -> Kind.Type+type TExpQ a = Q (TExp a)++type CodeQ :: TYPE r -> Kind.Type+type CodeQ = Code Q++type InfoQ = Q Info+type PatQ = Q Pat+type FieldPatQ = Q FieldPat+type ExpQ = Q Exp+type DecQ = Q Dec+type DecsQ = Q [Dec]+type Decs = [Dec] -- Defined as it is more convenient to wire-in+type ConQ = Q Con+type TypeQ = Q Type+type KindQ = Q Kind+type TyLitQ = Q TyLit+type CxtQ = Q Cxt+type PredQ = Q Pred+type DerivClauseQ = Q DerivClause+type MatchQ = Q Match+type ClauseQ = Q Clause+type BodyQ = Q Body+type GuardQ = Q Guard+type StmtQ = Q Stmt+type RangeQ = Q Range+type SourceStrictnessQ = Q SourceStrictness+type SourceUnpackednessQ = Q SourceUnpackedness+type BangQ = Q Bang+type BangTypeQ = Q BangType+type VarBangTypeQ = Q VarBangType+type StrictTypeQ = Q StrictType+type VarStrictTypeQ = Q VarStrictType+type FieldExpQ = Q FieldExp+type RuleBndrQ = Q RuleBndr+type TySynEqnQ = Q TySynEqn+type PatSynDirQ = Q PatSynDir+type PatSynArgsQ = Q PatSynArgs+type FamilyResultSigQ = Q FamilyResultSig+type DerivStrategyQ = Q DerivStrategy++-- must be defined here for DsMeta to find it+type Role = TH.Role+type InjectivityAnn = TH.InjectivityAnn++type TyVarBndrUnit = TyVarBndr ()+type TyVarBndrSpec = TyVarBndr Specificity+type TyVarBndrVis = TyVarBndr BndrVis++----------------------------------------------------------+-- * Lowercase pattern syntax functions+----------------------------------------------------------++intPrimL :: Integer -> Lit+intPrimL = IntPrimL+wordPrimL :: Integer -> Lit+wordPrimL = WordPrimL+floatPrimL :: Rational -> Lit+floatPrimL = FloatPrimL+doublePrimL :: Rational -> Lit+doublePrimL = DoublePrimL+integerL :: Integer -> Lit+integerL = IntegerL+charL :: Char -> Lit+charL = CharL+charPrimL :: Char -> Lit+charPrimL = CharPrimL+stringL :: String -> Lit+stringL = StringL+stringPrimL :: [Word8] -> Lit+stringPrimL = StringPrimL+bytesPrimL :: Bytes -> Lit+bytesPrimL = BytesPrimL+rationalL :: Rational -> Lit+rationalL = RationalL++litP :: Quote m => Lit -> m Pat+litP l = pure (LitP l)++varP :: Quote m => Name -> m Pat+varP v = pure (VarP v)++tupP :: Quote m => [m Pat] -> m Pat+tupP ps = do { ps1 <- sequenceA ps; pure (TupP ps1)}++unboxedTupP :: Quote m => [m Pat] -> m Pat+unboxedTupP ps = do { ps1 <- sequenceA ps; pure (UnboxedTupP ps1)}++unboxedSumP :: Quote m => m Pat -> SumAlt -> SumArity -> m Pat+unboxedSumP p alt arity = do { p1 <- p; pure (UnboxedSumP p1 alt arity) }++conP :: Quote m => Name -> [m Type] -> [m Pat] -> m Pat+conP n ts ps = do ps' <- sequenceA ps+ ts' <- sequenceA ts+ pure (ConP n ts' ps')+infixP :: Quote m => m Pat -> Name -> m Pat -> m Pat+infixP p1 n p2 = do p1' <- p1+ p2' <- p2+ pure (InfixP p1' n p2')+uInfixP :: Quote m => m Pat -> Name -> m Pat -> m Pat+uInfixP p1 n p2 = do p1' <- p1+ p2' <- p2+ pure (UInfixP p1' n p2')+parensP :: Quote m => m Pat -> m Pat+parensP p = do p' <- p+ pure (ParensP p')++tildeP :: Quote m => m Pat -> m Pat+tildeP p = do p' <- p+ pure (TildeP p')+bangP :: Quote m => m Pat -> m Pat+bangP p = do p' <- p+ pure (BangP p')+asP :: Quote m => Name -> m Pat -> m Pat+asP n p = do p' <- p+ pure (AsP n p')+wildP :: Quote m => m Pat+wildP = pure WildP+recP :: Quote m => Name -> [m FieldPat] -> m Pat+recP n fps = do fps' <- sequenceA fps+ pure (RecP n fps')+listP :: Quote m => [m Pat] -> m Pat+listP ps = do ps' <- sequenceA ps+ pure (ListP ps')+sigP :: Quote m => m Pat -> m Type -> m Pat+sigP p t = do p' <- p+ t' <- t+ pure (SigP p' t')+typeP :: Quote m => m Type -> m Pat+typeP t = do t' <- t+ pure (TypeP t')+invisP :: Quote m => m Type -> m Pat+invisP t = do t' <- t+ pure (InvisP t')+viewP :: Quote m => m Exp -> m Pat -> m Pat+viewP e p = do e' <- e+ p' <- p+ pure (ViewP e' p')++orP :: Quote m => (NonEmpty (m Pat)) -> m Pat+orP ps = do ps' <- sequenceA ps+ pure (OrP ps')++fieldPat :: Quote m => Name -> m Pat -> m FieldPat+fieldPat n p = do p' <- p+ pure (n, p')+++-------------------------------------------------------------------------------+-- * Stmt++bindS :: Quote m => m Pat -> m Exp -> m Stmt+bindS p e = liftA2 BindS p e++letS :: Quote m => [m Dec] -> m Stmt+letS ds = do { ds1 <- sequenceA ds; pure (LetS ds1) }++noBindS :: Quote m => m Exp -> m Stmt+noBindS e = do { e1 <- e; pure (NoBindS e1) }++parS :: Quote m => [[m Stmt]] -> m Stmt+parS sss = do { sss1 <- traverse sequenceA sss; pure (ParS sss1) }++recS :: Quote m => [m Stmt] -> m Stmt+recS ss = do { ss1 <- sequenceA ss; pure (RecS ss1) }++-------------------------------------------------------------------------------+-- * Range++fromR :: Quote m => m Exp -> m Range+fromR x = do { a <- x; pure (FromR a) }++fromThenR :: Quote m => m Exp -> m Exp -> m Range+fromThenR x y = do { a <- x; b <- y; pure (FromThenR a b) }++fromToR :: Quote m => m Exp -> m Exp -> m Range+fromToR x y = do { a <- x; b <- y; pure (FromToR a b) }++fromThenToR :: Quote m => m Exp -> m Exp -> m Exp -> m Range+fromThenToR x y z = do { a <- x; b <- y; c <- z;+ pure (FromThenToR a b c) }+-------------------------------------------------------------------------------+-- * Body++normalB :: Quote m => m Exp -> m Body+normalB e = do { e1 <- e; pure (NormalB e1) }++guardedB :: Quote m => [m (Guard,Exp)] -> m Body+guardedB ges = do { ges' <- sequenceA ges; pure (GuardedB ges') }++-------------------------------------------------------------------------------+-- * Guard++normalG :: Quote m => m Exp -> m Guard+normalG e = do { e1 <- e; pure (NormalG e1) }++normalGE :: Quote m => m Exp -> m Exp -> m (Guard, Exp)+normalGE g e = do { g1 <- g; e1 <- e; pure (NormalG g1, e1) }++patG :: Quote m => [m Stmt] -> m Guard+patG ss = do { ss' <- sequenceA ss; pure (PatG ss') }++patGE :: Quote m => [m Stmt] -> m Exp -> m (Guard, Exp)+patGE ss e = do { ss' <- sequenceA ss;+ e' <- e;+ pure (PatG ss', e') }++-------------------------------------------------------------------------------+-- * Match and Clause++-- | Use with 'caseE'+match :: Quote m => m Pat -> m Body -> [m Dec] -> m Match+match p rhs ds = do { p' <- p;+ r' <- rhs;+ ds' <- sequenceA ds;+ pure (Match p' r' ds') }++-- | Use with 'funD'+clause :: Quote m => [m Pat] -> m Body -> [m Dec] -> m Clause+clause ps r ds = do { ps' <- sequenceA ps;+ r' <- r;+ ds' <- sequenceA ds;+ pure (Clause ps' r' ds') }++---------------------------------------------------------------------------+-- * Exp++-- | Dynamically binding a variable (unhygienic)+dyn :: Quote m => String -> m Exp+dyn s = pure (VarE (mkName s))++varE :: Quote m => Name -> m Exp+varE s = pure (VarE s)++conE :: Quote m => Name -> m Exp+conE s = pure (ConE s)++litE :: Quote m => Lit -> m Exp+litE c = pure (LitE c)++appE :: Quote m => m Exp -> m Exp -> m Exp+appE x y = do { a <- x; b <- y; pure (AppE a b)}++appTypeE :: Quote m => m Exp -> m Type -> m Exp+appTypeE x t = do { a <- x; s <- t; pure (AppTypeE a s) }++parensE :: Quote m => m Exp -> m Exp+parensE x = do { x' <- x; pure (ParensE x') }++uInfixE :: Quote m => m Exp -> m Exp -> m Exp -> m Exp+uInfixE x s y = do { x' <- x; s' <- s; y' <- y;+ pure (UInfixE x' s' y') }++infixE :: Quote m => Maybe (m Exp) -> m Exp -> Maybe (m Exp) -> m Exp+infixE (Just x) s (Just y) = do { a <- x; s' <- s; b <- y;+ pure (InfixE (Just a) s' (Just b))}+infixE Nothing s (Just y) = do { s' <- s; b <- y;+ pure (InfixE Nothing s' (Just b))}+infixE (Just x) s Nothing = do { a <- x; s' <- s;+ pure (InfixE (Just a) s' Nothing)}+infixE Nothing s Nothing = do { s' <- s; pure (InfixE Nothing s' Nothing) }++infixApp :: Quote m => m Exp -> m Exp -> m Exp -> m Exp+infixApp x y z = infixE (Just x) y (Just z)+sectionL :: Quote m => m Exp -> m Exp -> m Exp+sectionL x y = infixE (Just x) y Nothing+sectionR :: Quote m => m Exp -> m Exp -> m Exp+sectionR x y = infixE Nothing x (Just y)++lamE :: Quote m => [m Pat] -> m Exp -> m Exp+lamE ps e = do ps' <- sequenceA ps+ e' <- e+ pure (LamE ps' e')++-- | Single-arg lambda+lam1E :: Quote m => m Pat -> m Exp -> m Exp+lam1E p e = lamE [p] e++-- | Lambda-case (@\case@)+lamCaseE :: Quote m => [m Match] -> m Exp+lamCaseE ms = LamCaseE <$> sequenceA ms++-- | Lambda-cases (@\cases@)+lamCasesE :: Quote m => [m Clause] -> m Exp+lamCasesE ms = LamCasesE <$> sequenceA ms++tupE :: Quote m => [Maybe (m Exp)] -> m Exp+tupE es = do { es1 <- traverse sequenceA es; pure (TupE es1)}++unboxedTupE :: Quote m => [Maybe (m Exp)] -> m Exp+unboxedTupE es = do { es1 <- traverse sequenceA es; pure (UnboxedTupE es1)}++unboxedSumE :: Quote m => m Exp -> SumAlt -> SumArity -> m Exp+unboxedSumE e alt arity = do { e1 <- e; pure (UnboxedSumE e1 alt arity) }++condE :: Quote m => m Exp -> m Exp -> m Exp -> m Exp+condE x y z = do { a <- x; b <- y; c <- z; pure (CondE a b c)}++multiIfE :: Quote m => [m (Guard, Exp)] -> m Exp+multiIfE alts = MultiIfE <$> sequenceA alts++letE :: Quote m => [m Dec] -> m Exp -> m Exp+letE ds e = do { ds2 <- sequenceA ds; e2 <- e; pure (LetE ds2 e2) }++caseE :: Quote m => m Exp -> [m Match] -> m Exp+caseE e ms = do { e1 <- e; ms1 <- sequenceA ms; pure (CaseE e1 ms1) }++doE :: Quote m => Maybe ModName -> [m Stmt] -> m Exp+doE m ss = do { ss1 <- sequenceA ss; pure (DoE m ss1) }++mdoE :: Quote m => Maybe ModName -> [m Stmt] -> m Exp+mdoE m ss = do { ss1 <- sequenceA ss; pure (MDoE m ss1) }++compE :: Quote m => [m Stmt] -> m Exp+compE ss = do { ss1 <- sequenceA ss; pure (CompE ss1) }++arithSeqE :: Quote m => m Range -> m Exp+arithSeqE r = do { r' <- r; pure (ArithSeqE r') }++listE :: Quote m => [m Exp] -> m Exp+listE es = do { es1 <- sequenceA es; pure (ListE es1) }++sigE :: Quote m => m Exp -> m Type -> m Exp+sigE e t = do { e1 <- e; t1 <- t; pure (SigE e1 t1) }++recConE :: Quote m => Name -> [m (Name,Exp)] -> m Exp+recConE c fs = do { flds <- sequenceA fs; pure (RecConE c flds) }++recUpdE :: Quote m => m Exp -> [m (Name,Exp)] -> m Exp+recUpdE e fs = do { e1 <- e; flds <- sequenceA fs; pure (RecUpdE e1 flds) }++stringE :: Quote m => String -> m Exp+stringE = litE . stringL++fieldExp :: Quote m => Name -> m Exp -> m (Name, Exp)+fieldExp s e = do { e' <- e; pure (s,e') }++-- | @staticE x = [| static x |]@+staticE :: Quote m => m Exp -> m Exp+staticE = fmap StaticE++unboundVarE :: Quote m => Name -> m Exp+unboundVarE s = pure (UnboundVarE s)++labelE :: Quote m => String -> m Exp+labelE s = pure (LabelE s)++implicitParamVarE :: Quote m => String -> m Exp+implicitParamVarE n = pure (ImplicitParamVarE n)++getFieldE :: Quote m => m Exp -> String -> m Exp+getFieldE e f = do+ e' <- e+ pure (GetFieldE e' f)++projectionE :: Quote m => NonEmpty String -> m Exp+projectionE xs = pure (ProjectionE xs)++typedSpliceE :: Quote m => m Exp -> m Exp+typedSpliceE = fmap TypedSpliceE++typedBracketE :: Quote m => m Exp -> m Exp+typedBracketE = fmap TypedBracketE++-- ** 'arithSeqE' Shortcuts+fromE :: Quote m => m Exp -> m Exp+fromE x = do { a <- x; pure (ArithSeqE (FromR a)) }++fromThenE :: Quote m => m Exp -> m Exp -> m Exp+fromThenE x y = do { a <- x; b <- y; pure (ArithSeqE (FromThenR a b)) }++fromToE :: Quote m => m Exp -> m Exp -> m Exp+fromToE x y = do { a <- x; b <- y; pure (ArithSeqE (FromToR a b)) }++fromThenToE :: Quote m => m Exp -> m Exp -> m Exp -> m Exp+fromThenToE x y z = do { a <- x; b <- y; c <- z;+ pure (ArithSeqE (FromThenToR a b c)) }++typeE :: Quote m => m Type -> m Exp+typeE = fmap TypeE++forallE :: Quote m => [m (TyVarBndr Specificity)] -> m Exp -> m Exp+forallE tvars body = ForallE <$> sequenceA tvars <*> body++forallVisE :: Quote m => [m (TyVarBndr ())] -> m Exp -> m Exp+forallVisE tvars body = ForallVisE <$> sequenceA tvars <*> body++constrainedE :: Quote m => [m Exp] -> m Exp -> m Exp+constrainedE ctx body = ConstrainedE <$> sequenceA ctx <*> body++-------------------------------------------------------------------------------+-- * Dec++valD :: Quote m => m Pat -> m Body -> [m Dec] -> m Dec+valD p b ds =+ do { p' <- p+ ; ds' <- sequenceA ds+ ; b' <- b+ ; pure (ValD p' b' ds')+ }++funD :: Quote m => Name -> [m Clause] -> m Dec+funD nm cs =+ do { cs1 <- sequenceA cs+ ; pure (FunD nm cs1)+ }++tySynD :: Quote m => Name -> [m (TyVarBndr BndrVis)] -> m Type -> m Dec+tySynD tc tvs rhs =+ do { tvs1 <- sequenceA tvs+ ; rhs1 <- rhs+ ; pure (TySynD tc tvs1 rhs1)+ }++dataD :: Quote m => m Cxt -> Name -> [m (TyVarBndr BndrVis)] -> Maybe (m Kind) -> [m Con]+ -> [m DerivClause] -> m Dec+dataD ctxt tc tvs ksig cons derivs =+ do+ ctxt1 <- ctxt+ tvs1 <- sequenceA tvs+ ksig1 <- sequenceA ksig+ cons1 <- sequenceA cons+ derivs1 <- sequenceA derivs+ pure (DataD ctxt1 tc tvs1 ksig1 cons1 derivs1)++newtypeD :: Quote m => m Cxt -> Name -> [m (TyVarBndr BndrVis)] -> Maybe (m Kind) -> m Con+ -> [m DerivClause] -> m Dec+newtypeD ctxt tc tvs ksig con derivs =+ do+ ctxt1 <- ctxt+ tvs1 <- sequenceA tvs+ ksig1 <- sequenceA ksig+ con1 <- con+ derivs1 <- sequenceA derivs+ pure (NewtypeD ctxt1 tc tvs1 ksig1 con1 derivs1)++typeDataD :: Quote m => Name -> [m (TyVarBndr BndrVis)] -> Maybe (m Kind) -> [m Con]+ -> m Dec+typeDataD tc tvs ksig cons =+ do+ tvs1 <- sequenceA tvs+ ksig1 <- sequenceA ksig+ cons1 <- sequenceA cons+ pure (TypeDataD tc tvs1 ksig1 cons1)++classD :: Quote m => m Cxt -> Name -> [m (TyVarBndr BndrVis)] -> [FunDep] -> [m Dec] -> m Dec+classD ctxt cls tvs fds decs =+ do+ tvs1 <- sequenceA tvs+ decs1 <- sequenceA decs+ ctxt1 <- ctxt+ pure $ ClassD ctxt1 cls tvs1 fds decs1++instanceD :: Quote m => m Cxt -> m Type -> [m Dec] -> m Dec+instanceD = instanceWithOverlapD Nothing++instanceWithOverlapD :: Quote m => Maybe Overlap -> m Cxt -> m Type -> [m Dec] -> m Dec+instanceWithOverlapD o ctxt ty decs =+ do+ ctxt1 <- ctxt+ decs1 <- sequenceA decs+ ty1 <- ty+ pure $ InstanceD o ctxt1 ty1 decs1++++sigD :: Quote m => Name -> m Type -> m Dec+sigD fun ty = liftA (SigD fun) $ ty++kiSigD :: Quote m => Name -> m Kind -> m Dec+kiSigD fun ki = liftA (KiSigD fun) $ ki++forImpD :: Quote m => Callconv -> Safety -> String -> Name -> m Type -> m Dec+forImpD cc s str n ty+ = do ty' <- ty+ pure $ ForeignD (ImportF cc s str n ty')++infixLD :: Quote m => Int -> Name -> m Dec+infixLD prec = infixLWithSpecD prec NoNamespaceSpecifier++infixRD :: Quote m => Int -> Name -> m Dec+infixRD prec = infixRWithSpecD prec NoNamespaceSpecifier++infixND :: Quote m => Int -> Name -> m Dec+infixND prec = infixNWithSpecD prec NoNamespaceSpecifier++infixLWithSpecD :: Quote m => Int -> NamespaceSpecifier -> Name -> m Dec+infixLWithSpecD prec ns_spec nm = pure (InfixD (Fixity prec InfixL) ns_spec nm)++infixRWithSpecD :: Quote m => Int -> NamespaceSpecifier -> Name -> m Dec+infixRWithSpecD prec ns_spec nm = pure (InfixD (Fixity prec InfixR) ns_spec nm)++infixNWithSpecD :: Quote m => Int -> NamespaceSpecifier -> Name -> m Dec+infixNWithSpecD prec ns_spec nm = pure (InfixD (Fixity prec InfixN) ns_spec nm)++defaultD :: Quote m => [m Type] -> m Dec+defaultD tys = DefaultD <$> sequenceA tys++pragInlD :: Quote m => Name -> Inline -> RuleMatch -> Phases -> m Dec+pragInlD name inline rm phases+ = pure $ PragmaD $ InlineP name inline rm phases++pragOpaqueD :: Quote m => Name -> m Dec+pragOpaqueD name = pure $ PragmaD $ OpaqueP name++pragSpecD :: Quote m => Name -> m Type -> Phases -> m Dec+pragSpecD n ty phases+ = do+ ty1 <- ty+ pure $ PragmaD $ SpecialiseP n ty1 Nothing phases++pragSpecInlD :: Quote m => Name -> m Type -> Inline -> Phases -> m Dec+pragSpecInlD n ty inline phases+ = do+ ty1 <- ty+ pure $ PragmaD $ SpecialiseP n ty1 (Just inline) phases++pragSpecInstD :: Quote m => m Type -> m Dec+pragSpecInstD ty+ = do+ ty1 <- ty+ pure $ PragmaD $ SpecialiseInstP ty1++pragRuleD :: Quote m => String -> Maybe [m (TyVarBndr ())] -> [m RuleBndr] -> m Exp -> m Exp+ -> Phases -> m Dec+pragRuleD n ty_bndrs tm_bndrs lhs rhs phases+ = do+ ty_bndrs1 <- traverse sequenceA ty_bndrs+ tm_bndrs1 <- sequenceA tm_bndrs+ lhs1 <- lhs+ rhs1 <- rhs+ pure $ PragmaD $ RuleP n ty_bndrs1 tm_bndrs1 lhs1 rhs1 phases++pragAnnD :: Quote m => AnnTarget -> m Exp -> m Dec+pragAnnD target expr+ = do+ exp1 <- expr+ pure $ PragmaD $ AnnP target exp1++pragLineD :: Quote m => Int -> String -> m Dec+pragLineD line file = pure $ PragmaD $ LineP line file++pragCompleteD :: Quote m => [Name] -> Maybe Name -> m Dec+pragCompleteD cls mty = pure $ PragmaD $ CompleteP cls mty++pragSCCFunD :: Quote m => Name -> m Dec+pragSCCFunD nm = pure $ PragmaD $ SCCP nm Nothing++pragSCCFunNamedD :: Quote m => Name -> String -> m Dec+pragSCCFunNamedD nm str = pure $ PragmaD $ SCCP nm (Just str)++dataInstD :: Quote m => m Cxt -> (Maybe [m (TyVarBndr ())]) -> m Type -> Maybe (m Kind) -> [m Con]+ -> [m DerivClause] -> m Dec+dataInstD ctxt mb_bndrs ty ksig cons derivs =+ do+ ctxt1 <- ctxt+ mb_bndrs1 <- traverse sequenceA mb_bndrs+ ty1 <- ty+ ksig1 <- sequenceA ksig+ cons1 <- sequenceA cons+ derivs1 <- sequenceA derivs+ pure (DataInstD ctxt1 mb_bndrs1 ty1 ksig1 cons1 derivs1)++newtypeInstD :: Quote m => m Cxt -> (Maybe [m (TyVarBndr ())]) -> m Type -> Maybe (m Kind) -> m Con+ -> [m DerivClause] -> m Dec+newtypeInstD ctxt mb_bndrs ty ksig con derivs =+ do+ ctxt1 <- ctxt+ mb_bndrs1 <- traverse sequenceA mb_bndrs+ ty1 <- ty+ ksig1 <- sequenceA ksig+ con1 <- con+ derivs1 <- sequenceA derivs+ pure (NewtypeInstD ctxt1 mb_bndrs1 ty1 ksig1 con1 derivs1)++tySynInstD :: Quote m => m TySynEqn -> m Dec+tySynInstD eqn =+ do+ eqn1 <- eqn+ pure (TySynInstD eqn1)++dataFamilyD :: Quote m => Name -> [m (TyVarBndr BndrVis)] -> Maybe (m Kind) -> m Dec+dataFamilyD tc tvs kind =+ do tvs' <- sequenceA tvs+ kind' <- sequenceA kind+ pure $ DataFamilyD tc tvs' kind'++openTypeFamilyD :: Quote m => Name -> [m (TyVarBndr BndrVis)] -> m FamilyResultSig+ -> Maybe InjectivityAnn -> m Dec+openTypeFamilyD tc tvs res inj =+ do tvs' <- sequenceA tvs+ res' <- res+ pure $ OpenTypeFamilyD (TypeFamilyHead tc tvs' res' inj)++closedTypeFamilyD :: Quote m => Name -> [m (TyVarBndr BndrVis)] -> m FamilyResultSig+ -> Maybe InjectivityAnn -> [m TySynEqn] -> m Dec+closedTypeFamilyD tc tvs result injectivity eqns =+ do tvs1 <- sequenceA tvs+ result1 <- result+ eqns1 <- sequenceA eqns+ pure (ClosedTypeFamilyD (TypeFamilyHead tc tvs1 result1 injectivity) eqns1)++roleAnnotD :: Quote m => Name -> [Role] -> m Dec+roleAnnotD name roles = pure $ RoleAnnotD name roles++standaloneDerivD :: Quote m => m Cxt -> m Type -> m Dec+standaloneDerivD = standaloneDerivWithStrategyD Nothing++standaloneDerivWithStrategyD :: Quote m => Maybe (m DerivStrategy) -> m Cxt -> m Type -> m Dec+standaloneDerivWithStrategyD mdsq ctxtq tyq =+ do+ mds <- sequenceA mdsq+ ctxt <- ctxtq+ ty <- tyq+ pure $ StandaloneDerivD mds ctxt ty++defaultSigD :: Quote m => Name -> m Type -> m Dec+defaultSigD n tyq =+ do+ ty <- tyq+ pure $ DefaultSigD n ty++-- | Pattern synonym declaration+patSynD :: Quote m => Name -> m PatSynArgs -> m PatSynDir -> m Pat -> m Dec+patSynD name args dir pat = do+ args' <- args+ dir' <- dir+ pat' <- pat+ pure (PatSynD name args' dir' pat')++-- | Pattern synonym type signature+patSynSigD :: Quote m => Name -> m Type -> m Dec+patSynSigD nm ty =+ do ty' <- ty+ pure $ PatSynSigD nm ty'++-- | Implicit parameter binding declaration. Can only be used in let+-- and where clauses which consist entirely of implicit bindings.+implicitParamBindD :: Quote m => String -> m Exp -> m Dec+implicitParamBindD n e =+ do+ e' <- e+ pure $ ImplicitParamBindD n e'++tySynEqn :: Quote m => (Maybe [m (TyVarBndr ())]) -> m Type -> m Type -> m TySynEqn+tySynEqn mb_bndrs lhs rhs =+ do+ mb_bndrs1 <- traverse sequenceA mb_bndrs+ lhs1 <- lhs+ rhs1 <- rhs+ pure (TySynEqn mb_bndrs1 lhs1 rhs1)++cxt :: Quote m => [m Pred] -> m Cxt+cxt = sequenceA++derivClause :: Quote m => Maybe (m DerivStrategy) -> [m Pred] -> m DerivClause+derivClause mds p = do mds' <- sequenceA mds+ p' <- cxt p+ pure $ DerivClause mds' p'++stockStrategy :: Quote m => m DerivStrategy+stockStrategy = pure StockStrategy++anyclassStrategy :: Quote m => m DerivStrategy+anyclassStrategy = pure AnyclassStrategy++newtypeStrategy :: Quote m => m DerivStrategy+newtypeStrategy = pure NewtypeStrategy++viaStrategy :: Quote m => m Type -> m DerivStrategy+viaStrategy = fmap ViaStrategy++normalC :: Quote m => Name -> [m BangType] -> m Con+normalC con strtys = liftA (NormalC con) $ sequenceA strtys++recC :: Quote m => Name -> [m VarBangType] -> m Con+recC con varstrtys = liftA (RecC con) $ sequenceA varstrtys++infixC :: Quote m => m (Bang, Type) -> Name -> m (Bang, Type) -> m Con+infixC st1 con st2 = do st1' <- st1+ st2' <- st2+ pure $ InfixC st1' con st2'++forallC :: Quote m => [m (TyVarBndr Specificity)] -> m Cxt -> m Con -> m Con+forallC ns ctxt con = do+ ns' <- sequenceA ns+ ctxt' <- ctxt+ con' <- con+ pure $ ForallC ns' ctxt' con'++gadtC :: Quote m => [Name] -> [m StrictType] -> m Type -> m Con+gadtC cons strtys ty = liftA2 (GadtC cons) (sequenceA strtys) ty++recGadtC :: Quote m => [Name] -> [m VarStrictType] -> m Type -> m Con+recGadtC cons varstrtys ty = liftA2 (RecGadtC cons) (sequenceA varstrtys) ty++-------------------------------------------------------------------------------+-- * Type++forallT :: Quote m => [m (TyVarBndr Specificity)] -> m Cxt -> m Type -> m Type+forallT tvars ctxt ty = do+ tvars1 <- sequenceA tvars+ ctxt1 <- ctxt+ ty1 <- ty+ pure $ ForallT tvars1 ctxt1 ty1++forallVisT :: Quote m => [m (TyVarBndr ())] -> m Type -> m Type+forallVisT tvars ty = ForallVisT <$> sequenceA tvars <*> ty++varT :: Quote m => Name -> m Type+varT = pure . VarT++conT :: Quote m => Name -> m Type+conT = pure . ConT++infixT :: Quote m => m Type -> Name -> m Type -> m Type+infixT t1 n t2 = do t1' <- t1+ t2' <- t2+ pure (InfixT t1' n t2')++uInfixT :: Quote m => m Type -> Name -> m Type -> m Type+uInfixT t1 n t2 = do t1' <- t1+ t2' <- t2+ pure (UInfixT t1' n t2')++promotedInfixT :: Quote m => m Type -> Name -> m Type -> m Type+promotedInfixT t1 n t2 = do t1' <- t1+ t2' <- t2+ pure (PromotedInfixT t1' n t2')++promotedUInfixT :: Quote m => m Type -> Name -> m Type -> m Type+promotedUInfixT t1 n t2 = do t1' <- t1+ t2' <- t2+ pure (PromotedUInfixT t1' n t2')++parensT :: Quote m => m Type -> m Type+parensT t = do t' <- t+ pure (ParensT t')++appT :: Quote m => m Type -> m Type -> m Type+appT t1 t2 = do+ t1' <- t1+ t2' <- t2+ pure $ AppT t1' t2'++appKindT :: Quote m => m Type -> m Kind -> m Type+appKindT ty ki = do+ ty' <- ty+ ki' <- ki+ pure $ AppKindT ty' ki'++arrowT :: Quote m => m Type+arrowT = pure ArrowT++mulArrowT :: Quote m => m Type+mulArrowT = pure MulArrowT++listT :: Quote m => m Type+listT = pure ListT++litT :: Quote m => m TyLit -> m Type+litT l = fmap LitT l++tupleT :: Quote m => Int -> m Type+tupleT i = pure (TupleT i)++unboxedTupleT :: Quote m => Int -> m Type+unboxedTupleT i = pure (UnboxedTupleT i)++unboxedSumT :: Quote m => SumArity -> m Type+unboxedSumT arity = pure (UnboxedSumT arity)++sigT :: Quote m => m Type -> m Kind -> m Type+sigT t k+ = do+ t' <- t+ k' <- k+ pure $ SigT t' k'++equalityT :: Quote m => m Type+equalityT = pure EqualityT++wildCardT :: Quote m => m Type+wildCardT = pure WildCardT++implicitParamT :: Quote m => String -> m Type -> m Type+implicitParamT n t+ = do+ t' <- t+ pure $ ImplicitParamT n t'++{-# DEPRECATED classP "As of template-haskell-2.10, constraint predicates (Pred) are just types (Type), in keeping with ConstraintKinds. Please use 'conT' and 'appT'." #-}+classP :: Quote m => Name -> [m Type] -> m Pred+classP cla tys+ = do+ tysl <- sequenceA tys+ pure (foldl AppT (ConT cla) tysl)++{-# DEPRECATED equalP "As of template-haskell-2.10, constraint predicates (Pred) are just types (Type), in keeping with ConstraintKinds. Please see 'equalityT'." #-}+equalP :: Quote m => m Type -> m Type -> m Pred+equalP tleft tright+ = do+ tleft1 <- tleft+ tright1 <- tright+ eqT <- equalityT+ pure (foldl AppT eqT [tleft1, tright1])++promotedT :: Quote m => Name -> m Type+promotedT = pure . PromotedT++promotedTupleT :: Quote m => Int -> m Type+promotedTupleT i = pure (PromotedTupleT i)++promotedNilT :: Quote m => m Type+promotedNilT = pure PromotedNilT++promotedConsT :: Quote m => m Type+promotedConsT = pure PromotedConsT++noSourceUnpackedness, sourceNoUnpack, sourceUnpack :: Quote m => m SourceUnpackedness+noSourceUnpackedness = pure NoSourceUnpackedness+sourceNoUnpack = pure SourceNoUnpack+sourceUnpack = pure SourceUnpack++noSourceStrictness, sourceLazy, sourceStrict :: Quote m => m SourceStrictness+noSourceStrictness = pure NoSourceStrictness+sourceLazy = pure SourceLazy+sourceStrict = pure SourceStrict++{-# DEPRECATED isStrict+ ["Use 'bang'. See https://gitlab.haskell.org/ghc/ghc/wikis/migration/8.0. ",+ "Example usage: 'bang noSourceUnpackedness sourceStrict'"] #-}+{-# DEPRECATED notStrict+ ["Use 'bang'. See https://gitlab.haskell.org/ghc/ghc/wikis/migration/8.0. ",+ "Example usage: 'bang noSourceUnpackedness noSourceStrictness'"] #-}+{-# DEPRECATED unpacked+ ["Use 'bang'. See https://gitlab.haskell.org/ghc/ghc/wikis/migration/8.0. ",+ "Example usage: 'bang sourceUnpack sourceStrict'"] #-}+isStrict, notStrict, unpacked :: Quote m => m Strict+isStrict = bang noSourceUnpackedness sourceStrict+notStrict = bang noSourceUnpackedness noSourceStrictness+unpacked = bang sourceUnpack sourceStrict++bang :: Quote m => m SourceUnpackedness -> m SourceStrictness -> m Bang+bang u s = do u' <- u+ s' <- s+ pure (Bang u' s')++bangType :: Quote m => m Bang -> m Type -> m BangType+bangType = liftA2 (,)++varBangType :: Quote m => Name -> m BangType -> m VarBangType+varBangType v bt = (\(b, t) -> (v, b, t)) <$> bt++{-# DEPRECATED strictType+ "As of @template-haskell-2.11.0.0@, 'StrictType' has been replaced by 'BangType'. Please use 'bangType' instead." #-}+strictType :: Quote m => m Strict -> m Type -> m StrictType+strictType = bangType++{-# DEPRECATED varStrictType+ "As of @template-haskell-2.11.0.0@, 'VarStrictType' has been replaced by 'VarBangType'. Please use 'varBangType' instead." #-}+varStrictType :: Quote m => Name -> m StrictType -> m VarStrictType+varStrictType = varBangType++-- * Type Literals++-- MonadFail here complicates things (a lot) because it would mean we would+-- have to emit a MonadFail constraint during typechecking if there was any+-- chance the desugaring would use numTyLit, which in general is hard to+-- predict.+numTyLit :: Quote m => Integer -> m TyLit+numTyLit n = if n >= 0 then pure (NumTyLit n)+ else error ("Negative type-level number: " ++ show n)++strTyLit :: Quote m => String -> m TyLit+strTyLit s = pure (StrTyLit s)++charTyLit :: Quote m => Char -> m TyLit+charTyLit c = pure (CharTyLit c)++-------------------------------------------------------------------------------+-- * Kind++plainTV :: Quote m => Name -> m (TyVarBndr ())+plainTV n = pure $ PlainTV n ()++plainInvisTV :: Quote m => Name -> Specificity -> m (TyVarBndr Specificity)+plainInvisTV n s = pure $ PlainTV n s++plainBndrTV :: Quote m => Name -> BndrVis -> m (TyVarBndr BndrVis)+plainBndrTV n v = pure $ PlainTV n v++kindedTV :: Quote m => Name -> m Kind -> m (TyVarBndr ())+kindedTV n = fmap (KindedTV n ())++kindedInvisTV :: Quote m => Name -> Specificity -> m Kind -> m (TyVarBndr Specificity)+kindedInvisTV n s = fmap (KindedTV n s)++kindedBndrTV :: Quote m => Name -> BndrVis -> m Kind -> m (TyVarBndr BndrVis)+kindedBndrTV n v = fmap (KindedTV n v)++specifiedSpec :: Specificity+specifiedSpec = SpecifiedSpec++inferredSpec :: Specificity+inferredSpec = InferredSpec++bndrReq :: BndrVis+bndrReq = BndrReq++bndrInvis :: BndrVis+bndrInvis = BndrInvis++varK :: Name -> Kind+varK = VarT++conK :: Name -> Kind+conK = ConT++tupleK :: Int -> Kind+tupleK = TupleT++arrowK :: Kind+arrowK = ArrowT++listK :: Kind+listK = ListT++appK :: Kind -> Kind -> Kind+appK = AppT++starK :: Quote m => m Kind+starK = pure StarT++constraintK :: Quote m => m Kind+constraintK = pure ConstraintT++-------------------------------------------------------------------------------+-- * Type family result++noSig :: Quote m => m FamilyResultSig+noSig = pure NoSig++kindSig :: Quote m => m Kind -> m FamilyResultSig+kindSig = fmap KindSig++tyVarSig :: Quote m => m (TyVarBndr ()) -> m FamilyResultSig+tyVarSig = fmap TyVarSig++-------------------------------------------------------------------------------+-- * Injectivity annotation++injectivityAnn :: Name -> [Name] -> InjectivityAnn+injectivityAnn = TH.InjectivityAnn++-------------------------------------------------------------------------------+-- * Role++nominalR, representationalR, phantomR, inferR :: Role+nominalR = NominalR+representationalR = RepresentationalR+phantomR = PhantomR+inferR = InferR++-------------------------------------------------------------------------------+-- * Callconv++cCall, stdCall, cApi, prim, javaScript :: Callconv+cCall = CCall+stdCall = StdCall+cApi = CApi+prim = Prim+javaScript = JavaScript++-------------------------------------------------------------------------------+-- * Safety++unsafe, safe, interruptible :: Safety+unsafe = Unsafe+safe = Safe+interruptible = Interruptible++-------------------------------------------------------------------------------+-- * FunDep++funDep :: [Name] -> [Name] -> FunDep+funDep = FunDep++-------------------------------------------------------------------------------+-- * RuleBndr+ruleVar :: Quote m => Name -> m RuleBndr+ruleVar = pure . RuleVar++typedRuleVar :: Quote m => Name -> m Type -> m RuleBndr+typedRuleVar n ty = TypedRuleVar n <$> ty++-------------------------------------------------------------------------------+-- * AnnTarget+valueAnnotation :: Name -> AnnTarget+valueAnnotation = ValueAnnotation++typeAnnotation :: Name -> AnnTarget+typeAnnotation = TypeAnnotation++moduleAnnotation :: AnnTarget+moduleAnnotation = ModuleAnnotation++-------------------------------------------------------------------------------+-- * Pattern Synonyms (sub constructs)++unidir, implBidir :: Quote m => m PatSynDir+unidir = pure Unidir+implBidir = pure ImplBidir++explBidir :: Quote m => [m Clause] -> m PatSynDir+explBidir cls = do+ cls' <- sequenceA cls+ pure (ExplBidir cls')++prefixPatSyn :: Quote m => [Name] -> m PatSynArgs+prefixPatSyn args = pure $ PrefixPatSyn args++recordPatSyn :: Quote m => [Name] -> m PatSynArgs+recordPatSyn sels = pure $ RecordPatSyn sels++infixPatSyn :: Quote m => Name -> Name -> m PatSynArgs+infixPatSyn arg1 arg2 = pure $ InfixPatSyn arg1 arg2++--------------------------------------------------------------+-- * Useful helper function++appsE :: Quote m => [m Exp] -> m Exp+appsE [] = error "appsE []"+appsE [x] = x+appsE (x:y:zs) = appsE ( (appE x y) : zs )++-- | pure the Module at the place of splicing. Can be used as an+-- input for 'reifyModule'.+thisModule :: Q Module+thisModule = do+ loc <- location+ pure $ Module (mkPkgName $ loc_package loc) (mkModName $ loc_module loc)++--------------------------------------------------------------+-- * Documentation combinators++-- | Attaches Haddock documentation to the declaration provided. Unlike+-- 'putDoc', the names do not need to be in scope when calling this function so+-- it can be used for quoted declarations and anything else currently being+-- spliced.+-- Not all declarations can have documentation attached to them. For those that+-- can't, 'withDecDoc' will return it unchanged without any side effects.+withDecDoc :: String -> Q Dec -> Q Dec+withDecDoc doc dec = do+ dec' <- dec+ case doc_loc dec' of+ Just loc -> qAddModFinalizer $ qPutDoc loc doc+ Nothing -> pure ()+ pure dec'+ where+ doc_loc (FunD n _) = Just $ DeclDoc n+ doc_loc (ValD (VarP n) _ _) = Just $ DeclDoc n+ doc_loc (DataD _ n _ _ _ _) = Just $ DeclDoc n+ doc_loc (NewtypeD _ n _ _ _ _) = Just $ DeclDoc n+ doc_loc (TypeDataD n _ _ _) = Just $ DeclDoc n+ doc_loc (TySynD n _ _) = Just $ DeclDoc n+ doc_loc (ClassD _ n _ _ _) = Just $ DeclDoc n+ doc_loc (SigD n _) = Just $ DeclDoc n+ doc_loc (ForeignD (ImportF _ _ _ n _)) = Just $ DeclDoc n+ doc_loc (ForeignD (ExportF _ _ n _)) = Just $ DeclDoc n+ doc_loc (InfixD _ _ n) = Just $ DeclDoc n+ doc_loc (DataFamilyD n _ _) = Just $ DeclDoc n+ doc_loc (OpenTypeFamilyD (TypeFamilyHead n _ _ _)) = Just $ DeclDoc n+ doc_loc (ClosedTypeFamilyD (TypeFamilyHead n _ _ _) _) = Just $ DeclDoc n+ doc_loc (PatSynD n _ _ _) = Just $ DeclDoc n+ doc_loc (PatSynSigD n _) = Just $ DeclDoc n++ -- For instances we just pass along the full type+ doc_loc (InstanceD _ _ t _) = Just $ InstDoc t+ doc_loc (DataInstD _ _ t _ _ _) = Just $ InstDoc t+ doc_loc (NewtypeInstD _ _ t _ _ _) = Just $ InstDoc t+ doc_loc (TySynInstD (TySynEqn _ t _)) = Just $ InstDoc t++ -- Declarations that can't have documentation attached to+ -- ValDs that aren't a simple variable pattern+ doc_loc (ValD _ _ _) = Nothing+ doc_loc (KiSigD _ _) = Nothing+ doc_loc (PragmaD _) = Nothing+ doc_loc (RoleAnnotD _ _) = Nothing+ doc_loc (StandaloneDerivD _ _ _) = Nothing+ doc_loc (DefaultSigD _ _) = Nothing+ doc_loc (ImplicitParamBindD _ _) = Nothing+ doc_loc (DefaultD _) = Nothing++-- | Variant of 'withDecDoc' that applies the same documentation to+-- multiple declarations. Useful for documenting quoted declarations.+withDecsDoc :: String -> Q [Dec] -> Q [Dec]+withDecsDoc doc decs = decs >>= mapM (withDecDoc doc . pure)++-- | Variant of 'funD' that attaches Haddock documentation.+funD_doc :: Name -> [Q Clause]+ -> Maybe String -- ^ Documentation to attach to function+ -> [Maybe String] -- ^ Documentation to attach to arguments+ -> Q Dec+funD_doc nm cs mfun_doc arg_docs = do+ qAddModFinalizer $ sequence_+ [putDoc (ArgDoc nm i) s | (i, Just s) <- zip [0..] arg_docs]+ let dec = funD nm cs+ case mfun_doc of+ Just fun_doc -> withDecDoc fun_doc dec+ Nothing -> funD nm cs++-- | Variant of 'dataD' that attaches Haddock documentation.+dataD_doc :: Q Cxt -> Name -> [Q (TyVarBndr BndrVis)] -> Maybe (Q Kind)+ -> [(Q Con, Maybe String, [Maybe String])]+ -- ^ List of constructors, documentation for the constructor, and+ -- documentation for the arguments+ -> [Q DerivClause]+ -> Maybe String+ -- ^ Documentation to attach to the data declaration+ -> Q Dec+dataD_doc ctxt tc tvs ksig cons_with_docs derivs mdoc = do+ qAddModFinalizer $ mapM_ docCons cons_with_docs+ let dec = dataD ctxt tc tvs ksig (map (\(con, _, _) -> con) cons_with_docs) derivs+ maybe dec (flip withDecDoc dec) mdoc++-- | Variant of 'newtypeD' that attaches Haddock documentation.+newtypeD_doc :: Q Cxt -> Name -> [Q (TyVarBndr BndrVis)] -> Maybe (Q Kind)+ -> (Q Con, Maybe String, [Maybe String])+ -- ^ The constructor, documentation for the constructor, and+ -- documentation for the arguments+ -> [Q DerivClause]+ -> Maybe String+ -- ^ Documentation to attach to the newtype declaration+ -> Q Dec+newtypeD_doc ctxt tc tvs ksig con_with_docs@(con, _, _) derivs mdoc = do+ qAddModFinalizer $ docCons con_with_docs+ let dec = newtypeD ctxt tc tvs ksig con derivs+ maybe dec (flip withDecDoc dec) mdoc++-- | Variant of 'typeDataD' that attaches Haddock documentation.+typeDataD_doc :: Name -> [Q (TyVarBndr BndrVis)] -> Maybe (Q Kind)+ -> [(Q Con, Maybe String, [Maybe String])]+ -- ^ List of constructors, documentation for the constructor, and+ -- documentation for the arguments+ -> Maybe String+ -- ^ Documentation to attach to the data declaration+ -> Q Dec+typeDataD_doc tc tvs ksig cons_with_docs mdoc = do+ qAddModFinalizer $ mapM_ docCons cons_with_docs+ let dec = typeDataD tc tvs ksig (map (\(con, _, _) -> con) cons_with_docs)+ maybe dec (flip withDecDoc dec) mdoc++-- | Variant of 'dataInstD' that attaches Haddock documentation.+dataInstD_doc :: Q Cxt -> (Maybe [Q (TyVarBndr ())]) -> Q Type -> Maybe (Q Kind)+ -> [(Q Con, Maybe String, [Maybe String])]+ -- ^ List of constructors, documentation for the constructor, and+ -- documentation for the arguments+ -> [Q DerivClause]+ -> Maybe String+ -- ^ Documentation to attach to the instance declaration+ -> Q Dec+dataInstD_doc ctxt mb_bndrs ty ksig cons_with_docs derivs mdoc = do+ qAddModFinalizer $ mapM_ docCons cons_with_docs+ let dec = dataInstD ctxt mb_bndrs ty ksig (map (\(con, _, _) -> con) cons_with_docs)+ derivs+ maybe dec (flip withDecDoc dec) mdoc++-- | Variant of 'newtypeInstD' that attaches Haddock documentation.+newtypeInstD_doc :: Q Cxt -> (Maybe [Q (TyVarBndr ())]) -> Q Type+ -> Maybe (Q Kind)+ -> (Q Con, Maybe String, [Maybe String])+ -- ^ The constructor, documentation for the constructor, and+ -- documentation for the arguments+ -> [Q DerivClause]+ -> Maybe String+ -- ^ Documentation to attach to the instance declaration+ -> Q Dec+newtypeInstD_doc ctxt mb_bndrs ty ksig con_with_docs@(con, _, _) derivs mdoc = do+ qAddModFinalizer $ docCons con_with_docs+ let dec = newtypeInstD ctxt mb_bndrs ty ksig con derivs+ maybe dec (flip withDecDoc dec) mdoc++-- | Variant of 'patSynD' that attaches Haddock documentation.+patSynD_doc :: Name -> Q PatSynArgs -> Q PatSynDir -> Q Pat+ -> Maybe String -- ^ Documentation to attach to the pattern synonym+ -> [Maybe String] -- ^ Documentation to attach to the pattern arguments+ -> Q Dec+patSynD_doc name args dir pat mdoc arg_docs = do+ qAddModFinalizer $ sequence_+ [putDoc (ArgDoc name i) s | (i, Just s) <- zip [0..] arg_docs]+ let dec = patSynD name args dir pat+ maybe dec (flip withDecDoc dec) mdoc++-- | Document a data/newtype constructor with its arguments.+docCons :: (Q Con, Maybe String, [Maybe String]) -> Q ()+docCons (c, md, arg_docs) = do+ c' <- c+ -- Attach docs to the constructors+ sequence_ [ putDoc (DeclDoc nm) d | Just d <- [md], nm <- get_cons_names c' ]+ -- Attach docs to the arguments+ case c' of+ -- Record selector documentation isn't stored in the argument map,+ -- but in the declaration map instead+ RecC _ var_bang_types ->+ sequence_ [ putDoc (DeclDoc nm) arg_doc+ | (Just arg_doc, (nm, _, _)) <- zip arg_docs var_bang_types+ ]+ _ ->+ sequence_ [ putDoc (ArgDoc nm i) arg_doc+ | nm <- get_cons_names c'+ , (i, Just arg_doc) <- zip [0..] arg_docs+ ]
+ src/GHC/Internal/TH/Lift.hs view
@@ -0,0 +1,586 @@+{-# OPTIONS_HADDOCK not-home #-} -- we want users to import Language.Haskell.TH.Syntax instead+{-# LANGUAGE CPP #-}+{-# LANGUAGE BangPatterns #-}+{-# LANGUAGE DefaultSignatures #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE TemplateHaskellQuotes #-}+{-# LANGUAGE Trustworthy #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE UnboxedSums #-}+{-# LANGUAGE UnboxedTuples #-}+{-# LANGUAGE DeriveLift #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE FlexibleInstances #-}+{-# OPTIONS_GHC -fno-warn-inline-rule-shadowing #-}++-- | This module gives the definition of the 'Lift' class.+--+-- This is an internal module.+-- Please import "Language.Haskell.TH" or "Language.Haskell.TH.Syntax" instead!++module GHC.Internal.TH.Lift+ ( Lift(..)+ -- * Generic Lift implementations+ , dataToQa+ , dataToExpQ+ , liftData+ , dataToPatQ+ -- * Wired-in names+ , liftString+ , trueName+ , falseName+ , nothingName+ , justName+ , leftName+ , rightName+ , nonemptyName+ )+ where++import GHC.Internal.TH.Syntax+import qualified GHC.Internal.TH.Lib as Lib (litE) -- See wrinkle (W4) of Note [Tracking dependencies on primitives]+import GHC.Internal.Lexeme ( startsVarSym, startsVarId )++import GHC.Internal.Data.Either+import GHC.Internal.Type.Reflection+import GHC.Internal.Data.Bool+import GHC.Internal.Base hiding (Type, Module, inline)+import GHC.Internal.Data.Foldable+import GHC.Internal.Integer+import GHC.Internal.Real+import GHC.Internal.Word+import GHC.Internal.Int+import GHC.Internal.Data.Data hiding (Fixity)+import GHC.Internal.Natural+import GHC.Internal.ForeignPtr++-- | A 'Lift' instance can have any of its values turned into a Template+-- Haskell expression. This is needed when a value used within a Template+-- Haskell quotation is bound outside the Oxford brackets (@[| ... |]@ or+-- @[|| ... ||]@) but not at the top level. As an example:+--+-- > add1 :: Int -> Code Q Int+-- > add1 x = [|| x + 1 ||]+--+-- Template Haskell has no way of knowing what value @x@ will take on at+-- splice-time, so it requires the type of @x@ to be an instance of 'Lift'.+--+-- A 'Lift' instance must satisfy @$(lift x) ≡ x@ and @$$(liftTyped x) ≡ x@+-- for all @x@, where @$(...)@ and @$$(...)@ are Template Haskell splices.+-- It is additionally expected that @'lift' x ≡ 'unTypeCode' ('liftTyped' x)@.+--+-- 'Lift' instances can be derived automatically by use of the @-XDeriveLift@+-- GHC language extension:+--+-- > {-# LANGUAGE DeriveLift #-}+-- > module Foo where+-- >+-- > import Language.Haskell.TH.Syntax+-- >+-- > data Bar a = Bar1 a (Bar a) | Bar2 String+-- > deriving Lift+--+-- Representation-polymorphic since /template-haskell-2.16.0.0/.+class Lift (t :: TYPE r) where+ -- | Turn a value into a Template Haskell expression, suitable for use in+ -- a splice.+ lift :: Quote m => t -> m Exp+ default lift :: (r ~ ('BoxedRep 'Lifted), Quote m) => t -> m Exp+ lift = unTypeCode . liftTyped++ -- | Turn a value into a Template Haskell typed expression, suitable for use+ -- in a typed splice.+ --+ -- @since template-haskell-2.16.0.0+ liftTyped :: Quote m => t -> Code m t++-----------------------------------------------------+--+-- Manual instances for lifting to Literals+--+-----------------------------------------------------++-- If you add any instances here, consider updating test th/TH_Lift+instance Lift Integer where+ liftTyped x = unsafeCodeCoerce (lift x)+ lift x = return (LitE (IntegerL x))++instance Lift Int where+ liftTyped x = unsafeCodeCoerce (lift x)+ lift x = return (LitE (IntegerL (fromIntegral x)))++-- | @since template-haskell-2.16.0.0+instance Lift Int# where+ liftTyped x = unsafeCodeCoerce (lift x)+ lift x = return (LitE (IntPrimL (fromIntegral (I# x))))++instance Lift Int8 where+ liftTyped x = unsafeCodeCoerce (lift x)+ lift x = return (LitE (IntegerL (fromIntegral x)))++instance Lift Int16 where+ liftTyped x = unsafeCodeCoerce (lift x)+ lift x = return (LitE (IntegerL (fromIntegral x)))++instance Lift Int32 where+ liftTyped x = unsafeCodeCoerce (lift x)+ lift x = return (LitE (IntegerL (fromIntegral x)))++instance Lift Int64 where+ liftTyped x = unsafeCodeCoerce (lift x)+ lift x = return (LitE (IntegerL (fromIntegral x)))++-- | @since template-haskell-2.16.0.0+instance Lift Word# where+ liftTyped x = unsafeCodeCoerce (lift x)+ lift x = return (LitE (WordPrimL (fromIntegral (W# x))))++instance Lift Word where+ liftTyped x = unsafeCodeCoerce (lift x)+ lift x = return (LitE (IntegerL (fromIntegral x)))++instance Lift Word8 where+ liftTyped x = unsafeCodeCoerce (lift x)+ lift x = return (LitE (IntegerL (fromIntegral x)))++instance Lift Word16 where+ liftTyped x = unsafeCodeCoerce (lift x)+ lift x = return (LitE (IntegerL (fromIntegral x)))++instance Lift Word32 where+ liftTyped x = unsafeCodeCoerce (lift x)+ lift x = return (LitE (IntegerL (fromIntegral x)))++instance Lift Word64 where+ liftTyped x = unsafeCodeCoerce (lift x)+ lift x = return (LitE (IntegerL (fromIntegral x)))++instance Lift Natural where+ liftTyped x = unsafeCodeCoerce (lift x)+ lift x = return (LitE (IntegerL (fromIntegral x)))++instance Integral a => Lift (Ratio a) where+ liftTyped x = unsafeCodeCoerce (lift x)+ lift x = return (LitE (RationalL (toRational x)))++instance Lift Float where+ liftTyped x = unsafeCodeCoerce (lift x)+ lift x = return (LitE (RationalL (toRational x)))++-- | @since template-haskell-2.16.0.0+instance Lift Float# where+ liftTyped x = unsafeCodeCoerce (lift x)+ lift x = return (LitE (FloatPrimL (toRational (F# x))))++instance Lift Double where+ liftTyped x = unsafeCodeCoerce (lift x)+ lift x = return (LitE (RationalL (toRational x)))++-- | @since template-haskell-2.16.0.0+instance Lift Double# where+ liftTyped x = unsafeCodeCoerce (lift x)+ lift x = return (LitE (DoublePrimL (toRational (D# x))))++instance Lift Char where+ liftTyped x = unsafeCodeCoerce (lift x)+ lift x = return (LitE (CharL x))++-- | @since template-haskell-2.16.0.0+instance Lift Char# where+ liftTyped x = unsafeCodeCoerce (lift x)+ lift x = return (LitE (CharPrimL (C# x)))++-- | Produces an 'Addr#' literal from the NUL-terminated C-string starting at+-- the given memory address.+--+-- @since template-haskell-2.16.0.0+instance Lift Addr# where+ liftTyped x = unsafeCodeCoerce (lift x)+ lift x+ = return (LitE (StringPrimL (map (fromIntegral . ord) (unpackCString# x))))++instance Lift a => Lift [a] where+ liftTyped x = unsafeCodeCoerce (lift x)+ lift xs = do { xs' <- mapM lift xs; return (ListE xs') }++liftString :: Quote m => String -> m Exp+-- Used in GHC.Tc.Gen.Expr to short-circuit the lifting for strings+liftString s = return (LitE (StringL s))++-- TH has a special form for literal strings,+-- which we should take advantage of.+-- NB: the lhs of the rule has no args, so that+-- the rule will apply to a 'lift' all on its own+-- which happens to be the way the type checker+-- creates it.+-- SG: This RULE is tested by T3600.+-- In #24983 I advocated defining an overlapping instance+-- to replace this RULE. However, doing so breaks drv023+-- which would need to declare an instance derived from `Lift @[a]` as+-- incoherent. So this RULE it is.+{-# RULES "TH:liftString" lift = liftString #-}++-----------------------------------------------------+--+-- Derived instances for base data types+--+-----------------------------------------------------++deriving instance Lift Bool+deriving instance Lift a => Lift (Maybe a)+deriving instance (Lift a, Lift b) => Lift (Either a b)+-- | @since template-haskell-2.15.0.0+deriving instance Lift a => Lift (NonEmpty a)+-- | @since template-haskell-2.15.0.0+deriving instance Lift Void+deriving instance Lift ()+deriving instance (Lift a, Lift b)+ => Lift (a, b)+deriving instance (Lift a, Lift b, Lift c)+ => Lift (a, b, c)+deriving instance (Lift a, Lift b, Lift c, Lift d)+ => Lift (a, b, c, d)+deriving instance (Lift a, Lift b, Lift c, Lift d, Lift e)+ => Lift (a, b, c, d, e)+deriving instance (Lift a, Lift b, Lift c, Lift d, Lift e, Lift f)+ => Lift (a, b, c, d, e, f)+deriving instance (Lift a, Lift b, Lift c, Lift d, Lift e, Lift f, Lift g)+ => Lift (a, b, c, d, e, f, g)+-- | @since template-haskell-2.16.0.0+deriving instance Lift (# #)+-- | @since template-haskell-2.16.0.0+deriving instance (Lift a)+ => Lift (# a #)+-- | @since template-haskell-2.16.0.0+deriving instance (Lift a, Lift b)+ => Lift (# a, b #)+-- | @since template-haskell-2.16.0.0+deriving instance (Lift a, Lift b, Lift c)+ => Lift (# a, b, c #)+-- | @since template-haskell-2.16.0.0+deriving instance (Lift a, Lift b, Lift c, Lift d)+ => Lift (# a, b, c, d #)+-- | @since template-haskell-2.16.0.0+deriving instance (Lift a, Lift b, Lift c, Lift d, Lift e)+ => Lift (# a, b, c, d, e #)+-- | @since template-haskell-2.16.0.0+deriving instance (Lift a, Lift b, Lift c, Lift d, Lift e, Lift f)+ => Lift (# a, b, c, d, e, f #)+-- | @since template-haskell-2.16.0.0+deriving instance (Lift a, Lift b, Lift c, Lift d, Lift e, Lift f, Lift g)+ => Lift (# a, b, c, d, e, f, g #)+-- | @since template-haskell-2.16.0.0+deriving instance (Lift a, Lift b) => Lift (# a | b #)+-- | @since template-haskell-2.16.0.0+deriving instance (Lift a, Lift b, Lift c)+ => Lift (# a | b | c #)+-- | @since template-haskell-2.16.0.0+deriving instance (Lift a, Lift b, Lift c, Lift d)+ => Lift (# a | b | c | d #)+-- | @since template-haskell-2.16.0.0+deriving instance (Lift a, Lift b, Lift c, Lift d, Lift e)+ => Lift (# a | b | c | d | e #)+-- | @since template-haskell-2.16.0.0+deriving instance (Lift a, Lift b, Lift c, Lift d, Lift e, Lift f)+ => Lift (# a | b | c | d | e | f #)+-- | @since template-haskell-2.16.0.0+deriving instance (Lift a, Lift b, Lift c, Lift d, Lift e, Lift f, Lift g)+ => Lift (# a | b | c | d | e | f | g #)++trueName, falseName :: Name+trueName = 'True+falseName = 'False++nothingName, justName :: Name+nothingName = 'Nothing+justName = 'Just++leftName, rightName :: Name+leftName = 'Left+rightName = 'Right++nonemptyName :: Name+nonemptyName = '(:|)++-----------------------------------------------------+--+-- Lifting the TH AST+--+-----------------------------------------------------++-- | @since template-haskell-2.22.1.0+deriving instance Lift Loc+-- | @since template-haskell-2.22.1.0+deriving instance Lift DocLoc+-- | @since template-haskell-2.22.1.0+deriving instance Lift ModName+-- | @since template-haskell-2.22.1.0+deriving instance Lift GHC.Internal.TH.Syntax.Module+-- | @since template-haskell-2.22.1.0+deriving instance Lift NameSpace+-- | @since template-haskell-2.22.1.0+deriving instance Lift NamespaceSpecifier+-- | @since template-haskell-2.22.1.0+deriving instance Lift PkgName+-- | @since template-haskell-2.22.1.0+deriving instance Lift NameFlavour+-- | @since template-haskell-2.22.1.0+deriving instance Lift OccName+-- | @since template-haskell-2.22.1.0+deriving instance Lift Name+-- | @since template-haskell-2.22.1.0+deriving instance Lift NameIs+-- | @since template-haskell-2.22.1.0+deriving instance Lift Specificity+-- | @since template-haskell-2.22.1.0+deriving instance Lift BndrVis+-- | @since template-haskell-2.22.1.0+deriving instance Lift a => Lift (TyVarBndr a)+-- | @since template-haskell-2.22.1.0+deriving instance Lift TyLit+-- | @since template-haskell-2.22.1.0+deriving instance Lift Type+-- | @since template-haskell-2.22.1.0+instance Lift Bytes where+ liftTyped x = unsafeCodeCoerce (lift x)+ lift bytes@Bytes{} = -- See Note [Why FinalPtr]+ [| Bytes+ { bytesPtr = ForeignPtr $(Lib.litE (BytesPrimL bytes)) FinalPtr+ , bytesOffset = 0+ , bytesSize = $(lift (bytesSize bytes))+ }+ |]+-- | @since template-haskell-2.22.1.0+deriving instance Lift Lit+-- | @since template-haskell-2.22.1.0+deriving instance Lift Pat+-- | @since template-haskell-2.22.1.0+deriving instance Lift Clause+-- | @since template-haskell-2.22.1.0+deriving instance Lift DerivClause+-- | @since template-haskell-2.22.1.0+deriving instance Lift DerivStrategy+-- | @since template-haskell-2.22.1.0+deriving instance Lift Overlap+-- | @since template-haskell-2.22.1.0+deriving instance Lift FunDep+-- | @since template-haskell-2.22.1.0+deriving instance Lift Safety+-- | @since template-haskell-2.22.1.0+deriving instance Lift Callconv+-- | @since template-haskell-2.22.1.0+deriving instance Lift Foreign+-- | @since template-haskell-2.22.1.0+deriving instance Lift ForeignSrcLang+-- | @since template-haskell-2.22.1.0+deriving instance Lift FixityDirection+-- | @since template-haskell-2.22.1.0+deriving instance Lift Fixity+-- | @since template-haskell-2.22.1.0+deriving instance Lift Inline+-- | @since template-haskell-2.22.1.0+deriving instance Lift RuleMatch+-- | @since template-haskell-2.22.1.0+deriving instance Lift Phases+-- | @since template-haskell-2.22.1.0+deriving instance Lift RuleBndr+-- | @since template-haskell-2.22.1.0+deriving instance Lift AnnTarget+-- | @since template-haskell-2.22.1.0+deriving instance Lift Pragma+-- | @since template-haskell-2.22.1.0+deriving instance Lift SourceStrictness+-- | @since template-haskell-2.22.1.0+deriving instance Lift SourceUnpackedness+-- | @since template-haskell-2.22.1.0+deriving instance Lift DecidedStrictness+-- | @since template-haskell-2.22.1.0+deriving instance Lift Bang+-- | @since template-haskell-2.22.1.0+deriving instance Lift Con+-- | @since template-haskell-2.22.1.0+deriving instance Lift TySynEqn+-- | @since template-haskell-2.22.1.0+deriving instance Lift FamilyResultSig+-- | @since template-haskell-2.22.1.0+deriving instance Lift InjectivityAnn+-- | @since template-haskell-2.22.1.0+deriving instance Lift TypeFamilyHead+-- | @since template-haskell-2.22.1.0+deriving instance Lift Role+-- | @since template-haskell-2.22.1.0+deriving instance Lift PatSynArgs+-- | @since template-haskell-2.22.1.0+deriving instance Lift PatSynDir+-- | @since template-haskell-2.22.1.0+deriving instance Lift Dec+-- | @since template-haskell-2.22.1.0+deriving instance Lift Range+-- | @since template-haskell-2.22.1.0+deriving instance Lift Exp+-- | @since template-haskell-2.22.1.0+instance Lift (TExp a) where+ lift (TExp e) = [| TExp $(lift e) |]+ liftTyped = unsafeCodeCoerce . lift+-- | @since template-haskell-2.22.1.0+deriving instance Lift Match+-- | @since template-haskell-2.22.1.0+deriving instance Lift Guard+-- | @since template-haskell-2.22.1.0+deriving instance Lift Stmt+-- | @since template-haskell-2.22.1.0+deriving instance Lift Body+-- | @since template-haskell-2.22.1.0+deriving instance Lift Info+-- | @since template-haskell-2.22.1.0+deriving instance Lift AnnLookup+-- | @since template-haskell-2.22.1.0+deriving instance Lift Extension++-----------------------------------------------------+--+-- Generic Lift implementations+--+-----------------------------------------------------++-- | 'dataToQa' is an internal utility function for constructing generic+-- conversion functions from types with 'Data' instances to various+-- quasi-quoting representations. See the source of 'dataToExpQ' and+-- 'dataToPatQ' for two example usages: @mkCon@, @mkLit@+-- and @appQ@ are overloadable to account for different syntax for+-- expressions and patterns; @antiQ@ allows you to override type-specific+-- cases, a common usage is just @const Nothing@, which results in+-- no overloading.+dataToQa :: forall m a k q. (Quote m, Data a)+ => (Name -> k)+ -> (Lit -> m q)+ -> (k -> [m q] -> m q)+ -> (forall b . Data b => b -> Maybe (m q))+ -> a+ -> m q+dataToQa mkCon mkLit appCon antiQ t =+ case antiQ t of+ Nothing ->+ case constrRep constr of+ AlgConstr _ ->+ appCon (mkCon funOrConName) conArgs+ where+ funOrConName :: Name+ funOrConName =+ case showConstr constr of+ "(:)" -> Name (mkOccName ":")+ (NameG DataName+ (mkPkgName "ghc-prim")+ (mkModName "GHC.Types"))+ con@"[]" -> Name (mkOccName con)+ (NameG DataName+ (mkPkgName "ghc-prim")+ (mkModName "GHC.Types"))+ con@('(':_) -> Name (mkOccName con)+ (NameG DataName+ (mkPkgName "ghc-prim")+ (mkModName "GHC.Tuple"))++ -- Tricky case: see Note [Data for non-algebraic types]+ fun@(x:_) | startsVarSym x || startsVarId x+ -> mkNameG_v tyconPkg tyconMod fun+ con -> mkNameG_d tyconPkg tyconMod con++ where+ tycon :: TyCon+ tycon = (typeRepTyCon . typeOf) t++ tyconPkg, tyconMod :: String+ tyconPkg = tyConPackage tycon+ tyconMod = tyConModule tycon++ conArgs :: [m q]+ conArgs = gmapQ (dataToQa mkCon mkLit appCon antiQ) t+ IntConstr n ->+ mkLit $ IntegerL n+ FloatConstr n ->+ mkLit $ RationalL n+ CharConstr c ->+ mkLit $ CharL c+ where+ constr :: Constr+ constr = toConstr t++ Just y -> y+++{- Note [Data for non-algebraic types]+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+Class Data was originally intended for algebraic data types. But+it is possible to use it for abstract types too. For example, in+package `text` we find++ instance Data Text where+ ...+ toConstr _ = packConstr++ packConstr :: Constr+ packConstr = mkConstr textDataType "pack" [] Prefix++Here `packConstr` isn't a real data constructor, it's an ordinary+function. Two complications++* In such a case, we must take care to build the Name using+ mkNameG_v (for values), not mkNameG_d (for data constructors).+ See #10796.++* The pseudo-constructor is named only by its string, here "pack".+ But 'dataToQa' needs the TyCon of its defining module, and has+ to assume it's defined in the same module as the TyCon itself.+ But nothing enforces that; #12596 shows what goes wrong if+ "pack" is defined in a different module than the data type "Text".+ -}++-- | 'dataToExpQ' converts a value to a 'Exp' representation of the+-- same value, in the SYB style. It is generalized to take a function+-- override type-specific cases; see 'liftData' for a more commonly+-- used variant.+dataToExpQ :: (Quote m, Data a)+ => (forall b . Data b => b -> Maybe (m Exp))+ -> a+ -> m Exp+dataToExpQ = dataToQa varOrConE litE (foldl appE)+ where+ -- Make sure that VarE is used if the Constr value relies on a+ -- function underneath the surface (instead of a constructor).+ -- See #10796.+ varOrConE s =+ case nameSpace s of+ Just VarName -> return (VarE s)+ Just (FldName {}) -> return (VarE s)+ Just DataName -> return (ConE s)+ _ -> error $ "Can't construct an expression from name "+ ++ showName s+ appE x y = do { a <- x; b <- y; return (AppE a b)}+ litE c = return (LitE c)++-- | 'liftData' is a variant of 'lift' in the 'Lift' type class which+-- works for any type with a 'Data' instance.+liftData :: (Quote m, Data a) => a -> m Exp+liftData = dataToExpQ (const Nothing)++-- | 'dataToPatQ' converts a value to a 'Pat' representation of the same+-- value, in the SYB style. It takes a function to handle type-specific cases,+-- alternatively, pass @const Nothing@ to get default behavior.+dataToPatQ :: (Quote m, Data a)+ => (forall b . Data b => b -> Maybe (m Pat))+ -> a+ -> m Pat+dataToPatQ = dataToQa id litP conP+ where litP l = return (LitP l)+ conP n ps =+ case nameSpace n of+ Just DataName -> do+ ps' <- sequence ps+ return (ConP n [] ps')+ _ -> error $ "Can't construct a pattern from name "+ ++ showName n
+ src/GHC/Internal/TH/Quote.hs view
@@ -0,0 +1,42 @@+{-# LANGUAGE CPP, RankNTypes, ScopedTypeVariables, Trustworthy #-}+{- |+Module : GHC.Internal.TH.Quote+Description : Quasi-quoting support for Template Haskell++Template Haskell supports quasiquoting, which permits users to construct+program fragments by directly writing concrete syntax. A quasiquoter is+essentially a function with takes a string to a Template Haskell AST.+This module defines the 'QuasiQuoter' datatype, which specifies a+quasiquoter @q@ which can be invoked using the syntax+@[q| ... string to parse ... |]@ when the @QuasiQuotes@ language+extension is enabled, and some utility functions for manipulating+quasiquoters. Nota bene: this package does not define any parsers,+that is up to you.++This is an internal module. Please import 'Language.Haskell.TH.Quote' instead.+-}+module GHC.Internal.TH.Quote(+ QuasiQuoter(..),+ ) where++import GHC.Internal.TH.Syntax+import GHC.Internal.Base hiding (Type)+++-- | The 'QuasiQuoter' type, a value @q@ of this type can be used+-- in the syntax @[q| ... string to parse ...|]@. In fact, for+-- convenience, a 'QuasiQuoter' actually defines multiple quasiquoters+-- to be used in different splice contexts; if you are only interested+-- in defining a quasiquoter to be used for expressions, you would+-- define a 'QuasiQuoter' with only 'quoteExp', and leave the other+-- fields stubbed out with errors.+data QuasiQuoter = QuasiQuoter {+ -- | Quasi-quoter for expressions, invoked by quotes like @lhs = $[q|...]@+ quoteExp :: String -> Q Exp,+ -- | Quasi-quoter for patterns, invoked by quotes like @f $[q|...] = rhs@+ quotePat :: String -> Q Pat,+ -- | Quasi-quoter for types, invoked by quotes like @f :: $[q|...]@+ quoteType :: String -> Q Type,+ -- | Quasi-quoter for declarations, invoked by top-level quotes+ quoteDec :: String -> Q [Dec]+ }
+ src/GHC/Internal/TH/Syntax.hs view
@@ -0,0 +1,2555 @@+{-# OPTIONS_HADDOCK not-home #-} -- we want users to import Language.Haskell.TH.Syntax instead+{-# LANGUAGE CPP, DeriveDataTypeable,+ DeriveGeneric, FlexibleInstances, DefaultSignatures,+ RankNTypes, RoleAnnotations, ScopedTypeVariables,+ MagicHash, KindSignatures, PolyKinds, TypeApplications, DataKinds,+ GADTs, UnboxedTuples, UnboxedSums, TypeOperators,+ Trustworthy, DeriveFunctor, DeriveTraversable,+ BangPatterns, RecordWildCards, ImplicitParams #-}++{-# LANGUAGE TemplateHaskellQuotes #-}+{-# LANGUAGE StandaloneKindSignatures #-}++-- | This module is used internally in GHC's integration with Template Haskell+-- and defines the abstract syntax of Template Haskell.+--+-- This is not a part of the public API, and as such, there are no API+-- guarantees for this module from version to version.+--+-- Import "Language.Haskell.TH" or "Language.Haskell.TH.Syntax" instead!+module GHC.Internal.TH.Syntax+ ( module GHC.Internal.TH.Syntax+ -- * Language extensions+ , module GHC.Internal.LanguageExtensions+ , ForeignSrcLang(..)+ -- * Notes+ -- ** Unresolved Infix+ -- $infix+ ) where++#ifdef BOOTSTRAP_TH+import Prelude+import Data.Data hiding (Fixity(..))+import Data.IORef+import System.IO.Unsafe ( unsafePerformIO )+import GHC.IO.Unsafe ( unsafeDupableInterleaveIO )+import Control.Monad.IO.Class (MonadIO (..))+import Control.Monad.Fix (MonadFix (..))+import Control.Exception (BlockedIndefinitelyOnMVar (..), catch, throwIO)+import Control.Exception.Base (FixIOException (..))+import Control.Concurrent.MVar (newEmptyMVar, readMVar, putMVar)+import System.IO ( hPutStrLn, stderr )+import Data.Char ( isAlpha, isAlphaNum, isUpper )+import Data.List.NonEmpty ( NonEmpty(..) )+import Data.Word+import GHC.Generics ( Generic )+import qualified Data.Kind as Kind (Type)+import GHC.Ptr ( Ptr, plusPtr )+import Foreign.ForeignPtr+import Foreign.C.String+import Foreign.C.Types+import GHC.Types (TYPE, RuntimeRep(..))+#else+import GHC.Internal.Base hiding (Type, Module, sequence)+import GHC.Internal.Data.Data hiding (Fixity(..))+import GHC.Internal.Data.Traversable+import GHC.Internal.Word+import GHC.Internal.Generics (Generic)+import GHC.Internal.IORef+import GHC.Internal.System.IO+import GHC.Internal.Show+import GHC.Internal.Integer+import GHC.Internal.Real+import GHC.Internal.Data.Foldable+import GHC.Internal.Foreign.Ptr+import GHC.Internal.ForeignPtr+import GHC.Internal.Data.Typeable+import GHC.Internal.Control.Monad.IO.Class+import GHC.Internal.Foreign.C.Types+import GHC.Internal.Foreign.C.String+import GHC.Internal.Control.Monad.Fail+import GHC.Internal.Control.Monad.Fix+import GHC.Internal.Control.Exception+import GHC.Internal.Num+import GHC.Internal.IO.Unsafe+import GHC.Internal.List (dropWhile, break, replicate, reverse, last)+import GHC.Internal.MVar+import GHC.Internal.IO.Exception+import GHC.Internal.Unicode+import qualified GHC.Types as Kind (Type)+#endif+import GHC.Internal.ForeignSrcLang+import GHC.Internal.LanguageExtensions++-----------------------------------------------------+--+-- The Quasi class+--+-----------------------------------------------------++class (MonadIO m, MonadFail m) => Quasi m where+ -- | Fresh names. See 'newName'.+ qNewName :: String -> m Name++ ------- Error reporting and recovery -------+ -- | Report an error (True) or warning (False)+ -- ...but carry on; use 'fail' to stop. See 'report'.+ qReport :: Bool -> String -> m ()++ -- | See 'recover'.+ qRecover :: m a -- ^ the error handler+ -> m a -- ^ action which may fail+ -> m a -- ^ Recover from the monadic 'fail'++ ------- Inspect the type-checker's environment -------+ -- | True <=> type namespace, False <=> value namespace. See 'lookupName'.+ qLookupName :: Bool -> String -> m (Maybe Name)+ -- | See 'reify'.+ qReify :: Name -> m Info+ -- | See 'reifyFixity'.+ qReifyFixity :: Name -> m (Maybe Fixity)+ -- | See 'reifyType'.+ qReifyType :: Name -> m Type+ -- | Is (n tys) an instance? Returns list of matching instance Decs (with+ -- empty sub-Decs) Works for classes and type functions. See 'reifyInstances'.+ qReifyInstances :: Name -> [Type] -> m [Dec]+ -- | See 'reifyRoles'.+ qReifyRoles :: Name -> m [Role]+ -- | See 'reifyAnnotations'.+ qReifyAnnotations :: Data a => AnnLookup -> m [a]+ -- | See 'reifyModule'.+ qReifyModule :: Module -> m ModuleInfo+ -- | See 'reifyConStrictness'.+ qReifyConStrictness :: Name -> m [DecidedStrictness]++ -- | See 'location'.+ qLocation :: m Loc++ -- | Input/output (dangerous). See 'runIO'.+ qRunIO :: IO a -> m a+ qRunIO = liftIO+ -- | See 'getPackageRoot'.+ qGetPackageRoot :: m FilePath++ -- | See 'addDependentFile'.+ qAddDependentFile :: FilePath -> m ()++ -- | See 'addTempFile'.+ qAddTempFile :: String -> m FilePath++ -- | See 'addTopDecls'.+ qAddTopDecls :: [Dec] -> m ()++ -- | See 'addForeignFilePath'.+ qAddForeignFilePath :: ForeignSrcLang -> String -> m ()++ -- | See 'addModFinalizer'.+ qAddModFinalizer :: Q () -> m ()++ -- | See 'addCorePlugin'.+ qAddCorePlugin :: String -> m ()++ -- | See 'getQ'.+ qGetQ :: Typeable a => m (Maybe a)++ -- | See 'putQ'.+ qPutQ :: Typeable a => a -> m ()++ -- | See 'isExtEnabled'.+ qIsExtEnabled :: Extension -> m Bool+ -- | See 'extsEnabled'.+ qExtsEnabled :: m [Extension]++ -- | See 'putDoc'.+ qPutDoc :: DocLoc -> String -> m ()+ -- | See 'getDoc'.+ qGetDoc :: DocLoc -> m (Maybe String)++-----------------------------------------------------+-- The IO instance of Quasi+-----------------------------------------------------++-- | This instance is used only when running a Q+-- computation in the IO monad, usually just to+-- print the result. There is no interesting+-- type environment, so reification isn't going to+-- work.+instance Quasi IO where+ qNewName = newNameIO++ qReport True msg = hPutStrLn stderr ("Template Haskell error: " ++ msg)+ qReport False msg = hPutStrLn stderr ("Template Haskell error: " ++ msg)++ qLookupName _ _ = badIO "lookupName"+ qReify _ = badIO "reify"+ qReifyFixity _ = badIO "reifyFixity"+ qReifyType _ = badIO "reifyFixity"+ qReifyInstances _ _ = badIO "reifyInstances"+ qReifyRoles _ = badIO "reifyRoles"+ qReifyAnnotations _ = badIO "reifyAnnotations"+ qReifyModule _ = badIO "reifyModule"+ qReifyConStrictness _ = badIO "reifyConStrictness"+ qLocation = badIO "currentLocation"+ qRecover _ _ = badIO "recover" -- Maybe we could fix this?+ qGetPackageRoot = badIO "getProjectRoot"+ qAddDependentFile _ = badIO "addDependentFile"+ qAddTempFile _ = badIO "addTempFile"+ qAddTopDecls _ = badIO "addTopDecls"+ qAddForeignFilePath _ _ = badIO "addForeignFilePath"+ qAddModFinalizer _ = badIO "addModFinalizer"+ qAddCorePlugin _ = badIO "addCorePlugin"+ qGetQ = badIO "getQ"+ qPutQ _ = badIO "putQ"+ qIsExtEnabled _ = badIO "isExtEnabled"+ qExtsEnabled = badIO "extsEnabled"+ qPutDoc _ _ = badIO "putDoc"+ qGetDoc _ = badIO "getDoc"++instance Quote IO where+ newName = newNameIO++newNameIO :: String -> IO Name+newNameIO s = do { n <- atomicModifyIORef' counter (\x -> (x + 1, x))+ ; pure (mkNameU s n) }++badIO :: String -> IO a+badIO op = do { qReport True ("Can't do `" ++ op ++ "' in the IO monad")+ ; fail "Template Haskell failure" }++-- Global variable to generate unique symbols+counter :: IORef Uniq+{-# NOINLINE counter #-}+counter = unsafePerformIO (newIORef 0)+++-----------------------------------------------------+--+-- The Q monad+--+-----------------------------------------------------++-- | In short, 'Q' provides the 'Quasi' operations in one neat monad for the+-- user.+--+-- The longer story, is that 'Q' wraps an arbitrary 'Quasi'-able monad.+-- The perceptive reader notices that 'Quasi' has only two instances, 'Q'+-- itself and 'IO', neither of which have concrete implementations.'Q' plays+-- the trick of [dependency+-- inversion](https://en.wikipedia.org/wiki/Dependency_inversion_principle),+-- providing an abstract interface for the user which is later concretely+-- fufilled by an concrete 'Quasi' instance, internal to GHC.+newtype Q a = Q { unQ :: forall m. Quasi m => m a }++-- | \"Runs\" the 'Q' monad. Normal users of Template Haskell+-- should not need this function, as the splice brackets @$( ... )@+-- are the usual way of running a 'Q' computation.+--+-- This function is primarily used in GHC internals, and for debugging+-- splices by running them in 'IO'.+--+-- Note that many functions in 'Q', such as 'reify' and other compiler+-- queries, are not supported when running 'Q' in 'IO'; these operations+-- simply fail at runtime. Indeed, the only operations guaranteed to succeed+-- are 'newName', 'runIO', 'reportError' and 'reportWarning'.+runQ :: Quasi m => Q a -> m a+runQ (Q m) = m++instance Monad Q where+ Q m >>= k = Q (m >>= \x -> unQ (k x))+ (>>) = (*>)++instance MonadFail Q where+ fail s = report True s >> Q (fail "Q monad failure")++instance Functor Q where+ fmap f (Q x) = Q (fmap f x)++instance Applicative Q where+ pure x = Q (pure x)+ Q f <*> Q x = Q (f <*> x)+ Q m *> Q n = Q (m *> n)++-- | @since 2.17.0.0+instance Semigroup a => Semigroup (Q a) where+ (<>) = liftA2 (<>)++-- | @since 2.17.0.0+instance Monoid a => Monoid (Q a) where+ mempty = pure mempty++-- | If the function passed to 'mfix' inspects its argument,+-- the resulting action will throw a 'FixIOException'.+--+-- @since 2.17.0.0+instance MonadFix Q where+ -- We use the same blackholing approach as in fixIO.+ -- See Note [Blackholing in fixIO] in System.IO in base.+ mfix k = do+ m <- runIO newEmptyMVar+ ans <- runIO (unsafeDupableInterleaveIO+ (readMVar m `catch` \BlockedIndefinitelyOnMVar ->+ throwIO FixIOException))+ result <- k ans+ runIO (putMVar m result)+ return result+++-----------------------------------------------------+--+-- The Quote class+--+-----------------------------------------------------++++-- | The 'Quote' class implements the minimal interface which is necessary for+-- desugaring quotations.+--+-- * The @Monad m@ superclass is needed to stitch together the different+-- AST fragments.+-- * 'newName' is used when desugaring binding structures such as lambdas+-- to generate fresh names.+--+-- Therefore the type of an untyped quotation in GHC is `Quote m => m Exp`+--+-- For many years the type of a quotation was fixed to be `Q Exp` but by+-- more precisely specifying the minimal interface it enables the `Exp` to+-- be extracted purely from the quotation without interacting with `Q`.+class Monad m => Quote m where+ {- |+ Generate a fresh name, which cannot be captured.++ For example, this:++ @f = $(do+ nm1 <- newName \"x\"+ let nm2 = 'mkName' \"x\"+ return ('LamE' ['VarP' nm1] (LamE [VarP nm2] ('VarE' nm1)))+ )@++ will produce the splice++ >f = \x0 -> \x -> x0++ In particular, the occurrence @VarE nm1@ refers to the binding @VarP nm1@,+ and is not captured by the binding @VarP nm2@.++ Although names generated by @newName@ cannot /be captured/, they can+ /capture/ other names. For example, this:++ >g = $(do+ > nm1 <- newName "x"+ > let nm2 = mkName "x"+ > return (LamE [VarP nm2] (LamE [VarP nm1] (VarE nm2)))+ > )++ will produce the splice++ >g = \x -> \x0 -> x0++ since the occurrence @VarE nm2@ is captured by the innermost binding+ of @x@, namely @VarP nm1@.+ -}+ newName :: String -> m Name++instance Quote Q where+ newName s = Q (qNewName s)++-----------------------------------------------------+--+-- The TExp type+--+-----------------------------------------------------++type TExp :: TYPE r -> Kind.Type+type role TExp nominal -- See Note [Role of TExp]+newtype TExp a = TExp+ { unType :: Exp -- ^ Underlying untyped Template Haskell expression+ }+-- ^ Typed wrapper around an 'Exp'.+--+-- This is the typed representation of terms produced by typed quotes.+--+-- Representation-polymorphic since /template-haskell-2.16.0.0/.++-- | Discard the type annotation and produce a plain Template Haskell+-- expression+--+-- Representation-polymorphic since /template-haskell-2.16.0.0/.+unTypeQ :: forall (r :: RuntimeRep) (a :: TYPE r) m . Quote m => m (TExp a) -> m Exp+unTypeQ m = do { TExp e <- m+ ; return e }++-- | Annotate the Template Haskell expression with a type+--+-- This is unsafe because GHC cannot check for you that the expression+-- really does have the type you claim it has.+--+-- Representation-polymorphic since /template-haskell-2.16.0.0/.+unsafeTExpCoerce :: forall (r :: RuntimeRep) (a :: TYPE r) m .+ Quote m => m Exp -> m (TExp a)+unsafeTExpCoerce m = do { e <- m+ ; return (TExp e) }++{- Note [Role of TExp]+~~~~~~~~~~~~~~~~~~~~~~+TExp's argument must have a nominal role, not phantom as would+be inferred (#8459). Consider++ e :: Code Q Age+ e = [|| MkAge 3 ||]++ foo = $(coerce e) + 4::Int++The splice will evaluate to (MkAge 3) and you can't add that to+4::Int. So you can't coerce a (Code Q Age) to a (Code Q Int). -}++-- Code constructor+#if __GLASGOW_HASKELL__ >= 909+type Code :: (Kind.Type -> Kind.Type) -> forall r. TYPE r -> Kind.Type+ -- See Note [Foralls to the right in Code]+#else+type Code :: (Kind.Type -> Kind.Type) -> TYPE r -> Kind.Type+#endif+type role Code representational nominal -- See Note [Role of TExp]+newtype Code m a = Code+ { examineCode :: m (TExp a) -- ^ Underlying monadic value+ }+-- ^ Represents an expression which has type @a@, built in monadic context @m@. Built on top of 'TExp', typed+-- expressions allow for type-safe splicing via:+--+-- - typed quotes, written as @[|| ... ||]@ where @...@ is an expression; if+-- that expression has type @a@, then the quotation has type+-- @Quote m => Code m a@+--+-- - typed splices inside of typed quotes, written as @$$(...)@ where @...@+-- is an arbitrary expression of type @Quote m => Code m a@+--+-- Traditional expression quotes and splices let us construct ill-typed+-- expressions:+--+-- >>> fmap ppr $ runQ (unTypeCode [| True == $( [| "foo" |] ) |])+-- GHC.Types.True GHC.Classes.== "foo"+-- >>> GHC.Types.True GHC.Classes.== "foo"+-- <interactive> error:+-- • Couldn't match expected type ‘Bool’ with actual type ‘[Char]’+-- • In the second argument of ‘(==)’, namely ‘"foo"’+-- In the expression: True == "foo"+-- In an equation for ‘it’: it = True == "foo"+--+-- With typed expressions, the type error occurs when /constructing/ the+-- Template Haskell expression:+--+-- >>> fmap ppr $ runQ (unTypeCode [|| True == $$( [|| "foo" ||] ) ||])+-- <interactive> error:+-- • Couldn't match type ‘[Char]’ with ‘Bool’+-- Expected type: Code Q Bool+-- Actual type: Code Q [Char]+-- • In the Template Haskell quotation [|| "foo" ||]+-- In the expression: [|| "foo" ||]+-- In the Template Haskell splice $$([|| "foo" ||])+++{- Note [Foralls to the right in Code]+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+Code has the following type signature:+ type Code :: (Kind.Type -> Kind.Type) -> forall r. TYPE r -> Kind.Type++This allows us to write+ data T (f :: forall r . (TYPE r) -> Type) = MkT (f Int) (f Int#)++ tcodeq :: T (Code Q)+ tcodeq = MkT [||5||] [||5#||]++If we used the slightly more straightforward signature+ type Code :: foral r. (Kind.Type -> Kind.Type) -> TYPE r -> Kind.Type++then the example above would become ill-typed. (See #23592 for some discussion.)+-}++-- | Unsafely convert an untyped code representation into a typed code+-- representation.+unsafeCodeCoerce :: forall (r :: RuntimeRep) (a :: TYPE r) m .+ Quote m => m Exp -> Code m a+unsafeCodeCoerce m = Code (unsafeTExpCoerce m)++-- | Lift a monadic action producing code into the typed 'Code'+-- representation+liftCode :: forall (r :: RuntimeRep) (a :: TYPE r) m . m (TExp a) -> Code m a+liftCode = Code++-- | Extract the untyped representation from the typed representation+unTypeCode :: forall (r :: RuntimeRep) (a :: TYPE r) m . Quote m+ => Code m a -> m Exp+unTypeCode = unTypeQ . examineCode++-- | Modify the ambient monad used during code generation. For example, you+-- can use `hoistCode` to handle a state effect:+-- @+-- handleState :: Code (StateT Int Q) a -> Code Q a+-- handleState = hoistCode (flip runState 0)+-- @+hoistCode :: forall m n (r :: RuntimeRep) (a :: TYPE r) . Monad m+ => (forall x . m x -> n x) -> Code m a -> Code n a+hoistCode f (Code a) = Code (f a)+++-- | Variant of '(>>=)' which allows effectful computations to be injected+-- into code generation.+bindCode :: forall m a (r :: RuntimeRep) (b :: TYPE r) . Monad m+ => m a -> (a -> Code m b) -> Code m b+bindCode q k = liftCode (q >>= examineCode . k)++-- | Variant of '(>>)' which allows effectful computations to be injected+-- into code generation.+bindCode_ :: forall m a (r :: RuntimeRep) (b :: TYPE r) . Monad m+ => m a -> Code m b -> Code m b+bindCode_ q c = liftCode ( q >> examineCode c)++-- | A useful combinator for embedding monadic actions into 'Code'+-- @+-- myCode :: ... => Code m a+-- myCode = joinCode $ do+-- x <- someSideEffect+-- return (makeCodeWith x)+-- @+joinCode :: forall m (r :: RuntimeRep) (a :: TYPE r) . Monad m+ => m (Code m a) -> Code m a+joinCode = flip bindCode id++----------------------------------------------------+-- Packaged versions for the programmer, hiding the Quasi-ness+++-- | Report an error (True) or warning (False),+-- but carry on; use 'fail' to stop.+report :: Bool -> String -> Q ()+report b s = Q (qReport b s)+{-# DEPRECATED report "Use reportError or reportWarning instead" #-} -- deprecated in 7.6++-- | Report an error to the user, but allow the current splice's computation to carry on. To abort the computation, use 'fail'.+reportError :: String -> Q ()+reportError = report True++-- | Report a warning to the user, and carry on.+reportWarning :: String -> Q ()+reportWarning = report False++-- | Recover from errors raised by 'reportError' or 'fail'.+recover :: Q a -- ^ handler to invoke on failure+ -> Q a -- ^ computation to run+ -> Q a+recover (Q r) (Q m) = Q (qRecover r m)++-- We don't export lookupName; the Bool isn't a great API+-- Instead we export lookupTypeName, lookupValueName+lookupName :: Bool -> String -> Q (Maybe Name)+lookupName ns s = Q (qLookupName ns s)++-- | Look up the given name in the (type namespace of the) current splice's scope. See "Language.Haskell.TH.Syntax#namelookup" for more details.+lookupTypeName :: String -> Q (Maybe Name)+lookupTypeName s = Q (qLookupName True s)++-- | Look up the given name in the (value namespace of the) current splice's scope. See "Language.Haskell.TH.Syntax#namelookup" for more details.+lookupValueName :: String -> Q (Maybe Name)+lookupValueName s = Q (qLookupName False s)++{-+Note [Name lookup]+~~~~~~~~~~~~~~~~~~+-}+{- $namelookup #namelookup#+The functions 'lookupTypeName' and 'lookupValueName' provide+a way to query the current splice's context for what names+are in scope. The function 'lookupTypeName' queries the type+namespace, whereas 'lookupValueName' queries the value namespace,+but the functions are otherwise identical.++A call @lookupValueName s@ will check if there is a value+with name @s@ in scope at the current splice's location. If+there is, the @Name@ of this value is returned;+if not, then @Nothing@ is returned.++The returned name cannot be \"captured\".+For example:++> f = "global"+> g = $( do+> Just nm <- lookupValueName "f"+> [| let f = "local" in $( varE nm ) |]++In this case, @g = \"global\"@; the call to @lookupValueName@+returned the global @f@, and this name was /not/ captured by+the local definition of @f@.++The lookup is performed in the context of the /top-level/ splice+being run. For example:++> f = "global"+> g = $( [| let f = "local" in+> $(do+> Just nm <- lookupValueName "f"+> varE nm+> ) |] )++Again in this example, @g = \"global\"@, because the call to+@lookupValueName@ queries the context of the outer-most @$(...)@.++Operators should be queried without any surrounding parentheses, like so:++> lookupValueName "+"++Qualified names are also supported, like so:++> lookupValueName "Prelude.+"+> lookupValueName "Prelude.map"++-}+++{- | 'reify' looks up information about the 'Name'. It will fail with+a compile error if the 'Name' is not visible. A 'Name' is visible if it is+imported or defined in a prior top-level declaration group. See the+documentation for 'newDeclarationGroup' for more details.++It is sometimes useful to construct the argument name using 'lookupTypeName' or 'lookupValueName'+to ensure that we are reifying from the right namespace. For instance, in this context:++> data D = D++which @D@ does @reify (mkName \"D\")@ return information about? (Answer: @D@-the-type, but don't rely on it.)+To ensure we get information about @D@-the-value, use 'lookupValueName':++> do+> Just nm <- lookupValueName "D"+> reify nm++and to get information about @D@-the-type, use 'lookupTypeName'.+-}+reify :: Name -> Q Info+reify v = Q (qReify v)++{- | @reifyFixity nm@ attempts to find a fixity declaration for @nm@. For+example, if the function @foo@ has the fixity declaration @infixr 7 foo@, then+@reifyFixity 'foo@ would return @'Just' ('Fixity' 7 'InfixR')@. If the function+@bar@ does not have a fixity declaration, then @reifyFixity 'bar@ returns+'Nothing', so you may assume @bar@ has 'defaultFixity'.+-}+reifyFixity :: Name -> Q (Maybe Fixity)+reifyFixity nm = Q (qReifyFixity nm)++{- | @reifyType nm@ attempts to find the type or kind of @nm@. For example,+@reifyType 'not@ returns @Bool -> Bool@, and+@reifyType ''Bool@ returns @Type@.+This works even if there's no explicit signature and the type or kind is inferred.+-}+reifyType :: Name -> Q Type+reifyType nm = Q (qReifyType nm)++{- | Template Haskell is capable of reifying information about types and+terms defined in previous declaration groups. Top-level declaration splices break up+declaration groups.++For an example, consider this code block. We define a datatype @X@ and+then try to call 'reify' on the datatype.++@+module Check where++data X = X+ deriving Eq++$(do+ info <- reify ''X+ runIO $ print info+ )+@++This code fails to compile, noting that @X@ is not available for reification at the site of 'reify'. We can fix this by creating a new declaration group using an empty top-level splice:++@+data X = X+ deriving Eq++$(pure [])++$(do+ info <- reify ''X+ runIO $ print info+ )+@++We provide 'newDeclarationGroup' as a means of documenting this behavior+and providing a name for the pattern.++Since top level splices infer the presence of the @$( ... )@ brackets, we can also write:++@+data X = X+ deriving Eq++newDeclarationGroup++$(do+ info <- reify ''X+ runIO $ print info+ )+@++-}+newDeclarationGroup :: Q [Dec]+newDeclarationGroup = pure []++{- | @reifyInstances nm tys@ returns a list of all visible instances (see below for "visible")+of @nm tys@. That is,+if @nm@ is the name of a type class, then all instances of this class at the types @tys@+are returned. Alternatively, if @nm@ is the name of a data family or type family,+all instances of this family at the types @tys@ are returned.++Note that this is a \"shallow\" test; the declarations returned merely have+instance heads which unify with @nm tys@, they need not actually be satisfiable.++ - @reifyInstances ''Eq [ 'TupleT' 2 \``AppT`\` 'ConT' ''A \``AppT`\` 'ConT' ''B ]@ contains+ the @instance (Eq a, Eq b) => Eq (a, b)@ regardless of whether @A@ and+ @B@ themselves implement 'Eq'++ - @reifyInstances ''Show [ 'VarT' ('mkName' "a") ]@ produces every available+ instance of 'Show'++There is one edge case: @reifyInstances ''Typeable tys@ currently always+produces an empty list (no matter what @tys@ are given).++In principle, the *visible* instances are+* all instances defined in a prior top-level declaration group+ (see docs on @newDeclarationGroup@), or+* all instances defined in any module transitively imported by the+ module being compiled++However, actually searching all modules transitively below the one being+compiled is unreasonably expensive, so @reifyInstances@ will report only the+instance for modules that GHC has had some cause to visit during this+compilation. This is a shortcoming: @reifyInstances@ might fail to report+instances for a type that is otherwise unusued, or instances defined in a+different component. You can work around this shortcoming by explicitly importing the modules+whose instances you want to be visible. GHC issue <https://gitlab.haskell.org/ghc/ghc/-/issues/20529#note_388980 #20529>+has some discussion around this.++-}+reifyInstances :: Name -> [Type] -> Q [InstanceDec]+reifyInstances cls tys = Q (qReifyInstances cls tys)++{- | @reifyRoles nm@ returns the list of roles associated with the parameters+(both visible and invisible) of+the tycon @nm@. Fails if @nm@ cannot be found or is not a tycon.+The returned list should never contain 'InferR'.++An invisible parameter to a tycon is often a kind parameter. For example, if+we have++@+type Proxy :: forall k. k -> Type+data Proxy a = MkProxy+@++and @reifyRoles Proxy@, we will get @['NominalR', 'PhantomR']@. The 'NominalR' is+the role of the invisible @k@ parameter. Kind parameters are always nominal.+-}+reifyRoles :: Name -> Q [Role]+reifyRoles nm = Q (qReifyRoles nm)++-- | @reifyAnnotations target@ returns the list of annotations+-- associated with @target@. Only the annotations that are+-- appropriately typed is returned. So if you have @Int@ and @String@+-- annotations for the same target, you have to call this function twice.+reifyAnnotations :: Data a => AnnLookup -> Q [a]+reifyAnnotations an = Q (qReifyAnnotations an)++-- | @reifyModule mod@ looks up information about module @mod@. To+-- look up the current module, call this function with the return+-- value of 'Language.Haskell.TH.Lib.thisModule'.+reifyModule :: Module -> Q ModuleInfo+reifyModule m = Q (qReifyModule m)++-- | @reifyConStrictness nm@ looks up the strictness information for the fields+-- of the constructor with the name @nm@. Note that the strictness information+-- that 'reifyConStrictness' returns may not correspond to what is written in+-- the source code. For example, in the following data declaration:+--+-- @+-- data Pair a = Pair a a+-- @+--+-- 'reifyConStrictness' would return @['DecidedLazy', DecidedLazy]@ under most+-- circumstances, but it would return @['DecidedStrict', DecidedStrict]@ if the+-- @-XStrictData@ language extension was enabled.+reifyConStrictness :: Name -> Q [DecidedStrictness]+reifyConStrictness n = Q (qReifyConStrictness n)++-- | Is the list of instances returned by 'reifyInstances' nonempty?+--+-- If you're confused by an instance not being visible despite being+-- defined in the same module and above the splice in question, see the+-- docs for 'newDeclarationGroup' for a possible explanation.+isInstance :: Name -> [Type] -> Q Bool+isInstance nm tys = do { decs <- reifyInstances nm tys+ ; return (not (null decs)) }++-- | The location at which this computation is spliced.+location :: Q Loc+location = Q qLocation++-- |The 'runIO' function lets you run an I\/O computation in the 'Q' monad.+-- Take care: you are guaranteed the ordering of calls to 'runIO' within+-- a single 'Q' computation, but not about the order in which splices are run.+--+-- Note: for various murky reasons, stdout and stderr handles are not+-- necessarily flushed when the compiler finishes running, so you should+-- flush them yourself.+runIO :: IO a -> Q a+runIO m = Q (qRunIO m)++-- | Get the package root for the current package which is being compiled.+-- This can be set explicitly with the -package-root flag but is normally+-- just the current working directory.+--+-- The motivation for this flag is to provide a principled means to remove the+-- assumption from splices that they will be executed in the directory where the+-- cabal file resides. Projects such as haskell-language-server can't and don't+-- change directory when compiling files but instead set the -package-root flag+-- appropriately.+getPackageRoot :: Q FilePath+getPackageRoot = Q qGetPackageRoot++++-- | Record external files that runIO is using (dependent upon).+-- The compiler can then recognize that it should re-compile the Haskell file+-- when an external file changes.+--+-- Expects an absolute file path.+--+-- Notes:+--+-- * ghc -M does not know about these dependencies - it does not execute TH.+--+-- * The dependency is based on file content, not a modification time+addDependentFile :: FilePath -> Q ()+addDependentFile fp = Q (qAddDependentFile fp)++-- | Obtain a temporary file path with the given suffix. The compiler will+-- delete this file after compilation.+addTempFile :: String -> Q FilePath+addTempFile suffix = Q (qAddTempFile suffix)++-- | Add additional top-level declarations. The added declarations will be type+-- checked along with the current declaration group.+addTopDecls :: [Dec] -> Q ()+addTopDecls ds = Q (qAddTopDecls ds)++-- |+addForeignFile :: ForeignSrcLang -> String -> Q ()+addForeignFile = addForeignSource+{-# DEPRECATED addForeignFile+ "Use 'Language.Haskell.TH.Syntax.addForeignSource' instead"+ #-} -- deprecated in 8.6++-- | Emit a foreign file which will be compiled and linked to the object for+-- the current module. Currently only languages that can be compiled with+-- the C compiler are supported, and the flags passed as part of -optc will+-- be also applied to the C compiler invocation that will compile them.+--+-- Note that for non-C languages (for example C++) @extern "C"@ directives+-- must be used to get symbols that we can access from Haskell.+--+-- To get better errors, it is recommended to use #line pragmas when+-- emitting C files, e.g.+--+-- > {-# LANGUAGE CPP #-}+-- > ...+-- > addForeignSource LangC $ unlines+-- > [ "#line " ++ show (__LINE__ + 1) ++ " " ++ show __FILE__+-- > , ...+-- > ]+addForeignSource :: ForeignSrcLang -> String -> Q ()+addForeignSource lang src = do+ let suffix = case lang of+ LangC -> "c"+ LangCxx -> "cpp"+ LangObjc -> "m"+ LangObjcxx -> "mm"+ LangAsm -> "s"+ LangJs -> "js"+ RawObject -> "a"+ path <- addTempFile suffix+ runIO $ writeFile path src+ addForeignFilePath lang path++-- | Same as 'addForeignSource', but expects to receive a path pointing to the+-- foreign file instead of a 'String' of its contents. Consider using this in+-- conjunction with 'addTempFile'.+--+-- This is a good alternative to 'addForeignSource' when you are trying to+-- directly link in an object file.+addForeignFilePath :: ForeignSrcLang -> FilePath -> Q ()+addForeignFilePath lang fp = Q (qAddForeignFilePath lang fp)++-- | Add a finalizer that will run in the Q monad after the current module has+-- been type checked. This only makes sense when run within a top-level splice.+--+-- The finalizer is given the local type environment at the splice point. Thus+-- 'reify' is able to find the local definitions when executed inside the+-- finalizer.+addModFinalizer :: Q () -> Q ()+addModFinalizer act = Q (qAddModFinalizer (unQ act))++-- | Adds a core plugin to the compilation pipeline.+--+-- @addCorePlugin m@ has almost the same effect as passing @-fplugin=m@ to ghc+-- in the command line. The major difference is that the plugin module @m@+-- must not belong to the current package. When TH executes, it is too late+-- to tell the compiler that we needed to compile first a plugin module in the+-- current package.+addCorePlugin :: String -> Q ()+addCorePlugin plugin = Q (qAddCorePlugin plugin)++-- | Get state from the 'Q' monad. Note that the state is local to the+-- Haskell module in which the Template Haskell expression is executed.+getQ :: Typeable a => Q (Maybe a)+getQ = Q qGetQ++-- | Replace the state in the 'Q' monad. Note that the state is local to the+-- Haskell module in which the Template Haskell expression is executed.+putQ :: Typeable a => a -> Q ()+putQ x = Q (qPutQ x)++-- | Determine whether the given language extension is enabled in the 'Q' monad.+isExtEnabled :: Extension -> Q Bool+isExtEnabled ext = Q (qIsExtEnabled ext)++-- | List all enabled language extensions.+extsEnabled :: Q [Extension]+extsEnabled = Q qExtsEnabled++-- | Add Haddock documentation to the specified location. This will overwrite+-- any documentation at the location if it already exists. This will reify the+-- specified name, so it must be in scope when you call it. If you want to add+-- documentation to something that you are currently splicing, you can use+-- 'addModFinalizer' e.g.+--+-- > do+-- > let nm = mkName "x"+-- > addModFinalizer $ putDoc (DeclDoc nm) "Hello"+-- > [d| $(varP nm) = 42 |]+--+-- The helper functions 'withDecDoc' and 'withDecsDoc' will do this for you, as+-- will the 'funD_doc' and other @_doc@ combinators.+-- You most likely want to have the @-haddock@ flag turned on when using this.+-- Adding documentation to anything outside of the current module will cause an+-- error.+putDoc :: DocLoc -> String -> Q ()+putDoc t s = Q (qPutDoc t s)++-- | Retrieves the Haddock documentation at the specified location, if one+-- exists.+-- It can be used to read documentation on things defined outside of the current+-- module, provided that those modules were compiled with the @-haddock@ flag.+getDoc :: DocLoc -> Q (Maybe String)+getDoc n = Q (qGetDoc n)++instance MonadIO Q where+ liftIO = runIO++instance Quasi Q where+ qNewName = newName+ qReport = report+ qRecover = recover+ qReify = reify+ qReifyFixity = reifyFixity+ qReifyType = reifyType+ qReifyInstances = reifyInstances+ qReifyRoles = reifyRoles+ qReifyAnnotations = reifyAnnotations+ qReifyModule = reifyModule+ qReifyConStrictness = reifyConStrictness+ qLookupName = lookupName+ qLocation = location+ qGetPackageRoot = getPackageRoot+ qAddDependentFile = addDependentFile+ qAddTempFile = addTempFile+ qAddTopDecls = addTopDecls+ qAddForeignFilePath = addForeignFilePath+ qAddModFinalizer = addModFinalizer+ qAddCorePlugin = addCorePlugin+ qGetQ = getQ+ qPutQ = putQ+ qIsExtEnabled = isExtEnabled+ qExtsEnabled = extsEnabled+ qPutDoc = putDoc+ qGetDoc = getDoc+++----------------------------------------------------+-- The following operations are used solely in GHC.HsToCore.Quote when+-- desugaring brackets. They are not necessary for the user, who can use+-- ordinary return and (>>=) etc++-- | This function is only used in 'GHC.HsToCore.Quote' when desugaring+-- brackets. This is not necessary for the user, who can use the ordinary+-- 'return' and '(>>=)' operations.+sequenceQ :: forall m . Monad m => forall a . [m a] -> m [a]+sequenceQ = sequence++oneName, manyName :: Name+-- | Synonym for @''GHC.Types.One'@, from @ghc-prim@.+oneName = mkNameG DataName "ghc-prim" "GHC.Types" "One"+-- | Synonym for @''GHC.Types.Many'@, from @ghc-prim@.+manyName = mkNameG DataName "ghc-prim" "GHC.Types" "Many"+++-----------------------------------------------------+-- Names and uniques+-----------------------------------------------------++-- | The name of a module.+newtype ModName = ModName String -- Module name+ deriving (Show,Eq,Ord,Data,Generic)++-- | The name of a package.+newtype PkgName = PkgName String -- package name+ deriving (Show,Eq,Ord,Data,Generic)++-- | Obtained from 'reifyModule' and 'Language.Haskell.TH.Lib.thisModule'.+data Module = Module PkgName ModName -- package qualified module name+ deriving (Show,Eq,Ord,Data,Generic)++-- | An "Occurence Name".+newtype OccName = OccName String+ deriving (Show,Eq,Ord,Data,Generic)++-- | Smart constructor for 'ModName'+mkModName :: String -> ModName+mkModName s = ModName s++-- | Accessor for 'ModName'+modString :: ModName -> String+modString (ModName m) = m++-- | Smart constructor for 'PkgName'+mkPkgName :: String -> PkgName+mkPkgName s = PkgName s++-- | Accessor for 'PkgName'+pkgString :: PkgName -> String+pkgString (PkgName m) = m+++-----------------------------------------------------+-- OccName+-----------------------------------------------------++-- | Smart constructor for 'OccName'+mkOccName :: String -> OccName+mkOccName s = OccName s++-- | Accessor for 'OccName'+occString :: OccName -> String+occString (OccName occ) = occ+++-----------------------------------------------------+-- Names+-----------------------------------------------------+--+-- For "global" names ('NameG') we need a totally unique name,+-- so we must include the name-space of the thing+--+-- For unique-numbered things ('NameU'), we've got a unique reference+-- anyway, so no need for name space+--+-- For dynamically bound thing ('NameS') we probably want them to+-- in a context-dependent way, so again we don't want the name+-- space. For example:+--+-- > let v = mkName "T" in [| data $v = $v |]+--+-- Here we use the same Name for both type constructor and data constructor+--+--+-- NameL and NameG are bound *outside* the TH syntax tree+-- either globally (NameG) or locally (NameL). Ex:+--+-- > f x = $(h [| (map, x) |])+--+-- The 'map' will be a NameG, and 'x' wil be a NameL+--+-- These Names should never appear in a binding position in a TH syntax tree++{- $namecapture #namecapture#+Much of 'Name' API is concerned with the problem of /name capture/, which+can be seen in the following example.++> f expr = [| let x = 0 in $expr |]+> ...+> g x = $( f [| x |] )+> h y = $( f [| y |] )++A naive desugaring of this would yield:++> g x = let x = 0 in x+> h y = let x = 0 in y++All of a sudden, @g@ and @h@ have different meanings! In this case,+we say that the @x@ in the RHS of @g@ has been /captured/+by the binding of @x@ in @f@.++What we actually want is for the @x@ in @f@ to be distinct from the+@x@ in @g@, so we get the following desugaring:++> g x = let x' = 0 in x+> h y = let x' = 0 in y++which avoids name capture as desired.++In the general case, we say that a @Name@ can be captured if+the thing it refers to can be changed by adding new declarations.+-}++{- |+An abstract type representing names in the syntax tree.++'Name's can be constructed in several ways, which come with different+name-capture guarantees (see "Language.Haskell.TH.Syntax#namecapture" for+an explanation of name capture):++ * the built-in syntax @'f@ and @''T@ can be used to construct names,+ The expression @'f@ gives a @Name@ which refers to the value @f@+ currently in scope, and @''T@ gives a @Name@ which refers to the+ type @T@ currently in scope. These names can never be captured.++ * 'lookupValueName' and 'lookupTypeName' are similar to @'f@ and+ @''T@ respectively, but the @Name@s are looked up at the point+ where the current splice is being run. These names can never be+ captured.++ * 'newName' monadically generates a new name, which can never+ be captured.++ * 'mkName' generates a capturable name.++Names constructed using @newName@ and @mkName@ may be used in bindings+(such as @let x = ...@ or @\x -> ...@), but names constructed using+@lookupValueName@, @lookupTypeName@, @'f@, @''T@ may not.+-}+data Name = Name OccName NameFlavour deriving (Data, Eq, Generic)++instance Ord Name where+ -- check if unique is different before looking at strings+ (Name o1 f1) `compare` (Name o2 f2) = (f1 `compare` f2) `thenCmp`+ (o1 `compare` o2)++data NameFlavour+ = NameS -- ^ An unqualified name; dynamically bound+ | NameQ ModName -- ^ A qualified name; dynamically bound+ | NameU !Uniq -- ^ A unique local name+ | NameL !Uniq -- ^ Local name bound outside of the TH AST+ | NameG NameSpace PkgName ModName -- ^ Global name bound outside of the TH AST:+ -- An original name (occurrences only, not binders)+ -- Need the namespace too to be sure which+ -- thing we are naming+ deriving ( Data, Eq, Ord, Show, Generic )++data NameSpace = VarName -- ^ Variables+ | DataName -- ^ Data constructors+ | TcClsName -- ^ Type constructors and classes; Haskell has them+ -- in the same name space for now.+ | FldName+ { fldParent :: !String+ -- ^ The textual name of the parent of the field.+ --+ -- - For a field of a datatype, this is the name of the first constructor+ -- of the datatype (regardless of whether this constructor has this field).+ -- - For a field of a pattern synonym, this is the name of the pattern synonym.+ }+ deriving( Eq, Ord, Show, Data, Generic )++-- | @Uniq@ is used by GHC to distinguish names from each other.+type Uniq = Integer++-- | The name without its module prefix.+--+-- ==== __Examples__+--+-- >>> nameBase ''Data.Either.Either+-- "Either"+-- >>> nameBase (mkName "foo")+-- "foo"+-- >>> nameBase (mkName "Module.foo")+-- "foo"+nameBase :: Name -> String+nameBase (Name occ _) = occString occ++-- | Module prefix of a name, if it exists.+--+-- ==== __Examples__+--+-- >>> nameModule ''Data.Either.Either+-- Just "Data.Either"+-- >>> nameModule (mkName "foo")+-- Nothing+-- >>> nameModule (mkName "Module.foo")+-- Just "Module"+nameModule :: Name -> Maybe String+nameModule (Name _ (NameQ m)) = Just (modString m)+nameModule (Name _ (NameG _ _ m)) = Just (modString m)+nameModule _ = Nothing++-- | A name's package, if it exists.+--+-- ==== __Examples__+--+-- >>> namePackage ''Data.Either.Either+-- Just "base"+-- >>> namePackage (mkName "foo")+-- Nothing+-- >>> namePackage (mkName "Module.foo")+-- Nothing+namePackage :: Name -> Maybe String+namePackage (Name _ (NameG _ p _)) = Just (pkgString p)+namePackage _ = Nothing++-- | Returns whether a name represents an occurrence of a top-level variable+-- ('VarName'), data constructor ('DataName'), type constructor, or type class+-- ('TcClsName'). If we can't be sure, it returns 'Nothing'.+--+-- ==== __Examples__+--+-- >>> nameSpace 'Prelude.id+-- Just VarName+-- >>> nameSpace (mkName "id")+-- Nothing -- only works for top-level variable names+-- >>> nameSpace 'Data.Maybe.Just+-- Just DataName+-- >>> nameSpace ''Data.Maybe.Maybe+-- Just TcClsName+-- >>> nameSpace ''Data.Ord.Ord+-- Just TcClsName+nameSpace :: Name -> Maybe NameSpace+nameSpace (Name _ (NameG ns _ _)) = Just ns+nameSpace _ = Nothing++{- |+Generate a capturable name. Occurrences of such names will be+resolved according to the Haskell scoping rules at the occurrence+site.++For example:++> f = [| pi + $(varE (mkName "pi")) |]+> ...+> g = let pi = 3 in $f++In this case, @g@ is desugared to++> g = Prelude.pi + 3++Note that @mkName@ may be used with qualified names:++> mkName "Prelude.pi"++See also 'Language.Haskell.TH.Lib.dyn' for a useful combinator. The above example could+be rewritten using 'Language.Haskell.TH.Lib.dyn' as++> f = [| pi + $(dyn "pi") |]+-}+mkName :: String -> Name+-- The string can have a '.', thus "Foo.baz",+-- giving a dynamically-bound qualified name,+-- in which case we want to generate a NameQ+--+-- Parse the string to see if it has a "." in it+-- so we know whether to generate a qualified or unqualified name+-- It's a bit tricky because we need to parse+--+-- > Foo.Baz.x as Qual Foo.Baz x+--+-- So we parse it from back to front+mkName str+ = split [] (reverse str)+ where+ split occ [] = Name (mkOccName occ) NameS+ split occ ('.':rev) | not (null occ)+ , is_rev_mod_name rev+ = Name (mkOccName occ) (NameQ (mkModName (reverse rev)))+ -- The 'not (null occ)' guard ensures that+ -- mkName "&." = Name "&." NameS+ -- The 'is_rev_mod' guards ensure that+ -- mkName ".&" = Name ".&" NameS+ -- mkName "^.." = Name "^.." NameS -- #8633+ -- mkName "Data.Bits..&" = Name ".&" (NameQ "Data.Bits")+ -- This rather bizarre case actually happened; (.&.) is in Data.Bits+ split occ (c:rev) = split (c:occ) rev++ -- Recognises a reversed module name xA.yB.C,+ -- with at least one component,+ -- and each component looks like a module name+ -- (i.e. non-empty, starts with capital, all alpha)+ is_rev_mod_name rev_mod_str+ | (compt, rest) <- break (== '.') rev_mod_str+ , not (null compt), isUpper (last compt), all is_mod_char compt+ = case rest of+ [] -> True+ (_dot : rest') -> is_rev_mod_name rest'+ | otherwise+ = False++ is_mod_char c = isAlphaNum c || c == '_' || c == '\''++-- | Only used internally+mkNameU :: String -> Uniq -> Name+mkNameU s u = Name (mkOccName s) (NameU u)++-- | Only used internally+mkNameL :: String -> Uniq -> Name+mkNameL s u = Name (mkOccName s) (NameL u)++-- | Only used internally+mkNameQ :: String -> String -> Name+mkNameQ mn occ = Name (mkOccName occ) (NameQ (mkModName mn))++-- | Used for 'x etc, but not available to the programmer+mkNameG :: NameSpace -> String -> String -> String -> Name+mkNameG ns pkg modu occ+ = Name (mkOccName occ) (NameG ns (mkPkgName pkg) (mkModName modu))++mkNameS :: String -> Name+mkNameS n = Name (mkOccName n) NameS++mkNameG_v, mkNameG_tc, mkNameG_d :: String -> String -> String -> Name+mkNameG_v = mkNameG VarName+mkNameG_tc = mkNameG TcClsName+mkNameG_d = mkNameG DataName++mkNameG_fld :: String -- ^ package+ -> String -- ^ module+ -> String -- ^ parent (first constructor of parent type)+ -> String -- ^ field name+ -> Name+mkNameG_fld pkg modu con occ = mkNameG (FldName con) pkg modu occ++data NameIs = Alone -- ^ @name@+ | Applied -- ^ @(name)@+ | Infix -- ^ @\`name\`@++showName :: Name -> String+showName = showName' Alone++showName' :: NameIs -> Name -> String+showName' ni nm+ = case ni of+ Alone -> nms+ Applied+ | pnam -> nms+ | otherwise -> "(" ++ nms ++ ")"+ Infix+ | pnam -> "`" ++ nms ++ "`"+ | otherwise -> nms+ where+ -- For now, we make the NameQ and NameG print the same, even though+ -- NameQ is a qualified name (so what it means depends on what the+ -- current scope is), and NameG is an original name (so its meaning+ -- should be independent of what's in scope.+ -- We may well want to distinguish them in the end.+ -- Ditto NameU and NameL+ nms = case nm of+ Name occ NameS -> occString occ+ Name occ (NameQ m) -> modString m ++ "." ++ occString occ+ Name occ (NameG _ _ m) -> modString m ++ "." ++ occString occ+ Name occ (NameU u) -> occString occ ++ "_" ++ show u+ Name occ (NameL u) -> occString occ ++ "_" ++ show u++ pnam = classify nms++ -- True if we are function style, e.g. f, [], (,)+ -- False if we are operator style, e.g. +, :++ classify "" = False -- shouldn't happen; . operator is handled below+ classify (x:xs) | isAlpha x || (x `elem` "_[]()") =+ case dropWhile (/='.') xs of+ (_:xs') -> classify xs'+ [] -> True+ | otherwise = False++instance Show Name where+ show = showName++-- Tuple data and type constructors+-- | Tuple data constructor+tupleDataName :: Int -> Name+-- | Tuple type constructor+tupleTypeName :: Int -> Name++tupleDataName n = mk_tup_name n DataName True+tupleTypeName n = mk_tup_name n TcClsName True++-- Unboxed tuple data and type constructors+-- | Unboxed tuple data constructor+unboxedTupleDataName :: Int -> Name+-- | Unboxed tuple type constructor+unboxedTupleTypeName :: Int -> Name++unboxedTupleDataName n = mk_tup_name n DataName False+unboxedTupleTypeName n = mk_tup_name n TcClsName False++mk_tup_name :: Int -> NameSpace -> Bool -> Name+mk_tup_name n space boxed+ = Name (mkOccName tup_occ) (NameG space (mkPkgName "ghc-prim") tup_mod)+ where+ withParens thing+ | boxed = "(" ++ thing ++ ")"+ | otherwise = "(#" ++ thing ++ "#)"+ tup_occ | n == 0, space == TcClsName = if boxed then "Unit" else "Unit#"+ | n == 1 = if boxed then solo else unboxed_solo+ | space == TcClsName = "Tuple" ++ show n ++ if boxed then "" else "#"+ | otherwise = withParens (replicate n_commas ',')+ n_commas = n - 1+ tup_mod = mkModName (if boxed then "GHC.Tuple" else "GHC.Types")+ solo+ | space == DataName = "MkSolo"+ | otherwise = "Solo"++ unboxed_solo = solo ++ "#"++-- Unboxed sum data and type constructors+-- | Unboxed sum data constructor+unboxedSumDataName :: SumAlt -> SumArity -> Name+-- | Unboxed sum type constructor+unboxedSumTypeName :: SumArity -> Name++unboxedSumDataName alt arity+ | alt > arity+ = error $ prefix ++ "Index out of bounds." ++ debug_info++ | alt <= 0+ = error $ prefix ++ "Alt must be > 0." ++ debug_info++ | arity < 2+ = error $ prefix ++ "Arity must be >= 2." ++ debug_info++ | otherwise+ = Name (mkOccName sum_occ)+ (NameG DataName (mkPkgName "ghc-prim") (mkModName "GHC.Types"))++ where+ prefix = "unboxedSumDataName: "+ debug_info = " (alt: " ++ show alt ++ ", arity: " ++ show arity ++ ")"++ -- Synced with the definition of mkSumDataConOcc in GHC.Builtin.Types+ sum_occ = '(' : '#' : bars nbars_before ++ '_' : bars nbars_after ++ "#)"+ bars i = replicate i '|'+ nbars_before = alt - 1+ nbars_after = arity - alt++unboxedSumTypeName arity+ | arity < 2+ = error $ "unboxedSumTypeName: Arity must be >= 2."+ ++ " (arity: " ++ show arity ++ ")"++ | otherwise+ = Name (mkOccName sum_occ)+ (NameG TcClsName (mkPkgName "ghc-prim") (mkModName "GHC.Types"))++ where+ -- Synced with the definition of mkSumTyConOcc in GHC.Builtin.Types+ sum_occ = "Sum" ++ show arity ++ "#"++-----------------------------------------------------+-- Locations+-----------------------------------------------------++-- | A location within a source file.+data Loc+ = Loc { loc_filename :: String+ , loc_package :: String+ , loc_module :: String+ , loc_start :: CharPos+ , loc_end :: CharPos }+ deriving( Show, Eq, Ord, Data, Generic )++type CharPos = (Int, Int) -- ^ Line and character position+++-----------------------------------------------------+--+-- The Info returned by reification+--+-----------------------------------------------------++-- | Obtained from 'reify' in the 'Q' Monad.+data Info+ =+ -- | A class, with a list of its visible instances+ ClassI+ Dec+ [InstanceDec]++ -- | A class method+ | ClassOpI+ Name+ Type+ ParentName++ -- | A \"plain\" type constructor. \"Fancier\" type constructors are returned+ -- using 'PrimTyConI' or 'FamilyI' as appropriate. At present, this reified+ -- declaration will never have derived instances attached to it (if you wish+ -- to check for an instance, see 'reifyInstances').+ | TyConI+ Dec++ -- | A type or data family, with a list of its visible instances. A closed+ -- type family is returned with 0 instances.+ | FamilyI+ Dec+ [InstanceDec]++ -- | A \"primitive\" type constructor, which can't be expressed with a 'Dec'.+ -- Examples: @(->)@, @Int#@.+ | PrimTyConI+ Name+ Arity+ Unlifted++ -- | A data constructor+ | DataConI+ Name+ Type+ ParentName++ -- | A pattern synonym+ | PatSynI+ Name+ PatSynType++ {- |+ A \"value\" variable (as opposed to a type variable, see 'TyVarI').++ The @Maybe Dec@ field contains @Just@ the declaration which+ defined the variable - including the RHS of the declaration -+ or else @Nothing@, in the case where the RHS is unavailable to+ the compiler.++ At present, this value is /always/ @Nothing@:+ returning the RHS has not yet been implemented and is tracked by+ [GHC #14474](https://gitlab.haskell.org/ghc/ghc/-/issues/14474).+ -}+ | VarI+ Name+ Type+ (Maybe Dec)++ {- |+ A type variable.++ The @Type@ field contains the type which underlies the variable.+ At present, this is always @'VarT' theName@, but future changes+ may permit refinement of this.+ -}+ | TyVarI -- Scoped type variable+ Name+ Type -- What it is bound to+ deriving( Show, Eq, Ord, Data, Generic )++-- | Obtained from 'reifyModule' in the 'Q' Monad.+data ModuleInfo =+ -- | Contains the import list of the module.+ ModuleInfo [Module]+ deriving( Show, Eq, Ord, Data, Generic )++{- |+In 'ClassOpI' and 'DataConI', name of the parent class or type+-}+type ParentName = Name++-- | In 'UnboxedSumE' and 'UnboxedSumP', the number associated with a+-- particular data constructor. 'SumAlt's are one-indexed and should never+-- exceed the value of its corresponding 'SumArity'. For example:+--+-- * @(\#_|\#)@ has 'SumAlt' 1 (out of a total 'SumArity' of 2)+--+-- * @(\#|_\#)@ has 'SumAlt' 2 (out of a total 'SumArity' of 2)+type SumAlt = Int++-- | In 'UnboxedSumE', 'UnboxedSumT', and 'UnboxedSumP', the total number of+-- 'SumAlt's. For example, @(\#|\#)@ has a 'SumArity' of 2.+type SumArity = Int++-- | In 'PrimTyConI', arity of the type constructor+type Arity = Int++-- | In 'PrimTyConI', is the type constructor unlifted?+type Unlifted = Bool++-- | 'InstanceDec' describes a single instance of a class or type function.+-- It is just a 'Dec', but guaranteed to be one of the following:+--+-- * 'InstanceD' (with empty @['Dec']@)+--+-- * 'DataInstD' or 'NewtypeInstD' (with empty derived @['Name']@)+--+-- * 'TySynInstD'+type InstanceDec = Dec++-- | Fixity, as specified in a @infix[lr] n@ declaration.+data Fixity = Fixity Int FixityDirection+ deriving( Eq, Ord, Show, Data, Generic )++-- | The associativity of an operator, as in an @infix@ declaration.+data FixityDirection = InfixL | InfixR | InfixN+ deriving( Eq, Ord, Show, Data, Generic )++-- | Highest allowed operator precedence for 'Fixity' constructor (answer: 9)+maxPrecedence :: Int+maxPrecedence = (9::Int)++-- | Default fixity: @infixl 9@+defaultFixity :: Fixity+defaultFixity = Fixity maxPrecedence InfixL+++{-+Note [Unresolved infix]+~~~~~~~~~~~~~~~~~~~~~~~+-}+{- $infix #infix#++When implementing antiquotation for quasiquoters, one often wants+to parse strings into expressions:++> parse :: String -> Maybe Exp++But how should we parse @a + b * c@? If we don't know the fixities of+@+@ and @*@, we don't know whether to parse it as @a + (b * c)@ or @(a++ b) * c@.++In cases like this, use 'UInfixE', 'UInfixP', 'UInfixT', or 'PromotedUInfixT',+which stand for \"unresolved infix expression / pattern / type / promoted+constructor\", respectively. When the compiler is given a splice containing a+tree of @UInfixE@ applications such as++> UInfixE+> (UInfixE e1 op1 e2)+> op2+> (UInfixE e3 op3 e4)++it will look up and the fixities of the relevant operators and+reassociate the tree as necessary.++ * trees will not be reassociated across 'ParensE', 'ParensP', or 'ParensT',+ which are of use for parsing expressions like++ > (a + b * c) + d * e++ * 'InfixE', 'InfixP', 'InfixT', and 'PromotedInfixT' expressions are never+ reassociated.++ * The 'UInfixE' constructor doesn't support sections. Sections+ such as @(a *)@ have no ambiguity, so 'InfixE' suffices. For longer+ sections such as @(a + b * c -)@, use an 'InfixE' constructor for the+ outer-most section, and use 'UInfixE' constructors for all+ other operators:++ > InfixE+ > Just (UInfixE ...a + b * c...)+ > op+ > Nothing++ Sections such as @(a + b +)@ and @((a + b) +)@ should be rendered+ into 'Exp's differently:++ > (+ a + b) ---> InfixE Nothing + (Just $ UInfixE a + b)+ > -- will result in a fixity error if (+) is left-infix+ > (+ (a + b)) ---> InfixE Nothing + (Just $ ParensE $ UInfixE a + b)+ > -- no fixity errors++ * Quoted expressions such as++ > [| a * b + c |] :: Q Exp+ > [p| a : b : c |] :: Q Pat+ > [t| T + T |] :: Q Type++ will never contain 'UInfixE', 'UInfixP', 'UInfixT', 'PromotedUInfixT',+ 'InfixT', 'PromotedInfixT, 'ParensE', 'ParensP', or 'ParensT' constructors.++-}++-----------------------------------------------------+--+-- The main syntax data types+--+-----------------------------------------------------++-- | A Haskell literal. Note that the numeric types are all in terms of either+-- 'Integer' or 'Rational', regardless of the type they represent. The extra+-- precision reflects the textual representation in source code.+data Lit = CharL Char -- ^ @\'c\'@+ | StringL String -- ^ @"string"@+ | IntegerL Integer -- ^ @123@. Used for overloaded and non-overloaded+ -- literals. We don't have a good way to+ -- represent non-overloaded literals at+ -- the moment. Maybe that doesn't matter?+ | RationalL Rational -- ^ @1.23@. See above comment on 'IntegerL'.+ | IntPrimL Integer -- ^ @123#@+ | WordPrimL Integer -- ^ @123##@+ | FloatPrimL Rational -- ^ @1.23#@+ | DoublePrimL Rational -- ^ @1.23##@+ | StringPrimL [Word8] -- ^ @"string"#@. A primitive C-style string, type 'Addr#'+ | BytesPrimL Bytes -- ^ Some raw bytes, type 'Addr#':+ | CharPrimL Char -- ^ @\'c\'#@+ deriving( Show, Eq, Ord, Data, Generic )++ -- We could add Int, Float, Double etc, as we do in HsLit,+ -- but that could complicate the+ -- supposedly-simple TH.Syntax literal type++-- | Raw bytes embedded into the binary.+--+-- Avoid using Bytes constructor directly as it is likely to change in the+-- future. Use helpers such as `mkBytes` in Language.Haskell.TH.Lib instead.+data Bytes = Bytes+ { bytesPtr :: ForeignPtr Word8 -- ^ Pointer to the data+ , bytesOffset :: Word -- ^ Offset from the pointer+ , bytesSize :: Word -- ^ Number of bytes++ -- Maybe someday:+ -- , bytesAlignement :: Word -- ^ Alignement constraint+ -- , bytesReadOnly :: Bool -- ^ Shall we embed into a read-only+ -- -- section or not+ -- , bytesInitialized :: Bool -- ^ False: only use `bytesSize` to allocate+ -- -- an uninitialized region+ }+ deriving (Data,Generic)++-- We can't derive Show instance for Bytes because we don't want to show the+-- pointer value but the actual bytes (similarly to what ByteString does). See+-- #16457.+instance Show Bytes where+ show b = unsafePerformIO $ withForeignPtr (bytesPtr b) $ \ptr ->+ peekCStringLen ( ptr `plusPtr` fromIntegral (bytesOffset b)+ , fromIntegral (bytesSize b)+ )++-- We can't derive Eq and Ord instances for Bytes because we don't want to+-- compare pointer values but the actual bytes (similarly to what ByteString+-- does). See #16457+instance Eq Bytes where+ (==) = eqBytes++instance Ord Bytes where+ compare = compareBytes++eqBytes :: Bytes -> Bytes -> Bool+eqBytes a@(Bytes fp off len) b@(Bytes fp' off' len')+ | len /= len' = False -- short cut on length+ | fp == fp' && off == off' = True -- short cut for the same bytes+ | otherwise = compareBytes a b == EQ++compareBytes :: Bytes -> Bytes -> Ordering+compareBytes (Bytes _ _ 0) (Bytes _ _ 0) = EQ -- short cut for empty Bytes+compareBytes (Bytes fp1 off1 len1) (Bytes fp2 off2 len2) =+ unsafePerformIO $+ withForeignPtr fp1 $ \p1 ->+ withForeignPtr fp2 $ \p2 -> do+ i <- memcmp (p1 `plusPtr` fromIntegral off1)+ (p2 `plusPtr` fromIntegral off2)+ (fromIntegral (min len1 len2))+ return $! (i `compare` 0) <> (len1 `compare` len2)++foreign import ccall unsafe "memcmp"+ memcmp :: Ptr a -> Ptr b -> CSize -> IO CInt+++-- | Pattern in Haskell given in @{}@+data Pat+ = LitP Lit -- ^ @{ 5 or \'c\' }@+ | VarP Name -- ^ @{ x }@+ | TupP [Pat] -- ^ @{ (p1,p2) }@+ | UnboxedTupP [Pat] -- ^ @{ (\# p1,p2 \#) }@+ | UnboxedSumP Pat SumAlt SumArity -- ^ @{ (\#|p|\#) }@+ | ConP Name [Type] [Pat] -- ^ @data T1 = C1 t1 t2; {C1 \@ty1 p1 p2} = e@+ | InfixP Pat Name Pat -- ^ @foo ({x :+ y}) = e@+ | UInfixP Pat Name Pat -- ^ @foo ({x :+ y}) = e@+ --+ -- See "Language.Haskell.TH.Syntax#infix"+ | ParensP Pat -- ^ @{(p)}@+ --+ -- See "Language.Haskell.TH.Syntax#infix"+ | TildeP Pat -- ^ @{ ~p }@+ | BangP Pat -- ^ @{ !p }@+ | AsP Name Pat -- ^ @{ x \@ p }@+ | WildP -- ^ @{ _ }@+ | RecP Name [FieldPat] -- ^ @f (Pt { pointx = x }) = g x@+ | ListP [ Pat ] -- ^ @{ [1,2,3] }@+ | SigP Pat Type -- ^ @{ p :: t }@+ | ViewP Exp Pat -- ^ @{ e -> p }@+ | TypeP Type -- ^ @{ type p }@+ | InvisP Type -- ^ @{ @p }@+ | OrP (NonEmpty Pat) -- ^ @{ p1; p2 }@+ deriving( Show, Eq, Ord, Data, Generic )++-- | A (field name, pattern) pair. See 'RecP'.+type FieldPat = (Name,Pat)++-- | A @case@-alternative+data Match = Match Pat Body [Dec] -- ^ @case e of { pat -> body where decs }@+ deriving( Show, Eq, Ord, Data, Generic )++-- | A clause consists of patterns, guards, a body expression, and a list of+-- declarations under a @where@. Clauses are seen in equations for function+-- definitions, @case@-experssions, explicitly-bidirectional pattern synonyms,+-- etc.+data Clause = Clause [Pat] Body [Dec]+ -- ^ @f { p1 p2 = body where decs }@+ deriving( Show, Eq, Ord, Data, Generic )++-- | A Haskell expression.+data Exp+ = VarE Name -- ^ @{ x }@+ | ConE Name -- ^ @data T1 = C1 t1 t2; p = {C1} e1 e2 @+ | LitE Lit -- ^ @{ 5 or \'c\'}@+ | AppE Exp Exp -- ^ @{ f x }@+ | AppTypeE Exp Type -- ^ @{ f \@Int }@++ | InfixE (Maybe Exp) Exp (Maybe Exp) -- ^ @{x + y} or {(x+)} or {(+ x)} or {(+)}@++ -- It's a bit gruesome to use an Exp as the operator when a Name+ -- would suffice. Historically, Exp was used to make it easier to+ -- distinguish between infix constructors and non-constructors.+ -- This is a bit overkill, since one could just as well call+ -- `startsConId` or `startsConSym` (from `GHC.Lexeme`) on a Name.+ -- Unfortunately, changing this design now would involve lots of+ -- code churn for consumers of the TH API, so we continue to use+ -- an Exp as the operator and perform an extra check during conversion+ -- to ensure that the Exp is a constructor or a variable (#16895).++ | UInfixE Exp Exp Exp -- ^ @{x + y}@+ --+ -- See "Language.Haskell.TH.Syntax#infix"+ | ParensE Exp -- ^ @{ (e) }@+ --+ -- See "Language.Haskell.TH.Syntax#infix"+ | LamE [Pat] Exp -- ^ @{ \\ p1 p2 -> e }@+ | LamCaseE [Match] -- ^ @{ \\case m1; m2 }@+ | LamCasesE [Clause] -- ^ @{ \\cases m1; m2 }@+ | TupE [Maybe Exp] -- ^ @{ (e1,e2) } @+ --+ -- The 'Maybe' is necessary for handling+ -- tuple sections.+ --+ -- > (1,)+ --+ -- translates to+ --+ -- > TupE [Just (LitE (IntegerL 1)),Nothing]++ | UnboxedTupE [Maybe Exp] -- ^ @{ (\# e1,e2 \#) } @+ --+ -- The 'Maybe' is necessary for handling+ -- tuple sections.+ --+ -- > (# 'c', #)+ --+ -- translates to+ --+ -- > UnboxedTupE [Just (LitE (CharL 'c')),Nothing]++ | UnboxedSumE Exp SumAlt SumArity -- ^ @{ (\#|e|\#) }@+ | CondE Exp Exp Exp -- ^ @{ if e1 then e2 else e3 }@+ | MultiIfE [(Guard, Exp)] -- ^ @{ if | g1 -> e1 | g2 -> e2 }@+ | LetE [Dec] Exp -- ^ @{ let { x=e1; y=e2 } in e3 }@+ | CaseE Exp [Match] -- ^ @{ case e of m1; m2 }@+ | DoE (Maybe ModName) [Stmt] -- ^ @{ do { p <- e1; e2 } }@ or a qualified do if+ -- the module name is present+ | MDoE (Maybe ModName) [Stmt] -- ^ @{ mdo { x <- e1 y; y <- e2 x; } }@ or a qualified+ -- mdo if the module name is present+ | CompE [Stmt] -- ^ @{ [ (x,y) | x <- xs, y <- ys ] }@+ --+ -- The result expression of the comprehension is+ -- the /last/ of the @'Stmt'@s, and should be a 'NoBindS'.+ --+ -- E.g. translation:+ --+ -- > [ f x | x <- xs ]+ --+ -- > CompE [BindS (VarP x) (VarE xs), NoBindS (AppE (VarE f) (VarE x))]++ | ArithSeqE Range -- ^ @{ [ 1 ,2 .. 10 ] }@+ | ListE [ Exp ] -- ^ @{ [1,2,3] }@+ | SigE Exp Type -- ^ @{ e :: t }@+ | RecConE Name [FieldExp] -- ^ @{ T { x = y, z = w } }@+ | RecUpdE Exp [FieldExp] -- ^ @{ (f x) { z = w } }@+ | StaticE Exp -- ^ @{ static e }@+ | UnboundVarE Name -- ^ @{ _x }@+ --+ -- This is used for holes or unresolved+ -- identifiers in AST quotes. Note that+ -- it could either have a variable name+ -- or constructor name.+ | LabelE String -- ^ @{ #x }@ ( Overloaded label )+ | ImplicitParamVarE String -- ^ @{ ?x }@ ( Implicit parameter )+ | GetFieldE Exp String -- ^ @{ exp.field }@ ( Overloaded Record Dot )+ | ProjectionE (NonEmpty String) -- ^ @(.x)@ or @(.x.y)@ (Record projections)+ | TypedBracketE Exp -- ^ @[|| e ||]@+ | TypedSpliceE Exp -- ^ @$$e@+ | TypeE Type -- ^ @{ type t }@+ | ForallE [TyVarBndr Specificity] Exp -- ^ @forall \<vars\>. \<expr\>@+ | ForallVisE [TyVarBndr ()] Exp -- ^ @forall \<vars\> -> \<expr\>@+ | ConstrainedE [Exp] Exp -- ^ @\<ctxt\> => \<expr\>@+ deriving( Show, Eq, Ord, Data, Generic )++-- | A (field name, expression) pair. See 'RecConE' and 'RecUpdE'.+type FieldExp = (Name,Exp)++-- Omitted: implicit parameters++-- | A potentially guarded expression, as in function definitions or case+-- alternatives.+data Body+ = GuardedB [(Guard,Exp)] -- ^ @f p { | e1 = e2+ -- | e3 = e4 }+ -- where ds@+ | NormalB Exp -- ^ @f p { = e } where ds@+ deriving( Show, Eq, Ord, Data, Generic )++-- | A single guard.+data Guard+ = NormalG Exp -- ^ @f x { | odd x } = x@+ | PatG [Stmt] -- ^ @f x { | Just y <- x, Just z <- y } = z@+ deriving( Show, Eq, Ord, Data, Generic )++-- | A single statement, as in @do@-notation.+data Stmt+ = BindS Pat Exp -- ^ @p <- e@+ | LetS [ Dec ] -- ^ @{ let { x=e1; y=e2 } }@+ | NoBindS Exp -- ^ @e@+ | ParS [[Stmt]] -- ^ @x <- e1 | s2, s3 | s4@ (in 'CompE')+ | RecS [Stmt] -- ^ @rec { s1; s2 }@+ deriving( Show, Eq, Ord, Data, Generic )++-- | A list/enum range expression.+data Range = FromR Exp -- ^ @[n ..]@+ | FromThenR Exp Exp -- ^ @[n, m ..]@+ | FromToR Exp Exp -- ^ @[n .. m]@+ | FromThenToR Exp Exp Exp -- ^ @[n, m .. k]@+ deriving( Show, Eq, Ord, Data, Generic )++-- | A single declaration.+data Dec+ = FunD Name [Clause] -- ^ @{ f p1 p2 = b where decs }@+ | ValD Pat Body [Dec] -- ^ @{ p = b where decs }@+ | DataD Cxt Name [TyVarBndr BndrVis]+ (Maybe Kind) -- Kind signature (allowed only for GADTs)+ [Con] [DerivClause]+ -- ^ @{ data Cxt x => T x = A x | B (T x)+ -- deriving (Z,W)+ -- deriving stock Eq }@+ | NewtypeD Cxt Name [TyVarBndr BndrVis]+ (Maybe Kind) -- Kind signature+ Con [DerivClause] -- ^ @{ newtype Cxt x => T x = A (B x)+ -- deriving (Z,W Q)+ -- deriving stock Eq }@+ | TypeDataD Name [TyVarBndr BndrVis]+ (Maybe Kind) -- Kind signature (allowed only for GADTs)+ [Con] -- ^ @{ type data T x = A x | B (T x) }@+ | TySynD Name [TyVarBndr BndrVis] Type -- ^ @{ type T x = (x,x) }@+ | ClassD Cxt Name [TyVarBndr BndrVis]+ [FunDep] [Dec] -- ^ @{ class Eq a => Ord a where ds }@+ | InstanceD (Maybe Overlap) Cxt Type [Dec]+ -- ^ @{ instance {\-\# OVERLAPS \#-\}+ -- Show w => Show [w] where ds }@+ | SigD Name Type -- ^ @{ length :: [a] -> Int }@+ | KiSigD Name Kind -- ^ @{ type TypeRep :: k -> Type }@+ | ForeignD Foreign -- ^ @{ foreign import ... }+ --{ foreign export ... }@++ | InfixD Fixity NamespaceSpecifier Name+ -- ^ @{ infix 3 data foo }@+ | DefaultD [Type] -- ^ @{ default (Integer, Double) }@++ -- | pragmas+ | PragmaD Pragma -- ^ @{ {\-\# INLINE [1] foo \#-\} }@++ -- | data families (may also appear in [Dec] of 'ClassD' and 'InstanceD')+ | DataFamilyD Name [TyVarBndr BndrVis]+ (Maybe Kind)+ -- ^ @{ data family T a b c :: * }@++ | DataInstD Cxt (Maybe [TyVarBndr ()]) Type+ (Maybe Kind) -- Kind signature+ [Con] [DerivClause] -- ^ @{ data instance Cxt x => T [x]+ -- = A x | B (T x)+ -- deriving (Z,W)+ -- deriving stock Eq }@++ | NewtypeInstD Cxt (Maybe [TyVarBndr ()]) Type -- Quantified type vars+ (Maybe Kind) -- Kind signature+ Con [DerivClause] -- ^ @{ newtype instance Cxt x => T [x]+ -- = A (B x)+ -- deriving (Z,W)+ -- deriving stock Eq }@+ | TySynInstD TySynEqn -- ^ @{ type instance ... }@++ -- | open type families (may also appear in [Dec] of 'ClassD' and 'InstanceD')+ | OpenTypeFamilyD TypeFamilyHead+ -- ^ @{ type family T a b c = (r :: *) | r -> a b }@++ | ClosedTypeFamilyD TypeFamilyHead [TySynEqn]+ -- ^ @{ type family F a b = (r :: *) | r -> a where ... }@++ | RoleAnnotD Name [Role] -- ^ @{ type role T nominal representational }@+ | StandaloneDerivD (Maybe DerivStrategy) Cxt Type+ -- ^ @{ deriving stock instance Ord a => Ord (Foo a) }@+ | DefaultSigD Name Type -- ^ @{ default size :: Data a => a -> Int }@++ -- | Pattern Synonyms+ | PatSynD Name PatSynArgs PatSynDir Pat+ -- ^ @{ pattern P v1 v2 .. vn <- p }@ unidirectional or+ -- @{ pattern P v1 v2 .. vn = p }@ implicit bidirectional or+ -- @{ pattern P v1 v2 .. vn <- p+ -- where P v1 v2 .. vn = e }@ explicit bidirectional+ --+ -- also, besides prefix pattern synonyms, both infix and record+ -- pattern synonyms are supported. See 'PatSynArgs' for details++ | PatSynSigD Name PatSynType -- ^ A pattern synonym's type signature.++ | ImplicitParamBindD String Exp+ -- ^ @{ ?x = expr }@+ --+ -- Implicit parameter binding declaration. Can only be used in let+ -- and where clauses which consist entirely of implicit bindings.+ deriving( Show, Eq, Ord, Data, Generic )++-- | A way to specify a namespace to look in when GHC needs to find+-- a name's source+data NamespaceSpecifier+ = NoNamespaceSpecifier -- ^ Name may be everything; If there are two+ -- names in different namespaces, then consider both+ | TypeNamespaceSpecifier -- ^ Name should be a type-level entity, such as a+ -- data type, type alias, type family, type class,+ -- or type variable+ | DataNamespaceSpecifier -- ^ Name should be a term-level entity, such as a+ -- function, data constructor, or pattern synonym+ deriving( Show, Eq, Ord, Data, Generic )++-- | Varieties of allowed instance overlap.+data Overlap = Overlappable -- ^ May be overlapped by more specific instances+ | Overlapping -- ^ May overlap a more general instance+ | Overlaps -- ^ Both 'Overlapping' and 'Overlappable'+ | Incoherent -- ^ Both 'Overlapping' and 'Overlappable', and+ -- pick an arbitrary one if multiple choices are+ -- available.+ deriving( Show, Eq, Ord, Data, Generic )++-- | A single @deriving@ clause at the end of a datatype declaration.+data DerivClause = DerivClause (Maybe DerivStrategy) Cxt+ -- ^ @{ deriving stock (Eq, Ord) }@+ deriving( Show, Eq, Ord, Data, Generic )++-- | What the user explicitly requests when deriving an instance with+-- @-XDerivingStrategies@.+data DerivStrategy = StockStrategy -- ^ @deriving {stock} C@+ | AnyclassStrategy -- ^ @deriving {anyclass} C@, @-XDeriveAnyClass@+ | NewtypeStrategy -- ^ @deriving {newtype} C@, @-XGeneralizedNewtypeDeriving@+ | ViaStrategy Type -- ^ @deriving C {via T}@, @-XDerivingVia@+ deriving( Show, Eq, Ord, Data, Generic )++-- | A pattern synonym's type. Note that a pattern synonym's /fully/+-- specified type has a peculiar shape coming with two forall+-- quantifiers and two constraint contexts. For example, consider the+-- pattern synonym+--+-- > pattern P x1 x2 ... xn = <some-pattern>+--+-- P's complete type is of the following form+--+-- > pattern P :: forall universals. required constraints+-- > => forall existentials. provided constraints+-- > => t1 -> t2 -> ... -> tn -> t+--+-- consisting of four parts:+--+-- 1. the (possibly empty lists of) universally quantified type+-- variables and required constraints on them.+-- 2. the (possibly empty lists of) existentially quantified+-- type variables and the provided constraints on them.+-- 3. the types @t1@, @t2@, .., @tn@ of @x1@, @x2@, .., @xn@, respectively+-- 4. the type @t@ of @\<some-pattern\>@, mentioning only universals.+--+-- Pattern synonym types interact with TH when (a) reifying a pattern+-- synonym, (b) pretty printing, or (c) specifying a pattern synonym's+-- type signature explicitly:+--+-- * Reification always returns a pattern synonym's /fully/ specified+-- type in abstract syntax.+--+-- * Pretty printing via 'Language.Haskell.TH.Ppr.pprPatSynType' abbreviates+-- a pattern synonym's type unambiguously in concrete syntax: The rule of+-- thumb is to print initial empty universals and the required+-- context as @() =>@, if existentials and a provided context+-- follow. If only universals and their required context, but no+-- existentials are specified, only the universals and their+-- required context are printed. If both or none are specified, so+-- both (or none) are printed.+--+-- * When specifying a pattern synonym's type explicitly with+-- 'PatSynSigD' either one of the universals, the existentials, or+-- their contexts may be left empty.+--+-- See the GHC user's guide for more information on pattern synonyms+-- and their types:+-- <https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#pattern-synonyms>.+type PatSynType = Type++-- | Common elements of 'OpenTypeFamilyD' and 'ClosedTypeFamilyD'. By+-- analogy with "head" for type classes and type class instances as+-- defined in /Type classes: an exploration of the design space/, the+-- @TypeFamilyHead@ is defined to be the elements of the declaration+-- between @type family@ and @where@.+data TypeFamilyHead =+ TypeFamilyHead Name [TyVarBndr BndrVis] FamilyResultSig (Maybe InjectivityAnn)+ deriving( Show, Eq, Ord, Data, Generic )++-- | One equation of a type family instance or closed type family. The+-- arguments are the left-hand-side type and the right-hand-side result.+--+-- For instance, if you had the following type family:+--+-- @+-- type family Foo (a :: k) :: k where+-- forall k (a :: k). Foo \@k a = a+-- @+--+-- The @Foo \@k a = a@ equation would be represented as follows:+--+-- @+-- 'TySynEqn' ('Just' ['PlainTV' k, 'KindedTV' a ('VarT' k)])+-- ('AppT' ('AppKindT' ('ConT' ''Foo) ('VarT' k)) ('VarT' a))+-- ('VarT' a)+-- @+data TySynEqn = TySynEqn (Maybe [TyVarBndr ()]) Type Type+ deriving( Show, Eq, Ord, Data, Generic )++-- | [Functional dependency](https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/functional_dependencies.html)+-- syntax, as in a class declaration.+data FunDep = FunDep [Name] [Name] -- ^ @class C a b {| a -> b}@+ deriving( Show, Eq, Ord, Data, Generic )++-- | A @foreign@ declaration.+data Foreign = ImportF Callconv Safety String Name Type+ -- ^ @foreign import callconv safety "foreign_name" haskellName :: type@+ | ExportF Callconv String Name Type+ -- ^ @foreign export callconv "foreign_name" haskellName :: type@+ deriving( Show, Eq, Ord, Data, Generic )++-- keep Callconv in sync with module ForeignCall in ghc/compiler/GHC/Types/ForeignCall.hs+-- | A calling convention identifier, as in a 'Foreign' declaration.+data Callconv = CCall | StdCall | CApi | Prim | JavaScript+ deriving( Show, Eq, Ord, Data, Generic )++-- | A safety level, as in a 'Foreign' declaration.+data Safety = Unsafe | Safe | Interruptible+ deriving( Show, Eq, Ord, Data, Generic )++data Pragma = InlineP Name Inline RuleMatch Phases+ -- ^ @{ {\-\# [inline] [rule match] [phases] [phases] name #-} }@. See+ -- 'Inline' and 'RuleMatch'.+ | OpaqueP Name+ -- ^ @{ {\-\# OPAQUE T #-} }@+ | SpecialiseP Name Type (Maybe Inline) Phases+ -- ^ @{ {\-\# SPECIALISE [INLINE] [phases] T #-} }@+ | SpecialiseInstP Type+ -- ^ @{ {\-\# SPECIALISE instance I #-} }@+ | RuleP String (Maybe [TyVarBndr ()]) [RuleBndr] Exp Exp Phases+ -- ^ @{ {\-\# RULES "name" [phases] [forall t_1 ... t_i]. [forall b_1 ... b_j] rules... e_1 = e_2 #-} }@+ | AnnP AnnTarget Exp+ -- ^ @{ {\-\# ANN target exp #-} }@+ | LineP Int String+ -- ^ @{ {\-\# LINE n "file name" #-} }@+ | CompleteP [Name] (Maybe Name)+ -- ^ @{ {\-\# COMPLETE C_1, ..., C_i [ :: T ] \#-} }@+ | SCCP Name (Maybe String)+ -- ^ @{ {\-\# SCC fun "optional_name" \#-} }@+ deriving( Show, Eq, Ord, Data, Generic )++-- | An inline pragma.+data Inline = NoInline+ -- ^ @{ {\-\# NOINLINE ... #-} }@+ | Inline+ -- ^ @{ {\-\# INLINE ... #-} }@+ | Inlinable+ -- ^ @{ {\-\# INLINABLE ... #-} }@+ deriving (Show, Eq, Ord, Data, Generic)++-- | A @CONLIKE@ modifier, as in one of the various inline pragmas, or lack+-- thereof ('FunLike').+data RuleMatch = ConLike+ -- ^ @{ {\-\# CONLIKE [inline] ... #-} }@+ | FunLike+ -- ^ @{ {\-\# [inline] ... #-} }@+ deriving (Show, Eq, Ord, Data, Generic)++-- | Phase control syntax.+data Phases = AllPhases+ -- ^ The default when unspecified+ | FromPhase Int+ -- ^ @[n]@+ | BeforePhase Int+ -- ^ @[~n]@+ deriving (Show, Eq, Ord, Data, Generic)++-- | A binder found in the @forall@ of a @RULES@ pragma.+data RuleBndr = RuleVar Name+ -- ^ @forall {a} ... .@+ | TypedRuleVar Name Type+ -- ^ @forall {(a :: t)} ... .@+ deriving (Show, Eq, Ord, Data, Generic)++-- | The target of an @ANN@ pragma+data AnnTarget = ModuleAnnotation+ -- ^ @{\-\# ANN {module} ... #-}@+ | TypeAnnotation Name+ -- ^ @{\-\# ANN type {name} ... #-}@+ | ValueAnnotation Name+ -- ^ @{\-\# ANN {name} ... #-}@+ deriving (Show, Eq, Ord, Data, Generic)++-- | A context, as found on the left side of a @=>@ in a type.+type Cxt = [Pred] -- ^ @(Eq a, Ord b)@++-- | Since the advent of @ConstraintKinds@, constraints are really just types.+-- Equality constraints use the 'EqualityT' constructor. Constraints may also+-- be tuples of other constraints.+type Pred = Type++-- | 'SourceUnpackedness' corresponds to unpack annotations found in the source code.+--+-- This may not agree with the annotations returned by 'reifyConStrictness'.+-- See 'reifyConStrictness' for more information.+data SourceUnpackedness+ = NoSourceUnpackedness -- ^ @C a@+ | SourceNoUnpack -- ^ @C { {\-\# NOUNPACK \#-\} } a@+ | SourceUnpack -- ^ @C { {\-\# UNPACK \#-\} } a@+ deriving (Show, Eq, Ord, Data, Generic)++-- | 'SourceStrictness' corresponds to strictness annotations found in the source code.+--+-- This may not agree with the annotations returned by 'reifyConStrictness'.+-- See 'reifyConStrictness' for more information.+data SourceStrictness = NoSourceStrictness -- ^ @C a@+ | SourceLazy -- ^ @C {~}a@+ | SourceStrict -- ^ @C {!}a@+ deriving (Show, Eq, Ord, Data, Generic)++-- | Unlike 'SourceStrictness' and 'SourceUnpackedness', 'DecidedStrictness'+-- refers to the strictness annotations that the compiler chooses for a data constructor+-- field, which may be different from what is written in source code.+--+-- Note that non-unpacked strict fields are assigned 'DecidedLazy' when a bang would be inappropriate,+-- such as the field of a newtype constructor and fields that have an unlifted type.+--+-- See 'reifyConStrictness' for more information.+data DecidedStrictness = DecidedLazy -- ^ Field inferred to not have a bang.+ | DecidedStrict -- ^ Field inferred to have a bang.+ | DecidedUnpack -- ^ Field inferred to be unpacked.+ deriving (Show, Eq, Ord, Data, Generic)++-- | A data constructor.+--+-- The constructors for 'Con' can roughly be divided up into two categories:+-- those for constructors with \"vanilla\" syntax ('NormalC', 'RecC', and+-- 'InfixC'), and those for constructors with GADT syntax ('GadtC' and+-- 'RecGadtC'). The 'ForallC' constructor, which quantifies additional type+-- variables and class contexts, can surround either variety of constructor.+-- However, the type variables that it quantifies are different depending+-- on what constructor syntax is used:+--+-- * If a 'ForallC' surrounds a constructor with vanilla syntax, then the+-- 'ForallC' will only quantify /existential/ type variables. For example:+--+-- @+-- data Foo a = forall b. MkFoo a b+-- @+--+-- In @MkFoo@, 'ForallC' will quantify @b@, but not @a@.+--+-- * If a 'ForallC' surrounds a constructor with GADT syntax, then the+-- 'ForallC' will quantify /all/ type variables used in the constructor.+-- For example:+--+-- @+-- data Bar a b where+-- MkBar :: (a ~ b) => c -> MkBar a b+-- @+--+-- In @MkBar@, 'ForallC' will quantify @a@, @b@, and @c@.+--+-- Multiplicity annotations for data types are currently not supported+-- in Template Haskell (i.e. all fields represented by Template Haskell+-- will be linear).+data Con =+ -- | @C Int a@+ NormalC Name [BangType]++ -- | @C { v :: Int, w :: a }@+ | RecC Name [VarBangType]++ -- | @Int :+ a@+ | InfixC BangType Name BangType++ -- | @forall a. Eq a => C [a]@+ | ForallC [TyVarBndr Specificity] Cxt Con++ -- @C :: a -> b -> T b Int@+ | GadtC [Name]+ -- ^ The list of constructors, corresponding to the GADT constructor+ -- syntax @C1, C2 :: a -> T b@.+ --+ -- Invariant: the list must be non-empty.+ [BangType] -- ^ The constructor arguments+ Type -- ^ See Note [GADT return type]++ -- | @C :: { v :: Int } -> T b Int@+ | RecGadtC [Name]+ -- ^ The list of constructors, corresponding to the GADT record+ -- constructor syntax @C1, C2 :: { fld :: a } -> T b@.+ --+ -- Invariant: the list must be non-empty.+ [VarBangType] -- ^ The constructor arguments+ Type -- ^ See Note [GADT return type]+ deriving (Show, Eq, Ord, Data, Generic)++-- Note [GADT return type]+-- ~~~~~~~~~~~~~~~~~~~~~~~+-- The return type of a GADT constructor does not necessarily match the name of+-- the data type:+--+-- type S = T+--+-- data T a where+-- MkT :: S Int+--+--+-- type S a = T+--+-- data T a where+-- MkT :: S Char Int+--+--+-- type Id a = a+-- type S a = T+--+-- data T a where+-- MkT :: Id (S Char Int)+--+--+-- That is why we allow the return type stored by a constructor to be an+-- arbitrary type. See also #11341++-- | Strictness information in a data constructor's argument.+data Bang = Bang SourceUnpackedness SourceStrictness+ -- ^ @C { {\-\# UNPACK \#-\} !}a@+ deriving (Show, Eq, Ord, Data, Generic)++-- | A type with a strictness annotation, as in data constructors. See 'Con'.+type BangType = (Bang, Type)++-- | 'BangType', but for record fields. See 'Con'.+type VarBangType = (Name, Bang, Type)++-- | As of @template-haskell-2.11.0.0@, 'Strict' has been replaced by 'Bang'.+type Strict = Bang++-- | As of @template-haskell-2.11.0.0@, 'StrictType' has been replaced by+-- 'BangType'.+type StrictType = BangType++-- | As of @template-haskell-2.11.0.0@, 'VarStrictType' has been replaced by+-- 'VarBangType'.+type VarStrictType = VarBangType++-- | A pattern synonym's directionality.+data PatSynDir+ = Unidir -- ^ @pattern P x {<-} p@+ | ImplBidir -- ^ @pattern P x {=} p@+ | ExplBidir [Clause] -- ^ @pattern P x {<-} p where P x = e@+ deriving( Show, Eq, Ord, Data, Generic )++-- | A pattern synonym's argument type.+data PatSynArgs+ = PrefixPatSyn [Name] -- ^ @pattern P {x y z} = p@+ | InfixPatSyn Name Name -- ^ @pattern {x P y} = p@+ | RecordPatSyn [Name] -- ^ @pattern P { {x,y,z} } = p@+ deriving( Show, Eq, Ord, Data, Generic )++-- | A Haskell type.+data Type = ForallT [TyVarBndr Specificity] Cxt Type -- ^ @forall \<vars\>. \<ctxt\> => \<type\>@+ | ForallVisT [TyVarBndr ()] Type -- ^ @forall \<vars\> -> \<type\>@+ | AppT Type Type -- ^ @T a b@+ | AppKindT Type Kind -- ^ @T \@k t@+ | SigT Type Kind -- ^ @t :: k@+ | VarT Name -- ^ @a@+ | ConT Name -- ^ @T@+ | PromotedT Name -- ^ @'T@+ | InfixT Type Name Type -- ^ @T + T@+ | UInfixT Type Name Type -- ^ @T + T@+ --+ -- See "Language.Haskell.TH.Syntax#infix"+ | PromotedInfixT Type Name Type -- ^ @T :+: T@+ | PromotedUInfixT Type Name Type -- ^ @T :+: T@+ --+ -- See "Language.Haskell.TH.Syntax#infix"+ | ParensT Type -- ^ @(T)@++ -- See Note [Representing concrete syntax in types]+ | TupleT Int -- ^ @(,)@, @(,,)@, etc.+ | UnboxedTupleT Int -- ^ @(\#,\#)@, @(\#,,\#)@, etc.+ | UnboxedSumT SumArity -- ^ @(\#|\#)@, @(\#||\#)@, etc.+ | ArrowT -- ^ @->@+ | MulArrowT -- ^ @%n ->@+ --+ -- Generalised arrow type with multiplicity argument+ | EqualityT -- ^ @~@+ | ListT -- ^ @[]@+ | PromotedTupleT Int -- ^ @'()@, @'(,)@, @'(,,)@, etc.+ | PromotedNilT -- ^ @'[]@+ | PromotedConsT -- ^ @'(:)@+ | StarT -- ^ @*@+ | ConstraintT -- ^ @Constraint@+ | LitT TyLit -- ^ @0@, @1@, @2@, etc.+ | WildCardT -- ^ @_@+ | ImplicitParamT String Type -- ^ @?x :: t@+ deriving( Show, Eq, Ord, Data, Generic )++-- | The specificity of a type variable in a @forall ...@.+data Specificity = SpecifiedSpec -- ^ @a@+ | InferredSpec -- ^ @{a}@+ deriving( Show, Eq, Ord, Data, Generic )++-- | The @flag@ type parameter is instantiated to one of the following types:+--+-- * 'Specificity' (examples: 'ForallC', 'ForallT')+-- * 'BndrVis' (examples: 'DataD', 'ClassD', etc.)+-- * '()', a catch-all type for other forms of binders, including 'ForallVisT', 'DataInstD', 'RuleP', and 'TyVarSig'+--+data TyVarBndr flag = PlainTV Name flag -- ^ @a@+ | KindedTV Name flag Kind -- ^ @(a :: k)@+ deriving( Show, Eq, Ord, Data, Generic, Functor, Foldable, Traversable )++-- | Visibility of a type variable. See [Inferred vs. specified type variables](https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/type_applications.html#inferred-vs-specified-type-variables).+data BndrVis = BndrReq -- ^ @a@+ | BndrInvis -- ^ @\@a@+ deriving( Show, Eq, Ord, Data, Generic )++-- | Type family result signature+data FamilyResultSig = NoSig -- ^ no signature+ | KindSig Kind -- ^ @k@+ | TyVarSig (TyVarBndr ()) -- ^ @= r, = (r :: k)@+ deriving( Show, Eq, Ord, Data, Generic )++-- | Injectivity annotation as in an [injective type family](https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/type_families.html)+data InjectivityAnn = InjectivityAnn Name [Name]+ deriving ( Show, Eq, Ord, Data, Generic )++-- | Type-level literals.+data TyLit = NumTyLit Integer -- ^ @2@+ | StrTyLit String -- ^ @\"Hello\"@+ | CharTyLit Char -- ^ @\'C\'@, @since 4.16.0.0+ deriving ( Show, Eq, Ord, Data, Generic )++-- | Role annotations+data Role = NominalR -- ^ @nominal@+ | RepresentationalR -- ^ @representational@+ | PhantomR -- ^ @phantom@+ | InferR -- ^ @_@+ deriving( Show, Eq, Ord, Data, Generic )++-- | Annotation target for reifyAnnotations+data AnnLookup = AnnLookupModule Module+ | AnnLookupName Name+ deriving( Show, Eq, Ord, Data, Generic )++-- | To avoid duplication between kinds and types, they+-- are defined to be the same. Naturally, you would never+-- have a type be 'StarT' and you would never have a kind+-- be 'SigT', but many of the other constructors are shared.+-- Note that the kind @Bool@ is denoted with 'ConT', not+-- 'PromotedT'. Similarly, tuple kinds are made with 'TupleT',+-- not 'PromotedTupleT'.++type Kind = Type++{- Note [Representing concrete syntax in types]+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+Haskell has a rich concrete syntax for types, including+ t1 -> t2, (t1,t2), [t], and so on+In TH we represent all of this using AppT, with a distinguished+type constructor at the head. So,+ Type TH representation+ -----------------------------------------------+ t1 -> t2 ArrowT `AppT` t2 `AppT` t2+ [t] ListT `AppT` t+ (t1,t2) TupleT 2 `AppT` t1 `AppT` t2+ '(t1,t2) PromotedTupleT 2 `AppT` t1 `AppT` t2++But if the original HsSyn used prefix application, we won't use+these special TH constructors. For example+ [] t ConT "[]" `AppT` t+ (->) t ConT "->" `AppT` t+In this way we can faithfully represent in TH whether the original+HsType used concrete syntax or not.++The one case that doesn't fit this pattern is that of promoted lists+ '[ Maybe, IO ] PromotedListT 2 `AppT` t1 `AppT` t2+but it's very smelly because there really is no type constructor+corresponding to PromotedListT. So we encode HsExplicitListTy with+PromotedConsT and PromotedNilT (which *do* have underlying type+constructors):+ '[ Maybe, IO ] PromotedConsT `AppT` Maybe `AppT`+ (PromotedConsT `AppT` IO `AppT` PromotedNilT)+-}++-- | A location at which to attach Haddock documentation.+-- Note that adding documentation to a 'Name' defined oustide of the current+-- module will cause an error.+data DocLoc+ = ModuleDoc -- ^ At the current module's header.+ | DeclDoc Name -- ^ At a declaration, not necessarily top level.+ | ArgDoc Name Int -- ^ At a specific argument of a function, indexed by its+ -- position.+ | InstDoc Type -- ^ At a class or family instance.+ deriving ( Show, Eq, Ord, Data, Generic )++-----------------------------------------------------+-- Internal helper functions+-----------------------------------------------------++-- | Internal helper function.+cmpEq :: Ordering -> Bool+cmpEq EQ = True+cmpEq _ = False++-- | Internal helper function.+thenCmp :: Ordering -> Ordering -> Ordering+thenCmp EQ o2 = o2+thenCmp o1 _ = o1++-- | Internal helper function.+get_cons_names :: Con -> [Name]+get_cons_names (NormalC n _) = [n]+get_cons_names (RecC n _) = [n]+get_cons_names (InfixC _ n _) = [n]+get_cons_names (ForallC _ _ con) = get_cons_names con+-- GadtC can have multiple names, e.g+-- > data Bar a where+-- > MkBar1, MkBar2 :: a -> Bar a+-- Will have one GadtC with [MkBar1, MkBar2] as names+get_cons_names (GadtC ns _ _) = ns+get_cons_names (RecGadtC ns _ _) = ns
src/GHC/Internal/Text/Read/Lex.hs view
@@ -300,6 +300,17 @@ n <- lexInteger base guard (n <= toInteger (ord maxBound)) return (chr (fromInteger n))+ where+ -- Slightly different variant of lexBaseChar that denies binary format.+ -- Binary formats are not allowed for character/string literal.+ lexBaseChar = do+ c <- get+ case c of+ 'o' -> return 8+ 'O' -> return 8+ 'x' -> return 16+ 'X' -> return 16+ _ -> pfail lexCntrlChar = do _ <- char '^'@@ -415,27 +426,28 @@ lexNumber :: ReadP Lexeme lexNumber- = lexHexOct <++ -- First try for hex or octal 0x, 0o etc+ = lexHexOctBin <++ -- First try for hex, octal or binary 0x, 0o, 0b etc -- If that fails, try for a decimal number lexDecNumber -- Start with ordinary digits -lexHexOct :: ReadP Lexeme-lexHexOct+lexHexOctBin :: ReadP Lexeme+lexHexOctBin = do _ <- char '0' base <- lexBaseChar digits <- lexDigits base return (Number (MkNumber base digits))--lexBaseChar :: ReadP Int--- Lex a single character indicating the base; fail if not there-lexBaseChar = do- c <- get- case c of- 'o' -> return 8- 'O' -> return 8- 'x' -> return 16- 'X' -> return 16- _ -> pfail+ where+ -- Lex a single character indicating the base; fail if not there+ lexBaseChar = do+ c <- get+ case c of+ 'b' -> return 2+ 'B' -> return 2+ 'o' -> return 8+ 'O' -> return 8+ 'x' -> return 16+ 'X' -> return 16+ _ -> pfail lexDecNumber :: ReadP Lexeme lexDecNumber =
src/GHC/Internal/TypeLits.hs view
@@ -16,6 +16,7 @@ {-# LANGUAGE PolyKinds #-} {-# LANGUAGE ViewPatterns #-} {-# LANGUAGE RoleAnnotations #-}+{-# LANGUAGE QuantifiedConstraints #-} {-| GHC's @DataKinds@ language extension lifts data constructors, natural@@ -49,11 +50,18 @@ , OrderingI(..) , N.cmpNat, cmpSymbol, cmpChar -- ** Singleton values- , N.SNat, SSymbol, SChar+ , N.SNat (..)+ , SSymbol (UnsafeSSymbol)+ -- We export a pattern synonym instead of the real constructor:+ -- See Note [Preventing unsafe coercions for singleton types].+ , SChar (UnsafeSChar)+ -- We export a pattern synonym instead of the real constructor:+ -- See Note [Preventing unsafe coercions for singleton types]. , pattern N.SNat, pattern SSymbol, pattern SChar , fromSNat, fromSSymbol, fromSChar , withSomeSNat, withSomeSSymbol, withSomeSChar , N.withKnownNat, withKnownSymbol, withKnownChar+ , N.unsafeWithSNatCo, unsafeWithSSymbolCo, unsafeWithSCharCo -- * Functions on type literals , type (N.<=), type (N.<=?), type (N.+), type (N.*), type (N.^), type (N.-)@@ -72,7 +80,7 @@ import GHC.Internal.Base ( Bool(..), Eq(..), Functor(..), Ord(..), Ordering(..), String , (.), otherwise, withDict, Void, (++) , errorWithoutStackTrace)-import GHC.Types(Symbol, Char, TYPE)+import GHC.Types(Symbol, Char, TYPE, Coercible) import GHC.Internal.TypeError(ErrorMessage(..), TypeError) import GHC.Internal.Num(Integer, fromInteger) import GHC.Internal.Show(Show(..), appPrec, appPrec1, showParen, showString)@@ -340,7 +348,9 @@ -- 'String'. -- -- @since base-4.18.0.0-newtype SSymbol (s :: Symbol) = UnsafeSSymbol String+newtype SSymbol (s :: Symbol) = UnsafeSSymbol_ String+-- nominal role: See Note [Preventing unsafe coercions for singleton types]+-- in GHC.Internal.TypeNats type role SSymbol nominal -- | A explicitly bidirectional pattern synonym relating an 'SSymbol' to a@@ -377,6 +387,26 @@ knownSymbolInstance :: SSymbol s -> KnownSymbolInstance s knownSymbolInstance ss = withKnownSymbol ss KnownSymbolInstance +-- | A pattern that can be used to manipulate the+-- 'String' that an @SSymbol s@ contains under the hood.+--+-- When using this pattern to construct an @SSymbol s@, the actual+-- @String@ being stored in the @SSymbol@ /must/ be equal to (the+-- contents of) @s@. The compiler will not help you verify this,+-- hence the \'unsafe\' name.+pattern UnsafeSSymbol :: forall s. String -> SSymbol s+pattern UnsafeSSymbol guts = UnsafeSSymbol_ guts+{-# COMPLETE UnsafeSSymbol #-}++-- | 'unsafeWithSSymbolCo' allows uses of @coerce@ in its argument to see the+-- real representation of @SSymbol s@, without undermining the type-safety of+-- @coerce@ elsewhere in the module.+--+-- See also the documentation for 'UnsafeSSymbol'.+unsafeWithSSymbolCo+ :: forall r. ((forall s. Coercible (SSymbol s) String) => r) -> r+unsafeWithSSymbolCo v = v+ -- | @since base-4.19.0.0 instance Eq (SSymbol s) where _ == _ = True@@ -443,7 +473,9 @@ -- 3. The 'withSomeSChar' function, which creates an 'SChar' from a 'Char'. -- -- @since base-4.18.0.0-newtype SChar (s :: Char) = UnsafeSChar Char+newtype SChar (s :: Char) = UnsafeSChar_ Char+-- nominal role: See Note [Preventing unsafe coercions for singleton types]+-- in GHC.Internal.TypeNats type role SChar nominal -- | A explicitly bidirectional pattern synonym relating an 'SChar' to a@@ -479,6 +511,25 @@ -- synonym. knownCharInstance :: SChar c -> KnownCharInstance c knownCharInstance sc = withKnownChar sc KnownCharInstance++-- | A pattern that can be used to manipulate the+-- 'Char' that an @SChar c@ contains under the hood.+--+-- When using this pattern to construct an @SChar c@, the actual+-- @Char@ being stored in the @SChar c@ /must/ be equal to @c@.+-- The compiler will not help you verify this, hence the \'unsafe\' name.+pattern UnsafeSChar :: forall c. Char -> SChar c+pattern UnsafeSChar guts = UnsafeSChar_ guts+{-# COMPLETE UnsafeSChar #-}++-- | 'unsafeWithSCharCo' allows uses of @coerce@ in its argument to see the+-- real representation of @SChar c@, without undermining the type-safety of+-- @coerce@ elsewhere in the module.+--+-- See also the documentation for 'UnsafeSChar'.+unsafeWithSCharCo+ :: forall r. ((forall c. Coercible (SChar c) Char) => r) -> r+unsafeWithSCharCo v = v -- | @since base-4.19.0.0 instance Eq (SChar c) where
src/GHC/Internal/TypeNats.hs view
@@ -17,6 +17,7 @@ {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE ViewPatterns #-} {-# LANGUAGE RoleAnnotations #-}+{-# LANGUAGE QuantifiedConstraints #-} {-| This module is an internal GHC module. It declares the constants used in the implementation of type-level natural numbers. The programmer interface@@ -36,11 +37,14 @@ , sameNat , decideNat -- ** Singleton values- , SNat+ , SNat (UnsafeSNat)+ -- We export a pattern synonym instead of the real constructor:+ -- See Note [Preventing unsafe coercions for singleton types]. , pattern SNat , fromSNat , withSomeSNat , withKnownNat+ , unsafeWithSNatCo -- * Functions on type literals , type (<=), type (<=?), type (+), type (*), type (^), type (-)@@ -344,9 +348,60 @@ -- number. -- -- @since base-4.18.0.0-newtype SNat (n :: Nat) = UnsafeSNat Natural+newtype SNat (n :: Nat) = UnsafeSNat_ Natural+-- nominal role: See Note [Preventing unsafe coercions for singleton types] type role SNat nominal +{-+Note [Preventing unsafe coercions for singleton types]+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+Consider a singleton type like this one:++ newtype SNat (n :: Nat) = UnsafeSNat_ Natural++We operate under the fiction that a (non-bottom) value+``UnsafeSNat_ v :: SNat n`` also contains evidence that the value+``v :: Natural`` is the same as the type ``n :: Natural``.+Such evidence can only be safely ``coerce``d to evidence that the+value ``v`` is the same as some other type ``n2`` if we know that+``n ~ n2``, at nominal role. (This is #23454.)++So, to preserve that fiction, we:++ 1. Provide a role annotation indicating that ``SNat``'s type argument has+ nominal role rather than the phantom role that would be inferred.+ 2. Ensure that the real newtype constructor ``UnsafeSNat_`` is not+ exported even from ghc-internal. Whenever that constructor is in+ scope, typechecking of ``coerce`` will ignore the role annotation+ and just unwrap the newtype.++But users may wish to write functions like this one (#23478):++ plusSNat :: SNat a -> SNat b -> SNat (a + b)++We could ask them to use ``unsafeCoerce``, but it seems a bit more polite+to provide a pattern synonym ``UnsafeSNat :: forall n. Natural -> SNat n``+as an escape hatch (exported from ghc-internal only), so that such a function+can be written as follows:++ plusSNat (UnsafeSNat x) (UnsafeSNat y) = UnsafeSNat (x + y)++Crucially, these pattern synonyms (unlike real newtype constructors) do not+cause ``coerce`` to bypass our role annotation when they are in scope.++To allow casting data structures containing SNats, we provide a+further escape hatch in ``unsafeWithSNatCo``, which enables ``coerce`` to+bypass our role annotation on ``SNat``, but /only within its argument/:++ unsafeWithSNatCo+ :: forall r. ((forall n. Coercible (SNat n) Natural) => r) -> r+++The above reasoning applies identically for the other singleton types+'SChar' and 'SSymbol' as well.+-}++ -- | A explicitly bidirectional pattern synonym relating an 'SNat' to a -- 'KnownNat' constraint. --@@ -380,6 +435,25 @@ -- synonym. knownNatInstance :: SNat n -> KnownNatInstance n knownNatInstance sn = withKnownNat sn KnownNatInstance++-- | A pattern that can be used to manipulate the+-- 'Natural' that an @SNat n@ contains under the hood.+--+-- When using this pattern to construct an @SNat n@, the actual+-- @Natural@ being stored in the @SNat n@ /must/ be equal to @n@.+-- The compiler will not help you verify this, hence the \'unsafe\' name.+pattern UnsafeSNat :: forall n. Natural -> SNat n+pattern UnsafeSNat guts = UnsafeSNat_ guts+{-# COMPLETE UnsafeSNat #-}++-- | 'unsafeWithSNatCo' allows uses of @coerce@ in its argument to see the+-- real representation of @SNat n@, without undermining the type-safety of+-- @coerce@ elsewhere in the module.+--+-- See also the documentation for 'UnsafeSNat'.+unsafeWithSNatCo+ :: forall r. ((forall n. Coercible (SNat n) Natural) => r) -> r+unsafeWithSNatCo v = v -- | @since base-4.19.0.0 instance Eq (SNat n) where
src/GHC/Internal/Unicode/Bits.hs view
@@ -1,6 +1,9 @@ {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE BangPatterns #-}+{-# LANGUAGE UnboxedTuples #-}+{-# LANGUAGE UnliftedNewtypes #-}+{-# LANGUAGE BlockArguments #-} ----------------------------------------------------------------------------- -- |@@ -18,20 +21,23 @@ ----------------------------------------------------------------------------- module GHC.Internal.Unicode.Bits- ( lookupBit64,- lookupIntN- ) where+ ( lookupIntN+ , lookupBit64+ , newByteArrayFromWord8List+ , byteArrayLookupIntN+ , copyAddrToWord8List+ , UnicodeByteArray+ )+ where -import GHC.Internal.Base (Bool, Int(..), Word(..), Eq(..)) import GHC.Internal.Bits (finiteBitSize, popCount) import {-# SOURCE #-} GHC.Internal.ByteOrder import GHC.Prim- (Addr#,- indexWordOffAddr#, indexWord8OffAddr#,- andI#, uncheckedIShiftRL#,- and#, word2Int#, uncheckedShiftL#,- word8ToWord#, byteSwap#)-import GHC.Internal.Num ((-))+import GHC.Internal.ST+import GHC.Internal.Base+import GHC.Internal.Num+import GHC.Internal.List+import GHC.Internal.Word -- | @lookup64 addr index@ looks up the bit stored at bit index @index@ using a -- bitmap starting at the address @addr@. Looks up the 64-bit word containing@@ -71,3 +77,41 @@ lookupIntN addr# (I# index#) = let word## = word8ToWord# (indexWord8OffAddr# addr# index#) in I# (word2Int# word##)++data UnicodeByteArray = UnicodeByteArray !ByteArray#++byteArrayLookupIntN :: UnicodeByteArray -> Int -> Int+byteArrayLookupIntN ba idx+ = let !(UnicodeByteArray addr) = ba+ in lookupIntN (byteArrayContents# addr) idx++newByteArrayFromWord8List :: [Word8] -> UnicodeByteArray+newByteArrayFromWord8List xs = runST $ ST \s0 ->+ case newPinnedByteArray# len s0 of+ !(# s1, mba #) ->+ let s2 = fillByteArray mba 0# xs s1+ in case unsafeFreezeByteArray# mba s2 of+ !(# s3, fba #) -> (# s3, UnicodeByteArray fba #)+ where+ !(I# len) = length xs++ fillByteArray _ _ [] s = s+ fillByteArray mba i (y:ys) s =+ let !(W8# y#) = y+ s' = writeWord8Array# mba i y# s+ in fillByteArray mba (i +# 1#) ys s'++copyAddrToWord8List :: Addr# -> Int -> [Word8]+copyAddrToWord8List addr !len@(I# len') = runST $ ST \s0 ->+ case newByteArray# len' s0 of+ !(# s1, mba #) ->+ let s2 = copyAddrToByteArray# addr mba 0# len' s1+ in case unsafeFreezeByteArray# mba s2 of+ !(# s3, fba #) -> (# s3, readByteFromArray fba 0 len #)+ where+ readByteFromArray :: ByteArray# -> Int -> Int -> [Word8]+ readByteFromArray ba !from@(I# from') to =+ W8# (indexWord8Array# ba from') :+ if from == (to - 1)+ then []+ else readByteFromArray ba (from + 1) to
src/GHC/Internal/Unicode/Char/DerivedCoreProperties.hs view
@@ -1,5 +1,5 @@ -- DO NOT EDIT: This file is automatically generated by the internal tool ucd2haskell,--- with data from: https://www.unicode.org/Public/15.1.0/ucd/DerivedCoreProperties.txt.+-- with data from: https://www.unicode.org/Public/16.0.0/ucd/DerivedCoreProperties.txt. {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE MagicHash #-}@@ -8,9 +8,8 @@ ----------------------------------------------------------------------------- -- | -- Module : GHC.Internal.Unicode.Char.DerivedCoreProperties--- Copyright : (c) 2020 Composewell Technologies and Contributors -- License : BSD-3-Clause--- Maintainer : streamly@composewell.com+-- Maintainer : The GHC Developers <ghc-devs@haskell.org> -- Stability : internal ----------------------------------------------------------------------------- @@ -25,11 +24,11 @@ isUppercase :: Char -> Bool isUppercase = \c -> let n = ord c in n >= 65 && n <= 127369 && lookupBit64 bitmap# n where- bitmap# = "\0\0\0\0\0\0\0\0\254\255\255\7\0\0\0\0\0\0\0\0\0\0\0\0\255\255\127\127\0\0\0\0\85\85\85\85\85\85\85\170\170\84\85\85\85\85\85\43\214\206\219\177\213\210\174\17\144\164\170\74\85\85\210\85\85\85\85\85\85\85\5\108\122\85\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\69\128\64\215\254\255\251\15\0\0\0\128\28\85\85\85\144\230\255\255\255\255\255\255\0\0\0\0\0\0\85\85\85\85\1\84\85\85\85\85\85\85\171\42\85\85\85\85\85\85\85\85\85\85\85\85\254\255\255\255\127\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\191\32\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\255\255\255\255\255\255\63\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\255\231\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\85\85\85\85\85\85\85\85\85\85\85\85\85\85\85\85\85\85\21\64\85\85\85\85\85\85\85\85\85\85\85\85\0\255\0\63\0\255\0\255\0\63\0\170\0\255\0\0\0\0\0\0\0\0\0\15\0\15\0\15\0\31\0\15\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\132\56\39\62\80\61\15\192\32\0\0\0\255\255\0\0\8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\192\255\255\255\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\255\255\0\0\0\0\0\0\157\234\37\192\85\85\85\85\85\85\85\85\85\85\85\85\5\40\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\85\85\85\85\85\21\0\0\85\85\85\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\84\85\84\85\85\85\85\85\85\85\0\106\85\40\69\85\85\125\95\85\245\2\65\1\0\0\32\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\254\255\255\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\255\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\15\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\247\255\247\55\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\255\255\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\3\0\0\240\255\255\63\0\0\0\255\255\255\3\0\0\208\100\222\63\0\0\0\255\255\255\3\0\0\176\231\223\31\0\0\0\123\95\252\1\0\0\240\255\255\63\0\0\0\255\255\255\3\0\0\240\255\255\63\0\0\0\255\255\255\3\0\0\240\255\255\63\0\0\0\255\255\255\3\0\0\0\255\255\255\1\0\0\0\252\255\255\7\0\0\0\240\255\255\31\0\0\0\192\255\255\127\0\0\0\0\255\255\255\1\0\0\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\3\255\255\255\3\255\255\255\3"#+ bitmap# = "\0\0\0\0\0\0\0\0\254\255\255\7\0\0\0\0\0\0\0\0\0\0\0\0\255\255\127\127\0\0\0\0\85\85\85\85\85\85\85\170\170\84\85\85\85\85\85\43\214\206\219\177\213\210\174\17\144\164\170\74\85\85\210\85\85\85\85\85\85\85\5\108\122\85\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\69\128\64\215\254\255\251\15\0\0\0\128\28\85\85\85\144\230\255\255\255\255\255\255\0\0\0\0\0\0\85\85\85\85\1\84\85\85\85\85\85\85\171\42\85\85\85\85\85\85\85\85\85\85\85\85\254\255\255\255\127\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\191\32\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\255\255\255\255\255\255\63\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\255\255\255\255\255\231\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\85\85\85\85\85\85\85\85\85\85\85\85\85\85\85\85\85\85\21\64\85\85\85\85\85\85\85\85\85\85\85\85\0\255\0\63\0\255\0\255\0\63\0\170\0\255\0\0\0\0\0\0\0\0\0\15\0\15\0\15\0\31\0\15\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\132\56\39\62\80\61\15\192\32\0\0\0\255\255\0\0\8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\192\255\255\255\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\255\255\0\0\0\0\0\0\157\234\37\192\85\85\85\85\85\85\85\85\85\85\85\85\5\40\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\85\85\85\85\85\21\0\0\85\85\85\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\84\85\84\85\85\85\85\85\85\85\0\106\85\40\69\85\85\125\95\85\245\26\65\21\0\0\32\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\254\255\255\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\255\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\15\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\247\255\247\55\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\255\255\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\63\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\3\0\0\240\255\255\63\0\0\0\255\255\255\3\0\0\208\100\222\63\0\0\0\255\255\255\3\0\0\176\231\223\31\0\0\0\123\95\252\1\0\0\240\255\255\63\0\0\0\255\255\255\3\0\0\240\255\255\63\0\0\0\255\255\255\3\0\0\240\255\255\63\0\0\0\255\255\255\3\0\0\0\255\255\255\1\0\0\0\252\255\255\7\0\0\0\240\255\255\31\0\0\0\192\255\255\127\0\0\0\0\255\255\255\1\0\0\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\3\255\255\255\3\255\255\255\3"# {-# INLINE isLowercase #-} isLowercase :: Char -> Bool isLowercase = \c -> let n = ord c in n >= 97 && n <= 125251 && lookupBit64 bitmap# n where- bitmap# = "\0\0\0\0\0\0\0\0\0\0\0\0\254\255\255\7\0\0\0\0\0\4\32\4\0\0\0\128\255\255\127\255\170\170\170\170\170\170\170\85\85\171\170\170\170\170\170\212\41\49\36\78\42\45\81\230\64\82\85\181\170\170\41\170\170\170\170\170\170\170\250\147\133\170\255\255\255\255\255\255\255\255\239\255\255\255\255\1\3\0\0\0\31\0\0\0\0\0\0\0\0\0\0\0\32\0\0\0\0\0\138\60\0\0\1\0\0\240\255\255\255\127\227\170\170\170\47\25\0\0\0\0\0\0\255\255\255\255\255\255\170\170\170\170\2\168\170\170\170\170\170\170\84\213\170\170\170\170\170\170\170\170\170\170\170\170\0\0\0\0\0\0\255\255\255\255\255\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\255\247\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\63\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\0\0\0\0\0\0\0\0\170\170\170\170\170\170\170\170\170\170\170\170\170\170\170\170\170\170\234\191\170\170\170\170\170\170\170\170\170\170\170\170\255\0\63\0\255\0\255\0\63\0\255\0\255\0\255\63\255\0\255\0\255\0\223\64\220\0\207\0\255\0\220\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\128\0\0\255\31\0\0\0\0\0\0\0\0\0\0\0\0\0\196\8\0\0\128\16\50\192\67\0\0\0\0\255\255\16\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\255\255\98\21\218\63\170\170\170\170\170\170\170\170\170\170\170\170\26\80\8\0\255\255\255\255\191\32\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\170\170\170\170\170\42\0\0\170\170\170\58\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\168\170\171\170\170\170\170\170\170\170\255\149\170\80\186\170\170\130\160\170\10\5\170\2\0\0\92\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\255\247\255\3\255\255\255\255\255\255\255\255\255\255\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\127\0\248\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\254\255\255\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\255\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\15\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\128\255\251\255\251\27\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\185\255\255\255\255\255\253\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\255\255\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\252\255\255\15\0\0\192\223\255\255\0\0\0\252\255\255\15\0\0\192\235\239\255\0\0\0\252\255\255\15\0\0\192\255\255\255\0\0\0\252\255\255\15\0\0\192\255\255\255\0\0\0\252\255\255\15\0\0\192\255\255\255\0\0\0\252\255\255\15\0\0\192\255\255\255\0\0\0\252\255\255\63\0\0\0\252\255\255\247\3\0\0\240\255\255\223\15\0\0\192\255\255\127\63\0\0\0\255\255\255\253\0\0\0\252\255\255\247\11\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\251\255\127\224\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\255\255\255\63\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\252\255\255\255\15"#+ bitmap# = "\0\0\0\0\0\0\0\0\0\0\0\0\254\255\255\7\0\0\0\0\0\4\32\4\0\0\0\128\255\255\127\255\170\170\170\170\170\170\170\85\85\171\170\170\170\170\170\212\41\49\36\78\42\45\81\230\64\82\85\181\170\170\41\170\170\170\170\170\170\170\250\147\133\170\255\255\255\255\255\255\255\255\239\255\255\255\255\1\3\0\0\0\31\0\0\0\0\0\0\0\0\0\0\0\32\0\0\0\0\0\138\60\0\0\1\0\0\240\255\255\255\127\227\170\170\170\47\25\0\0\0\0\0\0\255\255\255\255\255\255\170\170\170\170\2\168\170\170\170\170\170\170\84\213\170\170\170\170\170\170\170\170\170\170\170\170\0\0\0\0\0\0\255\255\255\255\255\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\255\247\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\63\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\0\0\0\0\0\0\0\0\170\170\170\170\170\170\170\170\170\170\170\170\170\170\170\170\170\170\234\191\170\170\170\170\170\170\170\170\170\170\170\170\255\0\63\0\255\0\255\0\63\0\255\0\255\0\255\63\255\0\255\0\255\0\223\64\220\0\207\0\255\0\220\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\128\0\0\255\31\0\0\0\0\0\0\0\0\0\0\0\0\0\196\8\0\0\128\16\50\192\67\0\0\0\0\255\255\16\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\255\255\98\21\218\63\170\170\170\170\170\170\170\170\170\170\170\170\26\80\8\0\255\255\255\255\191\32\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\170\170\170\170\170\42\0\0\170\170\170\58\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\168\170\171\170\170\170\170\170\170\170\255\149\170\80\186\170\170\130\160\170\10\37\170\10\0\0\92\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\255\247\255\3\255\255\255\255\255\255\255\255\255\255\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\127\0\248\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\254\255\255\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\255\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\15\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\128\255\251\255\251\27\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\185\255\255\255\255\255\253\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\255\255\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\63\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\252\255\255\15\0\0\192\223\255\255\0\0\0\252\255\255\15\0\0\192\235\239\255\0\0\0\252\255\255\15\0\0\192\255\255\255\0\0\0\252\255\255\15\0\0\192\255\255\255\0\0\0\252\255\255\15\0\0\192\255\255\255\0\0\0\252\255\255\15\0\0\192\255\255\255\0\0\0\252\255\255\63\0\0\0\252\255\255\247\3\0\0\240\255\255\223\15\0\0\192\255\255\127\63\0\0\0\255\255\255\253\0\0\0\252\255\255\247\11\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\251\255\127\224\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\255\255\255\255\255\255\63\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\252\255\255\255\15"#
src/GHC/Internal/Unicode/Char/UnicodeData/GeneralCategory.hs view
file too large to diff
src/GHC/Internal/Unicode/Char/UnicodeData/SimpleLowerCaseMapping.hs view
@@ -1,5 +1,5 @@ -- DO NOT EDIT: This file is automatically generated by the internal tool ucd2haskell,--- with data from: https://www.unicode.org/Public/15.1.0/ucd/UnicodeData.txt.+-- with data from: https://www.unicode.org/Public/16.0.0/ucd/UnicodeData.txt. {-# LANGUAGE NoImplicitPrelude, LambdaCase #-} {-# OPTIONS_HADDOCK hide #-}@@ -7,9 +7,8 @@ ----------------------------------------------------------------------------- -- | -- Module : GHC.Internal.Unicode.Char.UnicodeData.SimpleLowerCaseMapping--- Copyright : (c) 2020 Composewell Technologies and Contributors -- License : BSD-3-Clause--- Maintainer : streamly@composewell.com+-- Maintainer : The GHC Developers <ghc-devs@haskell.org> -- Stability : internal ----------------------------------------------------------------------------- @@ -617,6 +616,7 @@ '\x13f3' -> '\x13fb' '\x13f4' -> '\x13fc' '\x13f5' -> '\x13fd'+ '\x1c89' -> '\x1c8a' '\x1c90' -> '\x10d0' '\x1c91' -> '\x10d1' '\x1c92' -> '\x10d2'@@ -1165,9 +1165,13 @@ '\xa7c6' -> '\x1d8e' '\xa7c7' -> '\xa7c8' '\xa7c9' -> '\xa7ca'+ '\xa7cb' -> '\x264'+ '\xa7cc' -> '\xa7cd' '\xa7d0' -> '\xa7d1' '\xa7d6' -> '\xa7d7' '\xa7d8' -> '\xa7d9'+ '\xa7da' -> '\xa7db'+ '\xa7dc' -> '\x19b' '\xa7f5' -> '\xa7f6' '\xff21' -> '\xff41' '\xff22' -> '\xff42'@@ -1357,6 +1361,28 @@ '\x10cb0' -> '\x10cf0' '\x10cb1' -> '\x10cf1' '\x10cb2' -> '\x10cf2'+ '\x10d50' -> '\x10d70'+ '\x10d51' -> '\x10d71'+ '\x10d52' -> '\x10d72'+ '\x10d53' -> '\x10d73'+ '\x10d54' -> '\x10d74'+ '\x10d55' -> '\x10d75'+ '\x10d56' -> '\x10d76'+ '\x10d57' -> '\x10d77'+ '\x10d58' -> '\x10d78'+ '\x10d59' -> '\x10d79'+ '\x10d5a' -> '\x10d7a'+ '\x10d5b' -> '\x10d7b'+ '\x10d5c' -> '\x10d7c'+ '\x10d5d' -> '\x10d7d'+ '\x10d5e' -> '\x10d7e'+ '\x10d5f' -> '\x10d7f'+ '\x10d60' -> '\x10d80'+ '\x10d61' -> '\x10d81'+ '\x10d62' -> '\x10d82'+ '\x10d63' -> '\x10d83'+ '\x10d64' -> '\x10d84'+ '\x10d65' -> '\x10d85' '\x118a0' -> '\x118c0' '\x118a1' -> '\x118c1' '\x118a2' -> '\x118c2'
src/GHC/Internal/Unicode/Char/UnicodeData/SimpleTitleCaseMapping.hs view
@@ -1,5 +1,5 @@ -- DO NOT EDIT: This file is automatically generated by the internal tool ucd2haskell,--- with data from: https://www.unicode.org/Public/15.1.0/ucd/UnicodeData.txt.+-- with data from: https://www.unicode.org/Public/16.0.0/ucd/UnicodeData.txt. {-# LANGUAGE NoImplicitPrelude, LambdaCase #-} {-# OPTIONS_HADDOCK hide #-}@@ -7,9 +7,8 @@ ----------------------------------------------------------------------------- -- | -- Module : GHC.Internal.Unicode.Char.UnicodeData.SimpleTitleCaseMapping--- Copyright : (c) 2020 Composewell Technologies and Contributors -- License : BSD-3-Clause--- Maintainer : streamly@composewell.com+-- Maintainer : The GHC Developers <ghc-devs@haskell.org> -- Stability : internal ----------------------------------------------------------------------------- @@ -152,6 +151,7 @@ '\x195' -> '\x1f6' '\x199' -> '\x198' '\x19a' -> '\x23d'+ '\x19b' -> '\xa7dc' '\x19e' -> '\x220' '\x1a1' -> '\x1a0' '\x1a3' -> '\x1a2'@@ -246,6 +246,7 @@ '\x260' -> '\x193' '\x261' -> '\xa7ac' '\x263' -> '\x194'+ '\x264' -> '\xa7cb' '\x265' -> '\xa78d' '\x266' -> '\xa7aa' '\x268' -> '\x197'@@ -582,6 +583,7 @@ '\x1c86' -> '\x42a' '\x1c87' -> '\x462' '\x1c88' -> '\xa64a'+ '\x1c8a' -> '\x1c89' '\x1d79' -> '\xa77d' '\x1d7d' -> '\x2c63' '\x1d8e' -> '\xa7c6'@@ -1105,9 +1107,11 @@ '\xa7c3' -> '\xa7c2' '\xa7c8' -> '\xa7c7' '\xa7ca' -> '\xa7c9'+ '\xa7cd' -> '\xa7cc' '\xa7d1' -> '\xa7d0' '\xa7d7' -> '\xa7d6' '\xa7d9' -> '\xa7d8'+ '\xa7db' -> '\xa7da' '\xa7f6' -> '\xa7f5' '\xab53' -> '\xa7b3' '\xab70' -> '\x13a0'@@ -1378,6 +1382,28 @@ '\x10cf0' -> '\x10cb0' '\x10cf1' -> '\x10cb1' '\x10cf2' -> '\x10cb2'+ '\x10d70' -> '\x10d50'+ '\x10d71' -> '\x10d51'+ '\x10d72' -> '\x10d52'+ '\x10d73' -> '\x10d53'+ '\x10d74' -> '\x10d54'+ '\x10d75' -> '\x10d55'+ '\x10d76' -> '\x10d56'+ '\x10d77' -> '\x10d57'+ '\x10d78' -> '\x10d58'+ '\x10d79' -> '\x10d59'+ '\x10d7a' -> '\x10d5a'+ '\x10d7b' -> '\x10d5b'+ '\x10d7c' -> '\x10d5c'+ '\x10d7d' -> '\x10d5d'+ '\x10d7e' -> '\x10d5e'+ '\x10d7f' -> '\x10d5f'+ '\x10d80' -> '\x10d60'+ '\x10d81' -> '\x10d61'+ '\x10d82' -> '\x10d62'+ '\x10d83' -> '\x10d63'+ '\x10d84' -> '\x10d64'+ '\x10d85' -> '\x10d65' '\x118c0' -> '\x118a0' '\x118c1' -> '\x118a1' '\x118c2' -> '\x118a2'
src/GHC/Internal/Unicode/Char/UnicodeData/SimpleUpperCaseMapping.hs view
@@ -1,5 +1,5 @@ -- DO NOT EDIT: This file is automatically generated by the internal tool ucd2haskell,--- with data from: https://www.unicode.org/Public/15.1.0/ucd/UnicodeData.txt.+-- with data from: https://www.unicode.org/Public/16.0.0/ucd/UnicodeData.txt. {-# LANGUAGE NoImplicitPrelude, LambdaCase #-} {-# OPTIONS_HADDOCK hide #-}@@ -7,9 +7,8 @@ ----------------------------------------------------------------------------- -- | -- Module : GHC.Internal.Unicode.Char.UnicodeData.SimpleUpperCaseMapping--- Copyright : (c) 2020 Composewell Technologies and Contributors -- License : BSD-3-Clause--- Maintainer : streamly@composewell.com+-- Maintainer : The GHC Developers <ghc-devs@haskell.org> -- Stability : internal ----------------------------------------------------------------------------- @@ -152,6 +151,7 @@ '\x195' -> '\x1f6' '\x199' -> '\x198' '\x19a' -> '\x23d'+ '\x19b' -> '\xa7dc' '\x19e' -> '\x220' '\x1a1' -> '\x1a0' '\x1a3' -> '\x1a2'@@ -242,6 +242,7 @@ '\x260' -> '\x193' '\x261' -> '\xa7ac' '\x263' -> '\x194'+ '\x264' -> '\xa7cb' '\x265' -> '\xa78d' '\x266' -> '\xa7aa' '\x268' -> '\x197'@@ -578,6 +579,7 @@ '\x1c86' -> '\x42a' '\x1c87' -> '\x462' '\x1c88' -> '\xa64a'+ '\x1c8a' -> '\x1c89' '\x1d79' -> '\xa77d' '\x1d7d' -> '\x2c63' '\x1d8e' -> '\xa7c6'@@ -1101,9 +1103,11 @@ '\xa7c3' -> '\xa7c2' '\xa7c8' -> '\xa7c7' '\xa7ca' -> '\xa7c9'+ '\xa7cd' -> '\xa7cc' '\xa7d1' -> '\xa7d0' '\xa7d7' -> '\xa7d6' '\xa7d9' -> '\xa7d8'+ '\xa7db' -> '\xa7da' '\xa7f6' -> '\xa7f5' '\xab53' -> '\xa7b3' '\xab70' -> '\x13a0'@@ -1374,6 +1378,28 @@ '\x10cf0' -> '\x10cb0' '\x10cf1' -> '\x10cb1' '\x10cf2' -> '\x10cb2'+ '\x10d70' -> '\x10d50'+ '\x10d71' -> '\x10d51'+ '\x10d72' -> '\x10d52'+ '\x10d73' -> '\x10d53'+ '\x10d74' -> '\x10d54'+ '\x10d75' -> '\x10d55'+ '\x10d76' -> '\x10d56'+ '\x10d77' -> '\x10d57'+ '\x10d78' -> '\x10d58'+ '\x10d79' -> '\x10d59'+ '\x10d7a' -> '\x10d5a'+ '\x10d7b' -> '\x10d5b'+ '\x10d7c' -> '\x10d5c'+ '\x10d7d' -> '\x10d5d'+ '\x10d7e' -> '\x10d5e'+ '\x10d7f' -> '\x10d5f'+ '\x10d80' -> '\x10d60'+ '\x10d81' -> '\x10d61'+ '\x10d82' -> '\x10d62'+ '\x10d83' -> '\x10d63'+ '\x10d84' -> '\x10d64'+ '\x10d85' -> '\x10d65' '\x118c0' -> '\x118a0' '\x118c1' -> '\x118a1' '\x118c2' -> '\x118a2'
src/GHC/Internal/Unicode/Version.hs view
@@ -6,9 +6,8 @@ ----------------------------------------------------------------------------- -- | -- Module : GHC.Internal.Unicode.Version--- Copyright : (c) 2020 Composewell Technologies and Contributors -- License : BSD-3-Clause--- Maintainer : streamly@composewell.com+-- Maintainer : The GHC Developers <ghc-devs@haskell.org> -- Stability : internal ----------------------------------------------------------------------------- @@ -19,8 +18,8 @@ import {-# SOURCE #-} GHC.Internal.Data.Version -- | Version of Unicode standard used by @base@:--- [15.1.0](https://www.unicode.org/versions/Unicode15.1.0/).+-- [16.0.0](https://www.unicode.org/versions/Unicode16.0.0/). -- -- @since base-4.15.0.0 unicodeVersion :: Version-unicodeVersion = makeVersion [15, 1, 0]+unicodeVersion = makeVersion [16, 0, 0]
src/GHC/Internal/Unsafe/Coerce.hs view
@@ -336,6 +336,10 @@ -- to another. Misuse of this function can invite the garbage collector -- to trounce upon your data and then laugh in your face. You don't want -- this function. Really.+--+-- This becomes more obvious when looking at its actual type:+-- @forall (r1 :: RuntimeRep) (r2 :: RuntimeRep) (a :: TYPE r1) (b :: TYPE r2). a -> b@+-- Which often get's rendered as @a -> b@ in haddock for technical reasons. unsafeCoerce# :: forall (r1 :: RuntimeRep) (r2 :: RuntimeRep) (a :: TYPE r1) (b :: TYPE r2). a -> b
src/GHC/Internal/Windows.hs view
@@ -97,8 +97,6 @@ import qualified GHC.Internal.Numeric -#include "windows_cconv.h"- type BOOL = Bool type LPBOOL = Ptr BOOL type BYTE = Word8@@ -222,11 +220,11 @@ foreign import ccall unsafe "base_getErrorMessage" -- in Win32Utils.c c_getErrorMessage :: DWORD -> IO LPWSTR -foreign import WINDOWS_CCONV unsafe "windows.h LocalFree"+foreign import ccall unsafe "windows.h LocalFree" localFree :: Ptr a -> IO (Ptr a) -- | Get the last system error produced in the current thread.-foreign import WINDOWS_CCONV unsafe "windows.h GetLastError"+foreign import ccall unsafe "windows.h GetLastError" getLastError :: IO ErrCode ----------------------------------------------------------------
src/GHC/Internal/Word.hs view
@@ -592,7 +592,13 @@ mod x y = rem x y divMod x y = quotRem x y - toInteger (W32# x#) = integerFromWord# (word32ToWord# x#)+ toInteger (W32# x#) =+#if WORD_SIZE_IN_BITS > 32+ -- In this case the conversion to Int# cannot overflow.+ IS (word2Int# (word32ToWord# x#))+#else+ integerFromWord# (word32ToWord# x#)+#endif -- | @since base-2.01 instance Bits Word32 where