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

Distribution.Types.LocalBuildConfig

Synopsis

The types

data PackageBuildDescr #

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 # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Binary PackageBuildDescr # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Generic PackageBuildDescr # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Associated Types

type Rep PackageBuildDescr 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Read PackageBuildDescr # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Show PackageBuildDescr # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

type Rep PackageBuildDescr # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

data ComponentBuildDescr #

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) PromisedComponent

    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 # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Binary ComponentBuildDescr # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Generic ComponentBuildDescr # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Associated Types

type Rep ComponentBuildDescr 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Read ComponentBuildDescr # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Show ComponentBuildDescr # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

type Rep ComponentBuildDescr # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

data LocalBuildDescr #

'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 # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Binary LocalBuildDescr # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Methods

put :: LocalBuildDescr -> Put #

get :: Get LocalBuildDescr #

putList :: [LocalBuildDescr] -> Put #

Generic LocalBuildDescr # 
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.16.0.0-9b60" '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 # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Show LocalBuildDescr # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

type Rep LocalBuildDescr # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

type Rep LocalBuildDescr = D1 ('MetaData "LocalBuildDescr" "Distribution.Types.LocalBuildConfig" "Cabal-3.16.0.0-9b60" '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 #

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 # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Binary LocalBuildConfig # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Generic LocalBuildConfig # 
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.16.0.0-9b60" '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 # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Show LocalBuildConfig # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

type Rep LocalBuildConfig # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

type Rep LocalBuildConfig = D1 ('MetaData "LocalBuildConfig" "Distribution.Types.LocalBuildConfig" "Cabal-3.16.0.0-9b60" '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 #

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

Constructors

BuildOptions 

Fields

Instances

Instances details
Structured BuildOptions # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Binary BuildOptions # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Methods

put :: BuildOptions -> Put #

get :: Get BuildOptions #

putList :: [BuildOptions] -> Put #

Eq BuildOptions # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Generic BuildOptions # 
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.16.0.0-9b60" '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 "withProfLibShared") '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 # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

Show BuildOptions # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

type Rep BuildOptions # 
Instance details

Defined in Distribution.Types.LocalBuildConfig

type Rep BuildOptions = D1 ('MetaData "BuildOptions" "Distribution.Types.LocalBuildConfig" "Cabal-3.16.0.0-9b60" '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 "withProfLibShared") '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