SysTools.Tasks

ghc-8.10.1: The GHC API

Safe Haskell | None
Language | Haskell2010

SysTools.Tasks

Contents

- Tracing utility

Synopsis

- runUnlit :: DynFlags -> [Option] -> IO ()
- runCpp :: DynFlags -> [Option] -> IO ()
- runPp :: DynFlags -> [Option] -> IO ()
- runCc :: Maybe ForeignSrcLang -> DynFlags -> [Option] -> IO ()
- isContainedIn :: String -> String -> Bool
- askLd :: DynFlags -> [Option] -> IO String
- runAs :: DynFlags -> [Option] -> IO ()
- runLlvmOpt :: DynFlags -> [Option] -> IO ()
- runLlvmLlc :: DynFlags -> [Option] -> IO ()
- runClang :: DynFlags -> [Option] -> IO ()
- figureLlvmVersion :: DynFlags -> IO (Maybe LlvmVersion)
- runLink :: DynFlags -> [Option] -> IO ()
- runLibtool :: DynFlags -> [Option] -> IO ()
- runAr :: DynFlags -> Maybe FilePath -> [Option] -> IO ()
- askAr :: DynFlags -> Maybe FilePath -> [Option] -> IO String
- runRanlib :: DynFlags -> [Option] -> IO ()
- runMkDLL :: DynFlags -> [Option] -> IO ()
- runWindres :: DynFlags -> [Option] -> IO ()
- touch :: DynFlags -> String -> String -> IO ()
- traceToolCommand :: DynFlags -> String -> IO a -> IO a

# Documentation

runUnlit :: DynFlags -> [Option] -> IO () #

runCpp :: DynFlags -> [Option] -> IO () #

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

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

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

isContainedIn :: String -> String -> Bool #

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

Run the linker with some arguments and return the output

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

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

Run the LLVM Optimiser

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

Run the LLVM Compiler

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

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 LlvmVersion) #

Figure out which version of LLVM we are running this session

runLink :: DynFlags -> [Option] -> IO () #

runLibtool :: DynFlags -> [Option] -> IO () #

runAr :: DynFlags -> Maybe FilePath -> [Option] -> IO () #

askAr :: DynFlags -> Maybe FilePath -> [Option] -> IO String #

runRanlib :: DynFlags -> [Option] -> IO () #

runMkDLL :: DynFlags -> [Option] -> IO () #

runWindres :: DynFlags -> [Option] -> IO () #

touch :: DynFlags -> String -> String -> IO () #

# Tracing utility

traceToolCommand :: DynFlags -> String -> IO a -> IO a #

Record in the eventlog when the given tool command starts and finishes, prepending the given `String` with "systool:", to easily be able to collect and process all the systool events.

For those events to show up in the eventlog, you need to run GHC with `-v2` or `-ddump-timings`.