public class PlatformLockedNativeLinkableGroup extends Object implements NativeLinkable
Modifier and Type | Class and Description |
---|---|
static class |
PlatformLockedNativeLinkableGroup.Cache
A simple cache for a group's
NativeLinkable objects so that we don't recreate them a
ton of times. |
Constructor and Description |
---|
PlatformLockedNativeLinkableGroup(LegacyNativeLinkableGroup underlyingGroup,
CxxPlatform cxxPlatform) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getNativeLinkableInput
public PlatformLockedNativeLinkableGroup(LegacyNativeLinkableGroup underlyingGroup, CxxPlatform cxxPlatform)
public BuildTarget getBuildTarget()
getBuildTarget
in interface NativeLinkable
BuildTarget
for this linkable.public Optional<NativeLinkTarget> getNativeLinkTarget(ActionGraphBuilder graphBuilder, boolean includePrivateLinkerFlags)
NativeLinkable
NativeLinkTarget
. Most implementations of NativeLinkable are
themselves instances of NativeLinkTarget.getNativeLinkTarget
in interface NativeLinkable
includePrivateLinkerFlags
- whether to include rule-specific non-exported linker flags.public Iterable<? extends NativeLinkable> getNativeLinkableDeps(ActionGraphBuilder graphBuilder)
getNativeLinkableDeps
in interface NativeLinkable
public Iterable<? extends NativeLinkable> getNativeLinkableExportedDeps(ActionGraphBuilder graphBuilder)
getNativeLinkableExportedDeps
in interface NativeLinkable
public NativeLinkableInput getNativeLinkableInput(Linker.LinkableDepType type, boolean forceLinkWhole, ActionGraphBuilder graphBuilder, TargetConfiguration targetConfiguration)
NativeLinkable
getNativeLinkableInput
in interface NativeLinkable
public NativeLinkableGroup.Linkage getPreferredLinkage()
getPreferredLinkage
in interface NativeLinkable
NativeLinkableGroup.Linkage
for this linkable.public com.google.common.collect.ImmutableMap<String,SourcePath> getSharedLibraries(ActionGraphBuilder graphBuilder)
getSharedLibraries
in interface NativeLinkable
CxxPlatform
.public boolean supportsOmnibusLinking()
supportsOmnibusLinking
in interface NativeLinkable
NativeLinkable
supports omnibus linking.public Iterable<? extends Arg> getExportedLinkerFlags(ActionGraphBuilder graphBuilder)
getExportedLinkerFlags
in interface NativeLinkable
public Iterable<? extends Arg> getExportedPostLinkerFlags(ActionGraphBuilder graphBuilder)
getExportedPostLinkerFlags
in interface NativeLinkable
public String getRuleType()
getRuleType
in interface NativeLinkable
public boolean shouldBeLinkedInAppleTestAndHost()
shouldBeLinkedInAppleTestAndHost
in interface NativeLinkable
public boolean isPrebuiltSOForHaskellOmnibus(ActionGraphBuilder graphBuilder)
isPrebuiltSOForHaskellOmnibus
in interface NativeLinkable
public boolean supportsOmnibusLinkingForHaskell()
supportsOmnibusLinkingForHaskell
in interface NativeLinkable
public boolean forceLinkWholeForHaskellOmnibus()
forceLinkWholeForHaskellOmnibus
in interface NativeLinkable