packages feed

lhc-0.8: src/Setup.hs

module Setup where


import System.Exit
import System.Environment
import System.Console.GetOpt
import System.Directory
import System.IO
import Data.Maybe
import Data.Char

data Action
    = LibCheck
    | Install
    | Build


data ConfigFlag
    = Help

parseArgs :: [String] -> IO (Action)
parseArgs args
    = case getOpt RequireOrder [] args of
        (flags, (cmdStr:args), []) | Just cmd <- lookup cmdStr commands
          -> do 
                --exitWith ExitSuccess
                return cmd
        (flags, _, [])  -> do hPutStrLn stderr "Usage!"
                              exitWith ExitSuccess
        (flags, _, errs) -> do hPutStrLn stderr $ unlines errs
                               exitFailure

commands = [ ("install", Install)
           , ("libcheck", LibCheck) ]