## Versioning Macros

Versioning Macros — Versioning utility macros

## Synopsis

    #define             CLUTTER_MAJOR_VERSION
    #define             CLUTTER_MINOR_VERSION
    #define             CLUTTER_MICRO_VERSION
    #define             CLUTTER_VERSION
    #define             CLUTTER_VERSION_S
    #define             CLUTTER_VERSION_HEX

    #define             CLUTTER_CHECK_VERSION               (major,
                                                             minor,
                                                             micro)

    #define             CLUTTER_FLAVOUR
    #define             CLUTTER_COGL
    #define             CLUTTER_NO_FPU

    extern              const guint clutter_major_version;
    extern              const guint clutter_minor_version;
    extern              const guint clutter_micro_version;
    gboolean            clutter_check_version               (guint major,
                                                             guint minor,
                                                             guint micro);

## Description

Clutter offers a set of macros for checking the version of the library an application was linked to.

## Details

### CLUTTER_MAJOR_VERSION

    #define CLUTTER_MAJOR_VERSION   (1)

The major version of the Clutter library (1, if `CLUTTER_VERSION` is 1.2.3)

### CLUTTER_MINOR_VERSION

    #define CLUTTER_MINOR_VERSION   (2)

The minor version of the Clutter library (2, if `CLUTTER_VERSION` is 1.2.3)

### CLUTTER_MICRO_VERSION

    #define CLUTTER_MICRO_VERSION   (8)

The micro version of the Clutter library (3, if `CLUTTER_VERSION` is 1.2.3)

### CLUTTER_VERSION

    #define CLUTTER_VERSION         1.2.8

The full version of the Clutter library, like 1.2.3

### CLUTTER_VERSION_S

    #define CLUTTER_VERSION_S       "1.2.8"

The full version of the Clutter library, in string form (suited for string concatenation)

### CLUTTER_VERSION_HEX

    #define             CLUTTER_VERSION_HEX

Numerically encoded version of the Clutter library, like 0x010203

### CLUTTER_CHECK_VERSION()

    #define             CLUTTER_CHECK_VERSION(major,minor,micro)

Evaluates to `TRUE` if the version of the Clutter library is greater than `major`, `minor` and `micro`

`major` : | major version, like 1 in 1.2.3
`minor` : | minor version, like 2 in 1.2.3
`micro` : | micro version, like 3 in 1.2.3

### CLUTTER_FLAVOUR

    #define CLUTTER_FLAVOUR         "glx"

GL Windowing system used

Since 0.4

### CLUTTER_COGL

    #define CLUTTER_COGL            "gl"

Cogl (internal GL abstraction utility library) backend. Can be "gl" or "gles" currently

Since 0.4

### CLUTTER_NO_FPU

    #define CLUTTER_NO_FPU          CLUTTER_NO_FPU_MACRO_WAS_REMOVED

Set to 1 if Clutter was built without FPU (i.e fixed math), 0 otherwise

`Deprecated`: 0.6: This macro is no longer defined (identical code is used regardless the presence of FPU).

### clutter_major_version

    extern const guint clutter_major_version;

The major component of the Clutter library version, e.g. 1 if the version is 1.2.3

This value can be used for run-time version checks

For a compile-time check, use `CLUTTER_MAJOR_VERSION`

Since 1.2

### clutter_minor_version

    extern const guint clutter_minor_version;

The minor component of the Clutter library version, e.g. 2 if the version is 1.2.3

This value can be used for run-time version checks

For a compile-time check, use `CLUTTER_MINOR_VERSION`

Since 1.2

### clutter_micro_version

    extern const guint clutter_micro_version;

The micro component of the Clutter library version, e.g. 3 if the version is 1.2.3

This value can be used for run-time version checks

For a compile-time check, use `CLUTTER_MICRO_VERSION`

Since 1.2

### clutter_check_version ()

    gboolean            clutter_check_version               (guint major,
                                                             guint minor,
                                                             guint micro);

Run-time version check, to check the version the Clutter library that an application is currently linked against

This is the run-time equivalent of the compile-time `CLUTTER_CHECK_VERSION` pre-processor macro

`major` : | major version, like 1 in 1.2.3
`minor` : | minor version, like 2 in 1.2.3
`micro` : | micro version, like 3 in 1.2.3
Returns : | `TRUE` if the version of the Clutter library is greater than (`major`, `minor`, `micro`), and `FALSE` otherwise

Since 1.2