PackageBuildDescr contains the information Cabal determines after performing package-wide configuration of a package, before doing any per-component configuration.
Constructors
PackageBuildDescrconfigFlags :: ConfigFlagsOptions passed to the configuration step. Needed to re-run configuration when .cabal is out of date
flagAssignment :: FlagAssignmentThe final set of flags which were picked for this package
componentEnabledSpec :: ComponentRequestedSpecWhat components were enabled during configuration, and why.
compiler :: CompilerThe compiler we're building with
hostPlatform :: PlatformThe platform we're building for
pkgDescrFile :: Maybe FilePaththe filename containing the .cabal file, if available
localPkgDescr :: PackageDescriptionWARNING WARNING WARNING Be VERY careful about using this function; we haven't deprecated it but using it could introduce subtle bugs related to HookedBuildInfo.
In principle, this is supposed to contain the resolved package description, that does not contain any conditionals. However, it MAY NOT contain the description with a HookedBuildInfo applied to it; see HookedBuildInfo for the whole sordid saga. As much as possible, Cabal library should avoid using this parameter.
installDirTemplates :: InstallDirTemplatesThe installation directories for the various different kinds of files TODO: inplaceDirTemplates :: InstallDirs FilePath
withPackageDB :: PackageDBStackWhat package database to use, global/user
extraCoverageFor :: [UnitId]For per-package builds-only: an extra list of libraries to be included in the hpc coverage report for testsuites run with
--enable-coverage. Notably, this list must exclude indefinite libraries and instantiations because HPC does not support backpack (Nov. 2023).
Instances6Read, Show, Generic, Binary, Structured, Rep
Read PackageBuildDescrDefined in Cabal-3.12.1.0 · Distribution.Types.LocalBuildConfigShow PackageBuildDescrDefined in Cabal-3.12.1.0 · Distribution.Types.LocalBuildConfigGeneric PackageBuildDescrDefined in Cabal-3.12.1.0 · Distribution.Types.LocalBuildConfigBinary PackageBuildDescrDefined in Cabal-3.12.1.0 · Distribution.Types.LocalBuildConfigStructured PackageBuildDescrDefined in Cabal-3.12.1.0 · Distribution.Types.LocalBuildConfigtype Rep PackageBuildDescr = D1 ('MetaDataDefined in Cabal-3.12.1.0 · Distribution.Types.LocalBuildConfig"PackageBuildDescr"
"Distribution.Types.LocalBuildConfig"
"Cabal-3.12.1.0-fc60"
'False) (C1 ('MetaCons"PackageBuildDescr"
'PrefixI 'True) (((S1 ('MetaSel ('Just"configFlags"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConfigFlags) :*: S1 ('MetaSel ('Just"flagAssignment"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FlagAssignment)) :*: (S1 ('MetaSel ('Just"componentEnabledSpec"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ComponentRequestedSpec) :*: (S1 ('MetaSel ('Just"compiler"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Compiler) :*: S1 ('MetaSel ('Just"hostPlatform"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Platform)))) :*: ((S1 ('MetaSel ('Just"pkgDescrFile"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FilePath)) :*: S1 ('MetaSel ('Just"localPkgDescr"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageDescription)) :*: (S1 ('MetaSel ('Just"installDirTemplates"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 InstallDirTemplates) :*: (S1 ('MetaSel ('Just"withPackageDB"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageDBStack) :*: S1 ('MetaSel ('Just"extraCoverageFor"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [UnitId]))))))