X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fmain%2FSysTools.lhs;h=e44ed6d7b3a8e27f67acf91439bd94d43faa8a65;hb=8ab093423360990fc108d86098fc6bfb3b555269;hp=43de6d16bedb5fb9e2a5fc02f31cee8989f2ff11;hpb=22b39e40ba469e0ab46dd248ef5aaf46f8327940;p=ghc-hetmet.git diff --git a/compiler/main/SysTools.lhs b/compiler/main/SysTools.lhs index 43de6d1..e44ed6d 100644 --- a/compiler/main/SysTools.lhs +++ b/compiler/main/SysTools.lhs @@ -494,22 +494,25 @@ GLOBAL_VAR(v_DirsToClean, emptyFM, FiniteMap FilePath FilePath ) \begin{code} cleanTempDirs :: DynFlags -> IO () cleanTempDirs dflags - = do ds <- readIORef v_DirsToClean + = unless (dopt Opt_KeepTmpFiles dflags) + $ do ds <- readIORef v_DirsToClean removeTmpDirs dflags (eltsFM ds) writeIORef v_DirsToClean emptyFM cleanTempFiles :: DynFlags -> IO () cleanTempFiles dflags - = do fs <- readIORef v_FilesToClean - removeTmpFiles dflags fs - writeIORef v_FilesToClean [] + = unless (dopt Opt_KeepTmpFiles dflags) + $ do fs <- readIORef v_FilesToClean + removeTmpFiles dflags fs + writeIORef v_FilesToClean [] cleanTempFilesExcept :: DynFlags -> [FilePath] -> IO () cleanTempFilesExcept dflags dont_delete - = do files <- readIORef v_FilesToClean - let (to_keep, to_delete) = partition (`elem` dont_delete) files - removeTmpFiles dflags to_delete - writeIORef v_FilesToClean to_keep + = unless (dopt Opt_KeepTmpFiles dflags) + $ do files <- readIORef v_FilesToClean + let (to_keep, to_delete) = partition (`elem` dont_delete) files + removeTmpFiles dflags to_delete + writeIORef v_FilesToClean to_keep -- find a temporary name that doesn't already exist.