Cabal-2.0.1.0: A framework for packaging Haskell software

Copyright | Isaac Jones 2003-2004 Duncan Coutts 2007
License | BSD3
Maintainer | cabal-devel@haskell.org
Portability | portable
Safe Haskell | None
Language | Haskell2010

Distribution.Simple.Setup

Description

This is a big module, but not very complicated. The code is very regular and repetitive. It defines the command line interface for all the Cabal commands. For each command (like `configure`, `build` etc) it defines a type that holds all the flags, the default set of flags and a `CommandUI` that maps command line flags to and from the corresponding flags type.

All the flags types are instances of `Monoid`, see http://www.haskell.org/pipermail/cabal-devel/2007-December/001509.html for an explanation.

The types defined here get used in the front end and especially in `cabal-install` which has to do quite a bit of manipulating sets of command line flags.

This is actually relatively nice, it works quite well. The main change it needs is to unify it with the code for managing sets of fields that can be read and written from files. This would allow us to save configure flags in config files.

Synopsis

- data GlobalFlags = GlobalFlags {
  - globalVersion :: Flag Bool
  - globalNumericVersion :: Flag Bool
  }
- emptyGlobalFlags :: GlobalFlags
- defaultGlobalFlags :: GlobalFlags
- globalCommand :: [Command action] -> CommandUI GlobalFlags
- data ConfigFlags = ConfigFlags {
  - configArgs :: [String]
  - configPrograms_ :: Last' ProgramDb
  - configProgramPaths :: [(String, FilePath)]
  - configProgramArgs :: [(String, [String])]
  - configProgramPathExtra :: NubList FilePath
  - configHcFlavor :: Flag CompilerFlavor
  - configHcPath :: Flag FilePath
  - configHcPkg :: Flag FilePath
  - configVanillaLib :: Flag Bool
  - configProfLib :: Flag Bool
  - configSharedLib :: Flag Bool
  - configDynExe :: Flag Bool
  - configProfExe :: Flag Bool
  - configProf :: Flag Bool
  - configProfDetail :: Flag ProfDetailLevel
  - configProfLibDetail :: Flag ProfDetailLevel
  - configConfigureArgs :: [String]
  - configOptimization :: Flag OptimisationLevel
  - configProgPrefix :: Flag PathTemplate
  - configProgSuffix :: Flag PathTemplate
  - configInstallDirs :: InstallDirs (Flag PathTemplate)
  - configScratchDir :: Flag FilePath
  - configExtraLibDirs :: [FilePath]
  - configExtraFrameworkDirs :: [FilePath]
  - configExtraIncludeDirs :: [FilePath]
  - configIPID :: Flag String
  - configCID :: Flag ComponentId
  - configDeterministic :: Flag Bool
  - configDistPref :: Flag FilePath
  - configCabalFilePath :: Flag FilePath
  - configVerbosity :: Flag Verbosity
  - configUserInstall :: Flag Bool
  - configPackageDBs :: [Maybe PackageDB]
  - configGHCiLib :: Flag Bool
  - configSplitObjs :: Flag Bool
  - configStripExes :: Flag Bool
  - configStripLibs :: Flag Bool
  - configConstraints :: [Dependency]
  - configDependencies :: [(PackageName, ComponentId)]
  - configInstantiateWith :: [(ModuleName, Module)]
  - configConfigurationsFlags :: FlagAssignment
  - configTests :: Flag Bool
  - configBenchmarks :: Flag Bool
  - configCoverage :: Flag Bool
  - configLibCoverage :: Flag Bool
  - configExactConfiguration :: Flag Bool
  - configFlagError :: Flag String
  - configRelocatable :: Flag Bool
  - configDebugInfo :: Flag DebugInfoLevel
  - configAllowOlder :: Maybe AllowOlder
  - configAllowNewer :: Maybe AllowNewer
  }
- emptyConfigFlags :: ConfigFlags
- defaultConfigFlags :: ProgramDb -> ConfigFlags
- configureCommand :: ProgramDb -> CommandUI ConfigFlags
- configPrograms :: WithCallStack (ConfigFlags -> ProgramDb)
- data RelaxDeps
  - = RelaxDepsNone
  - | RelaxDepsSome [RelaxedDep]
  - | RelaxDepsAll
- data RelaxedDep
  - = RelaxedDep PackageName
  - | RelaxedDepScoped PackageName PackageName
- isRelaxDeps :: RelaxDeps -> Bool
- newtype AllowNewer = AllowNewer {
  - unAllowNewer :: RelaxDeps
  }
- newtype AllowOlder = AllowOlder {
  - unAllowOlder :: RelaxDeps
  }
- configAbsolutePaths :: ConfigFlags -> NoCallStackIO ConfigFlags
- readPackageDbList :: String -> [Maybe PackageDB]
- showPackageDbList :: [Maybe PackageDB] -> [String]
- data CopyFlags = CopyFlags {
  - copyDest :: Flag CopyDest
  - copyDistPref :: Flag FilePath
  - copyVerbosity :: Flag Verbosity
  - copyArgs :: [String]
  }
- emptyCopyFlags :: CopyFlags
- defaultCopyFlags :: CopyFlags
- copyCommand :: CommandUI CopyFlags
- data InstallFlags = InstallFlags {
  - installPackageDB :: Flag PackageDB
  - installDistPref :: Flag FilePath
  - installUseWrapper :: Flag Bool
  - installInPlace :: Flag Bool
  - installVerbosity :: Flag Verbosity
  }
- emptyInstallFlags :: InstallFlags
- defaultInstallFlags :: InstallFlags
- installCommand :: CommandUI InstallFlags
- data DoctestFlags = DoctestFlags {
  - doctestProgramPaths :: [(String, FilePath)]
  - doctestProgramArgs :: [(String, [String])]
  - doctestDistPref :: Flag FilePath
  - doctestVerbosity :: Flag Verbosity
  }
- emptyDoctestFlags :: DoctestFlags
- defaultDoctestFlags :: DoctestFlags
- doctestCommand :: CommandUI DoctestFlags
- data HaddockTarget
  - = ForHackage
  - | ForDevelopment
- data HaddockFlags = HaddockFlags {
  - haddockProgramPaths :: [(String, FilePath)]
  - haddockProgramArgs :: [(String, [String])]
  - haddockHoogle :: Flag Bool
  - haddockHtml :: Flag Bool
  - haddockHtmlLocation :: Flag String
  - haddockForHackage :: Flag HaddockTarget
  - haddockExecutables :: Flag Bool
  - haddockTestSuites :: Flag Bool
  - haddockBenchmarks :: Flag Bool
  - haddockForeignLibs :: Flag Bool
  - haddockInternal :: Flag Bool
  - haddockCss :: Flag FilePath
  - haddockHscolour :: Flag Bool
  - haddockHscolourCss :: Flag FilePath
  - haddockContents :: Flag PathTemplate
  - haddockDistPref :: Flag FilePath
  - haddockKeepTempFiles :: Flag Bool
  - haddockVerbosity :: Flag Verbosity
  }
- emptyHaddockFlags :: HaddockFlags
- defaultHaddockFlags :: HaddockFlags
- haddockCommand :: CommandUI HaddockFlags
- data HscolourFlags = HscolourFlags {
  - hscolourCSS :: Flag FilePath
  - hscolourExecutables :: Flag Bool
  - hscolourTestSuites :: Flag Bool
  - hscolourBenchmarks :: Flag Bool
  - hscolourForeignLibs :: Flag Bool
  - hscolourDistPref :: Flag FilePath
  - hscolourVerbosity :: Flag Verbosity
  }
- emptyHscolourFlags :: HscolourFlags
- defaultHscolourFlags :: HscolourFlags
- hscolourCommand :: CommandUI HscolourFlags
- data BuildFlags = BuildFlags {
  - buildProgramPaths :: [(String, FilePath)]
  - buildProgramArgs :: [(String, [String])]
  - buildDistPref :: Flag FilePath
  - buildVerbosity :: Flag Verbosity
  - buildNumJobs :: Flag (Maybe Int)
  - buildArgs :: [String]
  }
- emptyBuildFlags :: BuildFlags
- defaultBuildFlags :: BuildFlags
- buildCommand :: ProgramDb -> CommandUI BuildFlags
- buildVerbose :: BuildFlags -> Verbosity
- data ReplFlags = ReplFlags {
  - replProgramPaths :: [(String, FilePath)]
  - replProgramArgs :: [(String, [String])]
  - replDistPref :: Flag FilePath
  - replVerbosity :: Flag Verbosity
  - replReload :: Flag Bool
  }
- defaultReplFlags :: ReplFlags
- replCommand :: ProgramDb -> CommandUI ReplFlags
- data CleanFlags = CleanFlags {
  - cleanSaveConf :: Flag Bool
  - cleanDistPref :: Flag FilePath
  - cleanVerbosity :: Flag Verbosity
  }
