#!/usr/bin/env runhaskell > module Main where > import Distribution.Simple > import Distribution.Setup ( ConfigFlags (..) ) > import System.Directory ( findExecutable ) > > main :: IO () > main = defaultMainWithHooks (defaultUserHooks { postConf = defaultPostConf }) > where defaultPostConf args flags lbi {- xx -} > = do args' <- fmap (args++) (configToArgs flags) > (postConf defaultUserHooks) args' flags lbi {- xx -} > > -- need to pass with-ghc arg onto ./configure for non-standard ghcs > configToArgs :: ConfigFlags -> IO [String] > configToArgs (ConfigFlags { configHcPath = Just hcPath }) > = do exec <- findExecutable hcPath > case exec of > Just realPath -> return ["--with-ghc="++realPath] > Nothing -> return ["--with-ghc="++hcPath] > configToArgs _ = return []