35a7d3eb838a08a90003f19234e296c2d1ecb35a
[profile/ivi/glib2.git] / glib / gversion.h
1 /* GLIB - Library of useful routines for C programming
2  * Copyright (C) 1995-1997  Peter Mattis, Spencer Kimball and Josh MacDonald
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the
16  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17  * Boston, MA 02111-1307, USA.
18  */
19
20 /*
21  * Modified by the GLib Team and others 1997-2000.  See the AUTHORS
22  * file for a list of people on the GLib Team.  See the ChangeLog
23  * files for a list of changes.  These files are distributed with
24  * GLib at ftp://ftp.gtk.org/pub/gtk/.
25  */
26
27 #if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
28 #error "Only <glib.h> can be included directly."
29 #endif
30
31 #ifndef __G_VERSION_H__
32 #define __G_VERSION_H__
33
34 #include <glib/gtypes.h>
35
36 G_BEGIN_DECLS
37
38 GLIB_VAR const guint glib_major_version;
39 GLIB_VAR const guint glib_minor_version;
40 GLIB_VAR const guint glib_micro_version;
41 GLIB_VAR const guint glib_interface_age;
42 GLIB_VAR const guint glib_binary_age;
43
44 const gchar * glib_check_version (guint required_major,
45                                   guint required_minor,
46                                   guint required_micro);
47
48 /**
49  * GLIB_CHECK_VERSION:
50  * @major: the major version to check for
51  * @minor: the minor version to check for
52  * @micro: the micro version to check for
53  *
54  * Checks the version of the GLib library that is being compiled
55  * against.
56  *
57  * <example>
58  * <title>Checking the version of the GLib library</title>
59  * <programlisting>
60  *   if (!GLIB_CHECK_VERSION (1, 2, 0))
61  *     g_error ("GLib version 1.2.0 or above is needed");
62  * </programlisting>
63  * </example>
64  *
65  * See glib_check_version() for a runtime check.
66  *
67  * Returns: %TRUE if the version of the GLib header files
68  * is the same as or newer than the passed-in version.
69  */
70 #define GLIB_CHECK_VERSION(major,minor,micro)    \
71     (GLIB_MAJOR_VERSION > (major) || \
72      (GLIB_MAJOR_VERSION == (major) && GLIB_MINOR_VERSION > (minor)) || \
73      (GLIB_MAJOR_VERSION == (major) && GLIB_MINOR_VERSION == (minor) && \
74       GLIB_MICRO_VERSION >= (micro)))
75
76 G_END_DECLS
77
78 #endif /*  __G_VERSION_H__ */