diff options
author | Vincent Untz <vuntz@gnome.org> | 2011-01-20 01:55:03 +0100 |
---|---|---|
committer | Vincent Untz <vuntz@gnome.org> | 2011-01-20 15:47:49 +0100 |
commit | 26500d170a6faa8fb4158bd0157763ed2a847bc0 (patch) | |
tree | 32367d674778956fad03633a1de81cdd23047ba2 /libwnck | |
parent | 48248f23e269baeec02a2dbb93a831627dc2dfec (diff) | |
download | libwnck-26500d170a6faa8fb4158bd0157763ed2a847bc0.tar.gz |
core: Add version.h to provide macros to know libwnck version
Diffstat (limited to 'libwnck')
-rw-r--r-- | libwnck/Makefile.am | 4 | ||||
-rw-r--r-- | libwnck/libwnck.h | 2 | ||||
-rw-r--r-- | libwnck/version.h.in | 97 |
3 files changed, 102 insertions, 1 deletions
diff --git a/libwnck/Makefile.am b/libwnck/Makefile.am index d2250a3..8f53ddd 100644 --- a/libwnck/Makefile.am +++ b/libwnck/Makefile.am @@ -36,7 +36,8 @@ wnck_built_installed_headers = wnck-enum-types.h libwnckincludedir = $(includedir)/libwnck-3.0/libwnck libwnckinclude_HEADERS = \ $(wnck_headers) \ - $(wnck_built_installed_headers) + $(wnck_built_installed_headers) \ + version.h # Sources that are relevant for introspection wnck_sources = \ @@ -160,6 +161,7 @@ CLEANFILES = \ EXTRA_DIST = \ $(inlinepixbufs_SOURCES) \ + version.h.in \ wnck-marshal.list # Introspection diff --git a/libwnck/libwnck.h b/libwnck/libwnck.h index 3a7921a..1dd2d5d 100644 --- a/libwnck/libwnck.h +++ b/libwnck/libwnck.h @@ -38,6 +38,8 @@ #include <libwnck/window-action-menu.h> #include <libwnck/util.h> +#include <libwnck/version.h> + #include <libwnck/wnck-enum-types.h> #undef __LIBWNCK_H_INSIDE__ diff --git a/libwnck/version.h.in b/libwnck/version.h.in new file mode 100644 index 0000000..6e9dcc6 --- /dev/null +++ b/libwnck/version.h.in @@ -0,0 +1,97 @@ +/* version info */ +/* vim: set sw=2 et: */ + +/* + * Copyright (C) 2011 Novell, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * Authors: + * Vincent Untz <vuntz@gnome.org> + */ + +/** + * SECTION:version + * @Short_description: variables and functions to check the libwnck version + * @stability: Unstable + * + * libwnck provides version information, primarily useful in configure checks + * for builds that have a configure script, and to write code against different + * versions of libwnck that do not provide the same API. + */ + +#if !defined (__LIBWNCK_H_INSIDE__) && !defined (WNCK_COMPILATION) +#error "Only <libwnck/libwnck.h> can be included directly." +#endif + +#ifndef WNCK_VERSION_H +#define WNCK_VERSION_H + +/** + * WNCK_MAJOR_VERSION: + * + * Return value: the major version number of the libwnck library, from the + * headers used at application compile time, rather than from the library + * linked against at application run time. + * (e.g. in libwnck version 1.2.5 this is 1.) + * + * Since: 3.0 + */ +#define WNCK_MAJOR_VERSION (@WNCK_MAJOR_VERSION@) + +/** + * WNCK_MINOR_VERSION: + * + * Return value: the minor version number of the libwnck library, from the + * headers used at application compile time, rather than from the library + * linked against at application run time. + * (e.g. in libwnck version 1.2.5 this is 2.) + * + * Since: 3.0 + */ +#define WNCK_MINOR_VERSION (@WNCK_MINOR_VERSION@) + +/** + * WNCK_MICRO_VERSION: + * + * Return value: the micro version number of the libwnck library, from the + * headers used at application compile time, rather than from the library + * linked against at application run time. + * (e.g. in libwnck version 1.2.5 this is 5.) + * + * Since: 3.0 + */ +#define WNCK_MICRO_VERSION (@WNCK_MICRO_VERSION@) + +/** + * WNCK_CHECK_VERSION: + * @major: major version (e.g. 1 for version 1.2.5) + * @minor: minor version (e.g. 2 for version 1.2.5) + * @micro: micro version (e.g. 5 for version 1.2.5) + * + * Return value: %TRUE if the version of the libwnck header files + * is the same as or newer than the passed-in version, %FALSE + * otherwise. + * + * Since: 3.0 + */ +#define WNCK_CHECK_VERSION(major,minor,micro) \ + (WNCK_MAJOR_VERSION > (major) || \ + (WNCK_MAJOR_VERSION == (major) && WNCK_MINOR_VERSION > (minor)) || \ + (WNCK_MAJOR_VERSION == (major) && WNCK_MINOR_VERSION == (minor) && \ + WNCK_MICRO_VERSION >= (micro))) + +#endif /* WNCK_VERSION_H */ |