public interface NativeLinkable
BuildTarget getBuildTarget()
BuildTarget
for this linkable.Iterable<? extends NativeLinkable> getNativeLinkableDeps(ActionGraphBuilder graphBuilder)
Iterable<? extends NativeLinkable> getNativeLinkableExportedDeps(ActionGraphBuilder graphBuilder)
NativeLinkableInput getNativeLinkableInput(Linker.LinkableDepType type, boolean forceLinkWhole, ActionGraphBuilder graphBuilder, TargetConfiguration targetConfiguration)
default NativeLinkableInput getNativeLinkableInput(Linker.LinkableDepType type, ActionGraphBuilder graphBuilder, TargetConfiguration targetConfiguration)
Optional<NativeLinkTarget> getNativeLinkTarget(ActionGraphBuilder graphBuilder, boolean includePrivateLinkerFlags)
NativeLinkTarget
. Most implementations of NativeLinkable are
themselves instances of NativeLinkTarget.includePrivateLinkerFlags
- whether to include rule-specific non-exported linker flags.NativeLinkableGroup.Linkage getPreferredLinkage()
NativeLinkableGroup.Linkage
for this linkable.com.google.common.collect.ImmutableMap<String,SourcePath> getSharedLibraries(ActionGraphBuilder graphBuilder)
CxxPlatform
.default boolean supportsOmnibusLinking()
NativeLinkable
supports omnibus linking.default Iterable<? extends Arg> getExportedLinkerFlags(ActionGraphBuilder graphBuilder)
default Iterable<? extends Arg> getExportedPostLinkerFlags(ActionGraphBuilder graphBuilder)
default String getRuleType()
boolean shouldBeLinkedInAppleTestAndHost()
default boolean isPrebuiltSOForHaskellOmnibus(ActionGraphBuilder graphBuilder)
default boolean supportsOmnibusLinkingForHaskell()
default boolean forceLinkWholeForHaskellOmnibus()