ghc-vis-0.7.2.4: Setup.hs
module Main where
import Distribution.Simple
import Distribution.Simple.Setup
import Distribution.Simple.LocalBuildInfo
import Distribution.PackageDescription (PackageDescription)
import System.FilePath
import System.Info
import Data.List
main = defaultMainWithHooks $ simpleUserHooks
{ postInst = postInstHook (postInst simpleUserHooks)
-- Copy for Cabal 1.20, which does not work with postInst
, postCopy = postInstHook (postCopy simpleUserHooks)
, postConf = postConfHook (postConf simpleUserHooks)
}
postInstHook oldHook args iflags pDesc lbi = do
let instDataDir = datadir $ absoluteInstallDirs pDesc lbi (fromFlag $ copyDest defaultCopyFlags)
putStrLn "To use ghc-vis you have to load its ghci file in GHCi. To do this automatically when GHCi is started run:"
case stripPrefix "mingw" os of
Just _ -> putStrLn $ "echo :script " ++ (instDataDir </> "ghci") ++ " >> %APPDATA%\\ghc\\ghci.conf"
Nothing -> putStrLn $ "echo \":script " ++ (instDataDir </> "ghci") ++ "\" >> ~/.ghci"
oldHook args iflags pDesc lbi
postConfHook oldHook args flags descr buildInfo = case profFlag of
Flag True -> error "This library cannot be built using profiling. Try invoking cabal with the --disable-library-profiling flag."
_ -> oldHook args flags descr buildInfo
where profFlag = configProfLib $ configFlags buildInfo