| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
SysTools
- initSysTools :: Maybe String -> IO Settings
 - runUnlit :: DynFlags -> [Option] -> IO ()
 - runCpp :: DynFlags -> [Option] -> IO ()
 - runCc :: DynFlags -> [Option] -> IO ()
 - runPp :: DynFlags -> [Option] -> IO ()
 - runSplit :: DynFlags -> [Option] -> IO ()
 - runAs :: DynFlags -> [Option] -> IO ()
 - runLink :: DynFlags -> [Option] -> IO ()
 - runLibtool :: DynFlags -> [Option] -> IO ()
 - runMkDLL :: DynFlags -> [Option] -> IO ()
 - runWindres :: DynFlags -> [Option] -> IO ()
 - runLlvmOpt :: DynFlags -> [Option] -> IO ()
 - runLlvmLlc :: DynFlags -> [Option] -> IO ()
 - runClang :: DynFlags -> [Option] -> IO ()
 - figureLlvmVersion :: DynFlags -> IO (Maybe (Int, Int))
 - getLinkerInfo :: DynFlags -> IO LinkerInfo
 - getCompilerInfo :: DynFlags -> IO CompilerInfo
 - linkDynLib :: DynFlags -> [String] -> [InstalledUnitId] -> IO ()
 - askLd :: DynFlags -> [Option] -> IO String
 - touch :: DynFlags -> String -> String -> IO ()
 - copy :: DynFlags -> String -> FilePath -> FilePath -> IO ()
 - copyWithHeader :: DynFlags -> String -> Maybe String -> FilePath -> FilePath -> IO ()
 - setTmpDir :: FilePath -> DynFlags -> DynFlags
 - newTempName :: DynFlags -> Suffix -> IO FilePath
 - newTempLibName :: DynFlags -> Suffix -> IO (FilePath, FilePath, String)
 - cleanTempDirs :: DynFlags -> IO ()
 - cleanTempFiles :: DynFlags -> IO ()
 - cleanTempFilesExcept :: DynFlags -> [FilePath] -> IO ()
 - addFilesToClean :: DynFlags -> [FilePath] -> IO ()
 - data Option
 - libmLinkOpts :: [Option]
 - getPkgFrameworkOpts :: DynFlags -> Platform -> [InstalledUnitId] -> IO [String]
 - getFrameworkOpts :: DynFlags -> Platform -> [String]
 
Documentation
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
getLinkerInfo :: DynFlags -> IO LinkerInfo Source #
getCompilerInfo :: DynFlags -> IO CompilerInfo Source #
linkDynLib :: DynFlags -> [String] -> [InstalledUnitId] -> IO () Source #
askLd :: DynFlags -> [Option] -> IO String Source #
Run the linker with some arguments and return the output
cleanTempDirs :: DynFlags -> IO () Source #
cleanTempFiles :: DynFlags -> IO () 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.
Constructors
| FileOption String String | |
| Option String | 
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.
getPkgFrameworkOpts :: DynFlags -> Platform -> [InstalledUnitId] -> IO [String] Source #