- emptyCleanFlags :: CleanFlags
- defaultCleanFlags :: CleanFlags
- cleanCommand :: CommandUI CleanFlags
- data RegisterFlags = RegisterFlags {
  - regPackageDB :: Flag PackageDB
  - regGenScript :: Flag Bool
  - regGenPkgConf :: Flag (Maybe FilePath)
  - regInPlace :: Flag Bool
  - regDistPref :: Flag FilePath
  - regPrintId :: Flag Bool
  - regVerbosity :: Flag Verbosity
  - regArgs :: [String]
  }
- emptyRegisterFlags :: RegisterFlags
- defaultRegisterFlags :: RegisterFlags
- registerCommand :: CommandUI RegisterFlags
- unregisterCommand :: CommandUI RegisterFlags
- data SDistFlags = SDistFlags {
  - sDistSnapshot :: Flag Bool
  - sDistDirectory :: Flag FilePath
  - sDistDistPref :: Flag FilePath
  - sDistListSources :: Flag FilePath
  - sDistVerbosity :: Flag Verbosity
  }
- emptySDistFlags :: SDistFlags
- defaultSDistFlags :: SDistFlags
- sdistCommand :: CommandUI SDistFlags
- data TestFlags = TestFlags {
  - testDistPref :: Flag FilePath
  - testVerbosity :: Flag Verbosity
  - testHumanLog :: Flag PathTemplate
  - testMachineLog :: Flag PathTemplate
  - testShowDetails :: Flag TestShowDetails
  - testKeepTix :: Flag Bool
  - testOptions :: [PathTemplate]
  }
- emptyTestFlags :: TestFlags
- defaultTestFlags :: TestFlags
- testCommand :: CommandUI TestFlags
- data TestShowDetails
  - = Never
  - | Failures
  - | Always
  - | Streaming
  - | Direct
- data BenchmarkFlags = BenchmarkFlags {
  - benchmarkDistPref :: Flag FilePath
  - benchmarkVerbosity :: Flag Verbosity
  - benchmarkOptions :: [PathTemplate]
  }
- emptyBenchmarkFlags :: BenchmarkFlags
- defaultBenchmarkFlags :: BenchmarkFlags
- benchmarkCommand :: CommandUI BenchmarkFlags
- data CopyDest
  - = NoCopyDest
  - | CopyTo FilePath
- configureArgs :: Bool -> ConfigFlags -> [String]
- configureOptions :: ShowOrParseArgs -> [OptionField ConfigFlags]
- configureCCompiler :: Verbosity -> ProgramDb -> IO (FilePath, [String])
- configureLinker :: Verbosity -> ProgramDb -> IO (FilePath, [String])
- buildOptions :: ProgramDb -> ShowOrParseArgs -> [OptionField BuildFlags]
- haddockOptions :: ShowOrParseArgs -> [OptionField HaddockFlags]
- installDirsOptions :: [OptionField (InstallDirs (Flag PathTemplate))]
- programDbOptions :: ProgramDb -> ShowOrParseArgs -> (flags -> [(String, [String])]) -> ([(String, [String])] -> flags -> flags) -> [OptionField flags]
- programDbPaths' :: (String -> String) -> ProgramDb -> ShowOrParseArgs -> (flags -> [(String, FilePath)]) -> ([(String, FilePath)] -> flags -> flags) -> [OptionField flags]
- programConfigurationOptions :: ProgramDb -> ShowOrParseArgs -> (flags -> [(String, [String])]) -> ([(String, [String])] -> flags -> flags) -> [OptionField flags]
- programConfigurationPaths' :: (String -> String) -> ProgramDb -> ShowOrParseArgs -> (flags -> [(String, FilePath)]) -> ([(String, FilePath)] -> flags -> flags) -> [OptionField flags]
- splitArgs :: String -> [String]
- defaultDistPref :: FilePath
- optionDistPref :: (flags -> Flag FilePath) -> (Flag FilePath -> flags -> flags) -> ShowOrParseArgs -> OptionField flags
- data Flag a
  - = Flag a
  - | NoFlag
- toFlag :: a -> Flag a
- fromFlag :: WithCallStack (Flag a -> a)
- fromFlagOrDefault :: a -> Flag a -> a
- flagToMaybe :: Flag a -> Maybe a
- flagToList :: Flag a -> [a]
- maybeToFlag :: Maybe a -> Flag a
- class BooleanFlag a where
- boolOpt :: SFlags -> SFlags -> MkOptDescr (a -> Flag Bool) (Flag Bool -> a -> a) a
- boolOpt' :: OptFlags -> OptFlags -> MkOptDescr (a -> Flag Bool) (Flag Bool -> a -> a) a
- trueArg :: MkOptDescr (a -> Flag Bool) (Flag Bool -> a -> a) a
- falseArg :: MkOptDescr (a -> Flag Bool) (Flag Bool -> a -> a) a
- optionVerbosity :: (flags -> Flag Verbosity) -> (Flag Verbosity -> flags -> flags) -> OptionField flags
- optionNumJobs :: (flags -> Flag (Maybe Int)) -> (Flag (Maybe Int) -> flags -> flags) -> OptionField flags
- readPToMaybe :: ReadP a a -> String -> Maybe a

# Documentation

data GlobalFlags #

Flags that apply at the top level, not to any sub-command.

Constructors

GlobalFlags |

Fields

- globalVersion :: Flag Bool
- globalNumericVersion :: Flag Bool

Instances

Generic GlobalFlags # |
Associated Types type Rep GlobalFlags :: * -> * Source # Methods from :: GlobalFlags -> Rep GlobalFlags x Source # to :: Rep GlobalFlags x -> GlobalFlags Source #
Semigroup GlobalFlags # |
Methods (<>) :: GlobalFlags -> GlobalFlags -> GlobalFlags Source # sconcat :: NonEmpty GlobalFlags -> GlobalFlags Source # stimes :: Integral b => b -> GlobalFlags -> GlobalFlags Source #
Monoid GlobalFlags # |
Methods mempty :: GlobalFlags Source # mappend :: GlobalFlags -> GlobalFlags -> GlobalFlags Source # mconcat :: [GlobalFlags] -> GlobalFlags Source #
type Rep GlobalFlags # |

type Rep GlobalFlags = D1 * (MetaData "GlobalFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.0" False) (C1 * (MetaCons "GlobalFlags" PrefixI True) ((:*:) * (S1 * (MetaSel (Just Symbol "globalVersion") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))) (S1 * (MetaSel (Just Symbol "globalNumericVersion") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool)))))

emptyGlobalFlags :: GlobalFlags #

defaultGlobalFlags :: GlobalFlags #

globalCommand :: [Command action] -> CommandUI GlobalFlags #

data ConfigFlags #

Flags to `configure` command.

IMPORTANT: every time a new flag is added, `filterConfigureFlags` should be updated. IMPORTANT: every time a new flag is added, it should be added to the Eq instance

Constructors

ConfigFlags |

Fields

- configArgs :: [String]
- configPrograms_ :: Last' ProgramDb

  All programs that `cabal` may run

- configProgramPaths :: [(String, FilePath)]

  user specified programs paths

- configProgramArgs :: [(String, [String])]

  user specified programs args

- configProgramPathExtra :: NubList FilePath

  Extend the $PATH

- configHcFlavor :: Flag CompilerFlavor

  The "flavor" of the compiler, such as GHC or JHC.

- configHcPath :: Flag FilePath

  given compiler location

- configHcPkg :: Flag FilePath

  given hc-pkg location

- configVanillaLib :: Flag Bool

  Enable vanilla library

- configProfLib :: Flag Bool

  Enable profiling in the library

- configSharedLib :: Flag Bool

  Build shared library

- configDynExe :: Flag Bool

  Enable dynamic linking of the executables.

- configProfExe :: Flag Bool

  Enable profiling in the executables.

- configProf :: Flag Bool

  Enable profiling in the library and executables.

- configProfDetail :: Flag ProfDetailLevel

  Profiling detail level in the library and executables.

- configProfLibDetail :: Flag ProfDetailLevel

  Profiling detail level in the library

- configConfigureArgs :: [String]

  Extra arguments to `configure`

- configOptimization :: Flag OptimisationLevel

  Enable optimization.

- configProgPrefix :: Flag PathTemplate

  Installed executable prefix.

- configProgSuffix :: Flag PathTemplate

  Installed executable suffix.

- configInstallDirs :: InstallDirs (Flag PathTemplate)

  Installation paths

- configScratchDir :: Flag FilePath
- configExtraLibDirs :: [FilePath]

  path to search for extra libraries

- configExtraFrameworkDirs :: [FilePath]

  path to search for extra frameworks (OS X only)

- configExtraIncludeDirs :: [FilePath]

  path to search for header files

- configIPID :: Flag String

  explicit IPID to be used

- configCID :: Flag ComponentId

  explicit CID to be used

- configDeterministic :: Flag Bool

  be as deterministic as possible (e.g., invariant over GHC, database, etc). Used by the test suite

- configDistPref :: Flag FilePath

  "dist" prefix

- configCabalFilePath :: Flag FilePath

  Cabal file to use

