Cabal
Safe HaskellSafe-Inferred
LanguageHaskell2010

Distribution.Backpack.ConfiguredComponent

Description

Synopsis

Documentation

data ConfiguredComponent Source #

A configured component, we know exactly what its ComponentId is, and the ComponentIds of the things it depends on.

Constructors

ConfiguredComponent 

Fields

  • cc_ann_id :: AnnotatedId ComponentId

    Unique identifier of component, plus extra useful info.

  • cc_component :: Component

    The fragment of syntax from the Cabal file describing this component.

  • cc_public :: Bool

    Is this the public library component of the package? (If we invoke Setup with an instantiation, this is the component the instantiation applies to.) Note that in one-component configure mode, this is always True, because any component is the "public" one.)

  • cc_exe_deps :: [AnnotatedId ComponentId]

    Dependencies on executables from build-tools and build-tool-depends.

  • cc_includes :: [ComponentInclude ComponentId IncludeRenaming]

    The mixins of this package, including both explicit (from the mixins field) and implicit (from build-depends). Not mix-in linked yet; component configuration only looks at ComponentIds.

cc_name :: ConfiguredComponent -> ComponentName Source #

The ComponentName of a component; this uniquely identifies a fragment of syntax within a specified Cabal file describing the component.

cc_cid :: ConfiguredComponent -> ComponentId Source #

Uniquely identifies a configured component.

cc_pkgid :: ConfiguredComponent -> PackageId Source #

The package this component came from.

toConfiguredComponents :: Bool -> FlagAssignment -> Bool -> Flag String -> Flag ComponentId -> PackageDescription -> ConfiguredComponentMap -> [Component] -> LogProgress [ConfiguredComponent] Source #

type ConfiguredComponentMap = Map PackageName (Map ComponentName (AnnotatedId ComponentId)) Source #

newPackageDepsBehaviour :: PackageDescription -> Bool Source #