FIX #1110: the linker also needs the workaround
[ghc-hetmet.git] / compiler / main / SysTools.lhs
index 17ed501..a76cb53 100644 (file)
@@ -485,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
 
@@ -509,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