Version Information

Version Information — variables and functions to check the GLib version

Functions

Types and Values

Includes

#include <glib.h>

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.

Functions

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.)

Parameters

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.

[transfer none][nullable]

Since: 2.6


GLIB_CHECK_VERSION()

#define             GLIB_CHECK_VERSION(major,minor,micro)

Checks whether the version of the GLib library that is being compiled against is greater than or equal to the given one.

See glib_check_version() for a runtime check.

Parameters

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.

Types and Values

glib_major_version

extern const guint glib_major_version;

The major version of the GLib library.

An integer variable exported from the library linked against at application run time.


glib_minor_version

extern const guint glib_minor_version;

The minor version number of the GLib library.

An integer variable exported from the library linked against at application run time.


glib_micro_version

extern const guint glib_micro_version;

The micro version number of the GLib library.

An integer variable exported from the library linked against at application run time.


glib_binary_age

extern const guint glib_binary_age;

The binary age of the GLib library. Defines how far back backwards compatibility reaches.

An integer variable exported from the library linked against at application run time.


glib_interface_age

extern const guint glib_interface_age;

The interface age of the GLib library. Defines how far back the API has last been extended.

An integer variable exported from the library linked against at application run time.


GLIB_MAJOR_VERSION

#define GLIB_MAJOR_VERSION 2

The major version number of the GLib library.

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


GLIB_MINOR_VERSION

#define GLIB_MINOR_VERSION 74

The minor version number of the GLib library.

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


GLIB_MICRO_VERSION

#define GLIB_MICRO_VERSION 6

The micro version number of the GLib library.

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


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_2_34

#define GLIB_VERSION_2_34       (G_ENCODE_VERSION (2, 34))

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

Since: 2.34


GLIB_VERSION_2_36

#define GLIB_VERSION_2_36       (G_ENCODE_VERSION (2, 36))

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

Since: 2.36


GLIB_VERSION_2_38

#define GLIB_VERSION_2_38       (G_ENCODE_VERSION (2, 38))

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

Since: 2.38


GLIB_VERSION_2_40

#define GLIB_VERSION_2_40       (G_ENCODE_VERSION (2, 40))

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

Since: 2.40


GLIB_VERSION_2_42

#define GLIB_VERSION_2_42       (G_ENCODE_VERSION (2, 42))

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

Since: 2.42


GLIB_VERSION_2_44

#define GLIB_VERSION_2_44       (G_ENCODE_VERSION (2, 44))

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

Since: 2.44


GLIB_VERSION_2_46

#define GLIB_VERSION_2_46       (G_ENCODE_VERSION (2, 46))

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

Since: 2.46


GLIB_VERSION_2_48

#define GLIB_VERSION_2_48       (G_ENCODE_VERSION (2, 48))

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

Since: 2.48


GLIB_VERSION_2_50

#define GLIB_VERSION_2_50       (G_ENCODE_VERSION (2, 50))

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

Since: 2.50


GLIB_VERSION_2_52

#define GLIB_VERSION_2_52       (G_ENCODE_VERSION (2, 52))

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

Since: 2.52


GLIB_VERSION_2_54

#define GLIB_VERSION_2_54       (G_ENCODE_VERSION (2, 54))

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

Since: 2.54


GLIB_VERSION_2_56

#define GLIB_VERSION_2_56       (G_ENCODE_VERSION (2, 56))

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

Since: 2.56


GLIB_VERSION_2_58

#define GLIB_VERSION_2_58       (G_ENCODE_VERSION (2, 58))

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

Since: 2.58


GLIB_VERSION_2_60

#define GLIB_VERSION_2_60       (G_ENCODE_VERSION (2, 60))

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

Since: 2.60


GLIB_VERSION_2_62

#define GLIB_VERSION_2_62       (G_ENCODE_VERSION (2, 62))

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

Since: 2.62


GLIB_VERSION_2_64

#define GLIB_VERSION_2_64       (G_ENCODE_VERSION (2, 64))

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

Since: 2.64


GLIB_VERSION_2_66

#define GLIB_VERSION_2_66       (G_ENCODE_VERSION (2, 66))

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

Since: 2.66


GLIB_VERSION_2_68

#define GLIB_VERSION_2_68       (G_ENCODE_VERSION (2, 68))

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

Since: 2.68


GLIB_VERSION_2_70

#define GLIB_VERSION_2_70       (G_ENCODE_VERSION (2, 70))

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

Since: 2.70


GLIB_VERSION_2_72

#define GLIB_VERSION_2_72       (G_ENCODE_VERSION (2, 72))

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

Since: 2.72


GLIB_VERSION_2_74

#define GLIB_VERSION_2_74       (G_ENCODE_VERSION (2, 74))

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

Since: 2.74


GLIB_VERSION_CUR_STABLE

#define GLIB_VERSION_CUR_STABLE         (G_ENCODE_VERSION (GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION + 1))

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

During an unstable development cycle, this evaluates to the next stable (unreleased) version which will be the result of the development cycle.

Since: 2.32


GLIB_VERSION_PREV_STABLE

#define GLIB_VERSION_PREV_STABLE        (G_ENCODE_VERSION (GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION - 1))

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

During an unstable development cycle, this evaluates to the most recent released stable release, which preceded this development cycle.

Since: 2.32


GLIB_VERSION_MIN_REQUIRED

# define GLIB_VERSION_MIN_REQUIRED      (GLIB_VERSION_CUR_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 earliest version of GLib that the package is required to be able to compile against.

If the compiler is configured to warn about the use of deprecated functions, then using functions that were deprecated in version GLIB_VERSION_MIN_REQUIRED or earlier will cause warnings (but using functions deprecated in later releases will not).

Since: 2.32


GLIB_VERSION_MAX_ALLOWED

# define GLIB_VERSION_MAX_ALLOWED      (GLIB_VERSION_CUR_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 latest version of the GLib API that the package is allowed to make use of.

If the compiler is configured to warn about the use of deprecated functions, then using functions added after version GLIB_VERSION_MAX_ALLOWED will cause warnings.

Unless you are using GLIB_CHECK_VERSION() or the like to compile different code depending on the GLib version, then this should be set to the same value as GLIB_VERSION_MIN_REQUIRED.

Since: 2.32


GLIB_DISABLE_DEPRECATION_WARNINGS

#ifdef GLIB_DISABLE_DEPRECATION_WARNINGS

A macro that should be defined before including the glib.h header. If it is defined, no compiler warnings will be produced for uses of deprecated GLib APIs.