# 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.

Since:
  2.2

- ## 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.
    Since:
      2.2

  - ### 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...)`
    Since:
      2.2

  - ### target

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

  - ### target

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

  - ### 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.
    Since:
      2.2