Cabal
CopyrightIsaac Jones 2003-2004
Duncan Coutts 2007
LicenseBSD3
Maintainercabal-devel@haskell.org
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Distribution.Simple.Setup

Description

This module 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

Documentation

data GlobalFlags Source #

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

Constructors

GlobalFlags 

Fields

Instances

Instances details
Monoid GlobalFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Global

Semigroup GlobalFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Global

Generic GlobalFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Global

Associated Types

type Rep GlobalFlags :: Type -> Type #

type Rep GlobalFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Global

type Rep GlobalFlags = D1 ('MetaData "GlobalFlags" "Distribution.Simple.Setup.Global" "Cabal-3.14.0.0-inplace" '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)) :*: S1 ('MetaSel ('Just "globalWorkingDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag (SymbolicPath CWD ('Dir Pkg)))))))

data CommonSetupFlags Source #

A datatype that stores common flags for different invocations of a Setup executable, e.g. configure, build, install.

Constructors

CommonSetupFlags 

Fields

Instances

Instances details
Structured CommonSetupFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Common

Methods

structure :: Proxy CommonSetupFlags -> Structure

structureHash' :: Tagged CommonSetupFlags MD5

Monoid CommonSetupFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Common

Semigroup CommonSetupFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Common

Generic CommonSetupFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Common

Associated Types

type Rep CommonSetupFlags :: Type -> Type #

Read CommonSetupFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Common

Show CommonSetupFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Common

Binary CommonSetupFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Common

Eq CommonSetupFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Common

type Rep CommonSetupFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Common

type Rep CommonSetupFlags = D1 ('MetaData "CommonSetupFlags" "Distribution.Simple.Setup.Common" "Cabal-3.14.0.0-inplace" 'False) (C1 ('MetaCons "CommonSetupFlags" 'PrefixI 'True) ((S1 ('MetaSel ('Just "setupVerbosity") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Flag Verbosity)) :*: S1 ('MetaSel ('Just "setupWorkingDir") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Flag (SymbolicPath CWD ('Dir Pkg))))) :*: (S1 ('MetaSel ('Just "setupDistPref") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Flag (SymbolicPath Pkg ('Dir Dist)))) :*: (S1 ('MetaSel ('Just "setupCabalFilePath") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Flag (SymbolicPath Pkg 'File))) :*: S1 ('MetaSel ('Just "setupTargets") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String])))))

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

Bundled Patterns

pattern ConfigCommonFlags :: Flag Verbosity -> Flag (SymbolicPath Pkg (Dir Dist)) -> Flag (SymbolicPath CWD (Dir Pkg)) -> Flag (SymbolicPath Pkg File) -> [String] -> ConfigFlags 

Instances

Instances details
Structured ConfigFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Config

Methods

structure :: Proxy ConfigFlags -> Structure

structureHash' :: Tagged ConfigFlags MD5

Monoid ConfigFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Config

Semigroup ConfigFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Config

Generic ConfigFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Config

Associated Types

type Rep ConfigFlags :: Type -> Type #

Read ConfigFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Config

Show ConfigFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Config

Binary ConfigFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Config

Eq ConfigFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Config

type Rep ConfigFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Config

