+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
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)
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
help/reference/Makefile
help/reference/version.xml
libdocument/Makefile
+libdocument/ev-version.h
libview/Makefile
Makefile
po/Makefile.in
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= \
--- /dev/null
+/*
+ * 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 */