| Haskell Hierarchical Libraries (Cabal package) | Source code | Contents | Index

Distribution.Setup

Portability | portable
Stability | alpha
Maintainer | Isaac Jones <ijones@syntaxpolice.org>

Description
Explanation: Data types and parser for the standard command-line setup. Will also return commands it doesn't know about.
Synopsis

module Distribution.Compiler

data Action

= ConfigCmd ConfigFlags
| BuildCmd
| CleanCmd
| CopyCmd CopyDest
| HaddockCmd
| ProgramaticaCmd
| InstallCmd
| SDistCmd
| TestCmd
| RegisterCmd
| UnregisterCmd
| HelpCmd

data ConfigFlags = ConfigFlags {

configPrograms :: ProgramConfiguration
configHcFlavor :: (Maybe CompilerFlavor)
configHcPath :: (Maybe FilePath)
configHcPkg :: (Maybe FilePath)
configHappy :: (Maybe FilePath)
configAlex :: (Maybe FilePath)
configHsc2hs :: (Maybe FilePath)
configC2hs :: (Maybe FilePath)
configCpphs :: (Maybe FilePath)
configGreencard :: (Maybe FilePath)
configVanillaLib :: Bool
configProfLib :: Bool
configProfExe :: Bool
configPrefix :: (Maybe FilePath)
configBinDir :: (Maybe FilePath)
configLibDir :: (Maybe FilePath)
configLibSubDir :: (Maybe FilePath)
configLibExecDir :: (Maybe FilePath)
configDataDir :: (Maybe FilePath)
configDataSubDir :: (Maybe FilePath)
configVerbose :: Int
configUser :: Bool
configGHCiLib :: Bool
configSplitObjs :: Bool

}

emptyConfigFlags :: ProgramConfiguration -> ConfigFlags
configureArgs :: ConfigFlags -> [String]

data CopyFlags = CopyFlags {

copyDest :: CopyDest
copyVerbose :: Int

}

data CopyDest

= NoCopyDest
| CopyTo FilePath
| CopyPrefix FilePath

data InstallFlags = InstallFlags {

installUserFlags :: MaybeUserFlag
installVerbose :: Int

}

emptyInstallFlags :: InstallFlags

data HaddockFlags = HaddockFlags {

haddockHoogle :: Bool
haddockVerbose :: Int

}

emptyHaddockFlags :: HaddockFlags

data BuildFlags = BuildFlags {

buildVerbose :: Int

}

data CleanFlags = CleanFlags {

cleanVerbose :: Int

}

data PFEFlags = PFEFlags {

pfeVerbose :: Int

}

data RegisterFlags = RegisterFlags {

regUser :: MaybeUserFlag
regGenScript :: Bool
regInPlace :: Bool
regWithHcPkg :: (Maybe FilePath)
regVerbose :: Int

}

emptyRegisterFlags :: RegisterFlags

data SDistFlags = SDistFlags {

sDistSnapshot :: Bool
sDistVerbose :: Int

}

data MaybeUserFlag

= MaybeUserNone
| MaybeUserUser
| MaybeUserGlobal

userOverride :: MaybeUserFlag -> Bool -> Bool
parseGlobalArgs :: ProgramConfiguration -> [String] -> IO (Action, [String])
defaultCompilerFlavor :: Maybe CompilerFlavor
parseConfigureArgs :: ProgramConfiguration -> ConfigFlags -> [String] -> [OptDescr a] -> IO (ConfigFlags, [a], [String])
parseBuildArgs :: [String] -> [OptDescr a] -> IO (BuildFlags, [a], [String])
parseCleanArgs :: [String] -> [OptDescr a] -> IO (CleanFlags, [a], [String])
parseHaddockArgs :: HaddockFlags -> [String] -> [OptDescr a] -> IO (HaddockFlags, [a], [String])
parseProgramaticaArgs :: [String] -> [OptDescr a] -> IO (PFEFlags, [a], [String])
parseTestArgs :: [String] -> [OptDescr a] -> IO (Int, [a], [String])
parseInstallArgs :: InstallFlags -> [String] -> [OptDescr a] -> IO (InstallFlags, [a], [String])
parseSDistArgs :: [String] -> [OptDescr a] -> IO (SDistFlags, [a], [String])
parseRegisterArgs :: RegisterFlags -> [String] -> [OptDescr a] -> IO (RegisterFlags, [a], [String])
parseUnregisterArgs :: RegisterFlags -> [String] -> [OptDescr a] -> IO (RegisterFlags, [a], [String])
parseCopyArgs :: CopyFlags -> [String] -> [OptDescr a] -> IO (CopyFlags, [a], [String])
reqPathArg :: (FilePath -> a) -> ArgDescr a
reqDirArg :: (FilePath -> a) -> ArgDescr a

Documentation
module Distribution.Compiler
data Action

Constructors

ConfigCmd ConfigFlags |
BuildCmd |
CleanCmd |
CopyCmd CopyDest |
HaddockCmd |
ProgramaticaCmd |
InstallCmd |
SDistCmd |
TestCmd |
RegisterCmd |
UnregisterCmd |
HelpCmd |

data ConfigFlags

Flags to `configure` command
Constructors

ConfigFlags |

