# Interface GccCompatibleToolChain

All Superinterfaces:
  `Named, NativeToolChain, ToolChain`

All Known Subinterfaces:
  `Clang, Gcc`

@Incubating public interface GccCompatibleToolChain extends NativeToolChain
A ToolChain that can handle additional platforms simply by configuring the NativeBinary.

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface Named

  `Named.Namer`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `eachPlatform(Action<? super GccPlatformToolChain> action)`
  Adds an action that can fine-tune the tool configuration for each platform supported by this tool chain.
  `List<File>`
  `getPath()`
  The paths setting required for executing the tool chain.
  `void`
  `path(Object... pathEntries)`
  Append an entry or entries to the tool chain path.
  `void`
  `setTargets(String... platformNames)`
  Override the current platform configuration with target platforms specified by name
  `void`
  `target(String platformName)`
  Add support for target platform specified by name.
  `void`
  `target(String platformName, Action<? super GccPlatformToolChain> action)`
  Add configuration for a target platform specified by name with additional configuration action.

  ### Methods inherited from interface Named

  `getName`

  ### Methods inherited from interface ToolChain

  `getDisplayName`

- ## Method Details

  - ### getPath

    List<File> getPath()
    The paths setting required for executing the tool chain. These are used to locate tools for this tool chain, and are prepended to the system PATH when executing these tools.

  - ### path

    void path(Object... pathEntries)
    Append an entry or entries to the tool chain path.
    Parameters:
      `pathEntries` - The path values to append. These are evaluated as per `Project.files(Object...)`

  - ### target

    void target(String platformName)
    Add support for target platform specified by name.

  - ### target

    void target(String platformName, Action<? super GccPlatformToolChain> action)
    Add configuration for a target platform specified by name with additional configuration action.

  - ### setTargets

    void setTargets(String... platformNames)
    Override the current platform configuration with target platforms specified by name
    Since:
      4.4

  - ### eachPlatform

    void eachPlatform(Action<? super GccPlatformToolChain> action)
    Adds an action that can fine-tune the tool configuration for each platform supported by this tool chain.