Distribution.Simple.Setup

Cabal-3.2.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_ :: Option' (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
  - configStaticLib :: Flag Bool
  - configDynExe :: Flag Bool
  - configFullyStaticExe :: 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
  - configSplitSections :: Flag Bool
  - configSplitObjs :: Flag Bool
  - configStripExes :: Flag Bool
  - configStripLibs :: Flag Bool
  - configConstraints :: [Dependency]
  - configDependencies :: [GivenComponent]
  - 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
  - configUseResponseFiles :: Flag Bool
  - configAllowDependingOnPrivateLibs :: Flag Bool
  }
- emptyConfigFlags :: ConfigFlags
- defaultConfigFlags :: ProgramDb -> ConfigFlags
- configureCommand :: ProgramDb -> CommandUI ConfigFlags
- configPrograms :: WithCallStack (ConfigFlags -> ProgramDb)
- 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]
  - copyCabalFilePath :: Flag FilePath
  }
- emptyCopyFlags :: CopyFlags
- defaultCopyFlags :: CopyFlags
- copyCommand :: CommandUI CopyFlags
- data InstallFlags = InstallFlags {
  - installPackageDB :: Flag PackageDB
  - installDest :: Flag CopyDest
  - installDistPref :: Flag FilePath
  - installUseWrapper :: Flag Bool
  - installInPlace :: Flag Bool
  - installVerbosity :: Flag Verbosity
  - installCabalFilePath :: Flag FilePath
  }
- 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
  - haddockLinkedSource :: Flag Bool
  - haddockQuickJump :: Flag Bool
  - haddockHscolourCss :: Flag FilePath
  - haddockContents :: Flag PathTemplate
  - haddockDistPref :: Flag FilePath
  - haddockKeepTempFiles :: Flag Bool
  - haddockVerbosity :: Flag Verbosity
  - haddockCabalFilePath :: Flag FilePath
  - haddockArgs :: [String]
  }
- 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
  - hscolourCabalFilePath :: Flag FilePath
  }
- 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]
  - buildCabalFilePath :: Flag FilePath
  }
- emptyBuildFlags :: BuildFlags
- defaultBuildFlags :: BuildFlags
- buildCommand :: ProgramDb -> CommandUI BuildFlags
- data ShowBuildInfoFlags = ShowBuildInfoFlags {
  - buildInfoBuildFlags :: BuildFlags
  - buildInfoOutputFile :: Maybe FilePath
  }
- defaultShowBuildFlags :: ShowBuildInfoFlags
- showBuildInfoCommand :: ProgramDb -> CommandUI ShowBuildInfoFlags
- data ReplFlags = ReplFlags {
  - replProgramPaths :: [(String, FilePath)]
  - replProgramArgs :: [(String, [String])]
  - replDistPref :: Flag FilePath
  - replVerbosity :: Flag Verbosity
  - replReload :: Flag Bool
  - replReplOptions :: [String]
  }
- defaultReplFlags :: ReplFlags
- replCommand :: ProgramDb -> CommandUI ReplFlags
- data CleanFlags = CleanFlags {
  - cleanSaveConf :: Flag Bool
  - cleanDistPref :: Flag FilePath
  - cleanVerbosity :: Flag Verbosity
  - cleanCabalFilePath :: Flag FilePath
  }
- 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]
  - regCabalFilePath :: Flag FilePath
  }
- 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
  - testWrapper :: Flag FilePath
  - testFailWhenNoTestSuites :: 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
  - | CopyToDb 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))]
- testOptions' :: ShowOrParseArgs -> [OptionField TestFlags]
- benchmarkOptions' :: ShowOrParseArgs -> [OptionField BenchmarkFlags]
- 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]
- programFlagsDescription :: ProgramDb -> String
- replOptions :: ShowOrParseArgs -> [OptionField [String]]
- 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
  - asBool :: a -> 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

# Documentation

data GlobalFlags Source #

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

Constructors

GlobalFlags |
Fields globalVersion :: Flag Bool globalNumericVersion :: Flag Bool

#### Instances

Instances details

