X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Fmain%2FSysTools.lhs;h=a76cb53b5d23b2b30b5ea3c3d7da541cba52668b;hp=c9993a2f5a20d8c3d7b8bea707772c5763c32432;hb=9bbcd77cf9b66940058dbea1827db594e8ff6d7f;hpb=51d7a92b232199ead61a484394283f7183612e18 diff --git a/compiler/main/SysTools.lhs b/compiler/main/SysTools.lhs index c9993a2..a76cb53 100644 --- a/compiler/main/SysTools.lhs +++ b/compiler/main/SysTools.lhs @@ -75,7 +75,6 @@ import GHC.IOBase ( IOErrorType(..) ) #else import System.Process ( runInteractiveProcess, getProcessExitCode ) import Control.Concurrent( forkIO, newChan, readChan, writeChan ) -import Data.Char ( isSpace ) import FastString ( mkFastString ) import SrcLoc ( SrcLoc, mkSrcLoc, noSrcSpan, mkSrcSpan ) #endif @@ -486,7 +485,8 @@ getGccEnv opts = get_b_opt (Option ('-':'B':dir)) = Left dir get_b_opt other = Right other - mangle_path ("PATH",paths) = ("PATH", '\"' : head b_dirs ++ "\";" ++ paths) + mangle_path (path,paths) | map toUpper path == "PATH" + = (path, '\"' : head b_dirs ++ "\";" ++ paths) mangle_path other = other #endif @@ -510,7 +510,9 @@ runAs dflags args = do runLink :: DynFlags -> [Option] -> IO () runLink dflags args = do let (p,args0) = pgm_l dflags - runSomething dflags "Linker" p (args0++args) + args1 = args0 ++ args + mb_env <- getGccEnv args1 + runSomethingFiltered dflags id "Linker" p args1 mb_env runMkDLL :: DynFlags -> [Option] -> IO () runMkDLL dflags args = do