@@ -5,6 +5,8 @@ module Util.System(tempfile,withTempdir,getTargetDir,getCC,
6-- System helper functions.
6-- System helper functions.
7import Control.Monad (when)
7import Control.Monad (when)
8+import Control.Applicative ((<$>))
9+import Data.Maybe (fromMaybe)
8import Distribution.Text (display)
10import Distribution.Text (display)
9import System.Directory (getTemporaryDirectory
11import System.Directory (getTemporaryDirectory
10 , removeFile
12 , removeFile
@@ -26,22 +28,18 @@ throwIO :: IOError -> IO a
26throwIO = CE.throw
28throwIO = CE.throw
30getCC :: IO String
31getCC :: IO String
31−getCC = do env <- environment "IDRIS_CC"
32+getCC = fromMaybe "gcc" <$> environment "IDRIS_CC"
33− Nothing -> return "gcc"
36−getMvn :: IO String
34+mvnCommand :: String
37−getMvn = do env <- environment "IDRIS_MVN"
39#ifdef mingw32_HOST_OS
35#ifdef mingw32_HOST_OS
40− Nothing -> return "mvn.bat"
36+mvnCommand = "mvn.bat"
42− Nothing -> return "mvn"
38+mvnCommand = "mvn"
44− Just mvn -> return mvn
40+
42+getMvn = fromMaybe mvnCommand <$> environment "IDRIS_MVN"
46tempfile :: IO (FilePath, Handle)
44tempfile :: IO (FilePath, Handle)
47tempfile = do dir <- getTemporaryDirectory
45tempfile = do dir <- getTemporaryDirectory