X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fmain%2FSysTools.lhs;h=006dd28588751996c0eb2592696bd63db237b786;hb=e761a777f2440ca1b8d8b40848cc5aa30d889ff6;hp=96833c86518b5e46b74caa4e94551fa3f7d2b6bc;hpb=bd4d75bae80df2e9a4d519112532bbdd959382a2;p=ghc-hetmet.git diff --git a/compiler/main/SysTools.lhs b/compiler/main/SysTools.lhs index 96833c8..006dd28 100644 --- a/compiler/main/SysTools.lhs +++ b/compiler/main/SysTools.lhs @@ -52,7 +52,7 @@ import System.Exit import System.Environment import System.FilePath import System.IO -import SYSTEM_IO_ERROR as IO +import System.IO.Error as IO import System.Directory import Data.Char import Data.Maybe @@ -149,7 +149,7 @@ initSysTools :: Maybe String -- Maybe TopDir path (without the '-B' prefix) -- (c) the GHC usage message -initSysTools mbMinusB _ +initSysTools mbMinusB dflags0 = do { (am_installed, top_dir) <- findTopDir mbMinusB -- top_dir -- for "installed" this is the root of GHC's support files @@ -193,8 +193,6 @@ initSysTools mbMinusB _ | am_installed = installed_bin "bin/windres" | otherwise = "windres" - ; let dflags0 = defaultDynFlags - ; tmpdir <- getTemporaryDirectory ; let dflags1 = setTmpDir tmpdir dflags0 @@ -430,9 +428,6 @@ xs `isContainedIn` ys = any (xs `isPrefixOf`) (tails ys) -- binaries (see bug #1110). getGccEnv :: [Option] -> IO (Maybe [(String,String)]) getGccEnv opts = -#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ < 603 - return Nothing -#else if null b_dirs then return Nothing else do env <- getEnvironment @@ -446,7 +441,6 @@ getGccEnv opts = mangle_path (path,paths) | map toUpper path == "PATH" = (path, '\"' : head b_dirs ++ "\";" ++ paths) mangle_path other = other -#endif runMangle :: DynFlags -> [Option] -> IO () runMangle dflags args = do @@ -683,11 +677,6 @@ runSomethingFiltered dflags filter_fn phase_name pgm args mb_env = do -- to test for this in general.) (\ err -> if IO.isDoesNotExistError err -#if defined(mingw32_HOST_OS) && __GLASGOW_HASKELL__ < 604 - -- the 'compat' version of rawSystem under mingw32 always - -- maps 'errno' to EINVAL to failure. - || case (ioeGetErrorType err ) of { InvalidArgument{} -> True ; _ -> False} -#endif then return (ExitFailure 1, True) else IO.ioError err) case (doesn'tExist, exit_code) of @@ -698,10 +687,6 @@ runSomethingFiltered dflags filter_fn phase_name pgm args mb_env = do builderMainLoop :: DynFlags -> (String -> String) -> FilePath -> [String] -> Maybe [(String, String)] -> IO ExitCode -#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ < 603 -builderMainLoop dflags filter_fn pgm real_args mb_env = do - rawSystem pgm real_args -#else builderMainLoop dflags filter_fn pgm real_args mb_env = do chan <- newChan (hStdIn, hStdOut, hStdErr, hProcess) <- runInteractiveProcess pgm real_args Nothing mb_env @@ -812,7 +797,6 @@ data BuildMessage = BuildMsg !SDoc | BuildError !SrcLoc !SDoc | EOF -#endif showOpt :: Option -> String showOpt (FileOption pre f) = pre ++ f