Cabal- A framework for packaging Haskell software

Safe HaskellNone





data ConfiguredComponent #

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




  • 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 #

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

cc_cid :: ConfiguredComponent -> ComponentId #

Uniquely identifies a configured component.

cc_pkgid :: ConfiguredComponent -> PackageId #

The package this component came from.