From 50e8ff95fb7c0b375959b4236267e981666930a5 Mon Sep 17 00:00:00 2001
From: Ross Paterson <ross@soi.city.ac.uk>
Date: Thu, 18 Oct 2007 16:42:45 +0000
Subject: [PATCH] don't fail if xxx_hsc_make.c is gone

The non-GHC hsc2hs deletes it even if the compilation fails.
---
 Distribution/Simple/Program.hs | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Distribution/Simple/Program.hs b/Distribution/Simple/Program.hs
index 48165391a5..f28976ffbb 100644
--- a/Distribution/Simple/Program.hs
+++ b/Distribution/Simple/Program.hs
@@ -93,6 +93,7 @@ import Distribution.Version (Version(..), readVersion, showVersion,
 import Distribution.Verbosity
 import System.Directory (doesFileExist, removeFile)
 import System.FilePath  (dropExtension)
+import System.IO.Error (try)
 import Control.Monad (join, foldM)
 import Control.Exception as Exception (catch)
 
@@ -564,7 +565,7 @@ hsc2hsProgram = (simpleProgram "hsc2hs") {
           withTempFile "." "hsc" $ \hsc -> do
 	    writeFile hsc ""
 	    (str, _) <- rawSystemStdout' verbosity path [hsc, "--cflag=--version"]
-	    removeFile (dropExtension hsc ++ "_hsc_make.c")
+	    try $ removeFile (dropExtension hsc ++ "_hsc_make.c")
 	    case words str of
 	      (_:"Glorious":"Glasgow":"Haskell":_)
 	        -> return $ Just version { versionTags = ["ghc"] }
-- 
GitLab