Class CxxToolchainDescriptionArg

    • Method Detail

      • getPrivateHeadersSymlinksEnabled

        public boolean getPrivateHeadersSymlinksEnabled()
        When building or creating a project, create symlinks for the public headers if it's true.
      • getPublicHeadersSymlinksEnabled

        public boolean getPublicHeadersSymlinksEnabled()
        When building or creating a project, create symlinks for the public headers if it's true. It would allow public headers to include an other public header with #include "foobar.h"\ even if it's not in the same folder.
      • getUseArgFile

        public boolean getUseArgFile()
        Whether to use an argfile for long command lines.
      • getSharedLibraryExtension

        public String getSharedLibraryExtension()
        Extension of shared library files.
      • getSharedLibraryVersionedExtensionFormat

        public String getSharedLibraryVersionedExtensionFormat()
        Extension format for versioned shared libraries.
      • getStaticLibraryExtension

        public String getStaticLibraryExtension()
        Extension for static library files.
      • getObjectFileExtension

        public String getObjectFileExtension()
        Extension for object files.
      • getBinaryExtension

        public Optional<String> getBinaryExtension()
        Extension for binary files.
      • getAssembler

        public SourcePath getAssembler()
        Assembler binary.
      • getAssemblerFlags

        public com.google.common.collect.ImmutableList<String> getAssemblerFlags()
        Flags for the assembler.
      • getCCompiler

        public SourcePath getCCompiler()
        C compiler binary.
      • getCCompilerFlags

        public com.google.common.collect.ImmutableList<String> getCCompilerFlags()
        C compiler flags.
      • getCxxCompiler

        public SourcePath getCxxCompiler()
        C++ compiler binary.
      • getCxxCompilerFlags

        public com.google.common.collect.ImmutableList<String> getCxxCompilerFlags()
        C++ compiler flags.
      • getLinker

        public SourcePath getLinker()
        Linker binary.
      • getLinkerFlags

        public com.google.common.collect.ImmutableList<String> getLinkerFlags()
        Linker flags.
      • getArchiver

        public SourcePath getArchiver()
        Archiver binary.
      • getArchiverFlags

        public com.google.common.collect.ImmutableList<String> getArchiverFlags()
        Archiver flags.
      • getStrip

        public SourcePath getStrip()
        Strip binary.
      • getRanlibFlags

        public com.google.common.collect.ImmutableList<String> getRanlibFlags()
        Ranlib flags.
      • getStripFlags

        public com.google.common.collect.ImmutableList<String> getStripFlags()
        Strip flags.
      • getStaticDepRuntimeLdFlags

        public com.google.common.collect.ImmutableList<String> getStaticDepRuntimeLdFlags()
        Flags for linking the c/c++ runtime for static libraries.
      • getStaticPicDepRuntimeLdFlags

        public com.google.common.collect.ImmutableList<String> getStaticPicDepRuntimeLdFlags()
        Flags for linking the c/c++ runtime for static-pic libraries.
      • getSharedDepRuntimeLdFlags

        public com.google.common.collect.ImmutableList<String> getSharedDepRuntimeLdFlags()
        Flags for linking the c/c++ runtime for shared libraries.
      • getObjcopyForSharedLibraryInterface

        public SourcePath getObjcopyForSharedLibraryInterface()
        Objcopy binary to use for creating shared library interfaces.
      • getUseHeaderMap

        public boolean getUseHeaderMap()
        Whether to use header maps.
      • getFilepathLengthLimited

        public boolean getFilepathLengthLimited()
        Whether to use shorter intermediate files.
      • getHeadersWhitelist

        public com.google.common.collect.ImmutableList<String> getHeadersWhitelist()
        A list of regexes which match headers (belonging to the toolchain) to exempt from untracked header verification.
      • getLicenses

        public com.google.common.collect.ImmutableSet<SourcePath> getLicenses()
        Specified by:
        getLicenses in interface BuildRuleArg
        Returns:
        The value of the licenses attribute
      • getLabels

        public com.google.common.collect.ImmutableSortedSet<String> getLabels()
        Specified by:
        getLabels in interface BuildRuleArg
        Returns:
        The value of the labels attribute
      • getDefaultTargetPlatform

        public Optional<UnconfiguredBuildTarget> getDefaultTargetPlatform()
        The name of build target default "new" platform: it is used when a platform is not specified either globally or in a target which used this target as a dependency.

        The value is a build target, but we specify it as string, because this function is not actually called, but the attr is fetched by name from the raw (unconfigured) target node.

        Specified by:
        getDefaultTargetPlatform in interface BuildRuleArg
      • equals

        public boolean equals​(@Nullable
                              Object another)
        This instance is equal to all instances of CxxToolchainDescriptionArg that have equal attribute values.
        Overrides:
        equals in class Object
        Returns:
        true if this is equal to another instance
      • hashCode

        public int hashCode()
        Computes a hash code from attributes: privateHeadersSymlinksEnabled, publicHeadersSymlinksEnabled, useArgFile, sharedLibraryExtension, sharedLibraryVersionedExtensionFormat, staticLibraryExtension, objectFileExtension, binaryExtension, compilerType, linkerType, assembler, assemblerFlags, cCompiler, cCompilerFlags, cxxCompiler, cxxCompilerFlags, linker, linkerFlags, archiver, archiverFlags, archiverType, strip, ranlib, ranlibFlags, stripFlags, staticDepRuntimeLdFlags, staticPicDepRuntimeLdFlags, sharedDepRuntimeLdFlags, nm, sharedLibraryInterfaceType, objcopyForSharedLibraryInterface, useHeaderMap, filepathLengthLimited, headersWhitelist, licenses, labels, defaultTargetPlatform, compatibleWith, name.
        Overrides:
        hashCode in class Object
        Returns:
        hashCode value
      • toString

        public String toString()
        Prints the immutable value CxxToolchainDescriptionArg with attribute values.
        Overrides:
        toString in class Object
        Returns:
        A string representation of the value