[libwnck] core: Add version.h to provide macros to know libwnck version
- From: Vincent Untz <vuntz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libwnck] core: Add version.h to provide macros to know libwnck version
- Date: Thu, 20 Jan 2011 15:38:03 +0000 (UTC)
commit 26500d170a6faa8fb4158bd0157763ed2a847bc0
Author: Vincent Untz <vuntz gnome org>
Date: Thu Jan 20 01:55:03 2011 +0100
core: Add version.h to provide macros to know libwnck version
configure.ac | 16 +++++++-
doc/libwnck-docs.sgml | 4 ++
doc/libwnck-sections.txt | 9 ++++
doc/tmpl/version.sgml | 53 +++++++++++++++++++++++++
libwnck/Makefile.am | 4 +-
libwnck/libwnck.h | 2 +
libwnck/version.h.in | 97 ++++++++++++++++++++++++++++++++++++++++++++++
7 files changed, 183 insertions(+), 2 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 4d9d7ef..7bba054 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,12 @@
AC_PREREQ(2.62)
-AC_INIT([libwnck], [2.91.0],
+m4_define([wnck_major_version], [2])
+m4_define([wnck_minor_version], [91])
+m4_define([wnck_micro_version], [0])
+m4_define([wnck_version],
+ [wnck_major_version.wnck_minor_version.wnck_micro_version])
+
+AC_INIT([libwnck], [wnck_version],
[http://bugzilla.gnome.org/enter_bug.cgi?product=libwnck])
AM_CONFIG_HEADER(config.h)
@@ -31,6 +37,13 @@ AC_SUBST(LIBWNCK_CURRENT)
AC_SUBST(LIBWNCK_REVISION)
AC_SUBST(LIBWNCK_AGE)
+WNCK_MAJOR_VERSION=wnck_major_version
+WNCK_MINOR_VERSION=wnck_minor_version
+WNCK_MICRO_VERSION=wnck_micro_version
+AC_SUBST(WNCK_MAJOR_VERSION)
+AC_SUBST(WNCK_MINOR_VERSION)
+AC_SUBST(WNCK_MICRO_VERSION)
+
IT_PROG_INTLTOOL([0.40.0])
AC_PROG_CC
@@ -174,6 +187,7 @@ Makefile
doc/Makefile
po/Makefile.in
libwnck/Makefile
+libwnck/version.h
libwnck-3.0.pc
libwnck-3.0-uninstalled.pc
])
diff --git a/doc/libwnck-docs.sgml b/doc/libwnck-docs.sgml
index 3c59f7b..07aa26b 100644
--- a/doc/libwnck-docs.sgml
+++ b/doc/libwnck-docs.sgml
@@ -69,6 +69,7 @@ that case.
<title>Libwnck Utilities</title>
<xi:include href="xml/resource.xml"/>
<xi:include href="xml/misc.xml"/>
+ <xi:include href="xml/version.xml"/>
</part>
<part id="indexes">
@@ -109,6 +110,9 @@ that case.
<index role="2.22">
<title>Index of new symbols in 2.22</title>
</index>
+ <index role="3.0">
+ <title>Index of new symbols in 3.0</title>
+ </index>
</part>
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
</book>
diff --git a/doc/libwnck-sections.txt b/doc/libwnck-sections.txt
index 134ddac..1e68235 100644
--- a/doc/libwnck-sections.txt
+++ b/doc/libwnck-sections.txt
@@ -334,6 +334,15 @@ wnck_pid_read_resource_usage
<TITLE>Miscellaneous Functions</TITLE>
WnckClientType
wnck_set_client_type
+</SECTION>
+
+<SECTION>
+<FILE>version</FILE>
+<TITLE>Version Information</TITLE>
+WNCK_MAJOR_VERSION
+WNCK_MINOR_VERSION
+WNCK_MICRO_VERSION
+WNCK_CHECK_VERSION
#</SECTION>
# Ignored
diff --git a/doc/tmpl/version.sgml b/doc/tmpl/version.sgml
new file mode 100644
index 0000000..a5bc9c8
--- /dev/null
+++ b/doc/tmpl/version.sgml
@@ -0,0 +1,53 @@
+<!-- ##### SECTION Title ##### -->
+Version Information
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO WNCK_MAJOR_VERSION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO WNCK_MINOR_VERSION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO WNCK_MICRO_VERSION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO WNCK_CHECK_VERSION ##### -->
+<para>
+
+</para>
+
+ major:
+ minor:
+ micro:
+
+
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 */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]