Cabal-3.10.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 | Safe-Inferred
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]
  - configExtraLibDirsStatic :: [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 :: [PackageVersionConstraint]
  - 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
  - configDumpBuildInfo :: Flag DumpBuildInfo
  - configUseResponseFiles :: Flag Bool
  - configAllowDependingOnPrivateLibs :: Flag Bool
  }
- emptyConfigFlags :: ConfigFlags
- defaultConfigFlags :: ProgramDb -> ConfigFlags
- configureCommand :: ProgramDb -> CommandUI ConfigFlags
- configPrograms :: WithCallStack (ConfigFlags -> ProgramDb)
- configAbsolutePaths :: ConfigFlags -> IO ConfigFlags
- readPackageDb :: String -> Maybe PackageDB
- readPackageDbList :: String -> [Maybe PackageDB]
- showPackageDb :: Maybe PackageDB -> String
- 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 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
  - haddockIndex :: Flag PathTemplate
  - haddockDistPref :: Flag FilePath
  - haddockKeepTempFiles :: Flag Bool
  - haddockVerbosity :: Flag Verbosity
  - haddockCabalFilePath :: Flag FilePath
  - haddockBaseUrl :: Flag String
  - haddockLib :: Flag String
  - haddockArgs :: [String]
  }
- emptyHaddockFlags :: HaddockFlags
- defaultHaddockFlags :: HaddockFlags
- haddockCommand :: CommandUI HaddockFlags
- data Visibility
  - = Visible
  - | Hidden
- data HaddockProjectFlags = HaddockProjectFlags {
  - haddockProjectHackage :: Flag Bool
  - haddockProjectLocal :: Flag Bool
  - haddockProjectDir :: Flag String
  - haddockProjectPrologue :: Flag String
  - haddockProjectGenIndex :: Flag Bool
  - haddockProjectGenContents :: Flag Bool
  - haddockProjectInterfaces :: Flag [(FilePath, Maybe FilePath, Maybe FilePath, Visibility)]
  - haddockProjectProgramPaths :: [(String, FilePath)]
  - haddockProjectProgramArgs :: [(String, [String])]
  - haddockProjectHoogle :: Flag Bool
  - haddockProjectHtmlLocation :: Flag String
  - haddockProjectExecutables :: Flag Bool
  - haddockProjectTestSuites :: Flag Bool
  - haddockProjectBenchmarks :: Flag Bool
  - haddockProjectForeignLibs :: Flag Bool
  - haddockProjectInternal :: Flag Bool
  - haddockProjectCss :: Flag FilePath
  - haddockProjectLinkedSource :: Flag Bool
  - haddockProjectQuickJump :: Flag Bool
  - haddockProjectHscolourCss :: Flag FilePath
  - haddockProjectKeepTempFiles :: Flag Bool
  - haddockProjectVerbosity :: Flag Verbosity
  - haddockProjectLib :: Flag String
  }
- emptyHaddockProjectFlags :: HaddockProjectFlags
- defaultHaddockProjectFlags :: HaddockProjectFlags
- haddockProjectCommand :: CommandUI HaddockProjectFlags
- 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 DumpBuildInfo
  - = NoDumpBuildInfo
  - | DumpBuildInfo
- data ReplFlags = ReplFlags {
  - replProgramPaths :: [(String, FilePath)]
  - replProgramArgs :: [(String, [String])]
  - replDistPref :: Flag FilePath
  - replVerbosity :: Flag Verbosity
  - replReload :: Flag Bool
  - replReplOptions :: ReplOptions
  }
- defaultReplFlags :: ReplFlags
- replCommand :: ProgramDb -> CommandUI ReplFlags
- data ReplOptions = ReplOptions {
  - replOptionsFlags :: [String]
  - replOptionsNoLoad :: Flag Bool
  }
- 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]
- haddockProjectOptions :: ShowOrParseArgs -> [OptionField HaddockProjectFlags]
- 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 ReplOptions]
- 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

Monoid GlobalFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: GlobalFlags Source # mappend :: GlobalFlags -> GlobalFlags -> GlobalFlags Source # mconcat :: [GlobalFlags] -> GlobalFlags Source #
Semigroup GlobalFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: GlobalFlags -> GlobalFlags -> GlobalFlags Source # sconcat :: NonEmpty GlobalFlags -> GlobalFlags Source # stimes :: Integral b => b -> GlobalFlags -> GlobalFlags Source #
Generic GlobalFlags Source # |
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 #
type Rep GlobalFlags Source # |

Instance details

