Package com.facebook.buck.cxx
Interface CxxConstructorArg
-
- All Superinterfaces:
BuildRuleArg
,ConstructorArg
,DataTransferObject
,HasDeclaredDeps
,HasDefaultFlavors
,HasDefaultPlatform
,HasSystemFrameworkAndLibraries
,HasTests
- All Known Subinterfaces:
AppleNativeTargetDescriptionArg
,CxxBinaryDescription.CommonArg
,CxxLibraryDescription.CommonArg
,LinkableCxxConstructorArg
- All Known Implementing Classes:
AppleBinaryDescriptionArg
,AppleLibraryDescriptionArg
,AppleTestDescriptionArg
,CgoLibraryDescriptionArg
,CxxBinaryDescriptionArg
,CxxLibraryDescriptionArg
,CxxLuaExtensionDescriptionArg
,CxxPythonExtensionDescriptionArg
,CxxTestDescriptionArg
,HalideLibraryDescriptionArg
public interface CxxConstructorArg extends BuildRuleArg, HasDeclaredDeps, HasDefaultFlavors, HasDefaultPlatform, HasTests, HasSystemFrameworkAndLibraries
-
-
Field Summary
-
Fields inherited from interface com.facebook.buck.core.description.arg.BuildRuleArg
DEFAULT_TARGET_PLATFORM_PARAM_NAME
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default void
checkDuplicateSources(SourcePathResolverAdapter sourcePathResolverAdapter)
Checks that there are no files that appear both in srcs and platform_srcsdefault void
checkHeadersUsage()
com.google.common.collect.ImmutableList<StringWithMacros>
getCompilerFlags()
default CxxDeps
getCxxDeps()
Optional<Linker.CxxRuntimeType>
getCxxRuntimeType()
default com.google.common.collect.ImmutableSortedSet<Flavor>
getDefaultFlavors()
com.google.common.collect.ImmutableMap<String,Flavor>
getDefaults()
Optional<String>
getExecutableName()
Optional<String>
getHeaderNamespace()
default SourceSortedSet
getHeaders()
default com.google.common.collect.ImmutableSortedSet<String>
getIncludeDirectories()
A list of include directories to be added to the compile command for compiling this cxx target.com.google.common.collect.ImmutableMap<CxxSource.Type,com.google.common.collect.ImmutableList<StringWithMacros>>
getLangCompilerFlags()
com.google.common.collect.ImmutableMap<CxxSource.Type,PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>>>
getLangPlatformCompilerFlags()
com.google.common.collect.ImmutableMap<CxxSource.Type,PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>>>
getLangPlatformPreprocessorFlags()
com.google.common.collect.ImmutableMap<CxxSource.Type,com.google.common.collect.ImmutableList<StringWithMacros>>
getLangPreprocessorFlags()
com.google.common.collect.ImmutableList<String>
getLinkerExtraOutputs()
com.google.common.collect.ImmutableList<StringWithMacros>
getLinkerFlags()
default PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>>
getPlatformCompilerFlags()
default PatternMatchedCollection<com.google.common.collect.ImmutableSortedSet<BuildTarget>>
getPlatformDeps()
default PatternMatchedCollection<SourceSortedSet>
getPlatformHeaders()
default PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>>
getPlatformLinkerFlags()
default PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>>
getPlatformPreprocessorFlags()
default PatternMatchedCollection<com.google.common.collect.ImmutableSortedSet<SourceWithFlags>>
getPlatformSrcs()
com.google.common.collect.ImmutableList<StringWithMacros>
getPostLinkerFlags()
default PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>>
getPostPlatformLinkerFlags()
Optional<SourcePath>
getPrecompiledHeader()
Optional<SourcePath>
getPrefixHeader()
com.google.common.collect.ImmutableList<StringWithMacros>
getPreprocessorFlags()
default CxxDeps
getPrivateCxxDeps()
default com.google.common.collect.ImmutableSortedSet<SourcePath>
getRawHeaders()
Raw headers are headers which are used as they are (via compilation flags).com.google.common.collect.ImmutableSortedSet<SourceWithFlags>
getSrcs()
-
Methods inherited from interface com.facebook.buck.core.description.arg.BuildRuleArg
getCompatibleWith, getDefaultTargetPlatform, getLabels, getLicenses, labelsContainsAnyOf
-
Methods inherited from interface com.facebook.buck.core.description.arg.ConstructorArg
getName
-
Methods inherited from interface com.facebook.buck.core.description.arg.HasDeclaredDeps
getDeps
-
Methods inherited from interface com.facebook.buck.core.description.arg.HasDefaultPlatform
getDefaultPlatform
-
Methods inherited from interface com.facebook.buck.cxx.toolchain.HasSystemFrameworkAndLibraries
getFrameworks, getLibraries
-
-
-
-
Method Detail
-
getSrcs
@NaturalOrder com.google.common.collect.ImmutableSortedSet<SourceWithFlags> getSrcs()
-
getPlatformSrcs
@Default default PatternMatchedCollection<com.google.common.collect.ImmutableSortedSet<SourceWithFlags>> getPlatformSrcs()
-
checkDuplicateSources
default void checkDuplicateSources(SourcePathResolverAdapter sourcePathResolverAdapter)
Checks that there are no files that appear both in srcs and platform_srcs
-
getHeaders
@Default default SourceSortedSet getHeaders()
-
getRawHeaders
@Default default com.google.common.collect.ImmutableSortedSet<SourcePath> getRawHeaders()
Raw headers are headers which are used as they are (via compilation flags). Buck doesn't copy them or create symlinks for them. They are public (since managed by compilation flags).- Returns:
- a list of raw headers
-
getIncludeDirectories
@Default default com.google.common.collect.ImmutableSortedSet<String> getIncludeDirectories()
A list of include directories to be added to the compile command for compiling this cxx target.- Returns:
- a list of private include paths for this cxx target.
-
checkHeadersUsage
@Check default void checkHeadersUsage()
-
getPlatformHeaders
@Default default PatternMatchedCollection<SourceSortedSet> getPlatformHeaders()
-
getPrefixHeader
Optional<SourcePath> getPrefixHeader()
-
getPrecompiledHeader
Optional<SourcePath> getPrecompiledHeader()
-
getCompilerFlags
com.google.common.collect.ImmutableList<StringWithMacros> getCompilerFlags()
-
getLangCompilerFlags
com.google.common.collect.ImmutableMap<CxxSource.Type,com.google.common.collect.ImmutableList<StringWithMacros>> getLangCompilerFlags()
-
getLangPlatformCompilerFlags
com.google.common.collect.ImmutableMap<CxxSource.Type,PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>>> getLangPlatformCompilerFlags()
-
getPlatformCompilerFlags
@Default default PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>> getPlatformCompilerFlags()
-
getPreprocessorFlags
com.google.common.collect.ImmutableList<StringWithMacros> getPreprocessorFlags()
-
getPlatformPreprocessorFlags
@Default default PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>> getPlatformPreprocessorFlags()
-
getLangPreprocessorFlags
com.google.common.collect.ImmutableMap<CxxSource.Type,com.google.common.collect.ImmutableList<StringWithMacros>> getLangPreprocessorFlags()
-
getLangPlatformPreprocessorFlags
com.google.common.collect.ImmutableMap<CxxSource.Type,PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>>> getLangPlatformPreprocessorFlags()
-
getLinkerFlags
com.google.common.collect.ImmutableList<StringWithMacros> getLinkerFlags()
-
getPostLinkerFlags
com.google.common.collect.ImmutableList<StringWithMacros> getPostLinkerFlags()
-
getLinkerExtraOutputs
com.google.common.collect.ImmutableList<String> getLinkerExtraOutputs()
-
getPlatformLinkerFlags
@Default default PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>> getPlatformLinkerFlags()
-
getPostPlatformLinkerFlags
@Default default PatternMatchedCollection<com.google.common.collect.ImmutableList<StringWithMacros>> getPostPlatformLinkerFlags()
-
getPlatformDeps
@Default default PatternMatchedCollection<com.google.common.collect.ImmutableSortedSet<BuildTarget>> getPlatformDeps()
-
getCxxRuntimeType
Optional<Linker.CxxRuntimeType> getCxxRuntimeType()
-
getDefaultFlavors
@Derived default com.google.common.collect.ImmutableSortedSet<Flavor> getDefaultFlavors()
- Specified by:
getDefaultFlavors
in interfaceHasDefaultFlavors
- Returns:
- If present, the default flavors with which to build this target if none are provided on the command line.
-
getCxxDeps
@Derived default CxxDeps getCxxDeps()
- Returns:
- the C/C++ deps this rule builds against.
-
getPrivateCxxDeps
@Derived default CxxDeps getPrivateCxxDeps()
- Returns:
- C/C++ deps which are *not* propagated to dependents.
-
-