Cabal-3.12.0.0: A framework for packaging Haskell software
Safe HaskellNone
LanguageHaskell2010

Distribution.Types.LocalBuildConfig

Synopsis

The types

data PackageBuildDescr Source #

PackageBuildDescr contains the information Cabal determines after performing package-wide configuration of a package, before doing any per-component configuration.

Constructors

PackageBuildDescr 

Fields

Instances

Instances details
Structured PackageBuildDescr Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Binary PackageBuildDescr Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Generic PackageBuildDescr Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Read PackageBuildDescr Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Show PackageBuildDescr Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

type Rep PackageBuildDescr Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

data ComponentBuildDescr Source #

Information about individual components in a package, determined after the configure step.

Constructors

ComponentBuildDescr 

Fields

  • componentGraph :: Graph ComponentLocalBuildInfo

    All the components to build, ordered by topological sort, and with their INTERNAL dependencies over the intrapackage dependency graph. TODO: this is assumed to be short; otherwise we want some sort of ordered map.

  • componentNameMap :: Map ComponentName [ComponentLocalBuildInfo]

    A map from component name to all matching components. These coincide with componentGraph There may be more than one matching component because of backpack instantiations

  • promisedPkgs :: Map (PackageName, ComponentName) ComponentId

    The packages we were promised, but aren't already installed. MP: Perhaps this just needs to be a Set UnitId at this stage.

  • installedPkgs :: InstalledPackageIndex

    All the info about the installed packages that the current package depends on (directly or indirectly). The copy saved on disk does NOT include internal dependencies (because we just don't have enough information at this point to have an InstalledPackageInfo for an internal dep), but we will often update it with the internal dependencies; see for example build. (This admonition doesn't apply for per-component builds.)

Instances

Instances details
Structured ComponentBuildDescr Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Binary ComponentBuildDescr Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Generic ComponentBuildDescr Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Associated Types

type Rep ComponentBuildDescr 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Read ComponentBuildDescr Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Show ComponentBuildDescr Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

type Rep ComponentBuildDescr Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

data LocalBuildDescr Source #

'LocalBuildDescr ' contains the information Cabal determines after performing package-wide and per-component configuration of a package.

This information can no longer be changed after that point.

Constructors

LocalBuildDescr 

Fields

Instances

Instances details
Structured LocalBuildDescr Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Binary LocalBuildDescr Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Methods

put :: LocalBuildDescr -> Put #

get :: Get LocalBuildDescr #

putList :: [LocalBuildDescr] -> Put #

Generic LocalBuildDescr Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Associated Types

type Rep LocalBuildDescr 
Instance details

Defined in Distribution.Types.LocalBuildConfig

type Rep LocalBuildDescr = D1 ('MetaData "LocalBuildDescr" "Distribution.Types.LocalBuildConfig" "Cabal-3.12.0.0-e2bf" 'False) (C1 ('MetaCons "LocalBuildDescr" 'PrefixI 'True) (S1 ('MetaSel ('Just "packageBuildDescr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageBuildDescr) :*: S1 ('MetaSel ('Just "componentBuildDescr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ComponentBuildDescr)))
Read LocalBuildDescr Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Show LocalBuildDescr Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

type Rep LocalBuildDescr Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

type Rep LocalBuildDescr = D1 ('MetaData "LocalBuildDescr" "Distribution.Types.LocalBuildConfig" "Cabal-3.12.0.0-e2bf" 'False) (C1 ('MetaCons "LocalBuildDescr" 'PrefixI 'True) (S1 ('MetaSel ('Just "packageBuildDescr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageBuildDescr) :*: S1 ('MetaSel ('Just "componentBuildDescr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ComponentBuildDescr)))

data LocalBuildConfig Source #

LocalBuildConfig contains options that can be controlled by the user and serve as inputs to the configuration of a package.

Constructors

LocalBuildConfig 

Fields

Instances

Instances details
Structured LocalBuildConfig Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Binary LocalBuildConfig Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Generic LocalBuildConfig Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Associated Types

type Rep LocalBuildConfig 
Instance details

Defined in Distribution.Types.LocalBuildConfig

type Rep LocalBuildConfig = D1 ('MetaData "LocalBuildConfig" "Distribution.Types.LocalBuildConfig" "Cabal-3.12.0.0-e2bf" 'False) (C1 ('MetaCons "LocalBuildConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "extraConfigArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]) :*: (S1 ('MetaSel ('Just "withPrograms") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProgramDb) :*: S1 ('MetaSel ('Just "withBuildOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuildOptions))))
Read LocalBuildConfig Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Show LocalBuildConfig Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

type Rep LocalBuildConfig Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

type Rep LocalBuildConfig = D1 ('MetaData "LocalBuildConfig" "Distribution.Types.LocalBuildConfig" "Cabal-3.12.0.0-e2bf" 'False) (C1 ('MetaCons "LocalBuildConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "extraConfigArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]) :*: (S1 ('MetaSel ('Just "withPrograms") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProgramDb) :*: S1 ('MetaSel ('Just "withBuildOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuildOptions))))

data BuildOptions Source #

BuildOptions contains configuration options that can be controlled by the user.

Constructors

BuildOptions 

Fields

Instances

Instances details
Structured BuildOptions Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Binary BuildOptions Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Methods

put :: BuildOptions -> Put #

get :: Get BuildOptions #

putList :: [BuildOptions] -> Put #

Generic BuildOptions Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Associated Types

type Rep BuildOptions 
Instance details

Defined in Distribution.Types.LocalBuildConfig

type Rep BuildOptions = D1 ('MetaData "BuildOptions" "Distribution.Types.LocalBuildConfig" "Cabal-3.12.0.0-e2bf" 'False) (C1 ('MetaCons "BuildOptions" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "withVanillaLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "withProfLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "withSharedLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "withStaticLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :*: ((S1 ('MetaSel ('Just "withDynExe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "withFullyStaticExe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "withProfExe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "withProfLibDetail") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProfDetailLevel) :*: S1 ('MetaSel ('Just "withProfExeDetail") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProfDetailLevel))))) :*: (((S1 ('MetaSel ('Just "withOptimization") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OptimisationLevel) :*: S1 ('MetaSel ('Just "withDebugInfo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DebugInfoLevel)) :*: (S1 ('MetaSel ('Just "withGHCiLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "splitSections") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "splitObjs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))) :*: ((S1 ('MetaSel ('Just "stripExes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "stripLibs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "exeCoverage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "libCoverage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "relocatable") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))))
Read BuildOptions Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Show BuildOptions Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Eq BuildOptions Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

type Rep BuildOptions Source # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

type Rep BuildOptions = D1 ('MetaData "BuildOptions" "Distribution.Types.LocalBuildConfig" "Cabal-3.12.0.0-e2bf" 'False) (C1 ('MetaCons "BuildOptions" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "withVanillaLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "withProfLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "withSharedLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "withStaticLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :*: ((S1 ('MetaSel ('Just "withDynExe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "withFullyStaticExe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "withProfExe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "withProfLibDetail") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProfDetailLevel) :*: S1 ('MetaSel ('Just "withProfExeDetail") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProfDetailLevel))))) :*: (((S1 ('MetaSel ('Just "withOptimization") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OptimisationLevel) :*: S1 ('MetaSel ('Just "withDebugInfo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DebugInfoLevel)) :*: (S1 ('MetaSel ('Just "withGHCiLib") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "splitSections") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "splitObjs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))) :*: ((S1 ('MetaSel ('Just "stripExes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "stripLibs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "exeCoverage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "libCoverage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "relocatable") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))))

Conversion functions