## 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   (9)

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

### CLUTTER_MICRO_VERSION

    #define CLUTTER_MICRO_VERSION   (2)

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

### CLUTTER_VERSION

    #define CLUTTER_VERSION         1.9.2

The full version of the Clutter library, like 1.2.3

### CLUTTER_VERSION_S

    #define CLUTTER_VERSION_S       "1.9.2"

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         "deprecated"

### Warning

`CLUTTER_FLAVOUR` has been deprecated since version 1.10 and should not be used in newly-written code. The macro evaluates to "deprecated" as Clutter can be compiled with multiple windowing system backends. Use the various CLUTTER_WINDOWING_* macros to detect the windowing system that Clutter is being compiled against, and the type check macros for the ClutterBackend for a run-time check.

GL Windowing system used

Since 0.4

### CLUTTER_COGL

    #define CLUTTER_COGL            "deprecated"

### Warning

`CLUTTER_COGL` has been deprecated since version 1.10 and should not be used in newly-written code. The macro evaluates to "deprecated" as Cogl can be compiled against multiple GL implementations.

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