ghc-9.12.1: The GHC API
Safe HaskellNone
LanguageGHC2021

GHC.SysTools.Tasks

Synopsis

Documentation

augmentImports :: DynFlags -> [FilePath] -> [FilePath] Source #

Prepend the working directory to the search path. Note [Filepaths and Multiple Home Units]

cc_filter :: String -> String Source #

Discard some harmless warnings from gcc that we can't turn off

data SourceCodePreprocessor Source #

See the Note [Preprocessing invocations]

Constructors

SCPCpp

Use the ordinary C preprocessor

SCPHsCpp

Use the Haskell C preprocessor (don't remove C comments, don't break on names including single quotes)

SCPJsCpp

Use the JavaScript preprocessor (don't remove jsdoc and multiline comments)

SCPCmmCpp

Use the C-- preprocessor (don't emit debug information)

runSourceCodePreprocessor :: Logger -> TmpFs -> DynFlags -> SourceCodePreprocessor -> [Option] -> IO () Source #

Run source code preprocessor. See also Note [Preprocessing invocations] in GHC.SysTools.Cpp

runPp :: Logger -> DynFlags -> [Option] -> IO () Source #

runCc :: Maybe ForeignSrcLang -> Logger -> TmpFs -> DynFlags -> [Option] -> IO () Source #

Run compiler of C-like languages and raw objects (such as gcc or clang).

askLd :: Logger -> DynFlags -> [Option] -> IO String Source #

Run the linker with some arguments and return the output

runAs :: Logger -> DynFlags -> [Option] -> IO () Source #

runLlvmOpt :: Logger -> DynFlags -> [Option] -> IO () Source #

Run the LLVM Optimiser

runLlvmLlc :: Logger -> DynFlags -> [Option] -> IO () Source #

Run the LLVM Compiler

runLlvmAs :: Logger -> DynFlags -> [Option] -> IO () Source #

Run the LLVM Assembler

figureLlvmVersion :: Logger -> DynFlags -> IO (Maybe LlvmVersion) Source #

Figure out which version of LLVM we are running this session