Version Information

Version Information — variables and functions to check the GLib version

Synopsis

#include <glib.h>

extern const guint  glib_major_version;
extern const guint  glib_minor_version;
extern const guint  glib_micro_version;
extern const guint  glib_binary_age;
extern const guint  glib_interface_age;
const gchar *       glib_check_version                  (guint required_major,
                                                         guint required_minor,
                                                         guint required_micro);

#define             GLIB_CHECK_VERSION                  (major,
                                                         minor,
                                                         micro)

#define             GLIB_VERSION_2_26
#define             GLIB_VERSION_2_28
#define             GLIB_VERSION_2_30
#define             GLIB_VERSION_2_32
#define             GLIB_VERSION_MIN_REQUIRED
#define             GLIB_VERSION_MAX_ALLOWED

Description

GLib provides version information, primarily useful in configure checks for builds that have a configure script. Applications will not typically use the features described here.

The GLib headers annotate deprecated APIs in a way that produces compiler warnings if these deprecated APIs are used. The warnings can be turned off by defining the macro GLIB_DISABLE_DEPRECATION_WARNINGS before including the glib.h header.

GLib also provides support for building applications against defined subsets of deprecated or new GLib APIs. Define the macro GLIB_VERSION_MIN_REQUIRED to specify up to what version of GLib you want to receive warnings about deprecated APIs. Define the macro GLIB_VERSION_MAX_ALLOWED to specify the newest version of GLib whose API you want to use.

Details

glib_major_version

extern const guint glib_major_version;

glib_minor_version

extern const guint glib_minor_version;

glib_micro_version

extern const guint glib_micro_version;

glib_binary_age

extern const guint glib_binary_age;

glib_interface_age

extern const guint glib_interface_age;

glib_check_version ()

const gchar *       glib_check_version                  (guint required_major,
                                                         guint required_minor,
                                                         guint required_micro);

Checks that the GLib library in use is compatible with the given version. Generally you would pass in the constants GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION as the three arguments to this function; that produces a check that the library in use is compatible with the version of GLib the application or module was compiled against.

Compatibility is defined by two things: first the version of the running library is newer than the version required_major.required_minor.required_micro. Second the running library must be binary compatible with the version required_major.required_minor.required_micro (same major version.)

required_major :

the required major version.

required_minor :

the required minor version.

required_micro :

the required micro version.

Returns :

NULL if the GLib library is compatible with the given version, or a string describing the version mismatch. The returned string is owned by GLib and must not be modified or freed.

Since 2.6


GLIB_CHECK_VERSION()

#define             GLIB_CHECK_VERSION(major,minor,micro)

Checks the version of the GLib library that is being compiled against.

Example 1. Checking the version of the GLib library

1
2
if (!GLIB_CHECK_VERSION (1, 2, 0))
  g_error ("GLib version 1.2.0 or above is needed");


See glib_check_version() for a runtime check.

major :

the major version to check for

minor :

the minor version to check for

micro :

the micro version to check for

Returns :

TRUE if the version of the GLib header files is the same as or newer than the passed-in version.

GLIB_VERSION_2_26

#define GLIB_VERSION_2_26       (G_ENCODE_VERSION (2, 26))

A macro that evaluates to the 2.26 version of GLib, in a format that can be used by the C pre-processor.

Since 2.32


GLIB_VERSION_2_28

#define GLIB_VERSION_2_28       (G_ENCODE_VERSION (2, 28))

A macro that evaluates to the 2.28 version of GLib, in a format that can be used by the C pre-processor.

Since 2.32


GLIB_VERSION_2_30

#define GLIB_VERSION_2_30       (G_ENCODE_VERSION (2, 30))

A macro that evaluates to the 2.30 version of GLib, in a format that can be used by the C pre-processor.

Since 2.32


GLIB_VERSION_2_32

#define GLIB_VERSION_2_32       (G_ENCODE_VERSION (2, 32))

A macro that evaluates to the 2.32 version of GLib, in a format that can be used by the C pre-processor.

Since 2.32


GLIB_VERSION_MIN_REQUIRED

# define GLIB_VERSION_MIN_REQUIRED      (GLIB_VERSION_PREV_STABLE)

A macro that should be defined by the user prior to including the glib.h header. The definition should be one of the predefined GLib version macros: GLIB_VERSION_2_26, GLIB_VERSION_2_28,...

This macro defines the lower bound for the GLib API to use.

If a function has been deprecated in a newer version of GLib, it is possible to use this symbol to avoid the compiler warnings without disabling warning for every deprecated function.

Since 2.32


GLIB_VERSION_MAX_ALLOWED

#  define GLIB_VERSION_MAX_ALLOWED      GLIB_VERSION_MIN_REQUIRED

A macro that should be defined by the user prior to including the glib.h header. The definition should be one of the predefined GLib version macros: GLIB_VERSION_2_26, GLIB_VERSION_2_28,...

This macro defines the upper bound for the GLib API to use.

If a function has been introduced in a newer version of GLib, it is possible to use this symbol to get compiler warnings when trying to use that function.

Since 2.32