| Cabal-1.1.5.9.4: A framework for packaging Haskell software | Contents | Index |
|
|
|
|
|
|
Synopsis |
|
|
|
Documentation |
|
data Program |
Represents a program which cabal may call.
| Constructors | Program | | programName :: String | The simple name of the program, eg ghc
| programBinName :: String | The name of this program's binary, eg ghc-6.4
| programArgs :: [String] | Default command-line args for this program
| programLocation :: ProgramLocation | Location of the program. eg. /usr/bin/ghc-6.4
|
|
| Instances | |
|
|
data ProgramLocation |
Similar to Maybe, but tells us whether it's specifed by user or
not. This includes not just the path, but the program as well.
| Constructors | EmptyLocation | | UserSpecified FilePath | | FoundOnSystem FilePath | |
| Instances | |
|
|
data ProgramConfiguration |
Constructors | ProgramConfiguration (Map String Program) | |
| Instances | |
|
|
withProgramFlag :: Program -> String |
The flag for giving a path to this program. eg --with-alex=/usr/bin/alex
|
|
programOptsFlag :: Program -> String |
The flag for giving args for this program.
eg --haddock-options=-s http://foo
|
|
programOptsField :: Program -> String |
The foo.cabal field for giving args for this program.
eg haddock-options: -s http://foo
|
|
defaultProgramConfiguration :: ProgramConfiguration |
The default list of programs and their arguments. These programs
are typically used internally to Cabal.
|
|
updateProgram :: Maybe Program -> ProgramConfiguration -> ProgramConfiguration |
Update this program's entry in the configuration. No changes if
you pass in Nothing.
|
|
userSpecifyPath |
:: String | Program name
| -> FilePath | user-specified path to filename
| -> ProgramConfiguration | | -> ProgramConfiguration | | User-specify this path. Basically override any path information
for this program in the configuration. If it's not a known
program, add it.
|
|
|
userSpecifyArgs |
:: String | Program name
| -> String | user-specified args
| -> ProgramConfiguration | | -> ProgramConfiguration | | User-specify the arguments for this program. Basically override
any args information for this program in the configuration. If it's
not a known program, add it.
|
|
|
lookupProgram :: String -> ProgramConfiguration -> IO (Maybe Program) |
Looks up a program in the given configuration. If there's no
location information in the configuration, then we use IO to look
on the system in PATH for the program. If the program is not in
the configuration at all, we return Nothing. FIX: should we build
a simpleProgram in that case? Do we want a way to specify NOT to
find it on the system (populate programLocation).
|
|
lookupPrograms :: ProgramConfiguration -> IO [(String, Maybe Program)] |
|
rawSystemProgram |
:: Int | Verbosity
| -> Program | The program to run
| -> [String] | Any extra arguments to add
| -> IO () | | Runs the given program.
|
|
|
rawSystemProgramConf |
:: Int | verbosity
| -> String | The name of the program to run
| -> ProgramConfiguration | look up the program here
| -> [String] | Any extra arguments to add
| -> IO () | |
|
|
simpleProgram :: String -> Program |
|
ghcProgram :: Program |
|
ghcPkgProgram :: Program |
|
nhcProgram :: Program |
|
jhcProgram :: Program |
|
hugsProgram :: Program |
|
ranlibProgram :: Program |
|
arProgram :: Program |
|
alexProgram :: Program |
|
hsc2hsProgram :: Program |
|
c2hsProgram :: Program |
|
cpphsProgram :: Program |
|
haddockProgram :: Program |
|
greencardProgram :: Program |
|
ldProgram :: Program |
|
cppProgram :: Program |
|
pfesetupProgram :: Program |
|
Produced by Haddock version 0.8 |