[libnotify/0.5] Add a macro for determining the version of the library



commit 2d9ba81998123ec4bbe14458bf67873ac49f9344
Author: William Jon McCann <jmccann redhat com>
Date:   Fri Oct 8 23:01:43 2010 -0400

    Add a macro for determining the version of the library

 configure.ac            |    6 ++++++
 libnotify/Makefile.am   |    1 +
 libnotify/features.h.in |   42 ++++++++++++++++++++++++++++++++++++++++++
 libnotify/notify.h      |    1 +
 4 files changed, 50 insertions(+), 0 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index cccba29..641589f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -17,6 +17,10 @@ LIBNOTIFY_MINOR_VERSION=5
 LIBNOTIFY_MICRO_VERSION=2
 LIBNOTIFY_DEVEL_VERSION=0
 
+AC_SUBST(LIBNOTIFY_MAJOR_VERSION)
+AC_SUBST(LIBNOTIFY_MINOR_VERSION)
+AC_SUBST(LIBNOTIFY_MICRO_VERSION)
+
 LIBNOTIFY_VERSION=$LIBNOTIFY_MAJOR_VERSION.$LIBNOTIFY_MINOR_VERSION.$LIBNOTIFY_MICRO_VERSION
 
 if test "x$LIBNOTIFY_DEVEL_VERSION" != "x0"; then
@@ -32,6 +36,7 @@ AC_DEFINE_UNQUOTED(LIBNOTIFY_MICRO_VERSION, $LIBNOTIFY_MICRO_VERSION,
 AC_DEFINE_UNQUOTED(LIBNOTIFY_VERSION, "$LIBNOTIFY_VERSION",
 	[libnotify version.])
 
+
 dnl ################################################################
 dnl # libtool versioning
 dnl ################################################################
@@ -204,6 +209,7 @@ docs/Makefile
 docs/reference/Makefile
 libnotify.pc
 libnotify/Makefile
+libnotify/features.h
 tests/Makefile
 tools/Makefile
 ])
diff --git a/libnotify/Makefile.am b/libnotify/Makefile.am
index ca6891c..66abb80 100644
--- a/libnotify/Makefile.am
+++ b/libnotify/Makefile.am
@@ -8,6 +8,7 @@ lib_LTLIBRARIES = libnotify.la
 
 notify_headers = \
 	notify.h \
+	features.h \
 	notification.h
 
 notifyinc_HEADERS = \
diff --git a/libnotify/features.h.in b/libnotify/features.h.in
new file mode 100644
index 0000000..4fc5529
--- /dev/null
+++ b/libnotify/features.h.in
@@ -0,0 +1,42 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*-
+ *
+ * Copyright (C) 2010 Red Hat, Inc.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ */
+
+#ifndef __NOTIFY_VERSION_H__
+#define __NOTIFY_VERSION_H__
+
+/* compile time version
+ */
+#define NOTIFY_VERSION_MAJOR    (@LIBNOTIFY_MAJOR_VERSION@)
+#define NOTIFY_VERSION_MINOR    (@LIBNOTIFY_MINOR_VERSION@)
+#define NOTIFY_VERSION_MICRO    (@LIBNOTIFY_MICRO_VERSION@)
+
+/* check whether a version equal to or greater than
+ * major.minor.micro is present.
+ */
+#define NOTIFY_CHECK_VERSION(major,minor,micro) \
+    (NOTIFY_VERSION_MAJOR > (major) || \
+     (NOTIFY_VERSION_MAJOR == (major) && NOTIFY_VERSION_MINOR > (minor)) || \
+     (NOTIFY_VERSION_MAJOR == (major) && NOTIFY_VERSION_MINOR == (minor) && \
+      NOTIFY_VERSION_MICRO >= (micro)))
+
+
+#endif /* __NOTIFY_VERSION_H__ */
+
diff --git a/libnotify/notify.h b/libnotify/notify.h
index 768f84f..334dfa2 100644
--- a/libnotify/notify.h
+++ b/libnotify/notify.h
@@ -27,6 +27,7 @@
 
 #include <libnotify/notification.h>
 #include <libnotify/notify-enum-types.h>
+#include <libnotify/features.h>
 
 G_BEGIN_DECLS
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]