From 8239d074412691baee386950a377fdcc0dbb58aa Mon Sep 17 00:00:00 2001
From: rrt <unknown>
Date: Wed, 19 Jul 2000 10:07:29 +0000
Subject: [PATCH] [project @ 2000-07-19 10:07:29 by rrt] Gave driver access to
 bash for running system calls under Windows by writing command out to a temp
 file, then sending that as the argument to "sh -". Sigh. This is #ifdefed on
 mingw32_TARGET_OS; saner OSs just use system as normal.

---
 ghc/driver/Main.hs | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/ghc/driver/Main.hs b/ghc/driver/Main.hs
index 7bcb9d00dd41..45c5fee71e64 100644
--- a/ghc/driver/Main.hs
+++ b/ghc/driver/Main.hs
@@ -1690,8 +1690,18 @@ run_something phase_name cmd
    unless n $ do 
 
    -- and run it!
+#ifndef mingw32_TARGET_OS
    exit_code <- system cmd `catchAllIO` 
 		   (\e -> throwDyn (PhaseFailed phase_name (ExitFailure 1)))
+#else
+   tmp <- newTempName "sh"
+   h <- openFile tmp WriteMode
+   hPutStrLn h cmd
+   hClose h
+   exit_code <- system ("sh - " ++ tmp) `catchAllIO` 
+		   (\e -> throwDyn (PhaseFailed phase_name (ExitFailure 1)))
+   removeFile tmp
+#endif
 
    if exit_code /= ExitSuccess
 	then throwDyn (PhaseFailed phase_name exit_code)
-- 
GitLab