import System.Plugins
import API
import System.Directory

main = do
#if __GLASGOW_HASKELL__ >= 604
        tmpDir <- getTemporaryDirectory
#else
        let tmpDir = "/tmp"
#endif
        status <- make "../Plugin.hs" [ "-i../api", "-odir", tmpDir ]
        o <- case status of
                MakeSuccess _ o -> return o
                MakeFailure e -> mapM_ putStrLn e >> error "didn't compile"
        m_v     <- load o ["../api"] [] "resource"
        v <- case m_v of
            LoadSuccess _ v -> return v
            _               -> error "load failed"
        putStrLn $ field v 
        mapM_ removeFile [(tmpDir ++ "/Plugin.hi"), (tmpDir ++ "/Plugin.o") ]