- configVerbosity :: Flag Verbosity

  verbosity level

- configUserInstall :: Flag Bool

  The --user/--global flag

- configPackageDBs :: [Maybe PackageDB]

  Which package DBs to use

- configGHCiLib :: Flag Bool

  Enable compiling library for GHCi

- configSplitObjs :: Flag Bool

  Enable -split-objs with GHC

- configStripExes :: Flag Bool

  Enable executable stripping

- configStripLibs :: Flag Bool

  Enable library stripping

- configConstraints :: [Dependency]

  Additional constraints for dependencies.

- configDependencies :: [(PackageName, ComponentId)]

  The packages depended on.

- configInstantiateWith :: [(ModuleName, Module)]

  The requested Backpack instantiation. If empty, either this package does not use Backpack, or we just want to typecheck the indefinite package.

- configConfigurationsFlags :: FlagAssignment
- configTests :: Flag Bool

  Enable test suite compilation

- configBenchmarks :: Flag Bool

  Enable benchmark compilation

- configCoverage :: Flag Bool

  Enable program coverage

- configLibCoverage :: Flag Bool

  Enable program coverage (deprecated)

- configExactConfiguration :: Flag Bool

  All direct dependencies and flags are provided on the command line by the user via the '--dependency' and '--flags' options.

- configFlagError :: Flag String

  Halt and show an error message indicating an error in flag assignment

- configRelocatable :: Flag Bool

  Enable relocatable package built

- configDebugInfo :: Flag DebugInfoLevel

  Emit debug info.

- configAllowOlder :: Maybe AllowOlder

  dual to `configAllowNewer`

- configAllowNewer :: Maybe AllowNewer

  Ignore upper bounds on all or some dependencies. Wrapped in `Maybe` to distinguish between "default" and "explicitly disabled".

Instances

Eq ConfigFlags # |
Methods (==) :: ConfigFlags -> ConfigFlags -> Bool # (/=) :: ConfigFlags -> ConfigFlags -> Bool #
Read ConfigFlags # |
Methods readsPrec :: Int -> ReadS ConfigFlags Source # readList :: ReadS [ConfigFlags] Source # readPrec :: ReadPrec ConfigFlags Source # readListPrec :: ReadPrec [ConfigFlags] Source #
Show ConfigFlags # |
Methods showsPrec :: Int -> ConfigFlags -> ShowS Source # show :: ConfigFlags -> String Source # showList :: [ConfigFlags] -> ShowS Source #
Generic ConfigFlags # |
Associated Types type Rep ConfigFlags :: * -> * Source # Methods from :: ConfigFlags -> Rep ConfigFlags x Source # to :: Rep ConfigFlags x -> ConfigFlags Source #
Semigroup ConfigFlags # |
Methods (<>) :: ConfigFlags -> ConfigFlags -> ConfigFlags Source # sconcat :: NonEmpty ConfigFlags -> ConfigFlags Source # stimes :: Integral b => b -> ConfigFlags -> ConfigFlags Source #
Monoid ConfigFlags # |
Methods mempty :: ConfigFlags Source # mappend :: ConfigFlags -> ConfigFlags -> ConfigFlags Source # mconcat :: [ConfigFlags] -> ConfigFlags Source #
Binary ConfigFlags # |
Methods put :: ConfigFlags -> Put Source # get :: Get ConfigFlags Source # putList :: [ConfigFlags] -> Put Source #
type Rep ConfigFlags # |

type Rep ConfigFlags = D1 * (MetaData "ConfigFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.0" False) (C1 * (MetaCons "ConfigFlags" PrefixI True) ((:*:) * ((:*:) * ((:*:) * ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "configArgs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [String])) ((:*:) * (S1 * (MetaSel (Just Symbol "configPrograms_") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Last' ProgramDb))) (S1 * (MetaSel (Just Symbol "configProgramPaths") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [(String, FilePath)])))) ((:*:) * (S1 * (MetaSel (Just Symbol "configProgramArgs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [(String, [String])])) ((:*:) * (S1 * (MetaSel (Just Symbol "configProgramPathExtra") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (NubList FilePath))) (S1 * (MetaSel (Just Symbol "configHcFlavor") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag CompilerFlavor)))))) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "configHcPath") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag FilePath))) ((:*:) * (S1 * (MetaSel (Just Symbol "configHcPkg") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag FilePath))) (S1 * (MetaSel (Just Symbol "configVanillaLib") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))))) ((:*:) * (S1 * (MetaSel (Just Symbol "configProfLib") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))) ((:*:) * (S1 * (MetaSel (Just Symbol "configSharedLib") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))) (S1 * (MetaSel (Just Symbol "configDynExe") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))))))) ((:*:) * ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "configProfExe") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))) ((:*:) * (S1 * (MetaSel (Just Symbol "configProf") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))) (S1 * (MetaSel (Just Symbol "configProfDetail") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag ProfDetailLevel))))) ((:*:) * (S1 * (MetaSel (Just Symbol "configProfLibDetail") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag ProfDetailLevel))) ((:*:) * (S1 * (MetaSel (Just Symbol "configConfigureArgs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [String])) (S1 * (MetaSel (Just Symbol "configOptimization") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag OptimisationLevel)))))) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "configProgPrefix") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag PathTemplate))) ((:*:) * (S1 * (MetaSel (Just Symbol "configProgSuffix") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag PathTemplate))) (S1 * (MetaSel (Just Symbol "configInstallDirs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (InstallDirs (Flag PathTemplate)))))) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "configScratchDir") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag FilePath))) (S1 * (MetaSel (Just Symbol "configExtraLibDirs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [FilePath]))) ((:*:) * (S1 * (MetaSel (Just Symbol "configExtraFrameworkDirs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [FilePath])) (S1 * (MetaSel (Just Symbol "configExtraIncludeDirs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [FilePath]))))))) ((:*:) * ((:*:) * ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "configIPID") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag String))) ((:*:) * (S1 * (MetaSel (Just Symbol "configCID") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag ComponentId))) (S1 * (MetaSel (Just Symbol "configDeterministic") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))))) ((:*:) * (S1 * (MetaSel (Just Symbol "configDistPref") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag FilePath))) ((:*:) * (S1 * (MetaSel (Just Symbol "configCabalFilePath") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag FilePath))) (S1 * (MetaSel (Just Symbol "configVerbosity") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Verbosity)))))) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "configUserInstall") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))) ((:*:) * (S1 * (MetaSel (Just Symbol "configPackageDBs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [Maybe PackageDB])) (S1 * (MetaSel (Just Symbol "configGHCiLib") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))))) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "configSplitObjs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))) (S1 * (MetaSel (Just Symbol "configStripExes") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool)))) ((:*:) * (S1 * (MetaSel (Just Symbol "configStripLibs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))) (S1 * (MetaSel (Just Symbol "configConstraints") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [Dependency])))))) ((:*:) * ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "configDependencies") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [(PackageName, ComponentId)])) ((:*:) * (S1 * (MetaSel (Just Symbol "configInstantiateWith") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [(ModuleName, Module)])) (S1 * (MetaSel (Just Symbol "configConfigurationsFlags") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * FlagAssignment)))) ((:*:) * (S1 * (MetaSel (Just Symbol "configTests") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))) ((:*:) * (S1 * (MetaSel (Just Symbol "configBenchmarks") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))) (S1 * (MetaSel (Just Symbol "configCoverage") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool)))))) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "configLibCoverage") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))) ((:*:) * (S1 * (MetaSel (Just Symbol "configExactConfiguration") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))) (S1 * (MetaSel (Just Symbol "configFlagError") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag String))))) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "configRelocatable") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))) (S1 * (MetaSel (Just Symbol "configDebugInfo") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag DebugInfoLevel)))) ((:*:) * (S1 * (MetaSel (Just Symbol "configAllowOlder") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Maybe AllowOlder))) (S1 * (MetaSel (Just Symbol "configAllowNewer") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Maybe AllowNewer))))))))))

emptyConfigFlags :: ConfigFlags #

defaultConfigFlags :: ProgramDb -> ConfigFlags #

configureCommand :: ProgramDb -> CommandUI ConfigFlags #

configPrograms :: WithCallStack (ConfigFlags -> ProgramDb) #

More convenient version of `configPrograms`. Results in an `error` if internal invariant is violated.

data RelaxDeps #

Generic data type for policy when relaxing bounds in dependencies. Don't use this directly: use `AllowOlder` or `AllowNewer` depending on whether or not you are relaxing an lower or upper bound (respectively).

Constructors

RelaxDepsNone | Default: honor the upper bounds in all dependencies, never choose versions newer than allowed.
RelaxDepsSome [RelaxedDep] | Ignore upper bounds in dependencies on the given packages.
RelaxDepsAll | Ignore upper bounds in dependencies on all packages.

Instances

