public interface Linker extends Tool
Modifier and Type | Interface and Description |
---|---|
static class |
Linker.CxxRuntimeType
The various styles of runtime library to which we can link shared objects.
|
static interface |
Linker.ExtraOutputsDeriver
Derives extra outputs from linker args
|
static class |
Linker.LinkableDepType
The various ways to link in dependencies.
|
static class |
Linker.LinkType
The various ways to link an output file.
|
static class |
Linker.SharedLibraryLoadingType
The various ways to load shared libraries on different platforms
|
getCommandPrefix, getEnvironment
com.google.common.collect.ImmutableList<FileScrubber> getScrubbers(com.google.common.collect.ImmutableMap<Path,Path> cellRootMap)
cellRootMap
- Replacement map for cell roots found in paths, to some suitably normalized
form (such as a relative path from root cell).Iterable<Arg> linkWhole(Arg input, SourcePathResolverAdapter resolver)
Iterable<String> soname(String soname)
Iterable<Arg> fileList(Path fileListPath)
fileListPath
- the path to file which contains contents for file list to linkdefault Iterable<Arg> fileList(AbsPath fileListPath)
fileList(Path)
.String origin()
String libOrigin()
String searchPathEnvVar()
String preloadEnvVar()
Iterable<String> getNoAsNeededSharedLibsFlags()
Iterable<String> getIgnoreUndefinedSymbolsFlags()
com.google.common.collect.ImmutableList<Arg> createUndefinedSymbolsLinkerArgs(ProjectFilesystem projectFilesystem, BuildRuleParams baseParams, ActionGraphBuilder graphBuilder, BuildTarget target, com.google.common.collect.ImmutableList<? extends SourcePath> symbolFiles)
BuildRule
, in which case, target
will be used as its name.target
- the name to give any BuildRule
that needs to be created to facilitate
generating the arguments,symbolFiles
- the symbols files, each listing undefined symbols, one per line, to add to
the link.Linker.SharedLibraryLoadingType getSharedLibraryLoadingType()
Optional<Linker.ExtraOutputsDeriver> getExtraOutputsDeriver()
boolean getUseUnixPathSeparator()