Cabal
Safe HaskellSafe-Inferred
LanguageHaskell2010

Distribution.Simple.Build.Inputs

Synopsis

Inputs of actions for building components

data PreBuildComponentInputs Source #

The information required for a build computation which is available right before building each component, i.e. the pre-build component inputs.

Constructors

PreBuildComponentInputs 

Fields

Queries over the component being built

buildVerbosity :: PreBuildComponentInputs -> Verbosity Source #

Get the Verbosity from the context the component being built is in.

buildIsLib :: PreBuildComponentInputs -> Bool Source #

Is the Component being built a Library?

buildBI :: PreBuildComponentInputs -> BuildInfo Source #

Get the BuildInfo of the component being built.

buildCompiler :: PreBuildComponentInputs -> Compiler Source #

Get the Compiler being used to build the component.

Re-exports

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

data LocalBuildInfo Source #

Data cached after configuration step. See also ConfigFlags.

Constructors

NewLocalBuildInfo 

Fields

Bundled Patterns

pattern LocalBuildInfo :: ConfigFlags -> FlagAssignment -> ComponentRequestedSpec -> [String] -> InstallDirTemplates -> Compiler -> Platform -> Maybe (SymbolicPath Pkg File) -> Graph ComponentLocalBuildInfo -> Map ComponentName [ComponentLocalBuildInfo] -> Map (PackageName, ComponentName) PromisedComponent -> InstalledPackageIndex -> PackageDescription -> ProgramDb -> PackageDBStack -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> ProfDetailLevel -> ProfDetailLevel -> OptimisationLevel -> DebugInfoLevel -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> [UnitId] -> Bool -> LocalBuildInfo

This pattern synonym is for backwards compatibility, to adapt to LocalBuildInfo being split into LocalBuildDescr and LocalBuildConfig.

Instances

Instances details
Structured LocalBuildInfo Source # 
Instance details

Defined in Distribution.Types.LocalBuildInfo

Methods

structure :: Proxy LocalBuildInfo -> Structure

structureHash' :: Tagged LocalBuildInfo MD5

Generic LocalBuildInfo Source # 
Instance details

Defined in Distribution.Types.LocalBuildInfo

Associated Types

type Rep LocalBuildInfo :: Type -> Type #

Read LocalBuildInfo Source # 
Instance details

Defined in Distribution.Types.LocalBuildInfo

Show LocalBuildInfo Source # 
Instance details

Defined in Distribution.Types.LocalBuildInfo

Binary LocalBuildInfo Source # 
Instance details

Defined in Distribution.Types.LocalBuildInfo

type Rep LocalBuildInfo Source # 
Instance details

Defined in Distribution.Types.LocalBuildInfo

type Rep LocalBuildInfo = D1 ('MetaData "LocalBuildInfo" "Distribution.Types.LocalBuildInfo" "Cabal-3.14.0.0-inplace" 'False) (C1 ('MetaCons "NewLocalBuildInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "localBuildDescr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LocalBuildDescr) :*: S1 ('MetaSel ('Just "localBuildConfig") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LocalBuildConfig)))

data TargetInfo Source #

The TargetInfo contains all the information necessary to build a specific target (e.g., componentmodulefile) in a package. In principle, one can get the Component from a ComponentLocalBuildInfo and LocalBuildInfo, but it is much more convenient to have the component in hand.

Instances

Instances details
IsNode TargetInfo Source # 
Instance details

Defined in Distribution.Types.TargetInfo

Associated Types

type Key TargetInfo

Structured TargetInfo Source # 
Instance details

Defined in Distribution.Types.TargetInfo

Methods

structure :: Proxy TargetInfo -> Structure

structureHash' :: Tagged TargetInfo MD5

Generic TargetInfo Source # 
Instance details

Defined in Distribution.Types.TargetInfo

Associated Types

type Rep TargetInfo :: Type -> Type #

Show TargetInfo Source # 
Instance details

Defined in Distribution.Types.TargetInfo

Binary TargetInfo Source # 
Instance details

Defined in Distribution.Types.TargetInfo

type Key TargetInfo Source # 
Instance details

Defined in Distribution.Types.TargetInfo

type Key TargetInfo = UnitId
type Rep TargetInfo Source # 
Instance details

Defined in Distribution.Types.TargetInfo

type Rep TargetInfo = D1 ('MetaData "TargetInfo" "Distribution.Types.TargetInfo" "Cabal-3.14.0.0-inplace" 'False) (C1 ('MetaCons "TargetInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "targetCLBI") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ComponentLocalBuildInfo) :*: S1 ('MetaSel ('Just "targetComponent") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Component)))

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

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