Eq RelaxDeps # |
Methods (==) :: RelaxDeps -> RelaxDeps -> Bool # (/=) :: RelaxDeps -> RelaxDeps -> Bool #
Read RelaxDeps # |
Methods readsPrec :: Int -> ReadS RelaxDeps Source # readList :: ReadS [RelaxDeps] Source # readPrec :: ReadPrec RelaxDeps Source # readListPrec :: ReadPrec [RelaxDeps] Source #
Show RelaxDeps # |
Methods showsPrec :: Int -> RelaxDeps -> ShowS Source # show :: RelaxDeps -> String Source # showList :: [RelaxDeps] -> ShowS Source #
Generic RelaxDeps # |
Associated Types type Rep RelaxDeps :: * -> * Source # Methods from :: RelaxDeps -> Rep RelaxDeps x Source # to :: Rep RelaxDeps x -> RelaxDeps Source #
Semigroup RelaxDeps # |
Methods (<>) :: RelaxDeps -> RelaxDeps -> RelaxDeps Source # sconcat :: NonEmpty RelaxDeps -> RelaxDeps Source # stimes :: Integral b => b -> RelaxDeps -> RelaxDeps Source #
Monoid RelaxDeps # |
Methods mempty :: RelaxDeps Source # mappend :: RelaxDeps -> RelaxDeps -> RelaxDeps Source # mconcat :: [RelaxDeps] -> RelaxDeps Source #
Binary RelaxDeps # |
Methods put :: RelaxDeps -> Put Source # get :: Get RelaxDeps Source # putList :: [RelaxDeps] -> Put Source #
type Rep RelaxDeps # |
type Rep RelaxDeps = D1 * (MetaData "RelaxDeps" "Distribution.Simple.Setup" "Cabal-2.0.1.0" False) ((:+:) * (C1 * (MetaCons "RelaxDepsNone" PrefixI False) (U1 *)) ((:+:) * (C1 * (MetaCons "RelaxDepsSome" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [RelaxedDep]))) (C1 * (MetaCons "RelaxDepsAll" PrefixI False) (U1 *))))

data RelaxedDep #

Dependencies can be relaxed either for all packages in the install plan, or only for some packages.

Constructors

RelaxedDep PackageName |
RelaxedDepScoped PackageName PackageName |

Instances

Eq RelaxedDep # |
Methods (==) :: RelaxedDep -> RelaxedDep -> Bool # (/=) :: RelaxedDep -> RelaxedDep -> Bool #
Read RelaxedDep # |
Methods readsPrec :: Int -> ReadS RelaxedDep Source # readList :: ReadS [RelaxedDep] Source # readPrec :: ReadPrec RelaxedDep Source # readListPrec :: ReadPrec [RelaxedDep] Source #
Show RelaxedDep # |
Methods showsPrec :: Int -> RelaxedDep -> ShowS Source # show :: RelaxedDep -> String Source # showList :: [RelaxedDep] -> ShowS Source #
Generic RelaxedDep # |
Associated Types type Rep RelaxedDep :: * -> * Source # Methods from :: RelaxedDep -> Rep RelaxedDep x Source # to :: Rep RelaxedDep x -> RelaxedDep Source #
Binary RelaxedDep # |
Methods put :: RelaxedDep -> Put Source # get :: Get RelaxedDep Source # putList :: [RelaxedDep] -> Put Source #
Text RelaxedDep # |
Methods disp :: RelaxedDep -> Doc # parse :: ReadP r RelaxedDep #
type Rep RelaxedDep # |

type Rep RelaxedDep = D1 * (MetaData "RelaxedDep" "Distribution.Simple.Setup" "Cabal-2.0.1.0" False) ((:+:) * (C1 * (MetaCons "RelaxedDep" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * PackageName))) (C1 * (MetaCons "RelaxedDepScoped" PrefixI False) ((:*:) * (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * PackageName)) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * PackageName)))))

isRelaxDeps :: RelaxDeps -> Bool #

Convert `RelaxDeps` to a boolean.

newtype AllowNewer #

`RelaxDeps` in the context of upper bounds (i.e. for `--allow-newer` flag)

Constructors

AllowNewer |

Fields

- unAllowNewer :: RelaxDeps

Instances

Eq AllowNewer # |
Methods (==) :: AllowNewer -> AllowNewer -> Bool # (/=) :: AllowNewer -> AllowNewer -> Bool #
Read AllowNewer # |
Methods readsPrec :: Int -> ReadS AllowNewer Source # readList :: ReadS [AllowNewer] Source # readPrec :: ReadPrec AllowNewer Source # readListPrec :: ReadPrec [AllowNewer] Source #
Show AllowNewer # |
Methods showsPrec :: Int -> AllowNewer -> ShowS Source # show :: AllowNewer -> String Source # showList :: [AllowNewer] -> ShowS Source #
Generic AllowNewer # |
Associated Types type Rep AllowNewer :: * -> * Source # Methods from :: AllowNewer -> Rep AllowNewer x Source # to :: Rep AllowNewer x -> AllowNewer Source #
Semigroup AllowNewer # |
Methods (<>) :: AllowNewer -> AllowNewer -> AllowNewer Source # sconcat :: NonEmpty AllowNewer -> AllowNewer Source # stimes :: Integral b => b -> AllowNewer -> AllowNewer Source #
Monoid AllowNewer # |
Methods mempty :: AllowNewer Source # mappend :: AllowNewer -> AllowNewer -> AllowNewer Source # mconcat :: [AllowNewer] -> AllowNewer Source #
Binary AllowNewer # |
Methods put :: AllowNewer -> Put Source # get :: Get AllowNewer Source # putList :: [AllowNewer] -> Put Source #
type Rep AllowNewer # |
type Rep AllowNewer = D1 * (MetaData "AllowNewer" "Distribution.Simple.Setup" "Cabal-2.0.1.0" True) (C1 * (MetaCons "AllowNewer" PrefixI True) (S1 * (MetaSel (Just Symbol "unAllowNewer") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * RelaxDeps)))

newtype AllowOlder #

`RelaxDeps` in the context of lower bounds (i.e. for `--allow-older` flag)

Constructors

AllowOlder |

Fields

- unAllowOlder :: RelaxDeps

Instances

Eq AllowOlder # |
Methods (==) :: AllowOlder -> AllowOlder -> Bool # (/=) :: AllowOlder -> AllowOlder -> Bool #
Read AllowOlder # |
Methods readsPrec :: Int -> ReadS AllowOlder Source # readList :: ReadS [AllowOlder] Source # readPrec :: ReadPrec AllowOlder Source # readListPrec :: ReadPrec [AllowOlder] Source #
Show AllowOlder # |
Methods showsPrec :: Int -> AllowOlder -> ShowS Source # show :: AllowOlder -> String Source # showList :: [AllowOlder] -> ShowS Source #
Generic AllowOlder # |
Associated Types type Rep AllowOlder :: * -> * Source # Methods from :: AllowOlder -> Rep AllowOlder x Source # to :: Rep AllowOlder x -> AllowOlder Source #
Semigroup AllowOlder # |
Methods (<>) :: AllowOlder -> AllowOlder -> AllowOlder Source # sconcat :: NonEmpty AllowOlder -> AllowOlder Source # stimes :: Integral b => b -> AllowOlder -> AllowOlder Source #
Monoid AllowOlder # |
Methods mempty :: AllowOlder Source # mappend :: AllowOlder -> AllowOlder -> AllowOlder Source # mconcat :: [AllowOlder] -> AllowOlder Source #
Binary AllowOlder # |
Methods put :: AllowOlder -> Put Source # get :: Get AllowOlder Source # putList :: [AllowOlder] -> Put Source #
type Rep AllowOlder # |
type Rep AllowOlder = D1 * (MetaData "AllowOlder" "Distribution.Simple.Setup" "Cabal-2.0.1.0" True) (C1 * (MetaCons "AllowOlder" PrefixI True) (S1 * (MetaSel (Just Symbol "unAllowOlder") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * RelaxDeps)))

configAbsolutePaths :: ConfigFlags -> NoCallStackIO ConfigFlags #

readPackageDbList :: String -> [Maybe PackageDB] #

showPackageDbList :: [Maybe PackageDB] -> [String] #

data CopyFlags #

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

Constructors

CopyFlags |

Fields

- copyDest :: Flag CopyDest
- copyDistPref :: Flag FilePath
- copyVerbosity :: Flag Verbosity
- copyArgs :: [String]

Instances

Show CopyFlags # |
Methods showsPrec :: Int -> CopyFlags -> ShowS Source # show :: CopyFlags -> String Source # showList :: [CopyFlags] -> ShowS Source #
Generic CopyFlags # |
Associated Types type Rep CopyFlags :: * -> * Source # Methods from :: CopyFlags -> Rep CopyFlags x Source # to :: Rep CopyFlags x -> CopyFlags Source #
Semigroup CopyFlags # |
Methods (<>) :: CopyFlags -> CopyFlags -> CopyFlags Source # sconcat :: NonEmpty CopyFlags -> CopyFlags Source # stimes :: Integral b => b -> CopyFlags -> CopyFlags Source #
Monoid CopyFlags # |
Methods mempty :: CopyFlags Source # mappend :: CopyFlags -> CopyFlags -> CopyFlags Source # mconcat :: [CopyFlags] -> CopyFlags Source #
type Rep CopyFlags # |