Defined in Distribution.Simple.Setup

type Rep GlobalFlags = D1 ('MetaData "GlobalFlags" "Distribution.Simple.Setup" "Cabal-3.10.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

- configExtraLibDirsStatic :: [FilePath]

  path to search for extra libraries when linking fully static executables

- 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 :: [PackageVersionConstraint]

  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.

- configDumpBuildInfo :: Flag DumpBuildInfo

  Should we dump available build information on build? Dump build information to disk before attempting to build, tooling can parse these files and use them to compile the source files themselves.

- configUseResponseFiles :: Flag Bool

  Whether to use response files at all. They're used for such tools as haddock, 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

Structured ConfigFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods structure :: Proxy ConfigFlags -> Structure Source # structureHash' :: Tagged ConfigFlags MD5
Monoid ConfigFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: ConfigFlags Source # mappend :: ConfigFlags -> ConfigFlags -> ConfigFlags Source # mconcat :: [ConfigFlags] -> ConfigFlags Source #
Semigroup ConfigFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: ConfigFlags -> ConfigFlags -> ConfigFlags Source # sconcat :: NonEmpty ConfigFlags -> ConfigFlags Source # stimes :: Integral b => b -> ConfigFlags -> ConfigFlags Source #
Generic ConfigFlags Source # |
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 #
Read ConfigFlags Source # |
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 Source # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> ConfigFlags -> ShowS Source # show :: ConfigFlags -> String Source # showList :: [ConfigFlags] -> ShowS Source #
Binary ConfigFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods put :: ConfigFlags -> Put # get :: Get ConfigFlags # putList :: [ConfigFlags] -> Put #
Eq ConfigFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods (==) :: ConfigFlags -> ConfigFlags -> Bool # (/=) :: ConfigFlags -> ConfigFlags -> Bool #
type Rep ConfigFlags Source # |

Instance details

Defined in Distribution.Simple.Setup

type Rep ConfigFlags = D1 ('MetaData "ConfigFlags" "Distribution.Simple.Setup" "Cabal-3.10.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 "configExtraLibDirsStatic") '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 [PackageVersionConstraint]))))) :*: (((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 "configDumpBuildInfo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag DumpBuildInfo))) :*: (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 -> IO ConfigFlags Source #

readPackageDb :: String -> Maybe PackageDB Source #

Parse a PackageDB stack entry

Since: Cabal-3.7.0.0

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

showPackageDb :: Maybe PackageDB -> String Source #

Show a PackageDB stack entry

Since: Cabal-3.7.0.0

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

Monoid CopyFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: CopyFlags Source # mappend :: CopyFlags -> CopyFlags -> CopyFlags Source # mconcat :: [CopyFlags] -> CopyFlags Source #
Semigroup CopyFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: CopyFlags -> CopyFlags -> CopyFlags Source # sconcat :: NonEmpty CopyFlags -> CopyFlags Source # stimes :: Integral b => b -> CopyFlags -> CopyFlags Source #
Generic CopyFlags Source # |
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 #
Show CopyFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> CopyFlags -> ShowS Source # show :: CopyFlags -> String Source # showList :: [CopyFlags] -> ShowS Source #
type Rep CopyFlags Source # |

Instance details

Defined in Distribution.Simple.Setup

type Rep CopyFlags = D1 ('MetaData "CopyFlags" "Distribution.Simple.Setup" "Cabal-3.10.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

Monoid InstallFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: InstallFlags Source # mappend :: InstallFlags -> InstallFlags -> InstallFlags Source # mconcat :: [InstallFlags] -> InstallFlags Source #
Semigroup InstallFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: InstallFlags -> InstallFlags -> InstallFlags Source # sconcat :: NonEmpty InstallFlags -> InstallFlags Source # stimes :: Integral b => b -> InstallFlags -> InstallFlags Source #
Generic InstallFlags Source # |
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 #
Show InstallFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> InstallFlags -> ShowS Source # show :: InstallFlags -> String Source # showList :: [InstallFlags] -> ShowS Source #
type Rep InstallFlags Source # |

Instance details

Defined in Distribution.Simple.Setup

type Rep InstallFlags = D1 ('MetaData "InstallFlags" "Distribution.Simple.Setup" "Cabal-3.10.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 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

Parsec HaddockTarget Source # |
Instance details Defined in Distribution.Simple.Setup Methods parsec :: CabalParsing m => m HaddockTarget Source #
Pretty HaddockTarget Source # |
Instance details Defined in Distribution.Simple.Setup Methods pretty :: HaddockTarget -> Doc Source # prettyVersioned :: CabalSpecVersion -> HaddockTarget -> Doc Source #
Structured HaddockTarget Source # |
Instance details Defined in Distribution.Simple.Setup Methods structure :: Proxy HaddockTarget -> Structure Source # structureHash' :: Tagged HaddockTarget MD5
Generic HaddockTarget Source # |
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 #
Show HaddockTarget Source # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> HaddockTarget -> ShowS Source # show :: HaddockTarget -> String Source # showList :: [HaddockTarget] -> ShowS Source #
Binary HaddockTarget Source # |
Instance details Defined in Distribution.Simple.Setup Methods put :: HaddockTarget -> Put # get :: Get HaddockTarget # putList :: [HaddockTarget] -> Put #
Eq HaddockTarget Source # |
Instance details Defined in Distribution.Simple.Setup Methods (==) :: HaddockTarget -> HaddockTarget -> Bool # (/=) :: HaddockTarget -> HaddockTarget -> Bool #
type Rep HaddockTarget Source # |
Instance details Defined in Distribution.Simple.Setup type Rep HaddockTarget = D1 ('MetaData "HaddockTarget" "Distribution.Simple.Setup" "Cabal-3.10.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
- haddockIndex :: Flag PathTemplate
- haddockDistPref :: Flag FilePath
- haddockKeepTempFiles :: Flag Bool
- haddockVerbosity :: Flag Verbosity
- haddockCabalFilePath :: Flag FilePath
- haddockBaseUrl :: Flag String
- haddockLib :: Flag String
- haddockArgs :: [String]

#### Instances

Instances details

Monoid HaddockFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: HaddockFlags Source # mappend :: HaddockFlags -> HaddockFlags -> HaddockFlags Source # mconcat :: [HaddockFlags] -> HaddockFlags Source #
Semigroup HaddockFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: HaddockFlags -> HaddockFlags -> HaddockFlags Source # sconcat :: NonEmpty HaddockFlags -> HaddockFlags Source # stimes :: Integral b => b -> HaddockFlags -> HaddockFlags Source #
Generic HaddockFlags Source # |
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 #
Show HaddockFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> HaddockFlags -> ShowS Source # show :: HaddockFlags -> String Source # showList :: [HaddockFlags] -> ShowS Source #
type Rep HaddockFlags Source # |

Instance details

Defined in Distribution.Simple.Setup

type Rep HaddockFlags = D1 ('MetaData "HaddockFlags" "Distribution.Simple.Setup" "Cabal-3.10.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 "haddockIndex") '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 "haddockBaseUrl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag String)) :*: (S1 ('MetaSel ('Just "haddockLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag String)) :*: S1 ('MetaSel ('Just "haddockArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String])))))))

emptyHaddockFlags :: HaddockFlags Source #

defaultHaddockFlags :: HaddockFlags Source #

haddockCommand :: CommandUI HaddockFlags Source #

data Visibility Source #

Governs whether modules from a given interface should be visible or hidden in the Haddock generated content page. We don't expose this functionality to the user, but simply use `Visible` for only local packages. Visibility of modules is available since `haddock-2.26.1`.

Constructors

Visible |
Hidden |

#### Instances

Instances details

Show Visibility Source # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> Visibility -> ShowS Source # show :: Visibility -> String Source # showList :: [Visibility] -> ShowS Source #
Eq Visibility Source # |
Instance details Defined in Distribution.Simple.Setup Methods (==) :: Visibility -> Visibility -> Bool # (/=) :: Visibility -> Visibility -> Bool #

data HaddockProjectFlags Source #

Constructors

HaddockProjectFlags |

Fields

- haddockProjectHackage :: Flag Bool

  a shortcut option which builds documentation linked to hackage. It implies: * `--html-location='https://hackage.haskell.org/package/$prg-$version/docs' * `--quickjump` * `--gen-index` * `--gen-contents` * `--hyperlinked-source`

- haddockProjectLocal :: Flag Bool

  a shortcut option which builds self contained directory which contains all the documentation, it implies: * `--quickjump` * `--gen-index` * `--gen-contents` * `--hyperlinked-source`

  And it will also pass `--base-url` option to `haddock`.

- haddockProjectDir :: Flag String

  output directory of combined haddocks, the default is './haddocks'

- haddockProjectPrologue :: Flag String
- haddockProjectGenIndex :: Flag Bool
- haddockProjectGenContents :: Flag Bool
- haddockProjectInterfaces :: Flag [(FilePath, Maybe FilePath, Maybe FilePath, Visibility)]

  `haddocksInterfaces` is inferred by the `haddocksAction`; currently not exposed to the user.

- haddockProjectProgramPaths :: [(String, FilePath)]
- haddockProjectProgramArgs :: [(String, [String])]
- haddockProjectHoogle :: Flag Bool
- haddockProjectHtmlLocation :: Flag String
- haddockProjectExecutables :: Flag Bool
- haddockProjectTestSuites :: Flag Bool
- haddockProjectBenchmarks :: Flag Bool
- haddockProjectForeignLibs :: Flag Bool
- haddockProjectInternal :: Flag Bool
- haddockProjectCss :: Flag FilePath
- haddockProjectLinkedSource :: Flag Bool
- haddockProjectQuickJump :: Flag Bool
- haddockProjectHscolourCss :: Flag FilePath
- haddockProjectKeepTempFiles :: Flag Bool
- haddockProjectVerbosity :: Flag Verbosity
- haddockProjectLib :: Flag String

#### Instances

Instances details

Monoid HaddockProjectFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: HaddockProjectFlags Source # mappend :: HaddockProjectFlags -> HaddockProjectFlags -> HaddockProjectFlags Source # mconcat :: [HaddockProjectFlags] -> HaddockProjectFlags Source #
Semigroup HaddockProjectFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: HaddockProjectFlags -> HaddockProjectFlags -> HaddockProjectFlags Source # sconcat :: NonEmpty HaddockProjectFlags -> HaddockProjectFlags Source # stimes :: Integral b => b -> HaddockProjectFlags -> HaddockProjectFlags Source #
Generic HaddockProjectFlags Source # |
Instance details Defined in Distribution.Simple.Setup Associated Types type Rep HaddockProjectFlags :: Type -> Type Source # Methods from :: HaddockProjectFlags -> Rep HaddockProjectFlags x Source # to :: Rep HaddockProjectFlags x -> HaddockProjectFlags Source #
Show HaddockProjectFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> HaddockProjectFlags -> ShowS Source # show :: HaddockProjectFlags -> String Source # showList :: [HaddockProjectFlags] -> ShowS Source #
type Rep HaddockProjectFlags Source # |

Instance details

Defined in Distribution.Simple.Setup

type Rep HaddockProjectFlags = D1 ('MetaData "HaddockProjectFlags" "Distribution.Simple.Setup" "Cabal-3.10.1.0" 'False) (C1 ('MetaCons "HaddockProjectFlags" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "haddockProjectHackage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "haddockProjectLocal") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "haddockProjectDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag String)) :*: (S1 ('MetaSel ('Just "haddockProjectPrologue") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag String)) :*: S1 ('MetaSel ('Just "haddockProjectGenIndex") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))))) :*: ((S1 ('MetaSel ('Just "haddockProjectGenContents") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: (S1 ('MetaSel ('Just "haddockProjectInterfaces") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag [(FilePath, Maybe FilePath, Maybe FilePath, Visibility)])) :*: S1 ('MetaSel ('Just "haddockProjectProgramPaths") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(String, FilePath)]))) :*: (S1 ('MetaSel ('Just "haddockProjectProgramArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(String, [String])]) :*: (S1 ('MetaSel ('Just "haddockProjectHoogle") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "haddockProjectHtmlLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag String)))))) :*: (((S1 ('MetaSel ('Just "haddockProjectExecutables") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: (S1 ('MetaSel ('Just "haddockProjectTestSuites") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "haddockProjectBenchmarks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))) :*: (S1 ('MetaSel ('Just "haddockProjectForeignLibs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: (S1 ('MetaSel ('Just "haddockProjectInternal") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "haddockProjectCss") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath))))) :*: ((S1 ('MetaSel ('Just "haddockProjectLinkedSource") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: (S1 ('MetaSel ('Just "haddockProjectQuickJump") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "haddockProjectHscolourCss") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)))) :*: (S1 ('MetaSel ('Just "haddockProjectKeepTempFiles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: (S1 ('MetaSel ('Just "haddockProjectVerbosity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Verbosity)) :*: S1 ('MetaSel ('Just "haddockProjectLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag String))))))))

emptyHaddockProjectFlags :: HaddockProjectFlags Source #

defaultHaddockProjectFlags :: HaddockProjectFlags Source #

haddockProjectCommand :: CommandUI HaddockProjectFlags 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

Monoid HscolourFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: HscolourFlags Source # mappend :: HscolourFlags -> HscolourFlags -> HscolourFlags Source # mconcat :: [HscolourFlags] -> HscolourFlags Source #
Semigroup HscolourFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: HscolourFlags -> HscolourFlags -> HscolourFlags Source # sconcat :: NonEmpty HscolourFlags -> HscolourFlags Source # stimes :: Integral b => b -> HscolourFlags -> HscolourFlags Source #
Generic HscolourFlags Source # |
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 #
Show HscolourFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> HscolourFlags -> ShowS Source # show :: HscolourFlags -> String Source # showList :: [HscolourFlags] -> ShowS Source #
type Rep HscolourFlags Source # |

Instance details

Defined in Distribution.Simple.Setup

type Rep HscolourFlags = D1 ('MetaData "HscolourFlags" "Distribution.Simple.Setup" "Cabal-3.10.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

Monoid BuildFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: BuildFlags Source # mappend :: BuildFlags -> BuildFlags -> BuildFlags Source # mconcat :: [BuildFlags] -> BuildFlags Source #
Semigroup BuildFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: BuildFlags -> BuildFlags -> BuildFlags Source # sconcat :: NonEmpty BuildFlags -> BuildFlags Source # stimes :: Integral b => b -> BuildFlags -> BuildFlags Source #
Generic BuildFlags Source # |
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 #
Read BuildFlags Source # |
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 Source # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> BuildFlags -> ShowS Source # show :: BuildFlags -> String Source # showList :: [BuildFlags] -> ShowS Source #
type Rep BuildFlags Source # |

Instance details

Defined in Distribution.Simple.Setup

type Rep BuildFlags = D1 ('MetaData "BuildFlags" "Distribution.Simple.Setup" "Cabal-3.10.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 DumpBuildInfo Source #

Constructors

NoDumpBuildInfo |
DumpBuildInfo |

#### Instances

Instances details

Structured DumpBuildInfo Source # |
Instance details Defined in Distribution.Types.DumpBuildInfo Methods structure :: Proxy DumpBuildInfo -> Structure Source # structureHash' :: Tagged DumpBuildInfo MD5
Bounded DumpBuildInfo Source # |
Instance details Defined in Distribution.Types.DumpBuildInfo Methods minBound :: DumpBuildInfo Source # maxBound :: DumpBuildInfo Source #
Enum DumpBuildInfo Source # |

Instance details

Defined in Distribution.Types.DumpBuildInfo

Methods

succ :: DumpBuildInfo -> DumpBuildInfo Source #

pred :: DumpBuildInfo -> DumpBuildInfo Source #

toEnum :: Int -> DumpBuildInfo Source #

fromEnum :: DumpBuildInfo -> Int Source #

enumFrom :: DumpBuildInfo -> [DumpBuildInfo] Source #

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

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

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

Generic DumpBuildInfo Source # |
Instance details Defined in Distribution.Types.DumpBuildInfo Associated Types type Rep DumpBuildInfo :: Type -> Type Source # Methods from :: DumpBuildInfo -> Rep DumpBuildInfo x Source # to :: Rep DumpBuildInfo x -> DumpBuildInfo Source #
Read DumpBuildInfo Source # |
Instance details Defined in Distribution.Types.DumpBuildInfo Methods readsPrec :: Int -> ReadS DumpBuildInfo Source # readList :: ReadS [DumpBuildInfo] Source # readPrec :: ReadPrec DumpBuildInfo Source # readListPrec :: ReadPrec [DumpBuildInfo] Source #
Show DumpBuildInfo Source # |
Instance details Defined in Distribution.Types.DumpBuildInfo Methods showsPrec :: Int -> DumpBuildInfo -> ShowS Source # show :: DumpBuildInfo -> String Source # showList :: [DumpBuildInfo] -> ShowS Source #
Binary DumpBuildInfo Source # |
Instance details Defined in Distribution.Types.DumpBuildInfo Methods put :: DumpBuildInfo -> Put # get :: Get DumpBuildInfo # putList :: [DumpBuildInfo] -> Put #
Eq DumpBuildInfo Source # |
Instance details Defined in Distribution.Types.DumpBuildInfo Methods (==) :: DumpBuildInfo -> DumpBuildInfo -> Bool # (/=) :: DumpBuildInfo -> DumpBuildInfo -> Bool #
Ord DumpBuildInfo Source # |

Instance details

Defined in Distribution.Types.DumpBuildInfo

Methods

compare :: DumpBuildInfo -> DumpBuildInfo -> Ordering #

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

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

(>) :: DumpBuildInfo -> DumpBuildInfo -> Bool #

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

max :: DumpBuildInfo -> DumpBuildInfo -> DumpBuildInfo #

min :: DumpBuildInfo -> DumpBuildInfo -> DumpBuildInfo #

type Rep DumpBuildInfo Source # |
Instance details Defined in Distribution.Types.DumpBuildInfo type Rep DumpBuildInfo = D1 ('MetaData "DumpBuildInfo" "Distribution.Types.DumpBuildInfo" "Cabal-3.10.1.0" 'False) (C1 ('MetaCons "NoDumpBuildInfo" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DumpBuildInfo" 'PrefixI 'False) (U1 :: Type -> Type))

data ReplFlags Source #

Constructors

ReplFlags |

Fields

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

#### Instances

Instances details

Monoid ReplFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: ReplFlags Source # mappend :: ReplFlags -> ReplFlags -> ReplFlags Source # mconcat :: [ReplFlags] -> ReplFlags Source #
Semigroup ReplFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: ReplFlags -> ReplFlags -> ReplFlags Source # sconcat :: NonEmpty ReplFlags -> ReplFlags Source # stimes :: Integral b => b -> ReplFlags -> ReplFlags Source #
Generic ReplFlags Source # |
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 #
Show ReplFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> ReplFlags -> ShowS Source # show :: ReplFlags -> String Source # showList :: [ReplFlags] -> ShowS Source #
type Rep ReplFlags Source # |

Instance details

Defined in Distribution.Simple.Setup

type Rep ReplFlags = D1 ('MetaData "ReplFlags" "Distribution.Simple.Setup" "Cabal-3.10.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 ReplOptions)))))

defaultReplFlags :: ReplFlags Source #

replCommand :: ProgramDb -> CommandUI ReplFlags Source #

data ReplOptions Source #

Constructors

ReplOptions |

Fields

- replOptionsFlags :: [String]
- replOptionsNoLoad :: Flag Bool

#### Instances

Instances details

Structured ReplOptions Source # |
Instance details Defined in Distribution.Simple.Setup Methods structure :: Proxy ReplOptions -> Structure Source # structureHash' :: Tagged ReplOptions MD5
Monoid ReplOptions Source # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: ReplOptions Source # mappend :: ReplOptions -> ReplOptions -> ReplOptions Source # mconcat :: [ReplOptions] -> ReplOptions Source #
Semigroup ReplOptions Source # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: ReplOptions -> ReplOptions -> ReplOptions Source # sconcat :: NonEmpty ReplOptions -> ReplOptions Source # stimes :: Integral b => b -> ReplOptions -> ReplOptions Source #
Generic ReplOptions Source # |
Instance details Defined in Distribution.Simple.Setup Associated Types type Rep ReplOptions :: Type -> Type Source # Methods from :: ReplOptions -> Rep ReplOptions x Source # to :: Rep ReplOptions x -> ReplOptions Source #
Show ReplOptions Source # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> ReplOptions -> ShowS Source # show :: ReplOptions -> String Source # showList :: [ReplOptions] -> ShowS Source #
Binary ReplOptions Source # |
Instance details Defined in Distribution.Simple.Setup Methods put :: ReplOptions -> Put # get :: Get ReplOptions # putList :: [ReplOptions] -> Put #
type Rep ReplOptions Source # |

Instance details

Defined in Distribution.Simple.Setup

type Rep ReplOptions = D1 ('MetaData "ReplOptions" "Distribution.Simple.Setup" "Cabal-3.10.1.0" 'False) (C1 ('MetaCons "ReplOptions" 'PrefixI 'True) (S1 ('MetaSel ('Just "replOptionsFlags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]) :*: S1 ('MetaSel ('Just "replOptionsNoLoad") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))))

data CleanFlags Source #

Constructors

CleanFlags |

Fields

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

#### Instances

Instances details

Monoid CleanFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: CleanFlags Source # mappend :: CleanFlags -> CleanFlags -> CleanFlags Source # mconcat :: [CleanFlags] -> CleanFlags Source #
Semigroup CleanFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: CleanFlags -> CleanFlags -> CleanFlags Source # sconcat :: NonEmpty CleanFlags -> CleanFlags Source # stimes :: Integral b => b -> CleanFlags -> CleanFlags Source #
Generic CleanFlags Source # |
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 #
Show CleanFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> CleanFlags -> ShowS Source # show :: CleanFlags -> String Source # showList :: [CleanFlags] -> ShowS Source #
type Rep CleanFlags Source # |

Instance details

Defined in Distribution.Simple.Setup

type Rep CleanFlags = D1 ('MetaData "CleanFlags" "Distribution.Simple.Setup" "Cabal-3.10.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

Monoid RegisterFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: RegisterFlags Source # mappend :: RegisterFlags -> RegisterFlags -> RegisterFlags Source # mconcat :: [RegisterFlags] -> RegisterFlags Source #
Semigroup RegisterFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: RegisterFlags -> RegisterFlags -> RegisterFlags Source # sconcat :: NonEmpty RegisterFlags -> RegisterFlags Source # stimes :: Integral b => b -> RegisterFlags -> RegisterFlags Source #
Generic RegisterFlags Source # |
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 #
Show RegisterFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> RegisterFlags -> ShowS Source # show :: RegisterFlags -> String Source # showList :: [RegisterFlags] -> ShowS Source #
type Rep RegisterFlags Source # |

Instance details

Defined in Distribution.Simple.Setup

type Rep RegisterFlags = D1 ('MetaData "RegisterFlags" "Distribution.Simple.Setup" "Cabal-3.10.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

Monoid SDistFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: SDistFlags Source # mappend :: SDistFlags -> SDistFlags -> SDistFlags Source # mconcat :: [SDistFlags] -> SDistFlags Source #
Semigroup SDistFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: SDistFlags -> SDistFlags -> SDistFlags Source # sconcat :: NonEmpty SDistFlags -> SDistFlags Source # stimes :: Integral b => b -> SDistFlags -> SDistFlags Source #
Generic SDistFlags Source # |
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 #
Show SDistFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> SDistFlags -> ShowS Source # show :: SDistFlags -> String Source # showList :: [SDistFlags] -> ShowS Source #
type Rep SDistFlags Source # |

Instance details

Defined in Distribution.Simple.Setup

type Rep SDistFlags = D1 ('MetaData "SDistFlags" "Distribution.Simple.Setup" "Cabal-3.10.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

Monoid TestFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: TestFlags Source # mappend :: TestFlags -> TestFlags -> TestFlags Source # mconcat :: [TestFlags] -> TestFlags Source #
Semigroup TestFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: TestFlags -> TestFlags -> TestFlags Source # sconcat :: NonEmpty TestFlags -> TestFlags Source # stimes :: Integral b => b -> TestFlags -> TestFlags Source #
Generic TestFlags Source # |
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 #
Show TestFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> TestFlags -> ShowS Source # show :: TestFlags -> String Source # showList :: [TestFlags] -> ShowS Source #
type Rep TestFlags Source # |

Instance details

Defined in Distribution.Simple.Setup

type Rep TestFlags = D1 ('MetaData "TestFlags" "Distribution.Simple.Setup" "Cabal-3.10.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

Parsec TestShowDetails Source # |
Instance details Defined in Distribution.Simple.Setup Methods parsec :: CabalParsing m => m TestShowDetails Source #
Pretty TestShowDetails Source # |
Instance details Defined in Distribution.Simple.Setup Methods pretty :: TestShowDetails -> Doc Source # prettyVersioned :: CabalSpecVersion -> TestShowDetails -> Doc Source #
Structured TestShowDetails Source # |
Instance details Defined in Distribution.Simple.Setup Methods structure :: Proxy TestShowDetails -> Structure Source # structureHash' :: Tagged TestShowDetails MD5
Monoid TestShowDetails Source # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: TestShowDetails Source # mappend :: TestShowDetails -> TestShowDetails -> TestShowDetails Source # mconcat :: [TestShowDetails] -> TestShowDetails Source #
Semigroup TestShowDetails Source # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: TestShowDetails -> TestShowDetails -> TestShowDetails Source # sconcat :: NonEmpty TestShowDetails -> TestShowDetails Source # stimes :: Integral b => b -> TestShowDetails -> TestShowDetails Source #
Bounded TestShowDetails Source # |
Instance details Defined in Distribution.Simple.Setup Methods minBound :: TestShowDetails Source # maxBound :: TestShowDetails Source #
Enum TestShowDetails Source # |

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 #

Generic TestShowDetails Source # |
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 #
Show TestShowDetails Source # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> TestShowDetails -> ShowS Source # show :: TestShowDetails -> String Source # showList :: [TestShowDetails] -> ShowS Source #
Binary TestShowDetails Source # |
Instance details Defined in Distribution.Simple.Setup Methods put :: TestShowDetails -> Put # get :: Get TestShowDetails # putList :: [TestShowDetails] -> Put #
Eq TestShowDetails Source # |
Instance details Defined in Distribution.Simple.Setup Methods (==) :: TestShowDetails -> TestShowDetails -> Bool # (/=) :: TestShowDetails -> TestShowDetails -> Bool #
Ord TestShowDetails Source # |

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 #

type Rep TestShowDetails Source # |

Instance details

Defined in Distribution.Simple.Setup

type Rep TestShowDetails = D1 ('MetaData "TestShowDetails" "Distribution.Simple.Setup" "Cabal-3.10.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

Monoid BenchmarkFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods mempty :: BenchmarkFlags Source # mappend :: BenchmarkFlags -> BenchmarkFlags -> BenchmarkFlags Source # mconcat :: [BenchmarkFlags] -> BenchmarkFlags Source #
Semigroup BenchmarkFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods (<>) :: BenchmarkFlags -> BenchmarkFlags -> BenchmarkFlags Source # sconcat :: NonEmpty BenchmarkFlags -> BenchmarkFlags Source # stimes :: Integral b => b -> BenchmarkFlags -> BenchmarkFlags Source #
Generic BenchmarkFlags Source # |
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 #
Show BenchmarkFlags Source # |
Instance details Defined in Distribution.Simple.Setup Methods showsPrec :: Int -> BenchmarkFlags -> ShowS Source # show :: BenchmarkFlags -> String Source # showList :: [BenchmarkFlags] -> ShowS Source #
type Rep BenchmarkFlags Source # |

Instance details

Defined in Distribution.Simple.Setup

type Rep BenchmarkFlags = D1 ('MetaData "BenchmarkFlags" "Distribution.Simple.Setup" "Cabal-3.10.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

Generic CopyDest Source # |
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 #
Show CopyDest Source # |
Instance details Defined in Distribution.Simple.InstallDirs Methods showsPrec :: Int -> CopyDest -> ShowS Source # show :: CopyDest -> String Source # showList :: [CopyDest] -> ShowS Source #
Binary CopyDest Source # |
Instance details Defined in Distribution.Simple.InstallDirs Methods put :: CopyDest -> Put # get :: Get CopyDest # putList :: [CopyDest] -> Put #
Eq CopyDest Source # |
Instance details Defined in Distribution.Simple.InstallDirs Methods (==) :: CopyDest -> CopyDest -> Bool # (/=) :: CopyDest -> CopyDest -> Bool #
type Rep CopyDest Source # |

Instance details

Defined in Distribution.Simple.InstallDirs

type Rep CopyDest = D1 ('MetaData "CopyDest" "Distribution.Simple.InstallDirs" "Cabal-3.10.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 #

haddockProjectOptions :: ShowOrParseArgs -> [OptionField HaddockProjectFlags] 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 ReplOptions] 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

Applicative Flag Source # |
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 #
Functor Flag Source # |
Instance details Defined in Distribution.Simple.Flag Methods fmap :: (a -> b) -> Flag a -> Flag b Source # (<$) :: a -> Flag b -> Flag a Source #
Structured a => Structured (Flag a) Source # |
Instance details Defined in Distribution.Simple.Flag Methods structure :: Proxy (Flag a) -> Structure Source # structureHash' :: Tagged (Flag a) MD5
Monoid (Flag a) Source # |
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 #
Semigroup (Flag a) Source # |
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 #
Bounded a => Bounded (Flag a) Source # |
Instance details Defined in Distribution.Simple.Flag Methods minBound :: Flag a Source # maxBound :: Flag a Source #
Enum a => Enum (Flag a) Source # |

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 #

Generic (Flag a) Source # |
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 #
Read a => Read (Flag a) Source # |
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) Source # |
Instance details Defined in Distribution.Simple.Flag Methods showsPrec :: Int -> Flag a -> ShowS Source # show :: Flag a -> String Source # showList :: [Flag a] -> ShowS Source #
Binary a => Binary (Flag a) Source # |
Instance details Defined in Distribution.Simple.Flag Methods put :: Flag a -> Put # get :: Get (Flag a) # putList :: [Flag a] -> Put #
Eq a => Eq (Flag a) Source # |
Instance details Defined in Distribution.Simple.Flag Methods (==) :: Flag a -> Flag a -> Bool # (/=) :: Flag a -> Flag a -> Bool #
type Rep (Flag a) Source # |
Instance details Defined in Distribution.Simple.Flag type Rep (Flag a) = D1 ('MetaData "Flag" "Distribution.Simple.Flag" "Cabal-3.10.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 Source # |
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 #