GHC API output files options problem

Ian Lynagh igloo at earth.li
Sat Jul 30 00:00:52 CEST 2011


Hi Marianna,

On Sun, Jul 17, 2011 at 12:11:57PM +0200, Marianna Rapoport wrote:
> 
> Thus, "test_ghc.sh" and "test_my.sh" should do the same, but the first works
> correctly while the latter puts "use.o" and "use.hi" to the "src" folder.

I'm no expert on the GHC API, but replacing doWalk with this seems to do
what you want:

import GhcMonad
import GHC
import HscTypes
import DriverPhases
import DriverPipeline

doWalk :: [String] -> String -> Ghc ()
doWalk cmdFlags file = do
    flg <- getSessionDynFlags
    (flg, _, _) <- parseDynamicFlags flg (map noLoc cmdFlags)
    setSessionDynFlags flg { ghcLink = NoLink, ghcMode = OneShot }
    hsc_env <- GHC.getSession
    let srcs = [(file, Nothing)]
    liftIO $ oneShot hsc_env StopLn srcs


Thanks
Ian




More information about the Glasgow-haskell-users mailing list