{-# OPTIONS -cpp #-} -- #hide module Distribution.Compat.RawSystem (rawSystem) where #if __GLASGOW_HASKELL__ && __GLASGOW_HASKELL__ < 602 import Data.List (intersperse) import System.Cmd (system) import System.Exit (ExitCode) #else import System.Cmd (rawSystem) #endif #if __GLASGOW_HASKELL__ && __GLASGOW_HASKELL__ < 602 rawSystem :: String -> [String] -> IO ExitCode rawSystem p args = system $ concat $ intersperse " " (p : map esc args) where esc arg = "'" ++ arg ++ "'" -- this is hideously broken, actually #endif