type Rep CopyFlags = D1 * (MetaData "CopyFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.0" False) (C1 * (MetaCons "CopyFlags" PrefixI True) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "copyDest") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag CopyDest))) (S1 * (MetaSel (Just Symbol "copyDistPref") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag FilePath)))) ((:*:) * (S1 * (MetaSel (Just Symbol "copyVerbosity") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Verbosity))) (S1 * (MetaSel (Just Symbol "copyArgs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [String])))))

emptyCopyFlags :: CopyFlags #

defaultCopyFlags :: CopyFlags #

copyCommand :: CommandUI CopyFlags #

data InstallFlags #

Flags to `install`: (package db, verbosity)

Constructors

InstallFlags |

Fields

- installPackageDB :: Flag PackageDB
- installDistPref :: Flag FilePath
- installUseWrapper :: Flag Bool
- installInPlace :: Flag Bool
- installVerbosity :: Flag Verbosity

Instances

Show InstallFlags # |
Methods showsPrec :: Int -> InstallFlags -> ShowS Source # show :: InstallFlags -> String Source # showList :: [InstallFlags] -> ShowS Source #
Generic InstallFlags # |
Associated Types type Rep InstallFlags :: * -> * Source # Methods from :: InstallFlags -> Rep InstallFlags x Source # to :: Rep InstallFlags x -> InstallFlags Source #
Semigroup InstallFlags # |
Methods (<>) :: InstallFlags -> InstallFlags -> InstallFlags Source # sconcat :: NonEmpty InstallFlags -> InstallFlags Source # stimes :: Integral b => b -> InstallFlags -> InstallFlags Source #
Monoid InstallFlags # |
Methods mempty :: InstallFlags Source # mappend :: InstallFlags -> InstallFlags -> InstallFlags Source # mconcat :: [InstallFlags] -> InstallFlags Source #
type Rep InstallFlags # |

type Rep InstallFlags = D1 * (MetaData "InstallFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.0" False) (C1 * (MetaCons "InstallFlags" PrefixI True) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "installPackageDB") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag PackageDB))) (S1 * (MetaSel (Just Symbol "installDistPref") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag FilePath)))) ((:*:) * (S1 * (MetaSel (Just Symbol "installUseWrapper") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))) ((:*:) * (S1 * (MetaSel (Just Symbol "installInPlace") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))) (S1 * (MetaSel (Just Symbol "installVerbosity") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Verbosity)))))))

emptyInstallFlags :: InstallFlags #

defaultInstallFlags :: InstallFlags #

installCommand :: CommandUI InstallFlags #

data DoctestFlags #

Constructors

DoctestFlags |

Fields

- doctestProgramPaths :: [(String, FilePath)]
- doctestProgramArgs :: [(String, [String])]
- doctestDistPref :: Flag FilePath
- doctestVerbosity :: Flag Verbosity

Instances

Show DoctestFlags # |
Methods showsPrec :: Int -> DoctestFlags -> ShowS Source # show :: DoctestFlags -> String Source # showList :: [DoctestFlags] -> ShowS Source #
Generic DoctestFlags # |
Associated Types type Rep DoctestFlags :: * -> * Source # Methods from :: DoctestFlags -> Rep DoctestFlags x Source # to :: Rep DoctestFlags x -> DoctestFlags Source #
Semigroup DoctestFlags # |
Methods (<>) :: DoctestFlags -> DoctestFlags -> DoctestFlags Source # sconcat :: NonEmpty DoctestFlags -> DoctestFlags Source # stimes :: Integral b => b -> DoctestFlags -> DoctestFlags Source #
Monoid DoctestFlags # |
Methods mempty :: DoctestFlags Source # mappend :: DoctestFlags -> DoctestFlags -> DoctestFlags Source # mconcat :: [DoctestFlags] -> DoctestFlags Source #
type Rep DoctestFlags # |

type Rep DoctestFlags = D1 * (MetaData "DoctestFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.0" False) (C1 * (MetaCons "DoctestFlags" PrefixI True) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "doctestProgramPaths") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [(String, FilePath)])) (S1 * (MetaSel (Just Symbol "doctestProgramArgs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [(String, [String])]))) ((:*:) * (S1 * (MetaSel (Just Symbol "doctestDistPref") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag FilePath))) (S1 * (MetaSel (Just Symbol "doctestVerbosity") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Verbosity))))))

emptyDoctestFlags :: DoctestFlags #

defaultDoctestFlags :: DoctestFlags #

doctestCommand :: CommandUI DoctestFlags #

data HaddockTarget #

When we build haddock documentation, there are two cases:

1. We build haddocks only for the current development version, intended for local use and not for distribution. In this case, we store the generated documentation in `distdochtml/name`.
2. We build haddocks for intended for uploading them to hackage. In this case, we need to follow the layout that hackage expects from documentation tarballs, and we might also want to use different flags than for development builds, so in this case we store the generated documentation in `distdochtml/id-docs`.

Constructors

ForHackage |
ForDevelopment |

Instances

Eq HaddockTarget # |
Methods (==) :: HaddockTarget -> HaddockTarget -> Bool # (/=) :: HaddockTarget -> HaddockTarget -> Bool #
Show HaddockTarget # |
Methods showsPrec :: Int -> HaddockTarget -> ShowS Source # show :: HaddockTarget -> String Source # showList :: [HaddockTarget] -> ShowS Source #
Generic HaddockTarget # |
Associated Types type Rep HaddockTarget :: * -> * Source # Methods from :: HaddockTarget -> Rep HaddockTarget x Source # to :: Rep HaddockTarget x -> HaddockTarget Source #
type Rep HaddockTarget # |
type Rep HaddockTarget = D1 * (MetaData "HaddockTarget" "Distribution.Simple.Setup" "Cabal-2.0.1.0" False) ((:+:) * (C1 * (MetaCons "ForHackage" PrefixI False) (U1 *)) (C1 * (MetaCons "ForDevelopment" PrefixI False) (U1 *)))

data HaddockFlags #

Constructors

HaddockFlags |

Fields

- haddockProgramPaths :: [(String, FilePath)]
- haddockProgramArgs :: [(String, [String])]
- haddockHoogle :: Flag Bool
- haddockHtml :: Flag Bool
- haddockHtmlLocation :: Flag String
- haddockForHackage :: Flag HaddockTarget
- haddockExecutables :: Flag Bool
- haddockTestSuites :: Flag Bool
- haddockBenchmarks :: Flag Bool
- haddockForeignLibs :: Flag Bool
- haddockInternal :: Flag Bool
- haddockCss :: Flag FilePath
- haddockHscolour :: Flag Bool
- haddockHscolourCss :: Flag FilePath
- haddockContents :: Flag PathTemplate
- haddockDistPref :: Flag FilePath
- haddockKeepTempFiles :: Flag Bool
- haddockVerbosity :: Flag Verbosity

Instances

Show HaddockFlags # |
Methods showsPrec :: Int -> HaddockFlags -> ShowS Source # show :: HaddockFlags -> String Source # showList :: [HaddockFlags] -> ShowS Source #
Generic HaddockFlags # |
Associated Types type Rep HaddockFlags :: * -> * Source # Methods from :: HaddockFlags -> Rep HaddockFlags x Source # to :: Rep HaddockFlags x -> HaddockFlags Source #
Semigroup HaddockFlags # |
Methods (<>) :: HaddockFlags -> HaddockFlags -> HaddockFlags Source # sconcat :: NonEmpty HaddockFlags -> HaddockFlags Source # stimes :: Integral b => b -> HaddockFlags -> HaddockFlags Source #
Monoid HaddockFlags # |
Methods mempty :: HaddockFlags Source # mappend :: HaddockFlags -> HaddockFlags -> HaddockFlags Source # mconcat :: [HaddockFlags] -> HaddockFlags Source #
type Rep HaddockFlags # |

type Rep HaddockFlags = D1 * (MetaData "HaddockFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.0" False) (C1 * (MetaCons "HaddockFlags" PrefixI True) ((:*:) * ((:*:) * ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "haddockProgramPaths") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [(String, FilePath)])) (S1 * (MetaSel (Just Symbol "haddockProgramArgs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [(String, [String])]))) ((:*:) * (S1 * (MetaSel (Just Symbol "haddockHoogle") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))) (S1 * (MetaSel (Just Symbol "haddockHtml") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))))) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "haddockHtmlLocation") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag String))) (S1 * (MetaSel (Just Symbol "haddockForHackage") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag HaddockTarget)))) ((:*:) * (S1 * (MetaSel (Just Symbol "haddockExecutables") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))) ((:*:) * (S1 * (MetaSel (Just Symbol "haddockTestSuites") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))) (S1 * (MetaSel (Just Symbol "haddockBenchmarks") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))))))) ((:*:) * ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "haddockForeignLibs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))) (S1 * (MetaSel (Just Symbol "haddockInternal") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool)))) ((:*:) * (S1 * (MetaSel (Just Symbol "haddockCss") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag FilePath))) (S1 * (MetaSel (Just Symbol "haddockHscolour") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))))) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "haddockHscolourCss") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag FilePath))) (S1 * (MetaSel (Just Symbol "haddockContents") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag PathTemplate)))) ((:*:) * (S1 * (MetaSel (Just Symbol "haddockDistPref") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag FilePath))) ((:*:) * (S1 * (MetaSel (Just Symbol "haddockKeepTempFiles") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))) (S1 * (MetaSel (Just Symbol "haddockVerbosity") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Verbosity)))))))))

