Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Persch <chpe@src.gnome.org>2009-01-21 16:58:15 (GMT)
committer Christian Persch <chpe@src.gnome.org>2009-01-21 16:58:15 (GMT)
commit1086dfad6d63d9aa737934f4dae75c3f14fdc804 (patch)
treeb9b15246365871e91624cab87973714286855eee
parent5b09db3c6a81a31077ce710375bfbd397e26dc4a (diff)
Bug 568224 – library should have version macros
svn path=/trunk/; revision=3371
-rw-r--r--ChangeLog7
-rw-r--r--configure.ac27
-rw-r--r--libdocument/Makefile.am5
-rw-r--r--libdocument/ev-version.h.in31
4 files changed, 63 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index d642294..521b134 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2009-01-21 Christian Persch <chpe@gnome.org>
+
+ * configure.ac:
+ * libdocument/Makefile.am:
+ A libdocument/ev-version.h.in: Add version defines and version check
+ macro. Bug #568224.
+
2009-01-21 Hiroyuki Ikezoe <poincare@ikezoe.net>
* shell/ev-sidebar-links.c
diff --git a/configure.ac b/configure.ac
index 2c213de..c2cf3fb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,11 +1,17 @@
dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.57)
-AC_INIT([Evince],[2.25.5],[http://bugzilla.gnome.org/enter_bug.cgi?product=evince],[evince])
-AM_INIT_AUTOMAKE([1.9 dist-bzip2 no-dist-gzip])
+m4_define([ev_major_version],[2])
+m4_define([ev_minor_version],[25])
+m4_define([ev_micro_version],[5])
+m4_define([ev_extra_version],[])
+m4_define([ev_version],[ev_major_version.ev_minor_version.ev_micro_version()ev_extra_version])
+
+# The evince API version
+m4_define([ev_api_version], [2.25])
-EV_API_VERSION=2.25
-AC_SUBST(EV_API_VERSION)
+AC_PREREQ([2.57])
+AC_INIT([Evince],[ev_version],[http://bugzilla.gnome.org/enter_bug.cgi?product=evince],[evince])
+AM_INIT_AUTOMAKE([1.9 dist-bzip2 no-dist-gzip])
AM_CONFIG_HEADER(config.h)
@@ -413,6 +419,16 @@ AC_SUBST(EVINCE_MIME_TYPES)
AC_CHECK_FUNC(localtime_r, AC_DEFINE(HAVE_LOCALTIME_R, 1, [Defines if localtime_r is available on your system]))
+# Versioning
+
+AC_SUBST([EV_MAJOR_VERSION],[ev_major_version])
+AC_SUBST([EV_MINOR_VERSION],[ev_minor_version])
+AC_SUBST([EV_MICRO_VERSION],[ev_micro_version])
+
+AC_SUBST([EV_API_VERSION],[ev_api_version])
+
+# *****************************************************************************
+
AC_CONFIG_FILES([
backend/Makefile
backend/comics/Makefile
@@ -455,6 +471,7 @@ help/Makefile
help/reference/Makefile
help/reference/version.xml
libdocument/Makefile
+libdocument/ev-version.h
libview/Makefile
Makefile
po/Makefile.in
diff --git a/libdocument/Makefile.am b/libdocument/Makefile.am
index 6ac6feb..c08f5a8 100644
--- a/libdocument/Makefile.am
+++ b/libdocument/Makefile.am
@@ -44,9 +44,10 @@ INST_H_FILES = \
ev-page.h \
ev-render-context.h \
ev-selection.h \
- ev-transition-effect.h
+ ev-transition-effect.h \
+ ev-version.h
-headerdir = $(prefix)/include/evince/@EV_API_VERSION@/ev-backend
+headerdir = $(includedir)/evince/$(EV_API_VERSION)/ev-backend
header_DATA = $(INST_H_FILES)
libevbackend_la_SOURCES= \
diff --git a/libdocument/ev-version.h.in b/libdocument/ev-version.h.in
new file mode 100644
index 0000000..2601622
--- /dev/null
+++ b/libdocument/ev-version.h.in
@@ -0,0 +1,31 @@
+/*
+ * Copyright © 2009 Christian Persch
+ *
+ * This library is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by the
+ * Free Software Foundation; either version 2.1 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02110-1301 USA
+ */
+
+#ifndef EV_VERSION_H
+#define EV_VERSION_H
+
+#define EV_MAJOR_VERSION (@EV_MAJOR_VERSION@)
+#define EV_MINOR_VERSION (@EV_MINOR_VERSION@)
+#define EV_MICRO_VERSION (@EV_MICRO_VERSION@)
+
+#define EV_CHECK_VERSION(major,minor,micro) \
+ (EV_MAJOR_VERSION > (major) || \
+ (EV_MAJOR_VERSION == (major) && EV_MINOR_VERSION > (minor)) || \
+ (EV_MAJOR_VERSION == (major) && EV_MINOR_VERSION == (minor) && EV_MICRO_VERSION >= (micro)))
+
+#endif /* #ifndef EV_VERSION_H */