packages feed

HarmTrace-0.1: Setup.hs

module Main (main) where

import Distribution.Simple
import System.FilePath ((</>))
import System.Cmd (system)
import System.IO (hFlush, stdout)
import System.Exit
import System.Directory

main :: IO ()
main = defaultMainWithHooks (simpleUserHooks  { postConf = mypostConf })

mypostConf a f d b = let path = "MIR" </> "GeneratedInstances"
                         file = "GenerateInstances.hs"
                         ghc = "ghc "
                         flags = "-e main "
                     in do putStr "Generating instances..." 
                           hFlush stdout
                           setCurrentDirectory path
                           ec <- system (ghc ++ flags ++ file)
                           case ec of
                             ExitSuccess   -> putStrLn " done."
                             ExitFailure _ -> putStrLn " failed!" >> exitWith ec
                           postConf simpleUserHooks a f d b