emptyHaddockFlags :: HaddockFlags #

defaultHaddockFlags :: HaddockFlags #

haddockCommand :: CommandUI HaddockFlags #

data HscolourFlags #

Constructors

HscolourFlags |

Fields

- hscolourCSS :: Flag FilePath
- hscolourExecutables :: Flag Bool
- hscolourTestSuites :: Flag Bool
- hscolourBenchmarks :: Flag Bool
- hscolourForeignLibs :: Flag Bool
- hscolourDistPref :: Flag FilePath
- hscolourVerbosity :: Flag Verbosity

Instances

Show HscolourFlags # |
Methods showsPrec :: Int -> HscolourFlags -> ShowS Source # show :: HscolourFlags -> String Source # showList :: [HscolourFlags] -> ShowS Source #
Generic HscolourFlags # |
Associated Types type Rep HscolourFlags :: * -> * Source # Methods from :: HscolourFlags -> Rep HscolourFlags x Source # to :: Rep HscolourFlags x -> HscolourFlags Source #
Semigroup HscolourFlags # |
Methods (<>) :: HscolourFlags -> HscolourFlags -> HscolourFlags Source # sconcat :: NonEmpty HscolourFlags -> HscolourFlags Source # stimes :: Integral b => b -> HscolourFlags -> HscolourFlags Source #
Monoid HscolourFlags # |
Methods mempty :: HscolourFlags Source # mappend :: HscolourFlags -> HscolourFlags -> HscolourFlags Source # mconcat :: [HscolourFlags] -> HscolourFlags Source #
type Rep HscolourFlags # |

type Rep HscolourFlags = D1 * (MetaData "HscolourFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.0" False) (C1 * (MetaCons "HscolourFlags" PrefixI True) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "hscolourCSS") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag FilePath))) ((:*:) * (S1 * (MetaSel (Just Symbol "hscolourExecutables") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))) (S1 * (MetaSel (Just Symbol "hscolourTestSuites") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))))) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "hscolourBenchmarks") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))) (S1 * (MetaSel (Just Symbol "hscolourForeignLibs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool)))) ((:*:) * (S1 * (MetaSel (Just Symbol "hscolourDistPref") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag FilePath))) (S1 * (MetaSel (Just Symbol "hscolourVerbosity") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Verbosity)))))))

emptyHscolourFlags :: HscolourFlags #

defaultHscolourFlags :: HscolourFlags #

hscolourCommand :: CommandUI HscolourFlags #

data BuildFlags #

Constructors

BuildFlags |

Fields

- buildProgramPaths :: [(String, FilePath)]
- buildProgramArgs :: [(String, [String])]
- buildDistPref :: Flag FilePath
- buildVerbosity :: Flag Verbosity
- buildNumJobs :: Flag (Maybe Int)
- buildArgs :: [String]

Instances

Read BuildFlags # |
Methods readsPrec :: Int -> ReadS BuildFlags Source # readList :: ReadS [BuildFlags] Source # readPrec :: ReadPrec BuildFlags Source # readListPrec :: ReadPrec [BuildFlags] Source #
Show BuildFlags # |
Methods showsPrec :: Int -> BuildFlags -> ShowS Source # show :: BuildFlags -> String Source # showList :: [BuildFlags] -> ShowS Source #
Generic BuildFlags # |
Associated Types type Rep BuildFlags :: * -> * Source # Methods from :: BuildFlags -> Rep BuildFlags x Source # to :: Rep BuildFlags x -> BuildFlags Source #
Semigroup BuildFlags # |
Methods (<>) :: BuildFlags -> BuildFlags -> BuildFlags Source # sconcat :: NonEmpty BuildFlags -> BuildFlags Source # stimes :: Integral b => b -> BuildFlags -> BuildFlags Source #
Monoid BuildFlags # |
Methods mempty :: BuildFlags Source # mappend :: BuildFlags -> BuildFlags -> BuildFlags Source # mconcat :: [BuildFlags] -> BuildFlags Source #
type Rep BuildFlags # |

type Rep BuildFlags = D1 * (MetaData "BuildFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.0" False) (C1 * (MetaCons "BuildFlags" PrefixI True) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "buildProgramPaths") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [(String, FilePath)])) ((:*:) * (S1 * (MetaSel (Just Symbol "buildProgramArgs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [(String, [String])])) (S1 * (MetaSel (Just Symbol "buildDistPref") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag FilePath))))) ((:*:) * (S1 * (MetaSel (Just Symbol "buildVerbosity") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Verbosity))) ((:*:) * (S1 * (MetaSel (Just Symbol "buildNumJobs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag (Maybe Int)))) (S1 * (MetaSel (Just Symbol "buildArgs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [String]))))))

emptyBuildFlags :: BuildFlags #

defaultBuildFlags :: BuildFlags #

buildCommand :: ProgramDb -> CommandUI BuildFlags #

buildVerbose :: BuildFlags -> Verbosity #

Deprecated: Use buildVerbosity instead

data ReplFlags #

Constructors

ReplFlags |

Fields

- replProgramPaths :: [(String, FilePath)]
- replProgramArgs :: [(String, [String])]
- replDistPref :: Flag FilePath
- replVerbosity :: Flag Verbosity
- replReload :: Flag Bool

Instances

Show ReplFlags # |
Methods showsPrec :: Int -> ReplFlags -> ShowS Source # show :: ReplFlags -> String Source # showList :: [ReplFlags] -> ShowS Source #
Generic ReplFlags # |
Associated Types type Rep ReplFlags :: * -> * Source # Methods from :: ReplFlags -> Rep ReplFlags x Source # to :: Rep ReplFlags x -> ReplFlags Source #
Semigroup ReplFlags # |
Methods (<>) :: ReplFlags -> ReplFlags -> ReplFlags Source # sconcat :: NonEmpty ReplFlags -> ReplFlags Source # stimes :: Integral b => b -> ReplFlags -> ReplFlags Source #
Monoid ReplFlags # |
Methods mempty :: ReplFlags Source # mappend :: ReplFlags -> ReplFlags -> ReplFlags Source # mconcat :: [ReplFlags] -> ReplFlags Source #
type Rep ReplFlags # |

type Rep ReplFlags = D1 * (MetaData "ReplFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.0" False) (C1 * (MetaCons "ReplFlags" PrefixI True) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "replProgramPaths") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [(String, FilePath)])) (S1 * (MetaSel (Just Symbol "replProgramArgs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [(String, [String])]))) ((:*:) * (S1 * (MetaSel (Just Symbol "replDistPref") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag FilePath))) ((:*:) * (S1 * (MetaSel (Just Symbol "replVerbosity") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Verbosity))) (S1 * (MetaSel (Just Symbol "replReload") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool)))))))

defaultReplFlags :: ReplFlags #

replCommand :: ProgramDb -> CommandUI ReplFlags #

data CleanFlags #

Constructors

CleanFlags |

Fields

- cleanSaveConf :: Flag Bool
- cleanDistPref :: Flag FilePath
- cleanVerbosity :: Flag Verbosity

Instances

Show CleanFlags # |
Methods showsPrec :: Int -> CleanFlags -> ShowS Source # show :: CleanFlags -> String Source # showList :: [CleanFlags] -> ShowS Source #
Generic CleanFlags # |
Associated Types type Rep CleanFlags :: * -> * Source # Methods from :: CleanFlags -> Rep CleanFlags x Source # to :: Rep CleanFlags x -> CleanFlags Source #
Semigroup CleanFlags # |
Methods (<>) :: CleanFlags -> CleanFlags -> CleanFlags Source # sconcat :: NonEmpty CleanFlags -> CleanFlags Source # stimes :: Integral b => b -> CleanFlags -> CleanFlags Source #
Monoid CleanFlags # |
Methods mempty :: CleanFlags Source # mappend :: CleanFlags -> CleanFlags -> CleanFlags Source # mconcat :: [CleanFlags] -> CleanFlags Source #
type Rep CleanFlags # |

type Rep CleanFlags = D1 * (MetaData "CleanFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.0" False) (C1 * (MetaCons "CleanFlags" PrefixI True) ((:*:) * (S1 * (MetaSel (Just Symbol "cleanSaveConf") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))) ((:*:) * (S1 * (MetaSel (Just Symbol "cleanDistPref") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag FilePath))) (S1 * (MetaSel (Just Symbol "cleanVerbosity") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Verbosity))))))

emptyCleanFlags :: CleanFlags #

defaultCleanFlags :: CleanFlags #

cleanCommand :: CommandUI CleanFlags #

data RegisterFlags #

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

Constructors

RegisterFlags |

Fields

- regPackageDB :: Flag PackageDB
- regGenScript :: Flag Bool
- regGenPkgConf :: Flag (Maybe FilePath)
- regInPlace :: Flag Bool
- regDistPref :: Flag FilePath
- regPrintId :: Flag Bool
- regVerbosity :: Flag Verbosity
- regArgs :: [String]

Instances

Show RegisterFlags # |
Methods showsPrec :: Int -> RegisterFlags -> ShowS Source # show :: RegisterFlags -> String Source # showList :: [RegisterFlags] -> ShowS Source #
Generic RegisterFlags # |
Associated Types type Rep RegisterFlags :: * -> * Source # Methods from :: RegisterFlags -> Rep RegisterFlags x Source # to :: Rep RegisterFlags x -> RegisterFlags Source #
Semigroup RegisterFlags # |
Methods (<>) :: RegisterFlags -> RegisterFlags -> RegisterFlags Source # sconcat :: NonEmpty RegisterFlags -> RegisterFlags Source # stimes :: Integral b => b -> RegisterFlags -> RegisterFlags Source #
Monoid RegisterFlags # |
Methods mempty :: RegisterFlags Source # mappend :: RegisterFlags -> RegisterFlags -> RegisterFlags Source # mconcat :: [RegisterFlags] -> RegisterFlags Source #
type Rep RegisterFlags # |

type Rep RegisterFlags = D1 * (MetaData "RegisterFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.0" False) (C1 * (MetaCons "RegisterFlags" PrefixI True) ((:*:) * ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "regPackageDB") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag PackageDB))) (S1 * (MetaSel (Just Symbol "regGenScript") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool)))) ((:*:) * (S1 * (MetaSel (Just Symbol "regGenPkgConf") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag (Maybe FilePath)))) (S1 * (MetaSel (Just Symbol "regInPlace") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))))) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "regDistPref") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag FilePath))) (S1 * (MetaSel (Just Symbol "regPrintId") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool)))) ((:*:) * (S1 * (MetaSel (Just Symbol "regVerbosity") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Verbosity))) (S1 * (MetaSel (Just Symbol "regArgs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [String]))))))

emptyRegisterFlags :: RegisterFlags #

defaultRegisterFlags :: RegisterFlags #

registerCommand :: CommandUI RegisterFlags #

unregisterCommand :: CommandUI RegisterFlags #

data SDistFlags #

Flags to `sdist`: (snapshot, verbosity)

Constructors

SDistFlags |

Fields

- sDistSnapshot :: Flag Bool
- sDistDirectory :: Flag FilePath
- sDistDistPref :: Flag FilePath
- sDistListSources :: Flag FilePath
- sDistVerbosity :: Flag Verbosity

Instances

Show SDistFlags # |
Methods showsPrec :: Int -> SDistFlags -> ShowS Source # show :: SDistFlags -> String Source # showList :: [SDistFlags] -> ShowS Source #
Generic SDistFlags # |
Associated Types type Rep SDistFlags :: * -> * Source # Methods from :: SDistFlags -> Rep SDistFlags x Source # to :: Rep SDistFlags x -> SDistFlags Source #
Semigroup SDistFlags # |
Methods (<>) :: SDistFlags -> SDistFlags -> SDistFlags Source # sconcat :: NonEmpty SDistFlags -> SDistFlags Source # stimes :: Integral b => b -> SDistFlags -> SDistFlags Source #
Monoid SDistFlags # |
Methods mempty :: SDistFlags Source # mappend :: SDistFlags -> SDistFlags -> SDistFlags Source # mconcat :: [SDistFlags] -> SDistFlags Source #
type Rep SDistFlags # |

type Rep SDistFlags = D1 * (MetaData "SDistFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.0" False) (C1 * (MetaCons "SDistFlags" PrefixI True) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "sDistSnapshot") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))) (S1 * (MetaSel (Just Symbol "sDistDirectory") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag FilePath)))) ((:*:) * (S1 * (MetaSel (Just Symbol "sDistDistPref") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag FilePath))) ((:*:) * (S1 * (MetaSel (Just Symbol "sDistListSources") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag FilePath))) (S1 * (MetaSel (Just Symbol "sDistVerbosity") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Verbosity)))))))

