ghc-9.6.0.20230111: The GHC API
Safe HaskellSafe-Inferred
LanguageHaskell2010

GHC.SysTools.Process

Synopsis

Documentation

enableProcessJobs :: CreateProcess -> CreateProcess Source #

Enable process jobs support on Windows if it can be expected to work (e.g. process >= 1.6.9.0).

readProcessEnvWithExitCode Source #

Arguments

:: String

program path

-> [String]

program args

-> (String, String)

addition to the environment

-> IO (ExitCode, String, String)

(exit_code, stdout, stderr)

Version of System.Process.readProcessWithExitCode that takes a key-value tuple to insert into the environment.

runSomethingResponseFile :: Logger -> TmpFs -> DynFlags -> (String -> String) -> String -> String -> [Option] -> Maybe [(String, String)] -> IO () Source #

Run a command, placing the arguments in an external response file.

This command is used in order to avoid overlong command line arguments on Windows. The command line arguments are first written to an external, temporary response file, and then passed to the linker via @filepath. response files for passing them in. See:

https://gcc.gnu.org/wiki/Response_Files https://gitlab.haskell.org/ghc/ghc/issues/10777

runSomethingWith :: Logger -> String -> String -> [Option] -> ([String] -> IO (ExitCode, a)) -> IO a Source #

breakColon :: String -> Maybe (String, String) Source #

Break a line of an error message into a filename and the rest of the line, taking care to ignore colons in Windows drive letters (as noted in #17786). For instance,

  • "hi.c: ABCD" is mapped to Just ("hi.c", "ABCD")
  • "C:\hi.c: ABCD" is mapped to Just ("C:\hi.c", "ABCD")