public class NativeLinkables extends Object
NativeLinkable
objects.Modifier and Type | Class and Description |
---|---|
static class |
NativeLinkables.SharedLibrariesBuilder
Builds a map of shared library names to paths from
NativeLinkable s, throwing a useful
error on duplicates. |
Modifier and Type | Method and Description |
---|---|
static Linker.LinkableDepType |
getLinkStyle(NativeLinkableGroup.Linkage preferredLinkage,
Linker.LinkableDepType requestedLinkStyle)
Determine the final
Linker.LinkableDepType given
a preferred and requested linkage. |
static Linker.LinkableDepType |
getLinkStyle(NativeLinkableGroup.Linkage preferredLinkage,
Linker.LinkableDepType requestedLinkStyle,
Optional<PicType> picTypeForSharedLinking)
Determine the final
Linker.LinkableDepType given
a preferred and requested linkage. |
static NativeLinkableInput |
getNativeLinkableInput(Linker.LinkableDepType linkStyle,
NativeLinkable nativeLinkable,
ActionGraphBuilder graphBuilder,
TargetConfiguration targetConfiguration)
Get the
NativeLinkableInput for a NativeLinkable . |
static com.google.common.collect.ImmutableList<? extends NativeLinkable> |
getNativeLinkables(ActionGraphBuilder graphBuilder,
Iterable<? extends NativeLinkable> inputs,
Linker.LinkableDepType linkStyle)
Extract from the dependency graph all the libraries which must be considered for linking.
|
static com.google.common.collect.ImmutableList<? extends NativeLinkable> |
getNativeLinkables(ActionGraphBuilder graphBuilder,
Iterable<? extends NativeLinkable> inputs,
Linker.LinkableDepType linkStyle,
Optional<LinkableListFilter> filter)
Extract from the dependency graph all the libraries which must be considered for linking.
|
static com.google.common.collect.ImmutableList<? extends NativeLinkable> |
getNativeLinkables(ActionGraphBuilder graphBuilder,
Iterable<? extends NativeLinkable> inputs,
Linker.LinkableDepType linkStyle,
java.util.function.Predicate<? super NativeLinkable> traverse)
Extract from the dependency graph all the libraries which must be considered for linking.
|
static com.google.common.collect.ImmutableList<? extends NativeLinkable> |
getNativeLinkables(ActionGraphBuilder graphBuilder,
Iterable<? extends NativeLinkable> inputs,
Linker.LinkableDepType linkStyle,
java.util.function.Predicate<? super NativeLinkable> traverse,
Optional<LinkableListFilter> filter)
Extract from the dependency graph all the libraries which must be considered for linking.
|
static com.google.common.collect.ImmutableList<? extends NativeLinkable> |
getTopoSortedNativeLinkables(Iterable<? extends NativeLinkable> roots,
TopologicalSort.Traversable<NativeLinkable> depsFn) |
static NativeLinkableInput |
getTransitiveNativeLinkableInput(ActionGraphBuilder graphBuilder,
TargetConfiguration targetConfiguration,
Iterable<? extends NativeLinkable> roots,
Linker.LinkableDepType depType)
Collect up and merge all
NativeLinkableInput objects from transitively traversing all
unbroken dependency chains of NativeLinkable objects found via the passed in NativeLinkable roots. |
static com.google.common.collect.ImmutableList<? extends NativeLinkable> |
getTransitiveNativeLinkables(ActionGraphBuilder graphBuilder,
Iterable<? extends NativeLinkable> roots)
Collect up and merge all
NativeLinkableInput objects from transitively traversing all
unbroken dependency chains of NativeLinkable objects found via the passed in NativeLinkable roots. |
static com.google.common.collect.ImmutableSortedMap<String,SourcePath> |
getTransitiveSharedLibraries(ActionGraphBuilder graphBuilder,
Iterable<? extends NativeLinkable> roots,
boolean alwaysIncludeRoots)
Collect all the shared libraries generated by
NativeLinkable s found by transitively
traversing all unbroken dependency chains of NativeLinkable objects found via the
passed in NativeLinkable roots. |
public static com.google.common.collect.ImmutableList<? extends NativeLinkable> getTopoSortedNativeLinkables(Iterable<? extends NativeLinkable> roots, TopologicalSort.Traversable<NativeLinkable> depsFn)
public static com.google.common.collect.ImmutableList<? extends NativeLinkable> getNativeLinkables(ActionGraphBuilder graphBuilder, Iterable<? extends NativeLinkable> inputs, Linker.LinkableDepType linkStyle, java.util.function.Predicate<? super NativeLinkable> traverse, Optional<LinkableListFilter> filter)
Traversal proceeds depending on whether each dependency is to be statically or dynamically linked.
linkStyle
- how dependencies should be linked, if their preferred_linkage is NativeLinkable.Linkage.ANY
.public static com.google.common.collect.ImmutableList<? extends NativeLinkable> getNativeLinkables(ActionGraphBuilder graphBuilder, Iterable<? extends NativeLinkable> inputs, Linker.LinkableDepType linkStyle, java.util.function.Predicate<? super NativeLinkable> traverse)
public static com.google.common.collect.ImmutableList<? extends NativeLinkable> getNativeLinkables(ActionGraphBuilder graphBuilder, Iterable<? extends NativeLinkable> inputs, Linker.LinkableDepType linkStyle)
public static com.google.common.collect.ImmutableList<? extends NativeLinkable> getNativeLinkables(ActionGraphBuilder graphBuilder, Iterable<? extends NativeLinkable> inputs, Linker.LinkableDepType linkStyle, Optional<LinkableListFilter> filter)
public static Linker.LinkableDepType getLinkStyle(NativeLinkableGroup.Linkage preferredLinkage, Linker.LinkableDepType requestedLinkStyle, Optional<PicType> picTypeForSharedLinking)
Linker.LinkableDepType
given
a preferred and requested linkage.public static Linker.LinkableDepType getLinkStyle(NativeLinkableGroup.Linkage preferredLinkage, Linker.LinkableDepType requestedLinkStyle)
Linker.LinkableDepType
given
a preferred and requested linkage.public static NativeLinkableInput getNativeLinkableInput(Linker.LinkableDepType linkStyle, NativeLinkable nativeLinkable, ActionGraphBuilder graphBuilder, TargetConfiguration targetConfiguration)
NativeLinkableInput
for a NativeLinkable
.public static NativeLinkableInput getTransitiveNativeLinkableInput(ActionGraphBuilder graphBuilder, TargetConfiguration targetConfiguration, Iterable<? extends NativeLinkable> roots, Linker.LinkableDepType depType)
NativeLinkableInput
objects from transitively traversing all
unbroken dependency chains of NativeLinkable
objects found via the passed in NativeLinkable
roots.public static com.google.common.collect.ImmutableList<? extends NativeLinkable> getTransitiveNativeLinkables(ActionGraphBuilder graphBuilder, Iterable<? extends NativeLinkable> roots)
NativeLinkableInput
objects from transitively traversing all
unbroken dependency chains of NativeLinkable
objects found via the passed in NativeLinkable
roots.public static com.google.common.collect.ImmutableSortedMap<String,SourcePath> getTransitiveSharedLibraries(ActionGraphBuilder graphBuilder, Iterable<? extends NativeLinkable> roots, boolean alwaysIncludeRoots)
NativeLinkable
s found by transitively
traversing all unbroken dependency chains of NativeLinkable
objects found via the
passed in NativeLinkable
roots.alwaysIncludeRoots
- whether to include shared libraries from roots, even if they prefer
static linkage.SourcePath
.