X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Fmain%2FSysTools.lhs;h=2d4333ca05ad7f385008918b27d02954433c0e19;hp=7a2c0810fec2fe2d20ca8f7203d662e68a797445;hb=1c3d4480c8751665e71e344b71a844ca4191acc5;hpb=eb4352ab0675309fe6cb1ad38cf070340a338e50 diff --git a/compiler/main/SysTools.lhs b/compiler/main/SysTools.lhs index 7a2c081..2d4333c 100644 --- a/compiler/main/SysTools.lhs +++ b/compiler/main/SysTools.lhs @@ -198,7 +198,7 @@ initSysTools mbMinusB dflags | otherwise = inplace cGHC_MANGLER_DIR_REL cGHC_MANGLER_PGM windres_path - | am_installed = installed_bin "windres" + | am_installed = installed_bin "bin/windres" | otherwise = "windres" ; let dflags0 = defaultDynFlags @@ -528,11 +528,15 @@ runWindres :: DynFlags -> [Option] -> IO () runWindres dflags args = do let (gcc,gcc_args) = pgm_c dflags windres = pgm_windres dflags - runSomething dflags "Windres" windres - (Option ("--preprocessor=" ++ gcc ++ unwords (map showOpt gcc_args) ++ + mb_env <- getGccEnv gcc_args + runSomethingFiltered dflags id "Windres" windres + -- we must tell windres where to find gcc: it might not be on PATH + (Option ("--preprocessor=" ++ gcc ++ " " ++ + unwords (map showOpt gcc_args) ++ " -E -xc -DRC_INVOKED") : args) - -- we must tell windres where to find gcc: it might not be on PATH + -- we must use the PATH workaround here too, since windres invokes gcc + mb_env touch :: DynFlags -> String -> String -> IO () touch dflags purpose arg =