type Rep ConfigFlags = D1 ('MetaData "ConfigFlags" "Distribution.Simple.Setup.Config" "Cabal-3.14.0.0-inplace" 'False) (C1 ('MetaCons "ConfigFlags" 'PrefixI 'True) (((((S1 ('MetaSel ('Just "configCommonFlags") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CommonSetupFlags) :*: (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 "configProfShared") '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 [SymbolicPath Pkg ('Dir Lib)])) :*: (S1 ('MetaSel ('Just "configExtraLibDirsStatic") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [SymbolicPath Pkg ('Dir Lib)]) :*: S1 ('MetaSel ('Just "configExtraFrameworkDirs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [SymbolicPath Pkg ('Dir Framework)])))))) :*: ((((S1 ('MetaSel ('Just "configExtraIncludeDirs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [SymbolicPath Pkg ('Dir Include)]) :*: (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 "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 "configPromisedDependencies") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [PromisedComponent]))))) :*: (((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))) :*: (S1 ('MetaSel ('Just "configCoverageFor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag [UnitId])) :*: S1 ('MetaSel ('Just "configIgnoreBuildTools") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)))))))))

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

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

readPackageDb :: String -> Maybe PackageDB Source #

Parse a PackageDB stack entry

Since: 3.7.0.0

showPackageDb :: Maybe PackageDB -> String Source #

Show a PackageDB stack entry

Since: 3.7.0.0

data CopyFlags Source #

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

Bundled Patterns

pattern CopyCommonFlags :: Flag Verbosity -> Flag (SymbolicPath Pkg (Dir Dist)) -> Flag (SymbolicPath CWD (Dir Pkg)) -> Flag (SymbolicPath Pkg File) -> [String] -> CopyFlags 

Instances

Instances details
Structured CopyFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Copy

Methods

structure :: Proxy CopyFlags -> Structure

structureHash' :: Tagged CopyFlags MD5

Monoid CopyFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Copy

Semigroup CopyFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Copy

Generic CopyFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Copy

Associated Types

type Rep CopyFlags :: Type -> Type #

Show CopyFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Copy

Binary CopyFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Copy

type Rep CopyFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Copy

type Rep CopyFlags = D1 ('MetaData "CopyFlags" "Distribution.Simple.Setup.Copy" "Cabal-3.14.0.0-inplace" 'False) (C1 ('MetaCons "CopyFlags" 'PrefixI 'True) (S1 ('MetaSel ('Just "copyCommonFlags") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CommonSetupFlags) :*: S1 ('MetaSel ('Just "copyDest") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag CopyDest))))

data InstallFlags Source #

Flags to install: (package db, verbosity)

Bundled Patterns

pattern InstallCommonFlags :: Flag Verbosity -> Flag (SymbolicPath Pkg (Dir Dist)) -> Flag (SymbolicPath CWD (Dir Pkg)) -> Flag (SymbolicPath Pkg File) -> [String] -> InstallFlags 

Instances

Instances details
Monoid InstallFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Install

Semigroup InstallFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Install

Generic InstallFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Install

Associated Types

type Rep InstallFlags :: Type -> Type #

Show InstallFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Install

type Rep InstallFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Install

type Rep InstallFlags = D1 ('MetaData "InstallFlags" "Distribution.Simple.Setup.Install" "Cabal-3.14.0.0-inplace" 'False) (C1 ('MetaCons "InstallFlags" 'PrefixI 'True) ((S1 ('MetaSel ('Just "installCommonFlags") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CommonSetupFlags) :*: S1 ('MetaSel ('Just "installPackageDB") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag PackageDB))) :*: (S1 ('MetaSel ('Just "installDest") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag CopyDest)) :*: (S1 ('MetaSel ('Just "installUseWrapper") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "installInPlace") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))))))

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.Haddock

Methods

parsec :: CabalParsing m => m HaddockTarget

Pretty HaddockTarget Source # 
Instance details

Defined in Distribution.Simple.Setup.Haddock

Methods

pretty :: HaddockTarget -> Doc

prettyVersioned :: CabalSpecVersion -> HaddockTarget -> Doc

Structured HaddockTarget Source # 
Instance details

Defined in Distribution.Simple.Setup.Haddock

Methods

structure :: Proxy HaddockTarget -> Structure

structureHash' :: Tagged HaddockTarget MD5

Generic HaddockTarget Source # 
Instance details

Defined in Distribution.Simple.Setup.Haddock

Associated Types

type Rep HaddockTarget :: Type -> Type #

Show HaddockTarget Source # 
Instance details

Defined in Distribution.Simple.Setup.Haddock

Binary HaddockTarget Source # 
Instance details

Defined in Distribution.Simple.Setup.Haddock

Eq HaddockTarget Source # 
Instance details

Defined in Distribution.Simple.Setup.Haddock

type Rep HaddockTarget Source # 
Instance details

Defined in Distribution.Simple.Setup.Haddock

type Rep HaddockTarget = D1 ('MetaData "HaddockTarget" "Distribution.Simple.Setup.Haddock" "Cabal-3.14.0.0-inplace" 'False) (C1 ('MetaCons "ForHackage" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ForDevelopment" 'PrefixI 'False) (U1 :: Type -> Type))

data HaddockFlags Source #

Bundled Patterns

pattern HaddockCommonFlags :: Flag Verbosity -> Flag (SymbolicPath Pkg (Dir Dist)) -> Flag (SymbolicPath CWD (Dir Pkg)) -> Flag (SymbolicPath Pkg File) -> [String] -> HaddockFlags 

Instances

Instances details
Structured HaddockFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Haddock

Methods

structure :: Proxy HaddockFlags -> Structure

structureHash' :: Tagged HaddockFlags MD5

Monoid HaddockFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Haddock

Semigroup HaddockFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Haddock

Generic HaddockFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Haddock

Associated Types

type Rep HaddockFlags :: Type -> Type #

Show HaddockFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Haddock

Binary HaddockFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Haddock

type Rep HaddockFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Haddock

type Rep HaddockFlags = D1 ('MetaData "HaddockFlags" "Distribution.Simple.Setup.Haddock" "Cabal-3.14.0.0-inplace" 'False) (C1 ('MetaCons "HaddockFlags" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "haddockCommonFlags") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CommonSetupFlags) :*: 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 "haddockKeepTempFiles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "haddockBaseUrl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag String)))) :*: (S1 ('MetaSel ('Just "haddockResourcesDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag String)) :*: (S1 ('MetaSel ('Just "haddockOutputDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 ('MetaSel ('Just "haddockUseUnicode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))))))))

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.Haddock

Eq Visibility Source # 
Instance details

Defined in Distribution.Simple.Setup.Haddock

data HaddockProjectFlags Source #

Constructors

HaddockProjectFlags 

Fields

Instances

Instances details
Monoid HaddockProjectFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Haddock

Semigroup HaddockProjectFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Haddock

Generic HaddockProjectFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Haddock

Associated Types

type Rep HaddockProjectFlags :: Type -> Type #

Show HaddockProjectFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Haddock

type Rep HaddockProjectFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Haddock

type Rep HaddockProjectFlags = D1 ('MetaData "HaddockProjectFlags" "Distribution.Simple.Setup.Haddock" "Cabal-3.14.0.0-inplace" 'False) (C1 ('MetaCons "HaddockProjectFlags" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "haddockProjectHackage") '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 "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 "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 "haddockProjectResourcesDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag String)) :*: S1 ('MetaSel ('Just "haddockProjectUseUnicode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))))))))

data HscolourFlags Source #

Bundled Patterns

pattern HscolourCommonFlags :: Flag Verbosity -> Flag (SymbolicPath Pkg (Dir Dist)) -> Flag (SymbolicPath CWD (Dir Pkg)) -> Flag (SymbolicPath Pkg File) -> [String] -> HscolourFlags 

Instances

Instances details
Structured HscolourFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Hscolour

Methods

structure :: Proxy HscolourFlags -> Structure

structureHash' :: Tagged HscolourFlags MD5

Monoid HscolourFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Hscolour

Semigroup HscolourFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Hscolour

Generic HscolourFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Hscolour

Associated Types

type Rep HscolourFlags :: Type -> Type #

Show HscolourFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Hscolour

Binary HscolourFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Hscolour

type Rep HscolourFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Hscolour

type Rep HscolourFlags = D1 ('MetaData "HscolourFlags" "Distribution.Simple.Setup.Hscolour" "Cabal-3.14.0.0-inplace" 'False) (C1 ('MetaCons "HscolourFlags" 'PrefixI 'True) ((S1 ('MetaSel ('Just "hscolourCommonFlags") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CommonSetupFlags) :*: (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))))))

data BuildFlags Source #

Bundled Patterns

pattern BuildCommonFlags :: Flag Verbosity -> Flag (SymbolicPath Pkg (Dir Dist)) -> Flag (SymbolicPath CWD (Dir Pkg)) -> Flag (SymbolicPath Pkg File) -> [String] -> BuildFlags 

Instances

Instances details
Structured BuildFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Build

Methods

structure :: Proxy BuildFlags -> Structure

structureHash' :: Tagged BuildFlags MD5

Monoid BuildFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Build

Semigroup BuildFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Build

Generic BuildFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Build

Associated Types

type Rep BuildFlags :: Type -> Type #

Read BuildFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Build

Show BuildFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Build

Binary BuildFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Build

type Rep BuildFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Build

type Rep BuildFlags = D1 ('MetaData "BuildFlags" "Distribution.Simple.Setup.Build" "Cabal-3.14.0.0-inplace" 'False) (C1 ('MetaCons "BuildFlags" 'PrefixI 'True) ((S1 ('MetaSel ('Just "buildCommonFlags") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CommonSetupFlags) :*: S1 ('MetaSel ('Just "buildProgramPaths") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(String, FilePath)])) :*: (S1 ('MetaSel ('Just "buildProgramArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(String, [String])]) :*: (S1 ('MetaSel ('Just "buildNumJobs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag (Maybe Int))) :*: S1 ('MetaSel ('Just "buildUseSemaphore") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag String))))))

data DumpBuildInfo Source #

Instances

Instances details
Structured DumpBuildInfo Source # 
Instance details

Defined in Distribution.Types.DumpBuildInfo

Methods

structure :: Proxy DumpBuildInfo -> Structure

structureHash' :: Tagged DumpBuildInfo MD5

Bounded DumpBuildInfo Source # 
Instance details

Defined in Distribution.Types.DumpBuildInfo

Enum DumpBuildInfo Source # 
Instance details

Defined in Distribution.Types.DumpBuildInfo

Generic DumpBuildInfo Source # 
Instance details

Defined in Distribution.Types.DumpBuildInfo

Associated Types

type Rep DumpBuildInfo :: Type -> Type #

Read DumpBuildInfo Source # 
Instance details

Defined in Distribution.Types.DumpBuildInfo

Show DumpBuildInfo Source # 
Instance details

Defined in Distribution.Types.DumpBuildInfo

Binary DumpBuildInfo Source # 
Instance details

Defined in Distribution.Types.DumpBuildInfo

Eq DumpBuildInfo Source # 
Instance details

Defined in Distribution.Types.DumpBuildInfo

Ord DumpBuildInfo Source # 
Instance details

Defined in Distribution.Types.DumpBuildInfo

type Rep DumpBuildInfo Source # 
Instance details

Defined in Distribution.Types.DumpBuildInfo

type Rep DumpBuildInfo = D1 ('MetaData "DumpBuildInfo" "Distribution.Types.DumpBuildInfo" "Cabal-3.14.0.0-inplace" 'False) (C1 ('MetaCons "NoDumpBuildInfo" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DumpBuildInfo" 'PrefixI 'False) (U1 :: Type -> Type))

data ReplFlags Source #

Bundled Patterns

pattern ReplCommonFlags :: Flag Verbosity -> Flag (SymbolicPath Pkg (Dir Dist)) -> Flag (SymbolicPath CWD (Dir Pkg)) -> Flag (SymbolicPath Pkg File) -> [String] -> ReplFlags 

Instances

Instances details
Structured ReplFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Repl

Methods

structure :: Proxy ReplFlags -> Structure

structureHash' :: Tagged ReplFlags MD5

Monoid ReplFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Repl

Semigroup ReplFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Repl

Generic ReplFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Repl

Associated Types

type Rep ReplFlags :: Type -> Type #

Show ReplFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Repl

Binary ReplFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Repl

type Rep ReplFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Repl

type Rep ReplFlags = D1 ('MetaData "ReplFlags" "Distribution.Simple.Setup.Repl" "Cabal-3.14.0.0-inplace" 'False) (C1 ('MetaCons "ReplFlags" 'PrefixI 'True) ((S1 ('MetaSel ('Just "replCommonFlags") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CommonSetupFlags) :*: S1 ('MetaSel ('Just "replProgramPaths") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(String, FilePath)])) :*: (S1 ('MetaSel ('Just "replProgramArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(String, [String])]) :*: (S1 ('MetaSel ('Just "replReload") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "replReplOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ReplOptions)))))

data ReplOptions Source #

Instances

Instances details
Structured ReplOptions Source # 
Instance details

Defined in Distribution.Simple.Setup.Repl

Methods

structure :: Proxy ReplOptions -> Structure

structureHash' :: Tagged ReplOptions MD5

Monoid ReplOptions Source # 
Instance details

Defined in Distribution.Simple.Setup.Repl

Semigroup ReplOptions Source # 
Instance details

Defined in Distribution.Simple.Setup.Repl

Generic ReplOptions Source # 
Instance details

Defined in Distribution.Simple.Setup.Repl

Associated Types

type Rep ReplOptions :: Type -> Type #

Show ReplOptions Source # 
Instance details

Defined in Distribution.Simple.Setup.Repl

Binary ReplOptions Source # 
Instance details

Defined in Distribution.Simple.Setup.Repl

type Rep ReplOptions Source # 
Instance details

Defined in Distribution.Simple.Setup.Repl

type Rep ReplOptions = D1 ('MetaData "ReplOptions" "Distribution.Simple.Setup.Repl" "Cabal-3.14.0.0-inplace" '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)) :*: S1 ('MetaSel ('Just "replOptionsFlagOutput") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)))))

data CleanFlags Source #

Bundled Patterns

pattern CleanCommonFlags :: Flag Verbosity -> Flag (SymbolicPath Pkg (Dir Dist)) -> Flag (SymbolicPath CWD (Dir Pkg)) -> Flag (SymbolicPath Pkg File) -> [String] -> CleanFlags 

Instances

Instances details
Structured CleanFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Clean

Methods

structure :: Proxy CleanFlags -> Structure

structureHash' :: Tagged CleanFlags MD5

Monoid CleanFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Clean

Semigroup CleanFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Clean

Generic CleanFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Clean

Associated Types

type Rep CleanFlags :: Type -> Type #

Show CleanFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Clean

Binary CleanFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Clean

type Rep CleanFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Clean

type Rep CleanFlags = D1 ('MetaData "CleanFlags" "Distribution.Simple.Setup.Clean" "Cabal-3.14.0.0-inplace" 'False) (C1 ('MetaCons "CleanFlags" 'PrefixI 'True) (S1 ('MetaSel ('Just "cleanCommonFlags") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CommonSetupFlags) :*: S1 ('MetaSel ('Just "cleanSaveConf") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))))

data RegisterFlags Source #

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

Bundled Patterns

pattern RegisterCommonFlags :: Flag Verbosity -> Flag (SymbolicPath Pkg (Dir Dist)) -> Flag (SymbolicPath CWD (Dir Pkg)) -> Flag (SymbolicPath Pkg File) -> [String] -> RegisterFlags 

Instances

Instances details
Monoid RegisterFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Register

Semigroup RegisterFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Register

Generic RegisterFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Register

Associated Types

type Rep RegisterFlags :: Type -> Type #

Show RegisterFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Register

type Rep RegisterFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Register

type Rep RegisterFlags = D1 ('MetaData "RegisterFlags" "Distribution.Simple.Setup.Register" "Cabal-3.14.0.0-inplace" 'False) (C1 ('MetaCons "RegisterFlags" 'PrefixI 'True) ((S1 ('MetaSel ('Just "registerCommonFlags") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CommonSetupFlags) :*: (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 (SymbolicPath Pkg ('Dir PkgConf))))) :*: (S1 ('MetaSel ('Just "regInPlace") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: S1 ('MetaSel ('Just "regPrintId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))))))

data SDistFlags Source #

Flags to sdist: (snapshot, verbosity)

Bundled Patterns

pattern SDistCommonFlags :: Flag Verbosity -> Flag (SymbolicPath Pkg (Dir Dist)) -> Flag (SymbolicPath CWD (Dir Pkg)) -> Flag (SymbolicPath Pkg File) -> [String] -> SDistFlags 

Instances

Instances details
Monoid SDistFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.SDist

Semigroup SDistFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.SDist

Generic SDistFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.SDist

Associated Types

type Rep SDistFlags :: Type -> Type #

Show SDistFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.SDist

type Rep SDistFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.SDist

type Rep SDistFlags = D1 ('MetaData "SDistFlags" "Distribution.Simple.Setup.SDist" "Cabal-3.14.0.0-inplace" 'False) (C1 ('MetaCons "SDistFlags" 'PrefixI 'True) ((S1 ('MetaSel ('Just "sDistCommonFlags") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CommonSetupFlags) :*: S1 ('MetaSel ('Just "sDistSnapshot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 ('MetaSel ('Just "sDistDirectory") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 ('MetaSel ('Just "sDistListSources") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag FilePath)))))

data TestFlags Source #

Bundled Patterns

pattern TestCommonFlags :: Flag Verbosity -> Flag (SymbolicPath Pkg (Dir Dist)) -> Flag (SymbolicPath CWD (Dir Pkg)) -> Flag (SymbolicPath Pkg File) -> [String] -> TestFlags 

Instances

Instances details
Structured TestFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Test

Methods

structure :: Proxy TestFlags -> Structure

structureHash' :: Tagged TestFlags MD5

Monoid TestFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Test

Semigroup TestFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Test

Generic TestFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Test

Associated Types

type Rep TestFlags :: Type -> Type #

Show TestFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Test

Binary TestFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Test

type Rep TestFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Test

data TestShowDetails Source #

Instances

Instances details
Parsec TestShowDetails Source # 
Instance details

Defined in Distribution.Simple.Setup.Test

Methods

parsec :: CabalParsing m => m TestShowDetails

Pretty TestShowDetails Source # 
Instance details

Defined in Distribution.Simple.Setup.Test

Methods

pretty :: TestShowDetails -> Doc

prettyVersioned :: CabalSpecVersion -> TestShowDetails -> Doc

Structured TestShowDetails Source # 
Instance details

Defined in Distribution.Simple.Setup.Test

Methods

structure :: Proxy TestShowDetails -> Structure

structureHash' :: Tagged TestShowDetails MD5

Monoid TestShowDetails Source # 
Instance details

Defined in Distribution.Simple.Setup.Test

Semigroup TestShowDetails Source # 
Instance details

Defined in Distribution.Simple.Setup.Test

Bounded TestShowDetails Source # 
Instance details

Defined in Distribution.Simple.Setup.Test

Enum TestShowDetails Source # 
Instance details

Defined in Distribution.Simple.Setup.Test

Generic TestShowDetails Source # 
Instance details

Defined in Distribution.Simple.Setup.Test

Associated Types

type Rep TestShowDetails :: Type -> Type #

Show TestShowDetails Source # 
Instance details

Defined in Distribution.Simple.Setup.Test

Binary TestShowDetails Source # 
Instance details

Defined in Distribution.Simple.Setup.Test

Eq TestShowDetails Source # 
Instance details

Defined in Distribution.Simple.Setup.Test

Ord TestShowDetails Source # 
Instance details

Defined in Distribution.Simple.Setup.Test

type Rep TestShowDetails Source # 
Instance details

Defined in Distribution.Simple.Setup.Test

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

Bundled Patterns

pattern BenchmarkCommonFlags :: Flag Verbosity -> Flag (SymbolicPath Pkg (Dir Dist)) -> Flag (SymbolicPath CWD (Dir Pkg)) -> Flag (SymbolicPath Pkg File) -> [String] -> BenchmarkFlags 

Instances

Instances details
Structured BenchmarkFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Benchmark

Methods

structure :: Proxy BenchmarkFlags -> Structure

structureHash' :: Tagged BenchmarkFlags MD5

Monoid BenchmarkFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Benchmark

Semigroup BenchmarkFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Benchmark

Generic BenchmarkFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Benchmark

Associated Types

type Rep BenchmarkFlags :: Type -> Type #

Show BenchmarkFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Benchmark

Binary BenchmarkFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Benchmark

type Rep BenchmarkFlags Source # 
Instance details

Defined in Distribution.Simple.Setup.Benchmark

type Rep BenchmarkFlags = D1 ('MetaData "BenchmarkFlags" "Distribution.Simple.Setup.Benchmark" "Cabal-3.14.0.0-inplace" 'False) (C1 ('MetaCons "BenchmarkFlags" 'PrefixI 'True) (S1 ('MetaSel ('Just "benchmarkCommonFlags") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CommonSetupFlags) :*: S1 ('MetaSel ('Just "benchmarkOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [PathTemplate])))

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
Structured CopyDest Source # 
Instance details

Defined in Distribution.Simple.InstallDirs

Methods

structure :: Proxy CopyDest -> Structure

structureHash' :: Tagged CopyDest MD5

Generic CopyDest Source # 
Instance details

Defined in Distribution.Simple.InstallDirs

Associated Types

type Rep CopyDest :: Type -> Type #

Methods

from :: CopyDest -> Rep CopyDest x #

to :: Rep CopyDest x -> CopyDest #

Show CopyDest Source # 
Instance details

Defined in Distribution.Simple.InstallDirs

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

type Rep CopyDest Source # 
Instance details

Defined in Distribution.Simple.InstallDirs

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

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.

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 :: SymbolicPath Pkg (Dir Dist) Source #

optionDistPref :: (flags -> Flag (SymbolicPath Pkg (Dir Dist))) -> (Flag (SymbolicPath Pkg (Dir Dist)) -> 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.

Isomorphic to Maybe a.

Constructors

Flag a 
NoFlag 

Instances

Instances details
Foldable Flag Source # 
Instance details

Defined in Distribution.Simple.Flag

Methods

fold :: Monoid m => Flag m -> m #

foldMap :: Monoid m => (a -> m) -> Flag a -> m #

foldMap' :: Monoid m => (a -> m) -> Flag a -> m #

foldr :: (a -> b -> b) -> b -> Flag a -> b #

foldr' :: (a -> b -> b) -> b -> Flag a -> b #

foldl :: (b -> a -> b) -> b -> Flag a -> b #

foldl' :: (b -> a -> b) -> b -> Flag a -> b #

foldr1 :: (a -> a -> a) -> Flag a -> a #

foldl1 :: (a -> a -> a) -> Flag a -> a #

toList :: Flag a -> [a] #

null :: Flag a -> Bool #

length :: Flag a -> Int #

elem :: Eq a => a -> Flag a -> Bool #

maximum :: Ord a => Flag a -> a #

minimum :: Ord a => Flag a -> a #

sum :: Num a => Flag a -> a #

product :: Num a => Flag a -> a #

Traversable Flag Source # 
Instance details

Defined in Distribution.Simple.Flag

Methods

traverse :: Applicative f => (a -> f b) -> Flag a -> f (Flag b) #

sequenceA :: Applicative f => Flag (f a) -> f (Flag a) #

mapM :: Monad m => (a -> m b) -> Flag a -> m (Flag b) #

sequence :: Monad m => Flag (m a) -> m (Flag a) #

Applicative Flag Source # 
Instance details

Defined in Distribution.Simple.Flag

Methods

pure :: a -> Flag a #

(<*>) :: Flag (a -> b) -> Flag a -> Flag b #

liftA2 :: (a -> b -> c) -> Flag a -> Flag b -> Flag c #

(*>) :: Flag a -> Flag b -> Flag b #

(<*) :: Flag a -> Flag b -> Flag a #

Functor Flag Source # 
Instance details

Defined in Distribution.Simple.Flag

Methods

fmap :: (a -> b) -> Flag a -> Flag b #

(<$) :: a -> Flag b -> Flag a #

Structured a => Structured (Flag a) Source # 
Instance details

Defined in Distribution.Simple.Flag

Methods

structure :: Proxy (Flag a) -> Structure

structureHash' :: Tagged (Flag a) MD5

Monoid (Flag a) Source # 
Instance details

Defined in Distribution.Simple.Flag

Methods

mempty :: Flag a #

mappend :: Flag a -> Flag a -> Flag a #

mconcat :: [Flag a] -> Flag a #

Semigroup (Flag a) Source # 
Instance details

Defined in Distribution.Simple.Flag

Methods

(<>) :: Flag a -> Flag a -> Flag a #

sconcat :: NonEmpty (Flag a) -> Flag a #

stimes :: Integral b => b -> Flag a -> Flag a #

Bounded a => Bounded (Flag a) Source # 
Instance details

Defined in Distribution.Simple.Flag

Methods

minBound :: Flag a #

maxBound :: Flag a #

Enum a => Enum (Flag a) Source # 
Instance details

Defined in Distribution.Simple.Flag

Methods

succ :: Flag a -> Flag a #

pred :: Flag a -> Flag a #

toEnum :: Int -> Flag a #

fromEnum :: Flag a -> Int #

enumFrom :: Flag a -> [Flag a] #

enumFromThen :: Flag a -> Flag a -> [Flag a] #

enumFromTo :: Flag a -> Flag a -> [Flag a] #

enumFromThenTo :: Flag a -> Flag a -> Flag a -> [Flag a] #

Generic (Flag a) Source # 
Instance details

Defined in Distribution.Simple.Flag

Associated Types

type Rep (Flag a) :: Type -> Type #

Methods

from :: Flag a -> Rep (Flag a) x #

to :: Rep (Flag a) x -> Flag a #

Read a => Read (Flag a) Source # 
Instance details

Defined in Distribution.Simple.Flag

Show a => Show (Flag a) Source # 
Instance details

Defined in Distribution.Simple.Flag

Methods

showsPrec :: Int -> Flag a -> ShowS #

show :: Flag a -> String #

showList :: [Flag a] -> ShowS #

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.14.0.0-inplace" '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 #

Wraps a value in Flag.

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

Extracts a value from a Flag, and throws an exception on NoFlag.

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

Extracts a value from a Flag, and returns the default value on NoFlag.

flagToMaybe :: Flag a -> Maybe a Source #

Converts a Flag value to a Maybe value.

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

Converts a Flag value to a list.

maybeToFlag :: Maybe a -> Flag a Source #

Converts a Maybe value to a Flag value.

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 #

data BuildingWhat Source #

What kind of build phase are we doing/hooking into?

Is this a normal build, or is it perhaps for running an interactive session or Haddock?

Constructors

BuildNormal BuildFlags

A normal build.

BuildRepl ReplFlags

Build steps for an interactive session.

BuildHaddock HaddockFlags

Build steps for generating documentation.

BuildHscolour HscolourFlags

Build steps for Hscolour.

Instances

Instances details
Structured BuildingWhat Source # 
Instance details

Defined in Distribution.Simple.Setup

Methods

structure :: Proxy BuildingWhat -> Structure

structureHash' :: Tagged BuildingWhat MD5

Generic BuildingWhat Source # 
Instance details

Defined in Distribution.Simple.Setup

Associated Types

type Rep BuildingWhat :: Type -> Type #

Show BuildingWhat Source # 
Instance details

Defined in Distribution.Simple.Setup

Binary BuildingWhat Source # 
Instance details

Defined in Distribution.Simple.Setup

type Rep BuildingWhat Source # 
Instance details

Defined in Distribution.Simple.Setup

buildingWhatWorkingDir :: BuildingWhat -> Maybe (SymbolicPath CWD (Dir Pkg)) Source #

buildingWhatDistPref :: BuildingWhat -> SymbolicPath Pkg (Dir Dist) Source #