Generic GlobalFlags # |
Instance details Defined in Distribution.Simple.Setup Associated Types type Rep GlobalFlags :: Type -> Type Source # Methods from :: GlobalFlags -> Rep GlobalFlags x Source # to :: Rep GlobalFlags x -> GlobalFlags Source #
Semigroup GlobalFlags # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: GlobalFlags -> GlobalFlags -> GlobalFlags Source # sconcat :: NonEmpty GlobalFlags -> GlobalFlags Source # stimes :: Integral b => b -> GlobalFlags -> GlobalFlags Source #
Monoid GlobalFlags # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: GlobalFlags Source # mappend :: GlobalFlags -> GlobalFlags -> GlobalFlags Source # mconcat :: [GlobalFlags] -> GlobalFlags Source #
type Rep GlobalFlags # |
Instance details Defined in Distribution.Simple.Setup type Rep GlobalFlags = D1 ('MetaData "GlobalFlags" "Distribution.Simple.Setup" "Cabal-3.2.1.0" 'False) (C1 ('MetaCons "GlobalFlags" 'PrefixI 'True) (S1 ('MetaSel ('Just "globalVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "globalNumericVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))))

emptyGlobalFlags :: GlobalFlags Source #

defaultGlobalFlags :: GlobalFlags Source #

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

data ConfigFlags Source #

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_ :: Option' (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, e.g. GHC. 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 configStaticLib :: Flag Bool Build static library configDynExe :: Flag Bool Enable dynamic linking of the executables. configFullyStaticExe :: Flag Bool Enable fully static 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 configSplitSections :: Flag Bool Enable -split-sections with GHC 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 :: [GivenComponent] 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. configUseResponseFiles :: Flag Bool Whether to use response files at all. They're used for such tools as haddock, or or ld. configAllowDependingOnPrivateLibs :: Flag Bool Allow depending on private sublibraries. This is used by external tools (like cabal-install) so they can add multiple-public-libraries compatibility to older ghcs by checking visibility externally.

#### Instances

Instances details

Eq ConfigFlags # |
Instance details Defined in Distribution.Simple.Setup Methods (==) :: ConfigFlags -> ConfigFlags -> Bool # (/=) :: ConfigFlags -> ConfigFlags -> Bool #
Read ConfigFlags # |
Instance details Defined in Distribution.Simple.Setup Methods readsPrec :: Int -> ReadS ConfigFlags Source # readList :: ReadS [ConfigFlags] Source # readPrec :: ReadPrec ConfigFlags Source # readListPrec :: ReadPrec [ConfigFlags] Source #
Show ConfigFlags # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> ConfigFlags -> ShowS Source # show :: ConfigFlags -> String Source # showList :: [ConfigFlags] -> ShowS Source #
Generic ConfigFlags # |
Instance details Defined in Distribution.Simple.Setup Associated Types type Rep ConfigFlags :: Type -> Type Source # Methods from :: ConfigFlags -> Rep ConfigFlags x Source # to :: Rep ConfigFlags x -> ConfigFlags Source #
Semigroup ConfigFlags # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: ConfigFlags -> ConfigFlags -> ConfigFlags Source # sconcat :: NonEmpty ConfigFlags -> ConfigFlags Source # stimes :: Integral b => b -> ConfigFlags -> ConfigFlags Source #
Monoid ConfigFlags # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: ConfigFlags Source # mappend :: ConfigFlags -> ConfigFlags -> ConfigFlags Source # mconcat :: [ConfigFlags] -> ConfigFlags Source #
Binary ConfigFlags # |
Instance details Defined in Distribution.Simple.Setup Methods put :: ConfigFlags -> Put Source # get :: Get ConfigFlags Source # putList :: [ConfigFlags] -> Put Source #
Structured ConfigFlags # |
Instance details Defined in Distribution.Simple.Setup Methods structure :: Proxy ConfigFlags -> Structure Source # structureHash' :: Tagged ConfigFlags MD5
type Rep ConfigFlags # |
Instance details Defined in Distribution.Simple.Setup type Rep ConfigFlags = D1 ('MetaData "ConfigFlags" "Distribution.Simple.Setup" "Cabal-3.2.1.0" 'False) (C1 ('MetaCons "ConfigFlags" 'PrefixI 'True) (((((S1 ('MetaSel ('Just "configArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]) :*: (S1 ('MetaSel ('Just "configPrograms_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Option' (Last' ProgramDb))) :*: S1 ('MetaSel ('Just "configProgramPaths") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(String, FilePath)]))) :*: (S1 ('MetaSel ('Just "configProgramArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(String, [String])]) :*: (S1 ('MetaSel ('Just "configProgramPathExtra") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubList FilePath)) :*: S1 ('MetaSel ('Just "configHcFlavor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag CompilerFlavor))))) :*: ((S1 ('MetaSel ('Just "configHcPath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: (S1 ('MetaSel ('Just "configHcPkg") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 ('MetaSel ('Just "configVanillaLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))) :*: ((S1 ('MetaSel ('Just "configProfLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "configSharedLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "configStaticLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "configDynExe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))))) :*: (((S1 ('MetaSel ('Just "configFullyStaticExe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: (S1 ('MetaSel ('Just "configProfExe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "configProf") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))) :*: ((S1 ('MetaSel ('Just "configProfDetail") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag ProfDetailLevel)) :*: S1 ('MetaSel ('Just "configProfLibDetail") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag ProfDetailLevel))) :*: (S1 ('MetaSel ('Just "configConfigureArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]) :*: S1 ('MetaSel ('Just "configOptimization") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag OptimisationLevel))))) :*: ((S1 ('MetaSel ('Just "configProgPrefix") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PathTemplate)) :*: (S1 ('MetaSel ('Just "configProgSuffix") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PathTemplate)) :*: S1 ('MetaSel ('Just "configInstallDirs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (InstallDirs (Flag PathTemplate))))) :*: ((S1 ('MetaSel ('Just "configScratchDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 ('MetaSel ('Just "configExtraLibDirs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath])) :*: (S1 ('MetaSel ('Just "configExtraFrameworkDirs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath]) :*: S1 ('MetaSel ('Just "configExtraIncludeDirs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath])))))) :*: ((((S1 ('MetaSel ('Just "configIPID") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag String)) :*: (S1 ('MetaSel ('Just "configCID") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag ComponentId)) :*: S1 ('MetaSel ('Just "configDeterministic") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))) :*: (S1 ('MetaSel ('Just "configDistPref") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: (S1 ('MetaSel ('Just "configCabalFilePath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 ('MetaSel ('Just "configVerbosity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Verbosity))))) :*: ((S1 ('MetaSel ('Just "configUserInstall") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: (S1 ('MetaSel ('Just "configPackageDBs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Maybe PackageDB]) :*: S1 ('MetaSel ('Just "configGHCiLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))) :*: ((S1 ('MetaSel ('Just "configSplitSections") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "configSplitObjs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "configStripExes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "configStripLibs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))))) :*: (((S1 ('MetaSel ('Just "configConstraints") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Dependency]) :*: (S1 ('MetaSel ('Just "configDependencies") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [GivenComponent]) :*: S1 ('MetaSel ('Just "configInstantiateWith") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(ModuleName, Module)]))) :*: ((S1 ('MetaSel ('Just "configConfigurationsFlags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FlagAssignment) :*: S1 ('MetaSel ('Just "configTests") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "configBenchmarks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "configCoverage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))))) :*: ((S1 ('MetaSel ('Just "configLibCoverage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: (S1 ('MetaSel ('Just "configExactConfiguration") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "configFlagError") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag String)))) :*: ((S1 ('MetaSel ('Just "configRelocatable") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "configDebugInfo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag DebugInfoLevel))) :*: (S1 ('MetaSel ('Just "configUseResponseFiles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "configAllowDependingOnPrivateLibs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))))))))

emptyConfigFlags :: ConfigFlags Source #

defaultConfigFlags :: ProgramDb -> ConfigFlags Source #

configureCommand :: ProgramDb -> CommandUI ConfigFlags Source #

configPrograms :: WithCallStack (ConfigFlags -> ProgramDb) Source #

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

configAbsolutePaths :: ConfigFlags -> NoCallStackIO ConfigFlags Source #

readPackageDbList :: String -> [Maybe PackageDB] Source #

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

data CopyFlags Source #

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

Constructors

CopyFlags |
Fields copyDest :: Flag CopyDest copyDistPref :: Flag FilePath copyVerbosity :: Flag Verbosity copyArgs :: [String] copyCabalFilePath :: Flag FilePath

#### Instances

Instances details

Show CopyFlags # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> CopyFlags -> ShowS Source # show :: CopyFlags -> String Source # showList :: [CopyFlags] -> ShowS Source #
Generic CopyFlags # |
Instance details Defined in Distribution.Simple.Setup Associated Types type Rep CopyFlags :: Type -> Type Source # Methods from :: CopyFlags -> Rep CopyFlags x Source # to :: Rep CopyFlags x -> CopyFlags Source #
Semigroup CopyFlags # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: CopyFlags -> CopyFlags -> CopyFlags Source # sconcat :: NonEmpty CopyFlags -> CopyFlags Source # stimes :: Integral b => b -> CopyFlags -> CopyFlags Source #
Monoid CopyFlags # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: CopyFlags Source # mappend :: CopyFlags -> CopyFlags -> CopyFlags Source # mconcat :: [CopyFlags] -> CopyFlags Source #
type Rep CopyFlags # |
Instance details Defined in Distribution.Simple.Setup type Rep CopyFlags = D1 ('MetaData "CopyFlags" "Distribution.Simple.Setup" "Cabal-3.2.1.0" 'False) (C1 ('MetaCons "CopyFlags" 'PrefixI 'True) ((S1 ('MetaSel ('Just "copyDest") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag CopyDest)) :*: S1 ('MetaSel ('Just "copyDistPref") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath))) :*: (S1 ('MetaSel ('Just "copyVerbosity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Verbosity)) :*: (S1 ('MetaSel ('Just "copyArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]) :*: S1 ('MetaSel ('Just "copyCabalFilePath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath))))))

emptyCopyFlags :: CopyFlags Source #

defaultCopyFlags :: CopyFlags Source #

copyCommand :: CommandUI CopyFlags Source #

data InstallFlags Source #

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

Constructors

InstallFlags |
Fields installPackageDB :: Flag PackageDB installDest :: Flag CopyDest installDistPref :: Flag FilePath installUseWrapper :: Flag Bool installInPlace :: Flag Bool installVerbosity :: Flag Verbosity installCabalFilePath :: Flag FilePath

#### Instances

Instances details

Show InstallFlags # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> InstallFlags -> ShowS Source # show :: InstallFlags -> String Source # showList :: [InstallFlags] -> ShowS Source #
Generic InstallFlags # |
Instance details Defined in Distribution.Simple.Setup Associated Types type Rep InstallFlags :: Type -> Type Source # Methods from :: InstallFlags -> Rep InstallFlags x Source # to :: Rep InstallFlags x -> InstallFlags Source #
Semigroup InstallFlags # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: InstallFlags -> InstallFlags -> InstallFlags Source # sconcat :: NonEmpty InstallFlags -> InstallFlags Source # stimes :: Integral b => b -> InstallFlags -> InstallFlags Source #
Monoid InstallFlags # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: InstallFlags Source # mappend :: InstallFlags -> InstallFlags -> InstallFlags Source # mconcat :: [InstallFlags] -> InstallFlags Source #
type Rep InstallFlags # |
Instance details Defined in Distribution.Simple.Setup type Rep InstallFlags = D1 ('MetaData "InstallFlags" "Distribution.Simple.Setup" "Cabal-3.2.1.0" 'False) (C1 ('MetaCons "InstallFlags" 'PrefixI 'True) ((S1 ('MetaSel ('Just "installPackageDB") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PackageDB)) :*: (S1 ('MetaSel ('Just "installDest") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag CopyDest)) :*: S1 ('MetaSel ('Just "installDistPref") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)))) :*: ((S1 ('MetaSel ('Just "installUseWrapper") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "installInPlace") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "installVerbosity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Verbosity)) :*: S1 ('MetaSel ('Just "installCabalFilePath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath))))))

emptyInstallFlags :: InstallFlags Source #

defaultInstallFlags :: InstallFlags Source #

installCommand :: CommandUI InstallFlags Source #

data DoctestFlags Source #

Constructors

DoctestFlags |
Fields doctestProgramPaths :: [(String, FilePath)] doctestProgramArgs :: [(String, [String])] doctestDistPref :: Flag FilePath doctestVerbosity :: Flag Verbosity

#### Instances

Instances details

Show DoctestFlags # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> DoctestFlags -> ShowS Source # show :: DoctestFlags -> String Source # showList :: [DoctestFlags] -> ShowS Source #
Generic DoctestFlags # |
Instance details Defined in Distribution.Simple.Setup Associated Types type Rep DoctestFlags :: Type -> Type Source # Methods from :: DoctestFlags -> Rep DoctestFlags x Source # to :: Rep DoctestFlags x -> DoctestFlags Source #
Semigroup DoctestFlags # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: DoctestFlags -> DoctestFlags -> DoctestFlags Source # sconcat :: NonEmpty DoctestFlags -> DoctestFlags Source # stimes :: Integral b => b -> DoctestFlags -> DoctestFlags Source #
Monoid DoctestFlags # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: DoctestFlags Source # mappend :: DoctestFlags -> DoctestFlags -> DoctestFlags Source # mconcat :: [DoctestFlags] -> DoctestFlags Source #
type Rep DoctestFlags # |
Instance details Defined in Distribution.Simple.Setup type Rep DoctestFlags = D1 ('MetaData "DoctestFlags" "Distribution.Simple.Setup" "Cabal-3.2.1.0" 'False) (C1 ('MetaCons "DoctestFlags" 'PrefixI 'True) ((S1 ('MetaSel ('Just "doctestProgramPaths") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(String, FilePath)]) :*: S1 ('MetaSel ('Just "doctestProgramArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(String, [String])])) :*: (S1 ('MetaSel ('Just "doctestDistPref") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 ('MetaSel ('Just "doctestVerbosity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Verbosity)))))

emptyDoctestFlags :: DoctestFlags Source #

defaultDoctestFlags :: DoctestFlags Source #

doctestCommand :: CommandUI DoctestFlags Source #

data HaddockTarget Source #

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

Instances details

Eq HaddockTarget # |
Instance details Defined in Distribution.Simple.Setup Methods (==) :: HaddockTarget -> HaddockTarget -> Bool # (/=) :: HaddockTarget -> HaddockTarget -> Bool #
Show HaddockTarget # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> HaddockTarget -> ShowS Source # show :: HaddockTarget -> String Source # showList :: [HaddockTarget] -> ShowS Source #
Generic HaddockTarget # |
Instance details Defined in Distribution.Simple.Setup Associated Types type Rep HaddockTarget :: Type -> Type Source # Methods from :: HaddockTarget -> Rep HaddockTarget x Source # to :: Rep HaddockTarget x -> HaddockTarget Source #
Binary HaddockTarget # |
Instance details Defined in Distribution.Simple.Setup Methods put :: HaddockTarget -> Put Source # get :: Get HaddockTarget Source # putList :: [HaddockTarget] -> Put Source #
Structured HaddockTarget # |
Instance details Defined in Distribution.Simple.Setup Methods structure :: Proxy HaddockTarget -> Structure Source # structureHash' :: Tagged HaddockTarget MD5
Pretty HaddockTarget # |
Instance details Defined in Distribution.Simple.Setup Methods pretty :: HaddockTarget -> Doc Source # prettyVersioned :: CabalSpecVersion -> HaddockTarget -> Doc Source #
Parsec HaddockTarget # |
Instance details Defined in Distribution.Simple.Setup Methods parsec :: CabalParsing m => m HaddockTarget Source #
type Rep HaddockTarget # |
Instance details Defined in Distribution.Simple.Setup type Rep HaddockTarget = D1 ('MetaData "HaddockTarget" "Distribution.Simple.Setup" "Cabal-3.2.1.0" 'False) (C1 ('MetaCons "ForHackage" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ForDevelopment" 'PrefixI 'False) (U1 :: Type -> Type))

data HaddockFlags Source #

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 haddockLinkedSource :: Flag Bool haddockQuickJump :: Flag Bool haddockHscolourCss :: Flag FilePath haddockContents :: Flag PathTemplate haddockDistPref :: Flag FilePath haddockKeepTempFiles :: Flag Bool haddockVerbosity :: Flag Verbosity haddockCabalFilePath :: Flag FilePath haddockArgs :: [String]

#### Instances

Instances details

Show HaddockFlags # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> HaddockFlags -> ShowS Source # show :: HaddockFlags -> String Source # showList :: [HaddockFlags] -> ShowS Source #
Generic HaddockFlags # |
Instance details Defined in Distribution.Simple.Setup Associated Types type Rep HaddockFlags :: Type -> Type Source # Methods from :: HaddockFlags -> Rep HaddockFlags x Source # to :: Rep HaddockFlags x -> HaddockFlags Source #
Semigroup HaddockFlags # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: HaddockFlags -> HaddockFlags -> HaddockFlags Source # sconcat :: NonEmpty HaddockFlags -> HaddockFlags Source # stimes :: Integral b => b -> HaddockFlags -> HaddockFlags Source #
Monoid HaddockFlags # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: HaddockFlags Source # mappend :: HaddockFlags -> HaddockFlags -> HaddockFlags Source # mconcat :: [HaddockFlags] -> HaddockFlags Source #
type Rep HaddockFlags # |
Instance details Defined in Distribution.Simple.Setup type Rep HaddockFlags = D1 ('MetaData "HaddockFlags" "Distribution.Simple.Setup" "Cabal-3.2.1.0" 'False) (C1 ('MetaCons "HaddockFlags" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "haddockProgramPaths") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(String, FilePath)]) :*: S1 ('MetaSel ('Just "haddockProgramArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(String, [String])])) :*: (S1 ('MetaSel ('Just "haddockHoogle") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: (S1 ('MetaSel ('Just "haddockHtml") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "haddockHtmlLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag String))))) :*: ((S1 ('MetaSel ('Just "haddockForHackage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag HaddockTarget)) :*: S1 ('MetaSel ('Just "haddockExecutables") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "haddockTestSuites") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: (S1 ('MetaSel ('Just "haddockBenchmarks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "haddockForeignLibs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))))) :*: (((S1 ('MetaSel ('Just "haddockInternal") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "haddockCss") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath))) :*: (S1 ('MetaSel ('Just "haddockLinkedSource") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: (S1 ('MetaSel ('Just "haddockQuickJump") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "haddockHscolourCss") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath))))) :*: ((S1 ('MetaSel ('Just "haddockContents") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PathTemplate)) :*: (S1 ('MetaSel ('Just "haddockDistPref") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 ('MetaSel ('Just "haddockKeepTempFiles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))) :*: (S1 ('MetaSel ('Just "haddockVerbosity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Verbosity)) :*: (S1 ('MetaSel ('Just "haddockCabalFilePath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 ('MetaSel ('Just "haddockArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String])))))))

emptyHaddockFlags :: HaddockFlags Source #

defaultHaddockFlags :: HaddockFlags Source #

haddockCommand :: CommandUI HaddockFlags Source #

data HscolourFlags Source #

Constructors

HscolourFlags |
Fields hscolourCSS :: Flag FilePath hscolourExecutables :: Flag Bool hscolourTestSuites :: Flag Bool hscolourBenchmarks :: Flag Bool hscolourForeignLibs :: Flag Bool hscolourDistPref :: Flag FilePath hscolourVerbosity :: Flag Verbosity hscolourCabalFilePath :: Flag FilePath

#### Instances

Instances details

Show HscolourFlags # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> HscolourFlags -> ShowS Source # show :: HscolourFlags -> String Source # showList :: [HscolourFlags] -> ShowS Source #
Generic HscolourFlags # |
Instance details Defined in Distribution.Simple.Setup Associated Types type Rep HscolourFlags :: Type -> Type Source # Methods from :: HscolourFlags -> Rep HscolourFlags x Source # to :: Rep HscolourFlags x -> HscolourFlags Source #
Semigroup HscolourFlags # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: HscolourFlags -> HscolourFlags -> HscolourFlags Source # sconcat :: NonEmpty HscolourFlags -> HscolourFlags Source # stimes :: Integral b => b -> HscolourFlags -> HscolourFlags Source #
Monoid HscolourFlags # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: HscolourFlags Source # mappend :: HscolourFlags -> HscolourFlags -> HscolourFlags Source # mconcat :: [HscolourFlags] -> HscolourFlags Source #
type Rep HscolourFlags # |
Instance details Defined in Distribution.Simple.Setup type Rep HscolourFlags = D1 ('MetaData "HscolourFlags" "Distribution.Simple.Setup" "Cabal-3.2.1.0" 'False) (C1 ('MetaCons "HscolourFlags" 'PrefixI 'True) (((S1 ('MetaSel ('Just "hscolourCSS") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 ('MetaSel ('Just "hscolourExecutables") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "hscolourTestSuites") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "hscolourBenchmarks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))) :*: ((S1 ('MetaSel ('Just "hscolourForeignLibs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "hscolourDistPref") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath))) :*: (S1 ('MetaSel ('Just "hscolourVerbosity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Verbosity)) :*: S1 ('MetaSel ('Just "hscolourCabalFilePath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath))))))

emptyHscolourFlags :: HscolourFlags Source #

defaultHscolourFlags :: HscolourFlags Source #

hscolourCommand :: CommandUI HscolourFlags Source #

data BuildFlags Source #

Constructors

BuildFlags |
Fields buildProgramPaths :: [(String, FilePath)] buildProgramArgs :: [(String, [String])] buildDistPref :: Flag FilePath buildVerbosity :: Flag Verbosity buildNumJobs :: Flag (Maybe Int) buildArgs :: [String] buildCabalFilePath :: Flag FilePath

#### Instances

Instances details

Read BuildFlags # |
Instance details Defined in Distribution.Simple.Setup Methods readsPrec :: Int -> ReadS BuildFlags Source # readList :: ReadS [BuildFlags] Source # readPrec :: ReadPrec BuildFlags Source # readListPrec :: ReadPrec [BuildFlags] Source #
Show BuildFlags # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> BuildFlags -> ShowS Source # show :: BuildFlags -> String Source # showList :: [BuildFlags] -> ShowS Source #
Generic BuildFlags # |
Instance details Defined in Distribution.Simple.Setup Associated Types type Rep BuildFlags :: Type -> Type Source # Methods from :: BuildFlags -> Rep BuildFlags x Source # to :: Rep BuildFlags x -> BuildFlags Source #
Semigroup BuildFlags # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: BuildFlags -> BuildFlags -> BuildFlags Source # sconcat :: NonEmpty BuildFlags -> BuildFlags Source # stimes :: Integral b => b -> BuildFlags -> BuildFlags Source #
Monoid BuildFlags # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: BuildFlags Source # mappend :: BuildFlags -> BuildFlags -> BuildFlags Source # mconcat :: [BuildFlags] -> BuildFlags Source #
type Rep BuildFlags # |
Instance details Defined in Distribution.Simple.Setup type Rep BuildFlags = D1 ('MetaData "BuildFlags" "Distribution.Simple.Setup" "Cabal-3.2.1.0" 'False) (C1 ('MetaCons "BuildFlags" 'PrefixI 'True) ((S1 ('MetaSel ('Just "buildProgramPaths") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(String, FilePath)]) :*: (S1 ('MetaSel ('Just "buildProgramArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(String, [String])]) :*: S1 ('MetaSel ('Just "buildDistPref") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)))) :*: ((S1 ('MetaSel ('Just "buildVerbosity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Verbosity)) :*: S1 ('MetaSel ('Just "buildNumJobs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag (Maybe Int)))) :*: (S1 ('MetaSel ('Just "buildArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]) :*: S1 ('MetaSel ('Just "buildCabalFilePath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath))))))

emptyBuildFlags :: BuildFlags Source #

defaultBuildFlags :: BuildFlags Source #

buildCommand :: ProgramDb -> CommandUI BuildFlags Source #

data ShowBuildInfoFlags Source #

Constructors

ShowBuildInfoFlags |
Fields buildInfoBuildFlags :: BuildFlags buildInfoOutputFile :: Maybe FilePath

#### Instances

Instances details

Show ShowBuildInfoFlags # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> ShowBuildInfoFlags -> ShowS Source # show :: ShowBuildInfoFlags -> String Source # showList :: [ShowBuildInfoFlags] -> ShowS Source #

defaultShowBuildFlags :: ShowBuildInfoFlags Source #

showBuildInfoCommand :: ProgramDb -> CommandUI ShowBuildInfoFlags Source #

data ReplFlags Source #

Constructors

ReplFlags |
Fields replProgramPaths :: [(String, FilePath)] replProgramArgs :: [(String, [String])] replDistPref :: Flag FilePath replVerbosity :: Flag Verbosity replReload :: Flag Bool replReplOptions :: [String]

#### Instances

Instances details

Show ReplFlags # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> ReplFlags -> ShowS Source # show :: ReplFlags -> String Source # showList :: [ReplFlags] -> ShowS Source #
Generic ReplFlags # |
Instance details Defined in Distribution.Simple.Setup Associated Types type Rep ReplFlags :: Type -> Type Source # Methods from :: ReplFlags -> Rep ReplFlags x Source # to :: Rep ReplFlags x -> ReplFlags Source #
Semigroup ReplFlags # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: ReplFlags -> ReplFlags -> ReplFlags Source # sconcat :: NonEmpty ReplFlags -> ReplFlags Source # stimes :: Integral b => b -> ReplFlags -> ReplFlags Source #
Monoid ReplFlags # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: ReplFlags Source # mappend :: ReplFlags -> ReplFlags -> ReplFlags Source # mconcat :: [ReplFlags] -> ReplFlags Source #
type Rep ReplFlags # |
Instance details Defined in Distribution.Simple.Setup type Rep ReplFlags = D1 ('MetaData "ReplFlags" "Distribution.Simple.Setup" "Cabal-3.2.1.0" 'False) (C1 ('MetaCons "ReplFlags" 'PrefixI 'True) ((S1 ('MetaSel ('Just "replProgramPaths") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(String, FilePath)]) :*: (S1 ('MetaSel ('Just "replProgramArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(String, [String])]) :*: S1 ('MetaSel ('Just "replDistPref") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)))) :*: (S1 ('MetaSel ('Just "replVerbosity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Verbosity)) :*: (S1 ('MetaSel ('Just "replReload") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "replReplOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String])))))

defaultReplFlags :: ReplFlags Source #

replCommand :: ProgramDb -> CommandUI ReplFlags Source #

data CleanFlags Source #

Constructors

CleanFlags |
Fields cleanSaveConf :: Flag Bool cleanDistPref :: Flag FilePath cleanVerbosity :: Flag Verbosity cleanCabalFilePath :: Flag FilePath

#### Instances

Instances details

Show CleanFlags # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> CleanFlags -> ShowS Source # show :: CleanFlags -> String Source # showList :: [CleanFlags] -> ShowS Source #
Generic CleanFlags # |
Instance details Defined in Distribution.Simple.Setup Associated Types type Rep CleanFlags :: Type -> Type Source # Methods from :: CleanFlags -> Rep CleanFlags x Source # to :: Rep CleanFlags x -> CleanFlags Source #
Semigroup CleanFlags # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: CleanFlags -> CleanFlags -> CleanFlags Source # sconcat :: NonEmpty CleanFlags -> CleanFlags Source # stimes :: Integral b => b -> CleanFlags -> CleanFlags Source #
Monoid CleanFlags # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: CleanFlags Source # mappend :: CleanFlags -> CleanFlags -> CleanFlags Source # mconcat :: [CleanFlags] -> CleanFlags Source #
type Rep CleanFlags # |
Instance details Defined in Distribution.Simple.Setup type Rep CleanFlags = D1 ('MetaData "CleanFlags" "Distribution.Simple.Setup" "Cabal-3.2.1.0" 'False) (C1 ('MetaCons "CleanFlags" 'PrefixI 'True) ((S1 ('MetaSel ('Just "cleanSaveConf") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "cleanDistPref") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath))) :*: (S1 ('MetaSel ('Just "cleanVerbosity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Verbosity)) :*: S1 ('MetaSel ('Just "cleanCabalFilePath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)))))

emptyCleanFlags :: CleanFlags Source #

defaultCleanFlags :: CleanFlags Source #

cleanCommand :: CommandUI CleanFlags Source #

data RegisterFlags Source #

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] regCabalFilePath :: Flag FilePath

#### Instances

Instances details

Show RegisterFlags # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> RegisterFlags -> ShowS Source # show :: RegisterFlags -> String Source # showList :: [RegisterFlags] -> ShowS Source #
Generic RegisterFlags # |
Instance details Defined in Distribution.Simple.Setup Associated Types type Rep RegisterFlags :: Type -> Type Source # Methods from :: RegisterFlags -> Rep RegisterFlags x Source # to :: Rep RegisterFlags x -> RegisterFlags Source #
Semigroup RegisterFlags # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: RegisterFlags -> RegisterFlags -> RegisterFlags Source # sconcat :: NonEmpty RegisterFlags -> RegisterFlags Source # stimes :: Integral b => b -> RegisterFlags -> RegisterFlags Source #
Monoid RegisterFlags # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: RegisterFlags Source # mappend :: RegisterFlags -> RegisterFlags -> RegisterFlags Source # mconcat :: [RegisterFlags] -> RegisterFlags Source #
type Rep RegisterFlags # |
Instance details Defined in Distribution.Simple.Setup type Rep RegisterFlags = D1 ('MetaData "RegisterFlags" "Distribution.Simple.Setup" "Cabal-3.2.1.0" 'False) (C1 ('MetaCons "RegisterFlags" 'PrefixI 'True) (((S1 ('MetaSel ('Just "regPackageDB") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PackageDB)) :*: S1 ('MetaSel ('Just "regGenScript") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "regGenPkgConf") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag (Maybe FilePath))) :*: S1 ('MetaSel ('Just "regInPlace") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))) :*: ((S1 ('MetaSel ('Just "regDistPref") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 ('MetaSel ('Just "regPrintId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "regVerbosity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Verbosity)) :*: (S1 ('MetaSel ('Just "regArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]) :*: S1 ('MetaSel ('Just "regCabalFilePath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)))))))

emptyRegisterFlags :: RegisterFlags Source #

defaultRegisterFlags :: RegisterFlags Source #

registerCommand :: CommandUI RegisterFlags Source #

unregisterCommand :: CommandUI RegisterFlags Source #

data SDistFlags Source #

Flags to `sdist`: (snapshot, verbosity)

Constructors

SDistFlags |
Fields sDistSnapshot :: Flag Bool sDistDirectory :: Flag FilePath sDistDistPref :: Flag FilePath sDistListSources :: Flag FilePath sDistVerbosity :: Flag Verbosity

#### Instances

Instances details

Show SDistFlags # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> SDistFlags -> ShowS Source # show :: SDistFlags -> String Source # showList :: [SDistFlags] -> ShowS Source #
Generic SDistFlags # |
Instance details Defined in Distribution.Simple.Setup Associated Types type Rep SDistFlags :: Type -> Type Source # Methods from :: SDistFlags -> Rep SDistFlags x Source # to :: Rep SDistFlags x -> SDistFlags Source #
Semigroup SDistFlags # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: SDistFlags -> SDistFlags -> SDistFlags Source # sconcat :: NonEmpty SDistFlags -> SDistFlags Source # stimes :: Integral b => b -> SDistFlags -> SDistFlags Source #
Monoid SDistFlags # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: SDistFlags Source # mappend :: SDistFlags -> SDistFlags -> SDistFlags Source # mconcat :: [SDistFlags] -> SDistFlags Source #
type Rep SDistFlags # |
Instance details Defined in Distribution.Simple.Setup type Rep SDistFlags = D1 ('MetaData "SDistFlags" "Distribution.Simple.Setup" "Cabal-3.2.1.0" 'False) (C1 ('MetaCons "SDistFlags" 'PrefixI 'True) ((S1 ('MetaSel ('Just "sDistSnapshot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "sDistDirectory") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath))) :*: (S1 ('MetaSel ('Just "sDistDistPref") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: (S1 ('MetaSel ('Just "sDistListSources") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 ('MetaSel ('Just "sDistVerbosity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Verbosity))))))

emptySDistFlags :: SDistFlags Source #

defaultSDistFlags :: SDistFlags Source #

sdistCommand :: CommandUI SDistFlags Source #

data TestFlags Source #

Constructors

TestFlags |
Fields testDistPref :: Flag FilePath testVerbosity :: Flag Verbosity testHumanLog :: Flag PathTemplate testMachineLog :: Flag PathTemplate testShowDetails :: Flag TestShowDetails testKeepTix :: Flag Bool testWrapper :: Flag FilePath testFailWhenNoTestSuites :: Flag Bool testOptions :: [PathTemplate]

#### Instances

Instances details

Generic TestFlags # |
Instance details Defined in Distribution.Simple.Setup Associated Types type Rep TestFlags :: Type -> Type Source # Methods from :: TestFlags -> Rep TestFlags x Source # to :: Rep TestFlags x -> TestFlags Source #
Semigroup TestFlags # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: TestFlags -> TestFlags -> TestFlags Source # sconcat :: NonEmpty TestFlags -> TestFlags Source # stimes :: Integral b => b -> TestFlags -> TestFlags Source #
Monoid TestFlags # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: TestFlags Source # mappend :: TestFlags -> TestFlags -> TestFlags Source # mconcat :: [TestFlags] -> TestFlags Source #
type Rep TestFlags # |
Instance details Defined in Distribution.Simple.Setup type Rep TestFlags = D1 ('MetaData "TestFlags" "Distribution.Simple.Setup" "Cabal-3.2.1.0" 'False) (C1 ('MetaCons "TestFlags" 'PrefixI 'True) (((S1 ('MetaSel ('Just "testDistPref") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 ('MetaSel ('Just "testVerbosity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Verbosity))) :*: (S1 ('MetaSel ('Just "testHumanLog") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PathTemplate)) :*: S1 ('MetaSel ('Just "testMachineLog") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PathTemplate)))) :*: ((S1 ('MetaSel ('Just "testShowDetails") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag TestShowDetails)) :*: S1 ('MetaSel ('Just "testKeepTix") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "testWrapper") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: (S1 ('MetaSel ('Just "testFailWhenNoTestSuites") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "testOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [PathTemplate]))))))

emptyTestFlags :: TestFlags Source #

defaultTestFlags :: TestFlags Source #

testCommand :: CommandUI TestFlags Source #

data TestShowDetails Source #

Constructors

Never |
Failures |
Always |
Streaming |
Direct |

#### Instances

Instances details

Bounded TestShowDetails # |
Instance details Defined in Distribution.Simple.Setup Methods minBound :: TestShowDetails Source # maxBound :: TestShowDetails Source #
Enum TestShowDetails # |
Instance details Defined in Distribution.Simple.Setup 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 # |
Instance details Defined in Distribution.Simple.Setup Methods (==) :: TestShowDetails -> TestShowDetails -> Bool # (/=) :: TestShowDetails -> TestShowDetails -> Bool #
Ord TestShowDetails # |
Instance details Defined in Distribution.Simple.Setup 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 # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> TestShowDetails -> ShowS Source # show :: TestShowDetails -> String Source # showList :: [TestShowDetails] -> ShowS Source #
Generic TestShowDetails # |
Instance details Defined in Distribution.Simple.Setup Associated Types type Rep TestShowDetails :: Type -> Type Source # Methods from :: TestShowDetails -> Rep TestShowDetails x Source # to :: Rep TestShowDetails x -> TestShowDetails Source #
Semigroup TestShowDetails # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: TestShowDetails -> TestShowDetails -> TestShowDetails Source # sconcat :: NonEmpty TestShowDetails -> TestShowDetails Source # stimes :: Integral b => b -> TestShowDetails -> TestShowDetails Source #
Monoid TestShowDetails # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: TestShowDetails Source # mappend :: TestShowDetails -> TestShowDetails -> TestShowDetails Source # mconcat :: [TestShowDetails] -> TestShowDetails Source #
Binary TestShowDetails # |
Instance details Defined in Distribution.Simple.Setup Methods put :: TestShowDetails -> Put Source # get :: Get TestShowDetails Source # putList :: [TestShowDetails] -> Put Source #
Structured TestShowDetails # |
Instance details Defined in Distribution.Simple.Setup Methods structure :: Proxy TestShowDetails -> Structure Source # structureHash' :: Tagged TestShowDetails MD5
Pretty TestShowDetails # |
Instance details Defined in Distribution.Simple.Setup Methods pretty :: TestShowDetails -> Doc Source # prettyVersioned :: CabalSpecVersion -> TestShowDetails -> Doc Source #
Parsec TestShowDetails # |
Instance details Defined in Distribution.Simple.Setup Methods parsec :: CabalParsing m => m TestShowDetails Source #
type Rep TestShowDetails # |
Instance details Defined in Distribution.Simple.Setup type Rep TestShowDetails = D1 ('MetaData "TestShowDetails" "Distribution.Simple.Setup" "Cabal-3.2.1.0" 'False) ((C1 ('MetaCons "Never" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Failures" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Always" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Streaming" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Direct" 'PrefixI 'False) (U1 :: Type -> Type))))

data BenchmarkFlags Source #

Constructors

BenchmarkFlags |
Fields benchmarkDistPref :: Flag FilePath benchmarkVerbosity :: Flag Verbosity benchmarkOptions :: [PathTemplate]

#### Instances

Instances details

Generic BenchmarkFlags # |
Instance details Defined in Distribution.Simple.Setup Associated Types type Rep BenchmarkFlags :: Type -> Type Source # Methods from :: BenchmarkFlags -> Rep BenchmarkFlags x Source # to :: Rep BenchmarkFlags x -> BenchmarkFlags Source #
Semigroup BenchmarkFlags # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: BenchmarkFlags -> BenchmarkFlags -> BenchmarkFlags Source # sconcat :: NonEmpty BenchmarkFlags -> BenchmarkFlags Source # stimes :: Integral b => b -> BenchmarkFlags -> BenchmarkFlags Source #
Monoid BenchmarkFlags # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: BenchmarkFlags Source # mappend :: BenchmarkFlags -> BenchmarkFlags -> BenchmarkFlags Source # mconcat :: [BenchmarkFlags] -> BenchmarkFlags Source #
type Rep BenchmarkFlags # |
Instance details Defined in Distribution.Simple.Setup type Rep BenchmarkFlags = D1 ('MetaData "BenchmarkFlags" "Distribution.Simple.Setup" "Cabal-3.2.1.0" 'False) (C1 ('MetaCons "BenchmarkFlags" 'PrefixI 'True) (S1 ('MetaSel ('Just "benchmarkDistPref") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: (S1 ('MetaSel ('Just "benchmarkVerbosity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Verbosity)) :*: S1 ('MetaSel ('Just "benchmarkOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [PathTemplate]))))

emptyBenchmarkFlags :: BenchmarkFlags Source #

defaultBenchmarkFlags :: BenchmarkFlags Source #

benchmarkCommand :: CommandUI BenchmarkFlags Source #

data CopyDest Source #

The location prefix for the copy command.

Constructors

NoCopyDest |
CopyTo FilePath |
CopyToDb FilePath | when using the ${pkgroot} as prefix. The CopyToDb will adjust the paths to be relative to the provided package database when copying / installing.

#### Instances

Instances details

Eq CopyDest # |
Instance details Defined in Distribution.Simple.InstallDirs Methods (==) :: CopyDest -> CopyDest -> Bool # (/=) :: CopyDest -> CopyDest -> Bool #
Show CopyDest # |
Instance details Defined in Distribution.Simple.InstallDirs Methods showsPrec :: Int -> CopyDest -> ShowS Source # show :: CopyDest -> String Source # showList :: [CopyDest] -> ShowS Source #
Generic CopyDest # |
Instance details Defined in Distribution.Simple.InstallDirs Associated Types type Rep CopyDest :: Type -> Type Source # Methods from :: CopyDest -> Rep CopyDest x Source # to :: Rep CopyDest x -> CopyDest Source #
Binary CopyDest # |
Instance details Defined in Distribution.Simple.InstallDirs Methods put :: CopyDest -> Put Source # get :: Get CopyDest Source # putList :: [CopyDest] -> Put Source #
type Rep CopyDest # |
Instance details Defined in Distribution.Simple.InstallDirs type Rep CopyDest = D1 ('MetaData "CopyDest" "Distribution.Simple.InstallDirs" "Cabal-3.2.1.0" 'False) (C1 ('MetaCons "NoCopyDest" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CopyTo" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath)) :+: C1 ('MetaCons "CopyToDb" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath))))

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

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

configureOptions :: ShowOrParseArgs -> [OptionField ConfigFlags] Source #

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

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

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

haddockOptions :: ShowOrParseArgs -> [OptionField HaddockFlags] Source #

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

testOptions' :: ShowOrParseArgs -> [OptionField TestFlags] Source #

benchmarkOptions' :: ShowOrParseArgs -> [OptionField BenchmarkFlags] Source #

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

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] Source #

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

programFlagsDescription :: ProgramDb -> String Source #

replOptions :: ShowOrParseArgs -> [OptionField [String]] Source #

splitArgs :: String -> [String] Source #

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 Source #

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

data Flag a Source #

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

Instances details

Functor Flag # |
Instance details Defined in Distribution.Simple.Flag Methods fmap :: (a -> b) -> Flag a -> Flag b Source # (<$) :: a -> Flag b -> Flag a Source #
Applicative Flag # |
Instance details Defined in Distribution.Simple.Flag Methods pure :: a -> Flag a Source # (<*>) :: Flag (a -> b) -> Flag a -> Flag b Source # liftA2 :: (a -> b -> c) -> Flag a -> Flag b -> Flag c Source # (*>) :: Flag a -> Flag b -> Flag b Source # (<*) :: Flag a -> Flag b -> Flag a Source #
Bounded a => Bounded (Flag a) # |
Instance details Defined in Distribution.Simple.Flag Methods minBound :: Flag a Source # maxBound :: Flag a Source #
Enum a => Enum (Flag a) # |
Instance details Defined in Distribution.Simple.Flag 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) # |
Instance details Defined in Distribution.Simple.Flag Methods (==) :: Flag a -> Flag a -> Bool # (/=) :: Flag a -> Flag a -> Bool #
Read a => Read (Flag a) # |
Instance details Defined in Distribution.Simple.Flag 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) # |
Instance details Defined in Distribution.Simple.Flag Methods showsPrec :: Int -> Flag a -> ShowS Source # show :: Flag a -> String Source # showList :: [Flag a] -> ShowS Source #
Generic (Flag a) # |
Instance details Defined in Distribution.Simple.Flag Associated Types type Rep (Flag a) :: Type -> Type Source # Methods from :: Flag a -> Rep (Flag a) x Source # to :: Rep (Flag a) x -> Flag a Source #
Semigroup (Flag a) # |
Instance details Defined in Distribution.Simple.Flag 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) # |
Instance details Defined in Distribution.Simple.Flag Methods mempty :: Flag a Source # mappend :: Flag a -> Flag a -> Flag a Source # mconcat :: [Flag a] -> Flag a Source #
Binary a => Binary (Flag a) # |
Instance details Defined in Distribution.Simple.Flag Methods put :: Flag a -> Put Source # get :: Get (Flag a) Source # putList :: [Flag a] -> Put Source #
Structured a => Structured (Flag a) # |
Instance details Defined in Distribution.Simple.Flag Methods structure :: Proxy (Flag a) -> Structure Source # structureHash' :: Tagged (Flag a) MD5
type Rep (Flag a) # |
Instance details Defined in Distribution.Simple.Flag type Rep (Flag a) = D1 ('MetaData "Flag" "Distribution.Simple.Flag" "Cabal-3.2.1.0" 'False) (C1 ('MetaCons "Flag" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "NoFlag" 'PrefixI 'False) (U1 :: Type -> Type))

toFlag :: a -> Flag a Source #

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

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

flagToMaybe :: Flag a -> Maybe a Source #

flagToList :: Flag a -> [a] Source #

maybeToFlag :: Maybe a -> Flag a Source #

class BooleanFlag a where Source #

Types that represent boolean flags.

Methods

asBool :: a -> Bool Source #

#### Instances

Instances details

BooleanFlag Bool # |
Instance details Defined in Distribution.Simple.Flag Methods asBool :: Bool -> Bool Source #

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

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

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

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

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

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