Cabal-3.2.1.0: A framework for packaging Haskell software

Synopsis

# Documentation

A linked component is a component that has been mix-in linked, at which point we have determined how all the dependencies of the component are explicitly instantiated (in the form of an OpenUnitId). ConfiguredComponent is mix-in linked into LinkedComponent, which is then instantiated into ReadyComponent.

Constructors

 LinkedComponent Fieldslc_ann_id :: AnnotatedId ComponentIdUniquely identifies linked componentlc_component :: ComponentCorresponds to cc_component.lc_exe_deps :: [AnnotatedId OpenUnitId]build-tools and build-tool-depends dependencies. Corresponds to cc_exe_deps.lc_public :: BoolIs this the public library of a package? Corresponds to cc_public.lc_includes :: [ComponentInclude OpenUnitId ModuleRenaming]Corresponds to cc_includes, but (1) this does not contain includes of signature packages (packages with no exports), and (2) the ModuleRenaming for requirements (stored in IncludeRenaming) has been removed, as it is reflected in OpenUnitId.)lc_sig_includes :: [ComponentInclude OpenUnitId ModuleRenaming]Like lc_includes, but this specifies includes on signature packages which have no exports.lc_shape :: ModuleShapeThe module shape computed by mix-in linking. This is newly computed from ConfiguredComponent
Instances
 Source # Instance detailsDefined in Distribution.Backpack.LinkedComponent Methods

The instantiation of lc_uid; this always has the invariant that it is a mapping from a module name A to A (the hole A).

The OpenUnitId of this component in the "default" instantiation. See also lc_insts. LinkedComponents cannot be instantiated (e.g., there is no ModSubst instance for them).

Uniquely identifies a LinkedComponent. Corresponds to cc_cid.

Corresponds to cc_pkgid.