-----------------------------------------------------------------------------
--- $Id: DriverFlags.hs,v 1.31 2000/12/11 12:15:15 simonmar Exp $
+-- $Id: DriverFlags.hs,v 1.33 2000/12/11 15:26:00 sewardj Exp $
--
-- Driver flags
--
-- the rest of the -f* and -fno-* flags
, ( "fno-", PrefixPred (\f -> isFFlag f) (\f -> unSetDynFlag (getFFlag f)) )
- , ( "f". PrefixPred (\f -> isFFlag f) (\f -> setDynFlag (getFFlag f)) )
+ , ( "f", PrefixPred (\f -> isFFlag f) (\f -> setDynFlag (getFFlag f)) )
]
-- these -f<blah> flags can all be reversed with -fno-<blah>
unless n $ do
-- and run it!
-#ifndef mingw32_TARGET_OS
- exit_code <- system cmd `catchAllIO`
- (\_ -> 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`
- (\_ -> throwDyn (PhaseFailed phase_name (ExitFailure 1)))
- removeFile tmp
-#endif
+ exit_code <- kludgedSystem cmd phase_name
if exit_code /= ExitSuccess
then throwDyn (PhaseFailed phase_name exit_code)
else do when (verb >= 3) (putStr "\n")
return ()
-