emptySDistFlags :: SDistFlags #

defaultSDistFlags :: SDistFlags #

sdistCommand :: CommandUI SDistFlags #

data TestFlags #

Constructors

TestFlags |

Fields

- testDistPref :: Flag FilePath
- testVerbosity :: Flag Verbosity
- testHumanLog :: Flag PathTemplate
- testMachineLog :: Flag PathTemplate
- testShowDetails :: Flag TestShowDetails
- testKeepTix :: Flag Bool
- testOptions :: [PathTemplate]

Instances

Generic TestFlags # |
Associated Types type Rep TestFlags :: * -> * Source # Methods from :: TestFlags -> Rep TestFlags x Source # to :: Rep TestFlags x -> TestFlags Source #
Semigroup TestFlags # |
Methods (<>) :: TestFlags -> TestFlags -> TestFlags Source # sconcat :: NonEmpty TestFlags -> TestFlags Source # stimes :: Integral b => b -> TestFlags -> TestFlags Source #
Monoid TestFlags # |
Methods mempty :: TestFlags Source # mappend :: TestFlags -> TestFlags -> TestFlags Source # mconcat :: [TestFlags] -> TestFlags Source #
type Rep TestFlags # |

type Rep TestFlags = D1 * (MetaData "TestFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.0" False) (C1 * (MetaCons "TestFlags" PrefixI True) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "testDistPref") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag FilePath))) ((:*:) * (S1 * (MetaSel (Just Symbol "testVerbosity") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Verbosity))) (S1 * (MetaSel (Just Symbol "testHumanLog") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag PathTemplate))))) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "testMachineLog") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag PathTemplate))) (S1 * (MetaSel (Just Symbol "testShowDetails") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag TestShowDetails)))) ((:*:) * (S1 * (MetaSel (Just Symbol "testKeepTix") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Bool))) (S1 * (MetaSel (Just Symbol "testOptions") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [PathTemplate]))))))

emptyTestFlags :: TestFlags #

defaultTestFlags :: TestFlags #

testCommand :: CommandUI TestFlags #

data TestShowDetails #

Constructors

Never |
Failures |
Always |
Streaming |
Direct |

Instances

Bounded TestShowDetails # |
Methods minBound :: TestShowDetails Source # maxBound :: TestShowDetails Source #
Enum TestShowDetails # |

Methods

succ :: TestShowDetails -> TestShowDetails Source #

pred :: TestShowDetails -> TestShowDetails Source #

toEnum :: Int -> TestShowDetails Source #

fromEnum :: TestShowDetails -> Int Source #

enumFrom :: TestShowDetails -> [TestShowDetails] Source #

enumFromThen :: TestShowDetails -> TestShowDetails -> [TestShowDetails] Source #

enumFromTo :: TestShowDetails -> TestShowDetails -> [TestShowDetails] Source #

enumFromThenTo :: TestShowDetails -> TestShowDetails -> TestShowDetails -> [TestShowDetails] Source #

Eq TestShowDetails # |
Methods (==) :: TestShowDetails -> TestShowDetails -> Bool # (/=) :: TestShowDetails -> TestShowDetails -> Bool #
Ord TestShowDetails # |

Methods

compare :: TestShowDetails -> TestShowDetails -> Ordering #

(<) :: TestShowDetails -> TestShowDetails -> Bool #

(<=) :: TestShowDetails -> TestShowDetails -> Bool #

(>) :: TestShowDetails -> TestShowDetails -> Bool #

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

max :: TestShowDetails -> TestShowDetails -> TestShowDetails #

min :: TestShowDetails -> TestShowDetails -> TestShowDetails #

Show TestShowDetails # |
Methods showsPrec :: Int -> TestShowDetails -> ShowS Source # show :: TestShowDetails -> String Source # showList :: [TestShowDetails] -> ShowS Source #
Semigroup TestShowDetails # |
Methods (<>) :: TestShowDetails -> TestShowDetails -> TestShowDetails Source # sconcat :: NonEmpty TestShowDetails -> TestShowDetails Source # stimes :: Integral b => b -> TestShowDetails -> TestShowDetails Source #
Monoid TestShowDetails # |
Methods mempty :: TestShowDetails Source # mappend :: TestShowDetails -> TestShowDetails -> TestShowDetails Source # mconcat :: [TestShowDetails] -> TestShowDetails Source #
Text TestShowDetails # |
Methods disp :: TestShowDetails -> Doc # parse :: ReadP r TestShowDetails #

data BenchmarkFlags #

Constructors

BenchmarkFlags |

