{-# OPTIONS_GHC -Wno-missing-fields #-}
#include "ghclib_api.h"
module Language.Haskell.GhclibParserEx.GHC.Settings.Config(
fakeSettings
#if defined (GHC_8_8) || defined (GHC_8_10) || defined (GHC_9_0) || defined (GHC_9_2) || defined (GHC_9_4)
, fakeLlvmConfig
#endif
)
where
#if defined (GHC_8_8)
import Config
import DynFlags
import Fingerprint
import Platform
#elif defined (GHC_8_10)
import Config
import DynFlags
import Fingerprint
import GHC.Platform
import ToolSettings
#else
import GHC.Settings.Config
import GHC.Driver.Session
import GHC.Utils.Fingerprint
import GHC.Platform
import GHC.Settings
#endif
fakeSettings :: Settings
fakeSettings :: Settings
fakeSettings = Settings
#if defined (GHC_8_8)
{ sTargetPlatform=platform
, sPlatformConstants=platformConstants
, sProjectVersion=cProjectVersion
, sProgramName="ghc"
, sOpt_P_fingerprint=fingerprint0
}
#elif defined (GHC_8_10) || defined (GHC_9_0)
{ sGhcNameVersion=ghcNameVersion
, sFileSettings=fileSettings
, sTargetPlatform=platform
, sPlatformMisc=platformMisc
, sPlatformConstants=platformConstants
, sToolSettings=toolSettings
}
#else
{ sGhcNameVersion :: GhcNameVersion
sGhcNameVersion=GhcNameVersion
ghcNameVersion
, sFileSettings :: FileSettings
sFileSettings=FileSettings
fileSettings
, sTargetPlatform :: Platform
sTargetPlatform=Platform
platform
, sPlatformMisc :: PlatformMisc
sPlatformMisc=PlatformMisc
platformMisc
, sToolSettings :: ToolSettings
sToolSettings=ToolSettings
toolSettings
}
#endif
where
#if !defined (GHC_8_8)
toolSettings :: ToolSettings
toolSettings = ToolSettings {
toolSettings_opt_P_fingerprint :: Fingerprint
toolSettings_opt_P_fingerprint=Fingerprint
fingerprint0
}
fileSettings :: FileSettings
fileSettings = FileSettings {}
platformMisc :: PlatformMisc
platformMisc = PlatformMisc {}
ghcNameVersion :: GhcNameVersion
ghcNameVersion = GhcNameVersion {
ghcNameVersion_programName :: String
ghcNameVersion_programName=String
"ghc"
, ghcNameVersion_projectVersion :: String
ghcNameVersion_projectVersion=String
cProjectVersion
}
#endif
#if defined (GHC_8_8) || defined (GHC_8_10) || defined (GHC_9_0)
platformConstants = PlatformConstants {
pc_DYNAMIC_BY_DEFAULT=False
, pc_WORD_SIZE=8
}
#endif
#if defined (GHC_8_8)
platform = Platform {
platformWordSize=8
, platformOS=OSUnknown
, platformUnregisterised=True
}
#elif defined (GHC_8_10)
platform = Platform {
platformWordSize=PW8
, platformMini=PlatformMini {
platformMini_arch=ArchUnknown
, platformMini_os=OSUnknown
}
, platformUnregisterised=True
}
#elif defined (GHC_9_0)
platform = Platform {
platformByteOrder=LittleEndian
, platformHasGnuNonexecStack=True
, platformHasIdentDirective=False
, platformHasSubsectionsViaSymbols=False
, platformIsCrossCompiling=False
, platformLeadingUnderscore=False
, platformTablesNextToCode=False
, platformWordSize=PW8
, platformMini=PlatformMini {platformMini_arch=ArchUnknown, platformMini_os=OSUnknown}
, platformUnregisterised=True
}
#else
platform :: Platform
platform = Platform
genericPlatform
#endif
#if defined (GHC_8_8)
fakeLlvmConfig :: (LlvmTargets, LlvmPasses)
fakeLlvmConfig = ([], [])
#elif defined (GHC_8_10) || defined (GHC_9_0) || defined(GHC_9_2) || defined(GHC_9_4)
fakeLlvmConfig :: LlvmConfig
fakeLlvmConfig = LlvmConfig [] []
#endif