ghc-8.2.1.20171108: The GHC API

Safe HaskellNone
LanguageHaskell2010

SysTools

Synopsis

Documentation

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

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

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

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

Run the LLVM Optimiser

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

Run the LLVM Compiler

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

Run the clang compiler (used as an assembler for the LLVM backend on OS X as LLVM doesn't support the OS X system assembler)

figureLlvmVersion :: DynFlags -> IO (Maybe (Int, Int)) Source #

Figure out which version of LLVM we are running this session

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

Run the linker with some arguments and return the output

data Option Source #

When invoking external tools as part of the compilation pipeline, we pass these a sequence of options on the command-line. Rather than just using a list of Strings, we use a type that allows us to distinguish between filepaths and 'other stuff'. The reason for this is that this type gives us a handle on transforming filenames, and filenames only, to whatever format they're expected to be on a particular platform.

Instances

Eq Option # 

Methods

(==) :: Option -> Option -> Bool #

(/=) :: Option -> Option -> Bool #

libmLinkOpts :: [Option] Source #

Some platforms require that we explicitly link against libm if any math-y things are used (which we assume to include all programs). See #14022.