ghc-6.12.1: The GHC APISource codeContentsIndex
DriverPipeline
Synopsis
oneShot :: GhcMonad m => HscEnv -> Phase -> [(String, Maybe Phase)] -> m ()
compileFile :: GhcMonad m => HscEnv -> Phase -> (FilePath, Maybe Phase) -> m FilePath
linkBinary :: DynFlags -> [FilePath] -> [PackageId] -> IO ()
preprocess :: GhcMonad m => HscEnv -> (FilePath, Maybe Phase) -> m (DynFlags, FilePath)
compile :: GhcMonad m => HscEnv -> ModSummary -> Int -> Int -> Maybe ModIface -> Maybe Linkable -> m HomeModInfo
compile' :: GhcMonad m => (Compiler m (HscStatus, ModIface, ModDetails), Compiler m (InteractiveStatus, ModIface, ModDetails), Compiler m (HscStatus, ModIface, ModDetails)) -> HscEnv -> ModSummary -> Int -> Int -> Maybe ModIface -> Maybe Linkable -> m HomeModInfo
link :: GhcLink -> DynFlags -> Bool -> HomePackageTable -> IO SuccessFlag
Documentation
oneShot :: GhcMonad m => HscEnv -> Phase -> [(String, Maybe Phase)] -> m ()Source
compileFile :: GhcMonad m => HscEnv -> Phase -> (FilePath, Maybe Phase) -> m FilePathSource
linkBinary :: DynFlags -> [FilePath] -> [PackageId] -> IO ()Source
preprocessSource
:: GhcMonad m
=> HscEnvfilename and starting phase
-> (FilePath, Maybe Phase)
-> m (DynFlags, FilePath)

Just preprocess a file, put the result in a temp. file (used by the compilation manager during the summary phase).

We return the augmented DynFlags, because they contain the result of slurping in the OPTIONS pragmas

compileSource
:: GhcMonad m
=> HscEnvsummary for module being compiled
-> ModSummarymodule N ...
-> Int... of M
-> Intold interface, if we have one
-> Maybe ModIfaceold linkable, if we have one
-> Maybe Linkablethe complete HomeModInfo, if successful
-> m HomeModInfo

Compile

Compile a single module, under the control of the compilation manager.

This is the interface between the compilation manager and the compiler proper (hsc), where we deal with tedious details like reading the OPTIONS pragma from the source file, and passing the output of hsc through the C compiler.

NB. No old interface can also mean that the source has changed.

compile'Source
:: GhcMonad m
=> (Compiler m (HscStatus, ModIface, ModDetails), Compiler m (InteractiveStatus, ModIface, ModDetails), Compiler m (HscStatus, ModIface, ModDetails))
-> HscEnvsummary for module being compiled
-> ModSummarymodule N ...
-> Int... of M
-> Intold interface, if we have one
-> Maybe ModIfaceold linkable, if we have one
-> Maybe Linkablethe complete HomeModInfo, if successful
-> m HomeModInfo
link :: GhcLink -> DynFlags -> Bool -> HomePackageTable -> IO SuccessFlagSource
Produced by Haddock version 2.6.0