## IdeToolchain IdeToolchain |

## Functions

const gchar * | ide_toolchain_get_id ()
void | ide_toolchain_set_id ()
const gchar * | ide_toolchain_get_display_name ()
void | ide_toolchain_set_display_name ()
IdeTriplet * | ide_toolchain_get_host_triplet ()
void | ide_toolchain_set_host_triplet ()
const gchar * | ide_toolchain_get_tool_for_language ()
GHashTable * | ide_toolchain_get_tools_for_id ()

## Properties

gchar * | display-name | Read / Write
IdeTriplet * | host-triplet | Read / Write
gchar * | id | Read / Write

## Types and Values

#define | IDE_TYPE_TOOLCHAIN
struct | IdeToolchainClass
#define | IDE_TOOLCHAIN_TOOL_CC
#define | IDE_TOOLCHAIN_TOOL_CPP
#define | IDE_TOOLCHAIN_TOOL_AR
#define | IDE_TOOLCHAIN_TOOL_LD
#define | IDE_TOOLCHAIN_TOOL_STRIP
#define | IDE_TOOLCHAIN_TOOL_EXEC
#define | IDE_TOOLCHAIN_TOOL_PKG_CONFIG
#define | IDE_TOOLCHAIN_LANGUAGE_ANY
#define | IDE_TOOLCHAIN_LANGUAGE_C
#define | IDE_TOOLCHAIN_LANGUAGE_CPLUSPLUS
#define | IDE_TOOLCHAIN_LANGUAGE_PYTHON
#define | IDE_TOOLCHAIN_LANGUAGE_VALA
#define | IDE_TOOLCHAIN_LANGUAGE_FORTRAN
#define | IDE_TOOLCHAIN_LANGUAGE_D
| IdeToolchain

## Object Hierarchy

        GObject
        ╰── IdeObject
            ╰── IdeToolchain
                ╰── IdeSimpleToolchain

## Description

## Functions

### ide_toolchain_get_id ()

    const gchar *
    ide_toolchain_get_id (IdeToolchain *self);

Gets the internal identifier of the toolchain

#### Parameters

self | an IdeToolchain |

#### Returns

the unique identifier.

[transfer none]

Since: 3.32

### ide_toolchain_set_id ()

    void
    ide_toolchain_set_id (IdeToolchain *self,
                          const gchar *id);

Sets the internal identifier of the toolchain

#### Parameters

self | an IdeToolchain |
id | the unique identifier |

Since: 3.32

### ide_toolchain_get_display_name ()

    const gchar *
    ide_toolchain_get_display_name (IdeToolchain *self);

### ide_toolchain_set_display_name ()

    void
    ide_toolchain_set_display_name (IdeToolchain *self,
                                    const gchar *display_name);

### ide_toolchain_get_host_triplet ()

    IdeTriplet *
    ide_toolchain_get_host_triplet (IdeToolchain *self);

Gets the combination of arch-kernel-system, sometimes referred to as the "host triplet".

For Linux based devices, this will generally be something like "x86_64-linux-gnu".

#### Parameters

self | an IdeToolchain |

#### Returns

The host system.type of the toolchain.

[transfer full]

Since: 3.32

### ide_toolchain_set_host_triplet ()

    void
    ide_toolchain_set_host_triplet (IdeToolchain *self,
                                    IdeTriplet *host_triplet);

Sets the host system of the toolchain

#### Parameters

self | an IdeToolchain |
host_triplet | an IdeTriplet representing the host architecture of the toolchain |

Since: 3.32

### ide_toolchain_get_tool_for_language ()

    const gchar *
    ide_toolchain_get_tool_for_language (IdeToolchain *self,
                                         const gchar *language,
                                         const gchar *tool_id);

Gets the path of the specified tool for the requested language. If `IDE_TOOLCHAIN_LANGUAGE_ANY` is used in the `language` field, the first tool matching `tool_id` will be returned.

#### Parameters

