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
LinkedComponentlc_ann_id :: AnnotatedId ComponentIdUniquely identifies linked component
lc_component :: ComponentCorresponds to cc_component.
lc_exe_deps :: [AnnotatedId OpenUnitId]build-toolsandbuild-tool-dependsdependencies. 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
Instances1Package
Package LinkedComponentDefined in Cabal-3.12.1.0 · Distribution.Backpack.LinkedComponent