public class HalideLibraryDescription extends Object implements DescriptionWithTargetGraph<HalideLibraryDescriptionArg>, Flavored, AppleCustomLinkingDepsDescription
Modifier and Type | Field and Description |
---|---|
static Flavor |
HALIDE_COMPILE_FLAVOR |
static Flavor |
HALIDE_COMPILER_FLAVOR |
Constructor and Description |
---|
HalideLibraryDescription(ToolchainProvider toolchainProvider,
CxxBuckConfig cxxBuckConfig,
HalideBuckConfig halideBuckConfig) |
Modifier and Type | Method and Description |
---|---|
BuildRule |
createBuildRule(BuildRuleCreationContextWithTargetGraph context,
BuildTarget buildTarget,
BuildRuleParams params,
HalideLibraryDescriptionArg args)
Create a
BuildRule for the given BuildRuleParams . |
static BuildTarget |
createHalideCompilerBuildTarget(BuildTarget target) |
Class<HalideLibraryDescriptionArg> |
getConstructorArgType()
The type of the constructor argument that is used by this description to create a rule
|
com.google.common.collect.ImmutableSortedSet<BuildTarget> |
getCustomLinkingDeps(BuildRuleArg args) |
boolean |
hasFlavors(com.google.common.collect.ImmutableSet<Flavor> flavors,
TargetConfiguration toolchainTargetConfiguration) |
static boolean |
isPlatformSupported(HalideLibraryDescriptionArg arg,
CxxPlatform cxxPlatform) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
producesCacheableSubgraph
getConfigurationDeps
flavorDomains
public static final Flavor HALIDE_COMPILER_FLAVOR
public static final Flavor HALIDE_COMPILE_FLAVOR
public HalideLibraryDescription(ToolchainProvider toolchainProvider, CxxBuckConfig cxxBuckConfig, HalideBuckConfig halideBuckConfig)
public boolean hasFlavors(com.google.common.collect.ImmutableSet<Flavor> flavors, TargetConfiguration toolchainTargetConfiguration)
hasFlavors
in interface Flavored
flavors
- The set of Flavor
s to consider. All must match.BuildRule
of the given Flavor
can be created.public Class<HalideLibraryDescriptionArg> getConstructorArgType()
BaseDescription
getConstructorArgType
in interface BaseDescription<HalideLibraryDescriptionArg>
public static BuildTarget createHalideCompilerBuildTarget(BuildTarget target)
public static boolean isPlatformSupported(HalideLibraryDescriptionArg arg, CxxPlatform cxxPlatform)
public BuildRule createBuildRule(BuildRuleCreationContextWithTargetGraph context, BuildTarget buildTarget, BuildRuleParams params, HalideLibraryDescriptionArg args)
DescriptionWithTargetGraph
BuildRule
for the given BuildRuleParams
. Note that the BuildTarget
referred to in the params
contains the Flavor
to create.createBuildRule
in interface DescriptionWithTargetGraph<HalideLibraryDescriptionArg>
args
- A constructor argument, of type as returned by BaseDescription.getConstructorArgType()
.BuildRule
that describes the default flavour of the rule being described.public com.google.common.collect.ImmutableSortedSet<BuildTarget> getCustomLinkingDeps(BuildRuleArg args)
getCustomLinkingDeps
in interface AppleCustomLinkingDepsDescription