|
Distribution.Simple | Portability | GHC | Stability | alpha | Maintainer | Isaac Jones <ijones@syntaxpolice.org> |
|
|
|
|
|
Description |
Explanation: Simple build system; basically the interface for
Distribution.Simple.* modules. When given the parsed command-line
args and package information, is able to perform basic commands
like configure, build, install, register, etc.
This module isn't called "Simple" because it's simple. Far from
it. It's called "Simple" because it does complicated things to
simple software.
|
|
Synopsis |
|
|
|
Documentation |
|
module Distribution.Package |
|
module Distribution.Version |
|
module Distribution.License |
|
module Distribution.Extension |
|
Simple interface
|
|
defaultMain :: IO () |
A simple implementation of main for a Cabal setup script.
It reads the package description file using IO, and performs the
action specified on the command line.
|
|
defaultMainNoRead :: PackageDescription -> IO () |
Like defaultMain, but accepts the package description as input
rather than using IO to read it.
|
|
Customization
|
|
data UserHooks |
Hooks allow authors to add specific functionality before and after
a command is run, and also to specify additional preprocessors.
| Constructors | |
|
|
type Args = [String] |
|
defaultMainWithHooks :: UserHooks -> IO () |
A customizable version of defaultMain.
|
|
defaultUserHooks :: UserHooks |
Basic default UserHooks:
- on non-Windows systems, postConf runs ./configure, if present.
- all pre-hooks except preConf read additional build information from
package.buildinfo, if present.
Thus configure can use local system information to generate
package.buildinfo and possibly other files.
|
|
emptyUserHooks :: UserHooks |
Empty UserHooks which do nothing.
|
|
defaultHookedPackageDesc :: IO (Maybe FilePath) |
Optional auxiliary package information file (pkgname.buildinfo)
|
|
Produced by Haddock version 0.7 |