#### 16.5.21 Toolchains customization

The list of toolchains and their values presented in the project editor (see The Project Wizard) can be customized through XML. The GPS default list is contained in `toolchains.xml`. You can add your own toolchain by providing an xml description following the below described structure:

`<toolchain_default>`
  Contains the default names for the different tools used by all toolchains. The final name used will be `toolchain_name-default_name`.
`<toolchain name="name">`
  Defines a toolchain using name "name". This toolchain can override the default values defined in the toolchain_default above.

Each of the above tags can have the following chilren

`<gnat_driver>`
  Defines the gnat driver to use.
`<gnat_list>`
  Defines the gnat list tool to use.
`<debugger>`
  Defines the debugger to use.
`<cpp_filt>`
  Not used by GPS.
`<compiler lang="lang">`
  Defines the compiler to use to compile language "lang"

The toolchain_default values can either be overriden or nullified by just providing the same tab with an empty value in a toolchain definition.