diff options
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/main/GHC.hs | 6 | ||||
-rw-r--r-- | compiler/main/SysTools.hs | 16 |
2 files changed, 11 insertions, 11 deletions
diff --git a/compiler/main/GHC.hs b/compiler/main/GHC.hs index 2b25646d8d..0e20e21fdb 100644 --- a/compiler/main/GHC.hs +++ b/compiler/main/GHC.hs @@ -326,6 +326,7 @@ import HscTypes import CmdLineParser import DynFlags hiding (WarnReason(..)) import SysTools +import SysTools.BaseDir import Annotations import Module import Panic @@ -494,8 +495,9 @@ withCleanupSession ghc = ghc `gfinally` cleanup initGhcMonad :: GhcMonad m => Maybe FilePath -> m () initGhcMonad mb_top_dir = do { env <- liftIO $ - do { mySettings <- initSysTools mb_top_dir - ; myLlvmConfig <- initLlvmConfig mb_top_dir + do { top_dir <- findTopDir mb_top_dir + ; mySettings <- initSysTools top_dir + ; myLlvmConfig <- initLlvmConfig top_dir ; dflags <- initDynFlags (defaultDynFlags mySettings myLlvmConfig) ; checkBrokenTablesNextToCode dflags ; setUnsafeGlobalDynFlags dflags diff --git a/compiler/main/SysTools.hs b/compiler/main/SysTools.hs index c3d154f0e6..ff36c04ecf 100644 --- a/compiler/main/SysTools.hs +++ b/compiler/main/SysTools.hs @@ -110,17 +110,16 @@ stuff. ************************************************************************ -} -initLlvmConfig :: Maybe String - -> IO LlvmConfig -initLlvmConfig mbMinusB +initLlvmConfig :: String + -> IO LlvmConfig +initLlvmConfig top_dir = do targets <- readAndParse "llvm-targets" mkLlvmTarget passes <- readAndParse "llvm-passes" id return (targets, passes) where readAndParse name builder = - do top_dir <- findTopDir mbMinusB - let llvmConfigFile = top_dir </> name + do let llvmConfigFile = top_dir </> name llvmConfigStr <- readFile llvmConfigFile case maybeReadFuzzy llvmConfigStr of Just s -> return (fmap builder <$> s) @@ -130,14 +129,13 @@ initLlvmConfig mbMinusB mkLlvmTarget (dl, cpu, attrs) = LlvmTarget dl cpu (words attrs) -initSysTools :: Maybe String -- Maybe TopDir path (without the '-B' prefix) +initSysTools :: String -- TopDir path -> IO Settings -- Set all the mutable variables above, holding -- (a) the system programs -- (b) the package-config file -- (c) the GHC usage message -initSysTools mbMinusB - = do top_dir <- findTopDir mbMinusB - -- see Note [topdir: How GHC finds its files] +initSysTools top_dir + = do -- see Note [topdir: How GHC finds its files] -- NB: top_dir is assumed to be in standard Unix -- format, '/' separated mtool_dir <- findToolDir top_dir |