<!-- ##### SECTION Title ##### -->
Version Information

<!-- ##### SECTION Short_Description ##### -->
Variables and functions to check the GLib version

<!-- ##### SECTION Long_Description ##### -->
<para>
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.
</para>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### SECTION Image ##### -->


<!-- ##### MACRO GLIB_MAJOR_VERSION ##### -->
<para>
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.
</para>



<!-- ##### MACRO GLIB_MINOR_VERSION ##### -->
<para>
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.
</para>



<!-- ##### MACRO GLIB_MICRO_VERSION ##### -->
<para>
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.
</para>



<!-- ##### MACRO GLIB_CHECK_VERSION ##### -->
<para>
Checks the version of the GLib library.
Returns %TRUE if the version of the GLib header files is the same 
as or newer than the passed-in version.

<example>
<title>Checking the version of the GLib library</title>
<programlisting>
  if (!GLIB_CHECK_VERSION (1, 2, 0))
    g_error ("GLib version 1.2.0 or above is needed");
</programlisting>
</example>
</para>

@major: the major version number.
@minor: the minor version number.
@micro: the micro version number.


