module Main ( main ) where
import System.Directory (findExecutable)
import Distribution.Simple (defaultMainWithHooks, simpleUserHooks, postInst)
import System.Directory (findExecutable)
import System.Exit (exitWith, ExitCode(..))
main :: IO ()
main = defaultMainWithHooks simpleUserHooks{ postInst = checkDefSolver }
where checkDefSolver _ _ _ _ = do
mbP <- findExecutable "cbmc"
case mbP of
Nothing -> do putStrLn "***"
putStrLn "*** The copilot-cbmc library requires the solver cbcm to be installed."
putStrLn "*** The executable CBMC must be in your path."
putStrLn "*** Please install CBMC and put it in your path!"
putStrLn "*** CBMC can downloaded at http://www.cprover.org/cbmc/"
putStrLn "***"
Just _ -> return ()
exitWith ExitSuccess