module Development.Shake.Check ( checkExecutable
, pandoc
, autoconf
, patsFilter
, valgrind
, hs2ats
, ghc
) where
import Control.Monad.IO.Class
import Data.Maybe (isJust)
import System.Directory (findExecutable)
checkExecutable :: (MonadIO m) => String -> m Bool
checkExecutable = fmap isJust . liftIO . findExecutable
pandoc :: (MonadIO m) => m Bool
pandoc = checkExecutable "pandoc"
autoconf :: (MonadIO m) => m Bool
autoconf = checkExecutable "autoconf"
patsFilter :: (MonadIO m) => m Bool
patsFilter = checkExecutable "pats-filter"
valgrind :: (MonadIO m) => m Bool
valgrind = checkExecutable "valgrind"
hs2ats :: (MonadIO m) => m Bool
hs2ats = checkExecutable "hs2ats"
ghc :: (MonadIO m) => m Bool
ghc = checkExecutable "ghc"