ghc-lib-9.4.4.20221225: The GHC API, decoupled from GHC versions
Safe HaskellSafe-Inferred
LanguageHaskell2010

GHC.SysTools

Synopsis

Initialisation

Interface to system tools

Fast file copy

copyFile #

Arguments

:: FilePath

Source filename

-> FilePath

Destination filename

-> IO () 

Copy a file with its permissions. If the destination file already exists, it is replaced atomically. Neither path may refer to an existing directory. No exceptions are thrown if the permissions could not be copied.

copyHandle :: Handle -> Handle -> IO () Source #

Copy remaining bytes from the first Handle to the second one

copyWithHeader :: String -> FilePath -> FilePath -> IO () Source #

Copy file after printing the given header

General utilities

data Option #

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

Instances details
Eq Option 
Instance details

Defined in GHC.Utils.CliOption

Methods

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

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

expandTopDir :: FilePath -> String -> String #

Expand occurrences of the $topdir interpolation in a string.