blob: 2b82a41c155cb9b8c376c890a60d3f068a108b2f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
{-# LANGUAGE RecordWildCards #-}
{-# OPTIONS_GHC -Wall #-}
module Main where
import System.Environment
import GHC
main :: IO ()
main = do
flags <- getArgs
runGhc' flags $ do
dflags <- getSessionDynFlags
setTargets [Target (TargetFile "T10052-input.hs" Nothing) True (homeUnitId_ dflags) Nothing]
_success <- load LoadAllTargets
return ()
runGhc' :: [String] -> Ghc a -> IO a
runGhc' args act = do
let libdir = head args
flags = map noLoc (tail args)
runGhc (Just libdir) $ do
dflags0 <- getSessionDynFlags
logger <- getLogger
(dflags1, _leftover, _warns) <- parseDynamicFlags logger dflags0 flags
let dflags2 = dflags1 {
backend = Interpreter
, ghcLink = LinkInMemory
, verbosity = 1
}
_newPkgs <- setSessionDynFlags dflags2
act
|