shake-ext-1.4.0.9: src/Development/Shake/Check.hs
-- | Functions in this module check for the presence of various build tools.
module Development.Shake.Check ( checkExecutable
-- * Helper functions for specific programs
, 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"