Version Information

## Version Information Version Information — Variables and macros to check the exo version |

## Synopsis

    #include <exo/exo.h>

    extern      const guint exo_major_version;
    extern      const guint exo_minor_version;
    extern      const guint exo_micro_version;

    #define     EXO_MAJOR_VERSION
    #define     EXO_MINOR_VERSION
    #define     EXO_MICRO_VERSION
    #define     EXO_CHECK_VERSION               (major,minor,micro)

## Description

Exo provides version information, primarily useful in configure for builds that have a configure script. Applications may use it to check if a certain feature is available in the version of libexo they are being built against or being linked with.

## Details

### exo_major_version

    extern const guint exo_major_version;

The major version number of the exo library (e.g. in libexo 0.1.3 this is 0).

This variable is in the library, and therefore represents the exo library you have linked against. Contrast with the EXO_MAJOR_VERSION macro, which represents the major version of the libexo headers you have included.

### exo_minor_version

    extern const guint exo_minor_version;

The minor version number of the exo library (e.g. in libexo 0.1.3 this is 1).

This variable is in the library, and therefore represents the exo library you have linked against. Contrast with the EXO_MINOR_VERSION macro, which represents the minor version of the libexo headers you have included.

### exo_micro_version

    extern const guint exo_micro_version;

The micro version number of the exo library (e.g. in libexo 0.1.3 this is 3).

This variable is in the library, and therefore represents the exo library you have linked against. Contrast with the EXO_MICRO_VERSION macro, which represents the micro version of the libexo headers you have included.

### EXO_MAJOR_VERSION

    #define EXO_MAJOR_VERSION 0

Like exo_major_version, but from the headers used at application compile time, rather than from the library linked against at application run time.

### EXO_MINOR_VERSION

    #define EXO_MINOR_VERSION 3

Like exo_minor_version, but from the headers used at application compile time, rather than from the library linked against at application run time.

### EXO_MICRO_VERSION

    #define EXO_MICRO_VERSION 0

Like exo_micro_version, but from the headers used at application compile time, rather than from the library linked against at application run time.

### EXO_CHECK_VERSION()

    #define     EXO_CHECK_VERSION(major,minor,micro)

Returns `TRUE` if the version of the libexo header files is equal or better than the passed-in version.

`major` : | major version (e.g. 0 for version 0.1.3)
`minor` : | minor version (e.g. 1 for version 0.1.3)
`micro` : | micro version (e.g. 3 for version 0.1.3)