configPrograms :: ProgramConfiguration | All programs that cabal may run
configHcFlavor :: (Maybe CompilerFlavor) |
configHcPath :: (Maybe FilePath) | given compiler location
configHcPkg :: (Maybe FilePath) | given hc-pkg location
configHappy :: (Maybe FilePath) | Happy path
configAlex :: (Maybe FilePath) | Alex path
configHsc2hs :: (Maybe FilePath) | Hsc2hs path
configC2hs :: (Maybe FilePath) | C2hs path
configCpphs :: (Maybe FilePath) | Cpphs path
configGreencard :: (Maybe FilePath) | GreenCard path
configVanillaLib :: Bool | Enable vanilla library
configProfLib :: Bool | Enable profiling in the library
configProfExe :: Bool | Enable profiling in the executables.
configPrefix :: (Maybe FilePath) | installation prefix
configBinDir :: (Maybe FilePath) | installation dir for binaries,
configLibDir :: (Maybe FilePath) | installation dir for object code libraries,
configLibSubDir :: (Maybe FilePath) | subdirectory of libdir in which libs are installed
configLibExecDir :: (Maybe FilePath) | installation dir for program executables,
configDataDir :: (Maybe FilePath) | installation dir for read-only arch-independent data,
configDataSubDir :: (Maybe FilePath) | subdirectory of datadir in which data files are installed
configVerbose :: Int | verbosity level

configUser :: Bool

- -user flag?

configGHCiLib :: Bool | Enable compiling library for GHCi
configSplitObjs :: Bool | Enable -split-objs with GHC

emptyConfigFlags :: ProgramConfiguration -> ConfigFlags
configureArgs :: ConfigFlags -> [String]
Arguments to pass to a `configure` script, e.g. generated by `autoconf`.
data CopyFlags

Flags to `copy`: (destdir, copy-prefix (backwards compat), verbose)
Constructors

CopyFlags |

copyDest :: CopyDest |
copyVerbose :: Int |

data CopyDest

Constructors

NoCopyDest |
CopyTo FilePath |
CopyPrefix FilePath |

Instances

Eq CopyDest
Show CopyDest

data InstallFlags

Flags to `install`: (user package, verbose)
Constructors

InstallFlags |

installUserFlags :: MaybeUserFlag |
installVerbose :: Int |

emptyInstallFlags :: InstallFlags
data HaddockFlags

Constructors

HaddockFlags |

haddockHoogle :: Bool |
haddockVerbose :: Int |

emptyHaddockFlags :: HaddockFlags
data BuildFlags

Constructors

BuildFlags |

buildVerbose :: Int |

data CleanFlags

Constructors

CleanFlags |

cleanVerbose :: Int |

data PFEFlags

Constructors

PFEFlags |

pfeVerbose :: Int |

data RegisterFlags

Flags to `register` and `unregister`: (user package, gen-script, in-place, verbose)
Constructors

RegisterFlags |

regUser :: MaybeUserFlag |
regGenScript :: Bool |
regInPlace :: Bool |
regWithHcPkg :: (Maybe FilePath) |
regVerbose :: Int |

emptyRegisterFlags :: RegisterFlags
data SDistFlags

Flags to `sdist`: (snapshot, verbose)
Constructors

SDistFlags |

sDistSnapshot :: Bool |
sDistVerbose :: Int |

data MaybeUserFlag

Constructors

MaybeUserNone | no --user OR --global flag.

MaybeUserUser

- -user flag

MaybeUserGlobal

- -global flag

userOverride :: MaybeUserFlag -> Bool -> Bool
A `MaybeUserFlag` overrides the default --user setting
parseGlobalArgs :: ProgramConfiguration -> [String] -> IO (Action, [String])
defaultCompilerFlavor :: Maybe CompilerFlavor
parseConfigureArgs :: ProgramConfiguration -> ConfigFlags -> [String] -> [OptDescr a] -> IO (ConfigFlags, [a], [String])
parseBuildArgs :: [String] -> [OptDescr a] -> IO (BuildFlags, [a], [String])
parseCleanArgs :: [String] -> [OptDescr a] -> IO (CleanFlags, [a], [String])
parseHaddockArgs :: HaddockFlags -> [String] -> [OptDescr a] -> IO (HaddockFlags, [a], [String])
parseProgramaticaArgs :: [String] -> [OptDescr a] -> IO (PFEFlags, [a], [String])
parseTestArgs :: [String] -> [OptDescr a] -> IO (Int, [a], [String])
parseInstallArgs :: InstallFlags -> [String] -> [OptDescr a] -> IO (InstallFlags, [a], [String])
parseSDistArgs :: [String] -> [OptDescr a] -> IO (SDistFlags, [a], [String])
parseRegisterArgs :: RegisterFlags -> [String] -> [OptDescr a] -> IO (RegisterFlags, [a], [String])
parseUnregisterArgs :: RegisterFlags -> [String] -> [OptDescr a] -> IO (RegisterFlags, [a], [String])
parseCopyArgs :: CopyFlags -> [String] -> [OptDescr a] -> IO (CopyFlags, [a], [String])
reqPathArg :: (FilePath -> a) -> ArgDescr a
reqDirArg :: (FilePath -> a) -> ArgDescr a
Produced by Haddock version 0.8