From 1086dfad6d63d9aa737934f4dae75c3f14fdc804 Mon Sep 17 00:00:00 2001 From: Christian Persch Date: Wed, 21 Jan 2009 16:58:15 +0000 Subject: Bug 568224 – library should have version macros svn path=/trunk/; revision=3371 --- diff --git a/ChangeLog b/ChangeLog index d642294..521b134 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2009-01-21 Christian Persch + + * 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 * 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 */ -- cgit v0.9.1