diff options
Diffstat (limited to 'Build/Configure.hs')
-rw-r--r-- | Build/Configure.hs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/Build/Configure.hs b/Build/Configure.hs new file mode 100644 index 0000000..0c6245d --- /dev/null +++ b/Build/Configure.hs @@ -0,0 +1,27 @@ +{- Checks system configuration and generates SysConfig.hs. -} + +module Build.Configure where + +import System.Environment +import Control.Applicative +import Control.Monad.IfElse + +import Build.TestConfig +import Git.Version + +tests :: [TestCase] +tests = + [ TestCase "git" $ requireCmd "git" "git --version >/dev/null" + , TestCase "git version" getGitVersion + , TestCase "nice" $ testCmd "nice" "nice true >/dev/null" + ] + +getGitVersion :: Test +getGitVersion = Config "gitversion" . StringConfig . show + <$> Git.Version.installed + +run :: [TestCase] -> IO () +run ts = do + args <- getArgs + config <- runTests ts + writeSysConfig config |