ghc-9.12.0.20241128: The GHC API
Safe HaskellNone
LanguageGHC2021

GHC.SysTools

Synopsis

Initialisation

Interface to system tools

Fast file copy

copyFile Source #

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 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

Instances details
Eq Option Source # 
Instance details

Defined in GHC.Utils.CliOption

Methods

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

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

expandTopDir :: FilePath -> String -> String Source #

Expand occurrences of the $topdir interpolation in a string.