Haskell Hierarchical Libraries (Cabal package)Source codeContentsIndex
Distribution.Setup
Portabilityportable
Stabilityalpha
MaintainerIsaac 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 :: ProgramConfigurationAll 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 :: BoolEnable vanilla library
configProfLib :: BoolEnable profiling in the library
configProfExe :: BoolEnable 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 :: Intverbosity level
configUser :: Bool
  • -user flag?
configGHCiLib :: BoolEnable compiling library for GHCi
configSplitObjs :: BoolEnable -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
show/hide Instances
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
MaybeUserNoneno --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