{-# LANGUAGE CPP #-} module GHC.DynFlags ( baseDynFlags, ) where #if MIN_VERSION_ghc(9,4,0) import GHC.Data.Bool (OverridingBool(Always)) #endif import GHC.Api hiding (settings) import GHC.Paths (libdir) #if !MIN_VERSION_ghc(9,6,0) fakeLlvmConfig :: LlvmConfig fakeLlvmConfig :: LlvmConfig fakeLlvmConfig = #if __GLASGOW_HASKELL__ < 810 ([], []) #else [(String, LlvmTarget)] -> [(Int, String)] -> LlvmConfig LlvmConfig [] [] #endif #endif baseDynFlags :: IO DynFlags baseDynFlags :: IO DynFlags baseDynFlags = do Settings settings <- String -> IO Settings initSysTools String libdir let dynFlags :: DynFlags dynFlags = #if MIN_VERSION_ghc(9,6,0) defaultDynFlags settings #else Settings -> LlvmConfig -> DynFlags defaultDynFlags Settings settings LlvmConfig fakeLlvmConfig #endif forall (f :: * -> *) a. Applicative f => a -> f a pure DynFlags dynFlags { useColor :: OverridingBool useColor = OverridingBool Always }