public class CxxLinkableEnhancer extends Object
Modifier and Type | Method and Description |
---|---|
static CxxLink |
createCxxLinkableBuildRule(CellPathResolver cellPathResolver,
CxxBuckConfig cxxBuckConfig,
CxxPlatform cxxPlatform,
ProjectFilesystem projectFilesystem,
BuildRuleResolver ruleResolver,
BuildTarget target,
Path output,
com.google.common.collect.ImmutableMap<String,Path> extraOutputs,
com.google.common.collect.ImmutableList<Arg> args,
Linker.LinkableDepType runtimeDepType,
CxxLinkOptions linkOptions,
Optional<LinkOutputPostprocessor> postprocessor) |
static CxxLink |
createCxxLinkableBuildRule(CxxBuckConfig cxxBuckConfig,
CxxPlatform cxxPlatform,
ProjectFilesystem projectFilesystem,
ActionGraphBuilder graphBuilder,
BuildTarget target,
Linker.LinkType linkType,
Optional<String> soname,
Path output,
com.google.common.collect.ImmutableList<String> extraOutputNames,
Linker.LinkableDepType depType,
Optional<LinkableListFilter> linkableListFilter,
CxxLinkOptions linkOptions,
Iterable<? extends NativeLinkable> nativeLinkableDeps,
Optional<Linker.CxxRuntimeType> cxxRuntimeType,
Optional<SourcePath> bundleLoader,
com.google.common.collect.ImmutableSet<BuildTarget> blacklist,
com.google.common.collect.ImmutableSet<BuildTarget> linkWholeDeps,
NativeLinkableInput immediateLinkableInput,
Optional<LinkOutputPostprocessor> postprocessor,
CellPathResolver cellPathResolver)
Construct a
CxxLink rule that builds a native linkable from top-level input objects and
a dependency tree of NativeLinkableGroup dependencies. |
static CxxLink |
createCxxLinkableSharedBuildRule(CxxBuckConfig cxxBuckConfig,
CxxPlatform cxxPlatform,
ProjectFilesystem projectFilesystem,
BuildRuleResolver ruleResolver,
BuildTarget target,
Path output,
com.google.common.collect.ImmutableMap<String,Path> extraOutputs,
Optional<String> soname,
com.google.common.collect.ImmutableList<? extends Arg> args,
CellPathResolver cellPathResolver) |
static CxxThinLTOIndex |
createCxxThinLTOIndexBuildRule(CxxBuckConfig cxxBuckConfig,
CxxPlatform cxxPlatform,
ProjectFilesystem projectFilesystem,
ActionGraphBuilder graphBuilder,
BuildTarget target,
Path output,
Linker.LinkableDepType depType,
Optional<LinkableListFilter> linkableListFilter,
Iterable<? extends NativeLinkable> nativeLinkableDeps,
Optional<Linker.CxxRuntimeType> cxxRuntimeType,
com.google.common.collect.ImmutableSet<BuildTarget> blacklist,
com.google.common.collect.ImmutableSet<BuildTarget> linkWholeDeps,
NativeLinkableInput immediateLinkableInput)
Generate build rule for the indexing step of an incremental ThinLTO build
|
static com.google.common.collect.ImmutableMap<String,Path> |
deriveSupplementaryOutputPathsFromMainOutputPath(Path output,
Iterable<String> supplementaryOutputNames)
Derive supplementary output paths based on the main output path.
|
public static CxxThinLTOIndex createCxxThinLTOIndexBuildRule(CxxBuckConfig cxxBuckConfig, CxxPlatform cxxPlatform, ProjectFilesystem projectFilesystem, ActionGraphBuilder graphBuilder, BuildTarget target, Path output, Linker.LinkableDepType depType, Optional<LinkableListFilter> linkableListFilter, Iterable<? extends NativeLinkable> nativeLinkableDeps, Optional<Linker.CxxRuntimeType> cxxRuntimeType, com.google.common.collect.ImmutableSet<BuildTarget> blacklist, com.google.common.collect.ImmutableSet<BuildTarget> linkWholeDeps, NativeLinkableInput immediateLinkableInput)
public static CxxLink createCxxLinkableBuildRule(CellPathResolver cellPathResolver, CxxBuckConfig cxxBuckConfig, CxxPlatform cxxPlatform, ProjectFilesystem projectFilesystem, BuildRuleResolver ruleResolver, BuildTarget target, Path output, com.google.common.collect.ImmutableMap<String,Path> extraOutputs, com.google.common.collect.ImmutableList<Arg> args, Linker.LinkableDepType runtimeDepType, CxxLinkOptions linkOptions, Optional<LinkOutputPostprocessor> postprocessor)
public static CxxLink createCxxLinkableBuildRule(CxxBuckConfig cxxBuckConfig, CxxPlatform cxxPlatform, ProjectFilesystem projectFilesystem, ActionGraphBuilder graphBuilder, BuildTarget target, Linker.LinkType linkType, Optional<String> soname, Path output, com.google.common.collect.ImmutableList<String> extraOutputNames, Linker.LinkableDepType depType, Optional<LinkableListFilter> linkableListFilter, CxxLinkOptions linkOptions, Iterable<? extends NativeLinkable> nativeLinkableDeps, Optional<Linker.CxxRuntimeType> cxxRuntimeType, Optional<SourcePath> bundleLoader, com.google.common.collect.ImmutableSet<BuildTarget> blacklist, com.google.common.collect.ImmutableSet<BuildTarget> linkWholeDeps, NativeLinkableInput immediateLinkableInput, Optional<LinkOutputPostprocessor> postprocessor, CellPathResolver cellPathResolver)
CxxLink
rule that builds a native linkable from top-level input objects and
a dependency tree of NativeLinkableGroup
dependencies.nativeLinkableDeps
- library dependencies that the linkable links inimmediateLinkableInput
- framework and libraries of the linkable itselfcellPathResolver
- public static CxxLink createCxxLinkableSharedBuildRule(CxxBuckConfig cxxBuckConfig, CxxPlatform cxxPlatform, ProjectFilesystem projectFilesystem, BuildRuleResolver ruleResolver, BuildTarget target, Path output, com.google.common.collect.ImmutableMap<String,Path> extraOutputs, Optional<String> soname, com.google.common.collect.ImmutableList<? extends Arg> args, CellPathResolver cellPathResolver)
public static com.google.common.collect.ImmutableMap<String,Path> deriveSupplementaryOutputPathsFromMainOutputPath(Path output, Iterable<String> supplementaryOutputNames)
output
- main output path.supplementaryOutputNames
- supplementary output names.