public class CxxDescriptionEnhancer extends Object
Modifier and Type | Field and Description |
---|---|
static Flavor |
BINARY_WITH_SHARED_LIBRARIES_SYMLINK_TREE_FLAVOR |
static Flavor |
CXX_LINK_BINARY_FLAVOR |
static Flavor |
CXX_LINK_MAP_FLAVOR |
static Flavor |
CXX_LINK_THININDEX_FLAVOR |
static Flavor |
EXPORTED_HEADER_SYMLINK_TREE_FLAVOR |
static Flavor |
HEADER_SYMLINK_TREE_FLAVOR |
static Flavor |
INCREMENTAL_THINLTO |
static Flavor |
MACH_O_BUNDLE_FLAVOR |
static Flavor |
SHARED_FLAVOR |
static Flavor |
SHARED_INTERFACE_FLAVOR |
static Flavor |
SHARED_LIBRARY_SYMLINK_TREE_FLAVOR |
static Flavor |
STATIC_FLAVOR |
static Flavor |
STATIC_PIC_FLAVOR |
Modifier and Type | Method and Description |
---|---|
static com.google.common.collect.ImmutableList<CxxPreprocessorInput> |
collectCxxPreprocessorInput(BuildTarget target,
CxxPlatform cxxPlatform,
ActionGraphBuilder graphBuilder,
Iterable<BuildRule> deps,
com.google.common.collect.ImmutableMultimap<CxxSource.Type,? extends Arg> preprocessorFlags,
com.google.common.collect.ImmutableList<HeaderSymlinkTree> headerSymlinkTrees,
com.google.common.collect.ImmutableSet<FrameworkPath> frameworks,
Iterable<CxxPreprocessorInput> cxxPreprocessorInputFromDeps,
com.google.common.collect.ImmutableSortedSet<SourcePath> rawHeaders,
com.google.common.collect.ImmutableSortedSet<String> includeDirectories,
ProjectFilesystem projectFilesystem) |
static CxxLinkAndCompileRules |
createBuildRuleForCxxThinLtoBinary(BuildTarget target,
ProjectFilesystem projectFilesystem,
ActionGraphBuilder graphBuilder,
CellPathResolver cellRoots,
CxxBuckConfig cxxBuckConfig,
CxxPlatform cxxPlatform,
CxxBinaryDescription.CommonArg args,
com.google.common.collect.ImmutableSet<BuildTarget> extraDeps,
Optional<StripStyle> stripStyle,
Optional<LinkerMapMode> flavoredLinkerMapMode) |
static CxxLinkAndCompileRules |
createBuildRulesForCxxBinary(BuildTarget target,
ProjectFilesystem projectFilesystem,
ActionGraphBuilder graphBuilder,
CellPathResolver cellRoots,
CxxBuckConfig cxxBuckConfig,
CxxPlatform cxxPlatform,
com.google.common.collect.ImmutableMap<String,CxxSource> srcs,
com.google.common.collect.ImmutableMap<Path,SourcePath> headers,
SortedSet<BuildRule> deps,
com.google.common.collect.ImmutableSet<BuildTarget> linkWholeDeps,
Optional<StripStyle> stripStyle,
Optional<LinkerMapMode> flavoredLinkerMapMode,
Linker.LinkableDepType linkStyle,
Optional<LinkableListFilter> linkableListFilter,
CxxLinkOptions linkOptions,
com.google.common.collect.ImmutableList<StringWithMacros> preprocessorFlags,
PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>> platformPreprocessorFlags,
com.google.common.collect.ImmutableMap<CxxSource.Type,com.google.common.collect.ImmutableList<StringWithMacros>> langPreprocessorFlags,
com.google.common.collect.ImmutableMap<CxxSource.Type,PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>>> langPlatformPreprocessorFlags,
com.google.common.collect.ImmutableSortedSet<FrameworkPath> frameworks,
com.google.common.collect.ImmutableSortedSet<FrameworkPath> libraries,
com.google.common.collect.ImmutableList<StringWithMacros> compilerFlags,
com.google.common.collect.ImmutableMap<CxxSource.Type,com.google.common.collect.ImmutableList<StringWithMacros>> langCompilerFlags,
PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>> platformCompilerFlags,
com.google.common.collect.ImmutableMap<CxxSource.Type,PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>>> langPlatformCompilerFlags,
Optional<SourcePath> prefixHeader,
Optional<SourcePath> precompiledHeader,
com.google.common.collect.ImmutableList<StringWithMacros> linkerFlags,
com.google.common.collect.ImmutableList<String> linkerExtraOutputs,
PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>> platformLinkerFlags,
Optional<Linker.CxxRuntimeType> cxxRuntimeType,
com.google.common.collect.ImmutableSortedSet<SourcePath> rawHeaders,
com.google.common.collect.ImmutableSortedSet<String> includeDirectories,
Optional<String> outputRootName) |
static CxxLinkAndCompileRules |
createBuildRulesForCxxBinaryDescriptionArg(TargetGraph targetGraph,
BuildTarget target,
ProjectFilesystem projectFilesystem,
ActionGraphBuilder graphBuilder,
CellPathResolver cellRoots,
CxxBuckConfig cxxBuckConfig,
CxxPlatform cxxPlatform,
CxxBinaryDescription.CommonArg args,
com.google.common.collect.ImmutableSet<BuildTarget> extraDeps,
Optional<StripStyle> stripStyle,
Optional<LinkerMapMode> flavoredLinkerMapMode) |
static Optional<com.facebook.buck.cxx.CxxCompilationDatabaseDependencies> |
createCompilationDatabaseDependencies(BuildTarget buildTarget,
FlavorDomain<?> platforms,
ActionGraphBuilder graphBuilder,
com.google.common.collect.ImmutableSortedSet<BuildTarget> deps) |
static BuildTarget |
createCxxLinkTarget(BuildTarget target,
Optional<LinkerMapMode> flavoredLinkerMapMode) |
static CxxStrip |
createCxxStripRule(BuildTarget baseBuildTarget,
ProjectFilesystem projectFilesystem,
ActionGraphBuilder graphBuilder,
StripStyle stripStyle,
boolean isCacheable,
BuildRule unstrippedBinaryRule,
CxxPlatform cxxPlatform,
Optional<String> outputRootName) |
static HeaderSymlinkTree |
createHeaderSymlinkTree(BuildTarget buildTarget,
ProjectFilesystem projectFilesystem,
BuildRuleResolver resolver,
CxxPlatform cxxPlatform,
com.google.common.collect.ImmutableMap<Path,SourcePath> headers,
HeaderVisibility headerVisibility,
boolean shouldCreateHeadersSymlinks) |
static HeaderSymlinkTree |
createHeaderSymlinkTree(BuildTarget buildTarget,
ProjectFilesystem projectFilesystem,
HeaderMode mode,
com.google.common.collect.ImmutableMap<Path,SourcePath> headers,
HeaderVisibility headerVisibility,
Flavor... flavors) |
static BuildTarget |
createHeaderSymlinkTreeTarget(BuildTarget target,
HeaderVisibility headerVisibility,
Flavor... flavors) |
static BuildRule |
createLinkMap(BuildTarget target,
ProjectFilesystem projectFilesystem,
SourcePathRuleFinder ruleFinder,
CxxLinkAndCompileRules cxxLinkAndCompileRules) |
static BuildTarget |
createSharedLibraryBuildTarget(BuildTarget target,
Flavor platform,
Linker.LinkType linkType) |
static MappedSymlinkTree |
createSharedLibrarySymlinkTree(BuildTarget baseBuildTarget,
ProjectFilesystem filesystem,
ActionGraphBuilder graphBuilder,
CxxPlatform cxxPlatform,
Iterable<? extends BuildRule> deps,
java.util.function.Function<? super BuildRule,Optional<Iterable<? extends BuildRule>>> passthrough)
Build a
HeaderSymlinkTree of all the shared libraries found via the top-level rule's
transitive dependencies. |
static BuildTarget |
createSharedLibrarySymlinkTreeTarget(BuildTarget target,
Flavor platform) |
static BuildTarget |
createStaticLibraryBuildTarget(BuildTarget target,
Flavor platform,
PicType pic) |
static BuildRule |
createUberCompilationDatabase(BuildTarget buildTarget,
ProjectFilesystem projectFilesystem,
ActionGraphBuilder graphBuilder) |
static Flavor |
flavorForLinkableDepType(Linker.LinkableDepType linkableDepType) |
static AddsToRuleKeyFunction<FrameworkPath,Path> |
frameworkPathToSearchPath(CxxPlatform cxxPlatform,
SourcePathResolverAdapter resolver) |
static String |
getDefaultSharedLibrarySoname(BuildTarget target,
CxxPlatform platform,
ProjectFilesystem projectFilesystem)
Default shared library soname for a target
|
static HeaderMode |
getHeaderModeForPlatform(BuildRuleResolver resolver,
TargetConfiguration targetConfiguration,
CxxPlatform cxxPlatform,
boolean shouldCreateHeadersSymlinks) |
static Flavor |
getHeaderSymlinkTreeFlavor(HeaderVisibility headerVisibility) |
static Path |
getHeaderSymlinkTreePath(ProjectFilesystem filesystem,
BuildTarget target,
HeaderVisibility headerVisibility,
Flavor... flavors) |
static Path |
getSharedLibraryPath(ProjectFilesystem filesystem,
BuildTarget sharedLibraryTarget,
String soname) |
static String |
getSharedLibrarySoname(Optional<String> declaredSoname,
BuildTarget target,
CxxPlatform platform,
ProjectFilesystem projectFilesystem) |
static Path |
getSharedLibrarySymlinkTreePath(ProjectFilesystem filesystem,
BuildTarget target,
Flavor platform) |
static String |
getStaticLibraryBasename(BuildTarget target,
String suffix,
boolean uniqueLibraryNameEnabled) |
static String |
getStaticLibraryName(BuildTarget target,
Optional<String> staticLibraryBasename,
String extension,
boolean uniqueLibraryNameEnabled) |
static String |
getStaticLibraryName(BuildTarget target,
Optional<String> staticLibraryBasename,
String extension,
String suffix,
boolean uniqueLibraryNameEnabled)
Returns static library name
|
static StringWithMacrosConverter |
getStringWithMacrosArgsConverter(BuildTarget target,
CellPathResolver cellPathResolver,
ActionGraphBuilder graphBuilder,
CxxPlatform cxxPlatform) |
static String |
normalizeModuleName(String moduleName) |
static com.google.common.collect.ImmutableMap<String,CxxSource> |
parseCxxSources(BuildTarget buildTarget,
ActionGraphBuilder graphBuilder,
CxxPlatform cxxPlatform,
CxxConstructorArg args) |
static com.google.common.collect.ImmutableMap<String,CxxSource> |
parseCxxSources(BuildTarget buildTarget,
ActionGraphBuilder graphBuilder,
CxxPlatform cxxPlatform,
com.google.common.collect.ImmutableSortedSet<SourceWithFlags> srcs,
PatternMatchedCollection<com.google.common.collect.ImmutableSortedSet<SourceWithFlags>> platformSrcs) |
static com.google.common.collect.ImmutableMap<Path,SourcePath> |
parseExportedHeaders(BuildTarget buildTarget,
ActionGraphBuilder graphBuilder,
ProjectFilesystem projectFilesystem,
Optional<CxxPlatform> cxxPlatform,
CxxLibraryDescription.CommonArg args) |
static com.google.common.collect.ImmutableMap<Path,SourcePath> |
parseExportedPlatformHeaders(BuildTarget buildTarget,
ActionGraphBuilder graphBuilder,
ProjectFilesystem projectFilesystem,
CxxPlatform cxxPlatform,
CxxLibraryDescription.CommonArg args) |
static com.google.common.collect.ImmutableMap<Path,SourcePath> |
parseHeaders(BuildTarget buildTarget,
ActionGraphBuilder graphBuilder,
ProjectFilesystem projectFilesystem,
Optional<CxxPlatform> cxxPlatform,
CxxConstructorArg args) |
static HeaderSymlinkTree |
requireHeaderSymlinkTree(BuildTarget buildTarget,
ProjectFilesystem projectFilesystem,
ActionGraphBuilder graphBuilder,
CxxPlatform cxxPlatform,
com.google.common.collect.ImmutableMap<Path,SourcePath> headers,
HeaderVisibility headerVisibility,
boolean shouldCreateHeadersSymlinks) |
static MappedSymlinkTree |
requireSharedLibrarySymlinkTree(BuildTarget buildTarget,
ProjectFilesystem filesystem,
ActionGraphBuilder graphBuilder,
CxxPlatform cxxPlatform,
Iterable<? extends BuildRule> deps) |
public static final Flavor INCREMENTAL_THINLTO
public static final Flavor HEADER_SYMLINK_TREE_FLAVOR
public static final Flavor EXPORTED_HEADER_SYMLINK_TREE_FLAVOR
public static final Flavor STATIC_FLAVOR
public static final Flavor STATIC_PIC_FLAVOR
public static final Flavor SHARED_FLAVOR
public static final Flavor SHARED_INTERFACE_FLAVOR
public static final Flavor MACH_O_BUNDLE_FLAVOR
public static final Flavor SHARED_LIBRARY_SYMLINK_TREE_FLAVOR
public static final Flavor BINARY_WITH_SHARED_LIBRARIES_SYMLINK_TREE_FLAVOR
public static final Flavor CXX_LINK_BINARY_FLAVOR
public static final Flavor CXX_LINK_THININDEX_FLAVOR
public static final Flavor CXX_LINK_MAP_FLAVOR
public static HeaderMode getHeaderModeForPlatform(BuildRuleResolver resolver, TargetConfiguration targetConfiguration, CxxPlatform cxxPlatform, boolean shouldCreateHeadersSymlinks)
public static HeaderSymlinkTree createHeaderSymlinkTree(BuildTarget buildTarget, ProjectFilesystem projectFilesystem, HeaderMode mode, com.google.common.collect.ImmutableMap<Path,SourcePath> headers, HeaderVisibility headerVisibility, Flavor... flavors)
public static HeaderSymlinkTree createHeaderSymlinkTree(BuildTarget buildTarget, ProjectFilesystem projectFilesystem, BuildRuleResolver resolver, CxxPlatform cxxPlatform, com.google.common.collect.ImmutableMap<Path,SourcePath> headers, HeaderVisibility headerVisibility, boolean shouldCreateHeadersSymlinks)
public static HeaderSymlinkTree requireHeaderSymlinkTree(BuildTarget buildTarget, ProjectFilesystem projectFilesystem, ActionGraphBuilder graphBuilder, CxxPlatform cxxPlatform, com.google.common.collect.ImmutableMap<Path,SourcePath> headers, HeaderVisibility headerVisibility, boolean shouldCreateHeadersSymlinks)
public static BuildTarget createHeaderSymlinkTreeTarget(BuildTarget target, HeaderVisibility headerVisibility, Flavor... flavors)
BuildTarget
to use for the BuildRule
generating the symlink tree of
headers.public static Path getHeaderSymlinkTreePath(ProjectFilesystem filesystem, BuildTarget target, HeaderVisibility headerVisibility, Flavor... flavors)
Path
to use for the symlink tree of headers.public static Flavor getHeaderSymlinkTreeFlavor(HeaderVisibility headerVisibility)
public static com.google.common.collect.ImmutableMap<Path,SourcePath> parseHeaders(BuildTarget buildTarget, ActionGraphBuilder graphBuilder, ProjectFilesystem projectFilesystem, Optional<CxxPlatform> cxxPlatform, CxxConstructorArg args)
SourcePath
objects formed by parsing the
input SourcePath
objects for the "headers" parameter.public static com.google.common.collect.ImmutableMap<Path,SourcePath> parseExportedHeaders(BuildTarget buildTarget, ActionGraphBuilder graphBuilder, ProjectFilesystem projectFilesystem, Optional<CxxPlatform> cxxPlatform, CxxLibraryDescription.CommonArg args)
SourcePath
objects formed by parsing the
input SourcePath
objects for the "exportedHeaders" parameter.public static com.google.common.collect.ImmutableMap<Path,SourcePath> parseExportedPlatformHeaders(BuildTarget buildTarget, ActionGraphBuilder graphBuilder, ProjectFilesystem projectFilesystem, CxxPlatform cxxPlatform, CxxLibraryDescription.CommonArg args)
SourcePath
objects formed by parsing the
input SourcePath
objects for the "exportedHeaders" parameter.public static com.google.common.collect.ImmutableMap<String,CxxSource> parseCxxSources(BuildTarget buildTarget, ActionGraphBuilder graphBuilder, CxxPlatform cxxPlatform, CxxConstructorArg args)
CxxSource
objects formed by parsing the input SourcePath
objects
for the "srcs" parameter.public static com.google.common.collect.ImmutableMap<String,CxxSource> parseCxxSources(BuildTarget buildTarget, ActionGraphBuilder graphBuilder, CxxPlatform cxxPlatform, com.google.common.collect.ImmutableSortedSet<SourceWithFlags> srcs, PatternMatchedCollection<com.google.common.collect.ImmutableSortedSet<SourceWithFlags>> platformSrcs)
public static com.google.common.collect.ImmutableList<CxxPreprocessorInput> collectCxxPreprocessorInput(BuildTarget target, CxxPlatform cxxPlatform, ActionGraphBuilder graphBuilder, Iterable<BuildRule> deps, com.google.common.collect.ImmutableMultimap<CxxSource.Type,? extends Arg> preprocessorFlags, com.google.common.collect.ImmutableList<HeaderSymlinkTree> headerSymlinkTrees, com.google.common.collect.ImmutableSet<FrameworkPath> frameworks, Iterable<CxxPreprocessorInput> cxxPreprocessorInputFromDeps, com.google.common.collect.ImmutableSortedSet<SourcePath> rawHeaders, com.google.common.collect.ImmutableSortedSet<String> includeDirectories, ProjectFilesystem projectFilesystem)
public static BuildTarget createStaticLibraryBuildTarget(BuildTarget target, Flavor platform, PicType pic)
public static BuildTarget createSharedLibraryBuildTarget(BuildTarget target, Flavor platform, Linker.LinkType linkType)
public static String getStaticLibraryName(BuildTarget target, Optional<String> staticLibraryBasename, String extension, boolean uniqueLibraryNameEnabled)
public static String getStaticLibraryBasename(BuildTarget target, String suffix, boolean uniqueLibraryNameEnabled)
public static String getStaticLibraryName(BuildTarget target, Optional<String> staticLibraryBasename, String extension, String suffix, boolean uniqueLibraryNameEnabled)
public static String getSharedLibrarySoname(Optional<String> declaredSoname, BuildTarget target, CxxPlatform platform, ProjectFilesystem projectFilesystem)
public static String getDefaultSharedLibrarySoname(BuildTarget target, CxxPlatform platform, ProjectFilesystem projectFilesystem)
public static Path getSharedLibraryPath(ProjectFilesystem filesystem, BuildTarget sharedLibraryTarget, String soname)
public static BuildTarget createCxxLinkTarget(BuildTarget target, Optional<LinkerMapMode> flavoredLinkerMapMode)
public static AddsToRuleKeyFunction<FrameworkPath,Path> frameworkPathToSearchPath(CxxPlatform cxxPlatform, SourcePathResolverAdapter resolver)
FrameworkPath
to search paths with any embedded
macros expanded.public static CxxLinkAndCompileRules createBuildRuleForCxxThinLtoBinary(BuildTarget target, ProjectFilesystem projectFilesystem, ActionGraphBuilder graphBuilder, CellPathResolver cellRoots, CxxBuckConfig cxxBuckConfig, CxxPlatform cxxPlatform, CxxBinaryDescription.CommonArg args, com.google.common.collect.ImmutableSet<BuildTarget> extraDeps, Optional<StripStyle> stripStyle, Optional<LinkerMapMode> flavoredLinkerMapMode)
public static CxxLinkAndCompileRules createBuildRulesForCxxBinaryDescriptionArg(TargetGraph targetGraph, BuildTarget target, ProjectFilesystem projectFilesystem, ActionGraphBuilder graphBuilder, CellPathResolver cellRoots, CxxBuckConfig cxxBuckConfig, CxxPlatform cxxPlatform, CxxBinaryDescription.CommonArg args, com.google.common.collect.ImmutableSet<BuildTarget> extraDeps, Optional<StripStyle> stripStyle, Optional<LinkerMapMode> flavoredLinkerMapMode)
public static CxxLinkAndCompileRules createBuildRulesForCxxBinary(BuildTarget target, ProjectFilesystem projectFilesystem, ActionGraphBuilder graphBuilder, CellPathResolver cellRoots, CxxBuckConfig cxxBuckConfig, CxxPlatform cxxPlatform, com.google.common.collect.ImmutableMap<String,CxxSource> srcs, com.google.common.collect.ImmutableMap<Path,SourcePath> headers, SortedSet<BuildRule> deps, com.google.common.collect.ImmutableSet<BuildTarget> linkWholeDeps, Optional<StripStyle> stripStyle, Optional<LinkerMapMode> flavoredLinkerMapMode, Linker.LinkableDepType linkStyle, Optional<LinkableListFilter> linkableListFilter, CxxLinkOptions linkOptions, com.google.common.collect.ImmutableList<StringWithMacros> preprocessorFlags, PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>> platformPreprocessorFlags, com.google.common.collect.ImmutableMap<CxxSource.Type,com.google.common.collect.ImmutableList<StringWithMacros>> langPreprocessorFlags, com.google.common.collect.ImmutableMap<CxxSource.Type,PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>>> langPlatformPreprocessorFlags, com.google.common.collect.ImmutableSortedSet<FrameworkPath> frameworks, com.google.common.collect.ImmutableSortedSet<FrameworkPath> libraries, com.google.common.collect.ImmutableList<StringWithMacros> compilerFlags, com.google.common.collect.ImmutableMap<CxxSource.Type,com.google.common.collect.ImmutableList<StringWithMacros>> langCompilerFlags, PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>> platformCompilerFlags, com.google.common.collect.ImmutableMap<CxxSource.Type,PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>>> langPlatformCompilerFlags, Optional<SourcePath> prefixHeader, Optional<SourcePath> precompiledHeader, com.google.common.collect.ImmutableList<StringWithMacros> linkerFlags, com.google.common.collect.ImmutableList<String> linkerExtraOutputs, PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>> platformLinkerFlags, Optional<Linker.CxxRuntimeType> cxxRuntimeType, com.google.common.collect.ImmutableSortedSet<SourcePath> rawHeaders, com.google.common.collect.ImmutableSortedSet<String> includeDirectories, Optional<String> outputRootName)
public static CxxStrip createCxxStripRule(BuildTarget baseBuildTarget, ProjectFilesystem projectFilesystem, ActionGraphBuilder graphBuilder, StripStyle stripStyle, boolean isCacheable, BuildRule unstrippedBinaryRule, CxxPlatform cxxPlatform, Optional<String> outputRootName)
public static BuildRule createUberCompilationDatabase(BuildTarget buildTarget, ProjectFilesystem projectFilesystem, ActionGraphBuilder graphBuilder)
public static Optional<com.facebook.buck.cxx.CxxCompilationDatabaseDependencies> createCompilationDatabaseDependencies(BuildTarget buildTarget, FlavorDomain<?> platforms, ActionGraphBuilder graphBuilder, com.google.common.collect.ImmutableSortedSet<BuildTarget> deps)
public static BuildTarget createSharedLibrarySymlinkTreeTarget(BuildTarget target, Flavor platform)
BuildTarget
to use for the BuildRule
generating the symlink tree of
shared libraries.public static Path getSharedLibrarySymlinkTreePath(ProjectFilesystem filesystem, BuildTarget target, Flavor platform)
Path
to use for the symlink tree of headers.public static MappedSymlinkTree createSharedLibrarySymlinkTree(BuildTarget baseBuildTarget, ProjectFilesystem filesystem, ActionGraphBuilder graphBuilder, CxxPlatform cxxPlatform, Iterable<? extends BuildRule> deps, java.util.function.Function<? super BuildRule,Optional<Iterable<? extends BuildRule>>> passthrough)
HeaderSymlinkTree
of all the shared libraries found via the top-level rule's
transitive dependencies.public static MappedSymlinkTree requireSharedLibrarySymlinkTree(BuildTarget buildTarget, ProjectFilesystem filesystem, ActionGraphBuilder graphBuilder, CxxPlatform cxxPlatform, Iterable<? extends BuildRule> deps)
public static Flavor flavorForLinkableDepType(Linker.LinkableDepType linkableDepType)
public static StringWithMacrosConverter getStringWithMacrosArgsConverter(BuildTarget target, CellPathResolver cellPathResolver, ActionGraphBuilder graphBuilder, CxxPlatform cxxPlatform)
StringWithMacrosConverter
to use when converting C/C++ flags.public static BuildRule createLinkMap(BuildTarget target, ProjectFilesystem projectFilesystem, SourcePathRuleFinder ruleFinder, CxxLinkAndCompileRules cxxLinkAndCompileRules)
BuildRule
that produces a single file that contains linker map produced
during the linking process.HumanReadableException
- if the linked does not support linker maps.