self | an IdeToolchain |
language | the language of the tool like `IDE_TOOLCHAIN_LANGUAGE_C`. |
tool_id | the identifier of the tool like `IDE_TOOLCHAIN_TOOL_CC` |

#### Returns

A string containing the path of the tool for the given language, or `NULL` is no tool has been found.

[transfer none]

Since: 3.32

### ide_toolchain_get_tools_for_id ()

    GHashTable *
    ide_toolchain_get_tools_for_id (IdeToolchain *self,
                                    const gchar *tool_id);

Gets the list of all the paths to the specified tool id.

#### Parameters

self | an IdeToolchain |
tool_id | the identifier of the tool like `IDE_TOOLCHAIN_TOOL_CC` |

#### Returns

A table of language names and paths.

[transfer full][element-type utf8 utf8]

Since: 3.32

## Types and Values

### IDE_TYPE_TOOLCHAIN

    #define IDE_TYPE_TOOLCHAIN (ide_toolchain_get_type())

### struct IdeToolchainClass

    struct IdeToolchainClass {
      IdeObjectClass parent;

      const gchar *(*get_tool_for_language) (IdeToolchain  *self,
                                             const gchar   *language,
                                             const gchar   *tool_id);

      GHashTable  *(*get_tools_for_id)      (IdeToolchain  *self,
                                             const gchar   *tool_id);
    };

### IDE_TOOLCHAIN_TOOL_CC

    #define IDE_TOOLCHAIN_TOOL_CC          "cc"

### IDE_TOOLCHAIN_TOOL_CPP

    #define IDE_TOOLCHAIN_TOOL_CPP         "cpp"

### IDE_TOOLCHAIN_TOOL_AR

    #define IDE_TOOLCHAIN_TOOL_AR          "ar"

### IDE_TOOLCHAIN_TOOL_LD

    #define IDE_TOOLCHAIN_TOOL_LD          "ld"

### IDE_TOOLCHAIN_TOOL_STRIP

    #define IDE_TOOLCHAIN_TOOL_STRIP       "strip"

### IDE_TOOLCHAIN_TOOL_EXEC

    #define IDE_TOOLCHAIN_TOOL_EXEC        "exec"

### IDE_TOOLCHAIN_TOOL_PKG_CONFIG

    #define IDE_TOOLCHAIN_TOOL_PKG_CONFIG  "pkg-config"

### IDE_TOOLCHAIN_LANGUAGE_ANY

    #define IDE_TOOLCHAIN_LANGUAGE_ANY       "*"

### IDE_TOOLCHAIN_LANGUAGE_C

    #define IDE_TOOLCHAIN_LANGUAGE_C         "c"

### IDE_TOOLCHAIN_LANGUAGE_CPLUSPLUS

    #define IDE_TOOLCHAIN_LANGUAGE_CPLUSPLUS "c++"

### IDE_TOOLCHAIN_LANGUAGE_PYTHON

    #define IDE_TOOLCHAIN_LANGUAGE_PYTHON    "python"

### IDE_TOOLCHAIN_LANGUAGE_VALA

    #define IDE_TOOLCHAIN_LANGUAGE_VALA      "vala"

### IDE_TOOLCHAIN_LANGUAGE_FORTRAN

    #define IDE_TOOLCHAIN_LANGUAGE_FORTRAN   "fortran"

### IDE_TOOLCHAIN_LANGUAGE_D

    #define IDE_TOOLCHAIN_LANGUAGE_D         "d"

### IdeToolchain

    typedef struct _IdeToolchain IdeToolchain;

## Property Details

### The `“display-name”` property

      “display-name”             gchar *

The displayable name of the toolchain.

Owner: IdeToolchain

Flags: Read / Write

Default value: NULL

### The `“host-triplet”` property

      “host-triplet”             IdeTriplet *

The #IdeTriplet object containing the architecture of the machine on which the compiled binary will run.

Owner: IdeToolchain

Flags: Read / Write

### The `“id”` property

      “id”                       gchar *

The toolchain identifier.

Owner: IdeToolchain

Flags: Read / Write

Default value: NULL