Fields

- benchmarkDistPref :: Flag FilePath
- benchmarkVerbosity :: Flag Verbosity
- benchmarkOptions :: [PathTemplate]

Instances

Generic BenchmarkFlags # |
Associated Types type Rep BenchmarkFlags :: * -> * Source # Methods from :: BenchmarkFlags -> Rep BenchmarkFlags x Source # to :: Rep BenchmarkFlags x -> BenchmarkFlags Source #
Semigroup BenchmarkFlags # |
Methods (<>) :: BenchmarkFlags -> BenchmarkFlags -> BenchmarkFlags Source # sconcat :: NonEmpty BenchmarkFlags -> BenchmarkFlags Source # stimes :: Integral b => b -> BenchmarkFlags -> BenchmarkFlags Source #
Monoid BenchmarkFlags # |
Methods mempty :: BenchmarkFlags Source # mappend :: BenchmarkFlags -> BenchmarkFlags -> BenchmarkFlags Source # mconcat :: [BenchmarkFlags] -> BenchmarkFlags Source #
type Rep BenchmarkFlags # |

type Rep BenchmarkFlags = D1 * (MetaData "BenchmarkFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.0" False) (C1 * (MetaCons "BenchmarkFlags" PrefixI True) ((:*:) * (S1 * (MetaSel (Just Symbol "benchmarkDistPref") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag FilePath))) ((:*:) * (S1 * (MetaSel (Just Symbol "benchmarkVerbosity") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Flag Verbosity))) (S1 * (MetaSel (Just Symbol "benchmarkOptions") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [PathTemplate])))))

emptyBenchmarkFlags :: BenchmarkFlags #

defaultBenchmarkFlags :: BenchmarkFlags #

benchmarkCommand :: CommandUI BenchmarkFlags #

data CopyDest #

The location prefix for the copy command.

Constructors

NoCopyDest |
CopyTo FilePath |

Instances

Eq CopyDest # |
Methods (==) :: CopyDest -> CopyDest -> Bool # (/=) :: CopyDest -> CopyDest -> Bool #
Show CopyDest # |
Methods showsPrec :: Int -> CopyDest -> ShowS Source # show :: CopyDest -> String Source # showList :: [CopyDest] -> ShowS Source #

configureArgs :: Bool -> ConfigFlags -> [String] #

Arguments to pass to a `configure` script, e.g. generated by `autoconf`.

configureOptions :: ShowOrParseArgs -> [OptionField ConfigFlags] #

configureCCompiler :: Verbosity -> ProgramDb -> IO (FilePath, [String]) #

configureLinker :: Verbosity -> ProgramDb -> IO (FilePath, [String]) #

buildOptions :: ProgramDb -> ShowOrParseArgs -> [OptionField BuildFlags] #

haddockOptions :: ShowOrParseArgs -> [OptionField HaddockFlags] #

installDirsOptions :: [OptionField (InstallDirs (Flag PathTemplate))] #

programDbOptions :: ProgramDb -> ShowOrParseArgs -> (flags -> [(String, [String])]) -> ([(String, [String])] -> flags -> flags) -> [OptionField flags] #

For each known program `PROG` in `progDb`, produce a `PROG-options` `OptionField`.

programDbPaths' :: (String -> String) -> ProgramDb -> ShowOrParseArgs -> (flags -> [(String, FilePath)]) -> ([(String, FilePath)] -> flags -> flags) -> [OptionField flags] #

Like `programDbPaths`, but allows to customise the option name.

programConfigurationOptions :: ProgramDb -> ShowOrParseArgs -> (flags -> [(String, [String])]) -> ([(String, [String])] -> flags -> flags) -> [OptionField flags] #

Deprecated: Use programDbOptions instead

For each known program `PROG` in `progDb`, produce a `PROG-options` `OptionField`.

programConfigurationPaths' :: (String -> String) -> ProgramDb -> ShowOrParseArgs -> (flags -> [(String, FilePath)]) -> ([(String, FilePath)] -> flags -> flags) -> [OptionField flags] #

Deprecated: Use programDbPaths' instead

Like `programDbPaths`, but allows to customise the option name.

splitArgs :: String -> [String] #

Helper function to split a string into a list of arguments. It's supposed to handle quoted things sensibly, eg:

    splitArgs "--foo=\"C:/Program Files/Bar/" --baz"
      = ["--foo=C:/Program Files/Bar", "--baz"]

    splitArgs "\"-DMSGSTR=\\\"foo bar\\\"\" --baz"
      = ["-DMSGSTR=\"foo bar\"","--baz"]

defaultDistPref :: FilePath #

optionDistPref :: (flags -> Flag FilePath) -> (Flag FilePath -> flags -> flags) -> ShowOrParseArgs -> OptionField flags #

data Flag a #

All flags are monoids, they come in two flavours:

1. list flags eg

    --ghc-option=foo --ghc-option=bar

gives us all the values ["foo", "bar"]

1. singular value flags, eg:

    --enable-foo --disable-foo

gives us Just False So this Flag type is for the latter singular kind of flag. Its monoid instance gives us the behaviour where it starts out as `NoFlag` and later flags override earlier ones.

Constructors

Flag a |
NoFlag |

Instances

Functor Flag # |
Methods fmap :: (a -> b) -> Flag a -> Flag b Source # (<$) :: a -> Flag b -> Flag a Source #
Bounded a => Bounded (Flag a) # |
Methods minBound :: Flag a Source # maxBound :: Flag a Source #
Enum a => Enum (Flag a) # |
Methods succ :: Flag a -> Flag a Source # pred :: Flag a -> Flag a Source # toEnum :: Int -> Flag a Source # fromEnum :: Flag a -> Int Source # enumFrom :: Flag a -> [Flag a] Source # enumFromThen :: Flag a -> Flag a -> [Flag a] Source # enumFromTo :: Flag a -> Flag a -> [Flag a] Source # enumFromThenTo :: Flag a -> Flag a -> Flag a -> [Flag a] Source #
Eq a => Eq (Flag a) # |
Methods (==) :: Flag a -> Flag a -> Bool # (/=) :: Flag a -> Flag a -> Bool #
Read a => Read (Flag a) # |
Methods readsPrec :: Int -> ReadS (Flag a) Source # readList :: ReadS [Flag a] Source # readPrec :: ReadPrec (Flag a) Source # readListPrec :: ReadPrec [Flag a] Source #
Show a => Show (Flag a) # |
Methods showsPrec :: Int -> Flag a -> ShowS Source # show :: Flag a -> String Source # showList :: [Flag a] -> ShowS Source #
Generic (Flag a) # |
Associated Types type Rep (Flag a) :: * -> * Source # Methods from :: Flag a -> Rep (Flag a) x Source # to :: Rep (Flag a) x -> Flag a Source #
Semigroup (Flag a) # |
Methods (<>) :: Flag a -> Flag a -> Flag a Source # sconcat :: NonEmpty (Flag a) -> Flag a Source # stimes :: Integral b => b -> Flag a -> Flag a Source #
Monoid (Flag a) # |
Methods mempty :: Flag a Source # mappend :: Flag a -> Flag a -> Flag a Source # mconcat :: [Flag a] -> Flag a Source #
Binary a => Binary (Flag a) # |
Methods put :: Flag a -> Put Source # get :: Get (Flag a) Source # putList :: [Flag a] -> Put Source #
type Rep (Flag a) # |
type Rep (Flag a) = D1 * (MetaData "Flag" "Distribution.Simple.Setup" "Cabal-2.0.1.0" False) ((:+:) * (C1 * (MetaCons "Flag" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * a))) (C1 * (MetaCons "NoFlag" PrefixI False) (U1 *)))

toFlag :: a -> Flag a #

fromFlag :: WithCallStack (Flag a -> a) #

fromFlagOrDefault :: a -> Flag a -> a #

flagToMaybe :: Flag a -> Maybe a #

flagToList :: Flag a -> [a] #

maybeToFlag :: Maybe a -> Flag a #

class BooleanFlag a where #

Types that represent boolean flags.

Minimal complete definition

asBool

Methods

asBool :: a -> Bool #

Instances

BooleanFlag Bool # |
Methods asBool :: Bool -> Bool #

boolOpt :: SFlags -> SFlags -> MkOptDescr (a -> Flag Bool) (Flag Bool -> a -> a) a #

boolOpt' :: OptFlags -> OptFlags -> MkOptDescr (a -> Flag Bool) (Flag Bool -> a -> a) a #

trueArg :: MkOptDescr (a -> Flag Bool) (Flag Bool -> a -> a) a #

falseArg :: MkOptDescr (a -> Flag Bool) (Flag Bool -> a -> a) a #

optionVerbosity :: (flags -> Flag Verbosity) -> (Flag Verbosity -> flags -> flags) -> OptionField flags #

optionNumJobs :: (flags -> Flag (Maybe Int)) -> (Flag (Maybe Int) -> flags -> flags) -> OptionField flags #

readPToMaybe :: ReadP a a -> String -> Maybe a #