evince r3371 - in trunk: . libdocument



Author: chpe
Date: Wed Jan 21 16:58:15 2009
New Revision: 3371
URL: http://svn.gnome.org/viewvc/evince?rev=3371&view=rev

Log:
Bug 568224 â library should have version macros

Added:
   trunk/libdocument/ev-version.h.in
Modified:
   trunk/ChangeLog
   trunk/configure.ac
   trunk/libdocument/Makefile.am

Modified: trunk/configure.ac
==============================================================================
--- trunk/configure.ac	(original)
+++ trunk/configure.ac	Wed Jan 21 16:58:15 2009
@@ -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_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/reference/Makefile
 help/reference/version.xml
 libdocument/Makefile
+libdocument/ev-version.h
 libview/Makefile
 Makefile
 po/Makefile.in

Modified: trunk/libdocument/Makefile.am
==============================================================================
--- trunk/libdocument/Makefile.am	(original)
+++ trunk/libdocument/Makefile.am	Wed Jan 21 16:58:15 2009
@@ -44,9 +44,10 @@
 	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=			\

Added: trunk/libdocument/ev-version.h.in
==============================================================================
--- (empty file)
+++ trunk/libdocument/ev-version.h.in	Wed Jan 21 16:58:15 2009
@@ -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 */



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