]> www.fi.muni.cz Git - evince.git/blobdiff - configure.ac
[build] Only fail on missing gnome-keyring when requested explicitly
[evince.git] / configure.ac
index d6967870456f6acd3047f9bd61e7197b99a4e96b..ca89c277297fe28546981b2ca9296e509499735e 100644 (file)
@@ -1,10 +1,50 @@
-dnl Process this file with autoconf to produce a configure script.
-
-AC_PREREQ(2.57)
-AC_INIT([Evince],[0.9.2],[http://bugzilla.gnome.org/enter_bug.cgi?product=evince],[evince])
+# *****************************************************************************
+# Versioning
+# *****************************************************************************
+
+m4_define([ev_major_version],[2])
+m4_define([ev_minor_version],[27])
+m4_define([ev_micro_version],[1])
+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])
+
+# Libtool versioning. The backend and view libraries have separate versions.
+# Before making a release, the libtool version should be modified.
+# The string is of the form C:R:A.
+# - If interfaces have been changed or added, but binary compatibility has
+#   been preserved, change to C+1:0:A+1
+# - If binary compatibility has been broken (eg removed or changed interfaces)
+#   change to C+1:0:0
+# - If the interface is the same as the previous version, change to C:R+1:A
+
+# Libtool version of the backend library
+m4_define([ev_document_lt_current],[1])
+m4_define([ev_document_lt_revision],[0])
+m4_define([ev_document_lt_age],[0])
+m4_define([ev_document_lt_version_info],[ev_document_lt_current:ev_document_lt_revision:ev_document_lt_age])
+m4_define([ev_document_lt_current_minus_age],[m4_eval(ev_document_lt_current - ev_document_lt_age)])
+
+# Libtool version of the view library
+m4_define([ev_view_lt_current],[1])
+m4_define([ev_view_lt_revision],[0])
+m4_define([ev_view_lt_age],[0])
+m4_define([ev_view_lt_version_info],[ev_view_lt_current:ev_view_lt_revision:ev_view_lt_age])
+m4_define([ev_view_lt_current_minus_age],[m4_eval(ev_view_lt_current - ev_view_lt_age)])
+
+# Binary version for the document backends
+m4_define([ev_binary_version],[ev_document_lt_current])
+
+# *****************************************************************************
+
+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_CONFIG_MACRO_DIR(m4)
 
 AM_MAINTAINER_MODE
 
@@ -13,6 +53,7 @@ AM_PROG_LIBTOOL
 AC_ISC_POSIX
 AC_PROG_CC
 AM_PROG_CC_STDC
+AM_PROG_CC_C_O
 AC_PROG_CXX
 AC_STDC_HEADERS
 IT_PROG_INTLTOOL([0.35.0])
@@ -24,7 +65,6 @@ GNOME_DOC_INIT
 GNOME_MAINTAINER_MODE_DEFINES
 GNOME_COMPILE_WARNINGS
 GNOME_CXX_WARNINGS
-GNOME_DEBUG_CHECK
 
 GTK_DOC_CHECK(1.0)
 
@@ -33,9 +73,35 @@ AC_SUBST(GETTEXT_PACKAGE)
 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
 AM_GLIB_GNU_GETTEXT
 
+dnl check for win32 platform
+AC_MSG_CHECKING([for Win32 platform])
+case "$host" in
+  *-*-mingw*|*-*-cygwin*)
+    platform_win32=yes
+    AC_CHECK_TOOL(WINDRES, windres)
+    ;;
+  *)
+    platform_win32=no
+    ;;
+esac
+AC_MSG_RESULT([$platform_win32])
+AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
+
+AC_MSG_CHECKING([for native Win32])
+case "$host" in
+  *-*-mingw*)
+    os_win32=yes
+    ;;
+  *)
+    os_win32=no
+    ;;
+esac
+AC_MSG_RESULT([$os_win32])
+AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
+
 dnl Check dependencies
 
-# LIB_CFLAGS       for helpers and generic widgets. (lib, cut-and-paste)
+# LIB_CFLAGS       for helpers and generic widgets. (libdocument, cut-and-paste)
 # BACKEND_CFLAGS   for backend implementations.
 # FRONTEND_CFLAGS  for frontend implementations. (properties, thumbnailer)
 # FRONTEND_LIBS
@@ -43,133 +109,165 @@ dnl Check dependencies
 # SHELL_LIBS
 
 DBUS_GLIB_REQUIRED=0.70
-GTK_REQUIRED=2.8.15
-KEYRING_REQUIRED=0.4.0
+GTK_REQUIRED=2.14.0
+GLIB_REQUIRED=2.18.0
+KEYRING_REQUIRED=2.22.0
+AC_SUBST([GLIB_REQUIRED])
+AC_SUBST([GTK_REQUIRED])
 
-LIBGNOMEUI_REQUIRED=2.14.0
-LIBGNOME_REQUIRED=2.14.0
-LIBGNOMEPRINTUI_REQUIRED=2.6.0
 GNOME_ICON_THEME_REQUIRED=2.17.1
 LIBXML_REQUIRED=2.5.0
 
-GTK_PRINT_REQUIRED=2.10.0
+PKG_CHECK_MODULES(LIBDOCUMENT, gtk+-2.0 >= $GTK_REQUIRED gio-2.0 >= $GLIB_REQUIRED)
+PKG_CHECK_MODULES(LIBVIEW, gtk+-2.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED)
+PKG_CHECK_MODULES(BACKEND, gtk+-2.0 >= $GTK_REQUIRED)
+PKG_CHECK_MODULES(FRONTEND_CORE, gtk+-2.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED)
+PKG_CHECK_MODULES(PREVIEWER, gtk+-2.0 >= $GTK_REQUIRED gtk+-unix-print-2.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED)
+PKG_CHECK_MODULES(SHELL_CORE, libxml-2.0 >= $LIBXML_REQUIRED gtk+-2.0 >= $GTK_REQUIRED gtk+-unix-print-2.0 >= $GTK_REQUIRED gio-2.0 >= $GLIB_REQUIRED gnome-icon-theme >= $GNOME_ICON_THEME_REQUIRED gthread-2.0)
+
+if test "$os_win32" = no; then
+       PKG_CHECK_MODULES(SMCLIENT, gtk+-2.0 gthread-2.0 sm >= 1.0.0)
+else
+       PKG_CHECK_MODULES(SMCLIENT, gtk+-2.0 gthread-2.0)
+fi
 
-PKG_CHECK_MODULES(LIB, gtk+-2.0 >= $GTK_REQUIRED libxml-2.0 >= $LIBXML_REQUIRED)
-PKG_CHECK_MODULES(BACKEND, gtk+-2.0 >= $GTK_REQUIRED gnome-vfs-2.0)
-PKG_CHECK_MODULES(FRONTEND_CORE, gtk+-2.0 >= $GTK_REQUIRED libglade-2.0 gnome-vfs-2.0)
-PKG_CHECK_MODULES(SHELL_CORE, libxml-2.0 >= $LIBXML_REQUIRED gtk+-2.0 >= $GTK_REQUIRED gnome-icon-theme >= $GNOME_ICON_THEME_REQUIRED gnome-vfs-2.0 libglade-2.0 gconf-2.0 gnome-keyring-1 >= $KEYRING_REQUIRED)
+AC_SUBST(SMCLIENT_CFLAGS)
+AC_SUBST(SMCLIENT_LIBS)
 
-AC_ARG_WITH(libgnome,
-        AC_HELP_STRING([--without-libgnome],[disable the use of libgnome]),
+BACKEND_LIBTOOL_FLAGS="-module -avoid-version -no-undefined -export-symbols \$(top_srcdir)/backend/backend.symbols"
+AC_SUBST(BACKEND_LIBTOOL_FLAGS)
+
+dnl ===== Check special functions
+evince_save_LIBS=$LIBS
+LIBS="$LIBS $BACKEND_LIBS"
+AC_CHECK_FUNCS(cairo_format_stride_for_width)
+LIBS=$evince_save_LIBS
+
+dnl ========= Check for Keyring
+AC_ARG_WITH(keyring,
+        AC_HELP_STRING([--without-keyring],[disable the use of gnome-keyring]),
        [case "${withval}" in
-       yes) WITH_GNOME=yes ;;
-       no) WITH_GNOME=no ;;
-       *) AC_MSG_ERROR(bad value ${withval} for --with-libgnome) ;;
+       yes) WITH_KEYRING=yes ;;
+       no) WITH_KEYRING=no ;;
+       *) AC_MSG_ERROR(bad value ${withval} for --with-keyring) ;;
        esac],
-       [WITH_GNOME=yes]) dnl Default value
-AM_CONDITIONAL(WITH_GNOME, test x$WITH_GNOME = "xyes")
-
-if test x$WITH_GNOME = "xyes"; then
-        PKG_CHECK_MODULES(GNOME, libgnome-2.0 >= $LIBGNOME_REQUIRED)
-        PKG_CHECK_MODULES(GNOMEUI, libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED)
-        AC_DEFINE([WITH_GNOME],[1],[Define if GNOME support is enabled])
+       [WITH_KEYRING=check]) dnl Default value
+
+if test x$WITH_KEYRING != "xno"; then
+       PKG_CHECK_MODULES(KEYRING, gnome-keyring-1 >= $KEYRING_REQUIRED,
+               WITH_KEYRING=yes,
+               if test "x$WITH_KEYRING" = "xcheck"; then
+                       WITH_KEYRING=no
+                       AC_MSG_WARN(The use of gnome-keyring is disabled since required library gnome-keyring-1 >= $KEYRING_REQUIRED was not found.)
+               else
+                       AC_MSG_FAILURE(Gnome-keyring test failed: $KEYRING_PKG_ERRORS)
+               fi
+       )
+fi
+if test x$WITH_KEYRING = "xyes"; then
+        AC_DEFINE([WITH_KEYRING],[1],[Define if KEYRING support is enabled])
 fi
+AM_CONDITIONAL(WITH_KEYRING, test x$WITH_KEYRING = "xyes")
 
 GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`  
 AC_SUBST(GLIB_GENMARSHAL)
 
-dnl ========= Print support
-AC_ARG_WITH(print,
-           [AC_HELP_STRING([--with-print=no/gtk/gnome/auto], [Compile with print support [default=auto]])],
-           PRINT=$withval,
-            PRINT="auto")
-
-PKG_CHECK_MODULES(GNOME_PRINT, 
-                 libgnomeprintui-2.2 >= $LIBGNOMEPRINTUI_REQUIRED,
-                 enable_gnome_print=yes, enable_gnome_print=no)
-PKG_CHECK_MODULES(GTK_PRINT,
-                 gtk+-unix-print-2.0 >= $GTK_PRINT_REQUIRED,
-                 enable_gtk_print=yes, enable_gtk_print=no)
-enable_print=no
-if test x$PRINT = xgnome -a x$enable_gnome_print = xyes; then
-   enable_print=gnome
-else
-   if test x$PRINT = xgtk -a x$enable_gtk_print = xyes; then
-      enable_print=gtk
-   else
-      if test x$PRINT = xauto; then
-        if test x$enable_gtk_print = xyes; then
-           enable_print=gtk
-        else
-           if test x$enable_gnome_print = xyes; then
-              enable_print=gnome
-           fi
-        fi
-      fi
-   fi
-fi
+dnl ========= Check for DBUS
+AC_ARG_ENABLE(dbus,
+       [AC_HELP_STRING([--enable-dbus], [Compile with support for dbus])],
+       enable_dbus="$enableval",enable_dbus=yes)
+if test "x$enable_dbus" != "xno"; then
+       PKG_CHECK_MODULES([DBUS], [dbus-glib-1 >= $DBUS_GLIB_REQUIRED],
+       [enable_dbus=yes],[enable_dbus=no])
 
-if test x$enable_print = xgnome; then
-   AC_SUBST(GNOME_PRINT_CFLAGS)
-   AC_SUBST(GNOME_PRINT_LIBS)
-   AC_DEFINE([WITH_GNOME_PRINT],[1],[Enable GNOME Print Support.])
-   AC_DEFINE([WITH_PRINT],[1],[Enable Print Support.])
-fi
+       if test "x$enable_dbus" = "xno"; then
+          AC_MSG_WARN([DBUS support is disabled since dbus $DBUS_GLIB_REQUIRED or higher was not found])
+       fi         
 
-if test x$enable_print = xgtk; then   
-   AC_SUBST(GTK_PRINT_CFLAGS)
-   AC_SUBST(GTK_PRINT_LIBS)
-   AC_DEFINE([WITH_GTK_PRINT],[1],[Enable GTK Print Support.])
-   AC_DEFINE([WITH_PRINT],[1],[Enable Print Support.])
-fi
-   
-AM_CONDITIONAL(WITH_GNOME_PRINT, test x$enable_print = xgnome)
-AM_CONDITIONAL(WITH_GTK_PRINT, test x$enable_print = xgtk)
+       if test "x$enable_dbus" = "xyes" ; then
+               AC_PATH_PROG([DBUS_BINDING_TOOL], [dbus-binding-tool], [no])
 
+               if test x$DBUS_BINDING_TOOL = "xno" ; then
+                       AC_MSG_ERROR([dbus-binding-tool executable not found in your path - should be installed with dbus glib bindings])
+               fi                                            
+
+               AC_DEFINE([ENABLE_DBUS],[1],[Define if DBUS support is enabled])
+       fi
+fi
 
-dnl ========= Check for DBUS
-PKG_CHECK_MODULES([DBUS], [dbus-glib-1 >= $DBUS_GLIB_REQUIRED],
-       [enable_dbus=yes],[enable_dbus=no])
 AC_SUBST([DBUS_CFLAGS])
 AC_SUBST([DBUS_LIBS])
 
-if test "x$enable_dbus" = "xno"; then
-       AC_MSG_WARN([DBUS support is disabled since dbus $DBUS_GLIB_REQUIRED or higher was not found])
+AM_CONDITIONAL([ENABLE_DBUS], [test "x$enable_dbus" = "xyes"])
+AM_CONDITIONAL([DBUS_TOOL_NO_PREFIX], [test "x$DBUS_VERSION" = "x33"])
+
+dnl ========= Check for GConf
+
+AC_MSG_CHECKING([whether GConf support is requested])
+AC_ARG_WITH([gconf],
+  [AS_HELP_STRING([--without-gconf],[disable the use of gconf])],
+  [],[with_gconf=check])
+AC_MSG_RESULT([$with_gconf])
+
+if test "x$with_gconf" != "xno"; then
+       PKG_CHECK_MODULES([GCONF],[gconf-2.0],
+               with_gconf=yes,
+               if test "x$with_gconf" = "xcheck"; then
+                       with_gconf=no
+                       AC_MSG_WARN(The use of GConf is disabled since required library gconf-2.0 was not found.)
+               else
+                       AC_MSG_FAILURE(GConf test failed: $GCONF_PKG_ERRORS)
+               fi
+       )
 fi
+if test "x$with_gconf" = "xyes"; then
+       AC_DEFINE([WITH_GCONF],[1],[Define if GConf support is enabled])
+fi
+AM_CONDITIONAL([WITH_GCONF],[test "$with_gconf" = "yes"])
 
-if test "x$enable_dbus" = "xyes" ; then
-        AC_PATH_PROG([DBUS_BINDING_TOOL], [dbus-binding-tool], [no])
+AM_GCONF_SOURCE_2
 
-        if test x$DBUS_BINDING_TOOL = "xno" ; then
-               AC_MSG_ERROR([dbus-binding-tool executable not found in your path - should be installed with dbus glib bindings])
-        fi                                            
+AC_PATH_PROG([GCONFTOOL], [gconftool-2], [false])
+if test "$with_gconf" = "yes" -a "$GCONFTOOL" = "false"; then
+  AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf])
+fi
+
+dnl Debug mode
 
-        AC_DEFINE([ENABLE_DBUS],[1],[Define if DBUS support is enabled])
+AC_ARG_ENABLE([debug],
+       AC_HELP_STRING([--enable-debug],
+                       [Turn on evince debug mode]),,
+               [enable_debug=no])
+               
+if test "x$enable_debug" = "xyes"; then
+   DEBUG_FLAGS="-DEV_ENABLE_DEBUG"
 fi
 
-LIB_CFLAGS="$LIB_CFLAGS $GNOME_CFLAGS"
-LIB_LIBS="$LIB_LIBS $GNOME_LIBS"
-AC_SUBST(LIB_CFLAGS)
-AC_SUBST(LIB_LIBS)
 
-BACKEND_CFLAGS="$BACKEND_CFLAGS $GNOME_CFLAGS -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE"
-BACKEND_LIBS="$BACKEND_LIBS $GNOME_LIBS"
+LIBDOCUMENT_CFLAGS="$LIBDOCUMENT_CFLAGS $DEBUG_FLAGS"
+LIBDOCUMENT_LIBS="$LIBDOCUMENT_LIBS"
+AC_SUBST(LIBDOCUMENT_CFLAGS)
+AC_SUBST(LIBDOCUMENT_LIBS)
+
+LIBVIEW_CFLAGS="$LIBVIEW_CFLAGS $DEBUG_FLAGS"
+LIBVIEW_LIBS="$LIBVIEW_LIBS"
+AC_SUBST(LIBVIEW_CFLAGS)
+AC_SUBST(LIBVIEW_LIBS)
+
+BACKEND_CFLAGS="$BACKEND_CFLAGS -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE $DEBUG_FLAGS"
 AC_SUBST(BACKEND_CFLAGS)
 AC_SUBST(BACKEND_LIBS)
 
-SHELL_CFLAGS="$SHELL_CORE_CFLAGS $DBUS_CFLAGS $GNOMEUI_CFLAGS -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE"
-SHELL_LIBS="$SHELL_CORE_LIBS $DBUS_LIBS $GNOMEUI_LIBS -lz"
+SHELL_CFLAGS="$SHELL_CORE_CFLAGS $DBUS_CFLAGS $KEYRING_CFLAGS $GCONF_CFLAGS -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE $DEBUG_FLAGS"
+SHELL_LIBS="$SHELL_CORE_LIBS $DBUS_LIBS $KEYRING_LIBS $GCONF_LIBS -lz"
 AC_SUBST(SHELL_CFLAGS)
 AC_SUBST(SHELL_LIBS)
 
-FRONTEND_CFLAGS="$FRONTEND_CORE_CFLAGS $GNOME_CFLAGS"
-FRONTEND_LIBS="$FRONTEND_CORE_LIBS $GNOME_LIBS -lz"
+FRONTEND_CFLAGS="$FRONTEND_CORE_CFLAGS $DEBUG_FLAGS"
+FRONTEND_LIBS="$FRONTEND_CORE_LIBS -lz"
 AC_SUBST(FRONTEND_CFLAGS)
 AC_SUBST(FRONTEND_LIBS)
 
-AM_CONDITIONAL([ENABLE_DBUS], [test "x$enable_dbus" = "xyes"])
-AM_CONDITIONAL([DBUS_TOOL_NO_PREFIX], [test "x$DBUS_VERSION" = "x33"])
-
 dnl Check for Nautilus property page build
 AC_ARG_ENABLE(nautilus,
        AC_HELP_STRING([--enable-nautilus],[compile the nautilus plugin]),
@@ -183,6 +281,8 @@ AC_ARG_ENABLE(nautilus,
 if test x$ENABLE_NAUTILUS = "xyes" ; then
        PKG_CHECK_MODULES(NAUTILUS, gtk+-x11-2.0 $MM gthread-2.0 libnautilus-extension,
                        [HAVE_NAUTILUS=yes], [HAVE_NAUTILUS=no])
+       NAUTILUS_EXTENSION_DIR=`$PKG_CONFIG --variable=extensiondir libnautilus-extension`
+       AC_SUBST(NAUTILUS_EXTENSION_DIR)
 fi
 
 AC_SUBST(NAUTILUS_CFLAGS)
@@ -204,22 +304,62 @@ AC_ARG_ENABLE(thumbnailer,
        [ENABLE_THUMBNAILER=yes]) dnl Default value
 AM_CONDITIONAL(ENABLE_THUMBNAILER, test x$ENABLE_THUMBNAILER = "xyes")
 
-
-dnl Check for GtkRecent
-PKG_CHECK_MODULES(GTK_RECENT, gtk+-2.0 >= 2.10.0, 
-                 [HAVE_GTK_RECENT=yes], [HAVE_GTK_RECENT=no])
-if test x$HAVE_GTK_RECENT = xyes; then
-   AC_DEFINE([HAVE_GTK_RECENT], [1], [defined if GtkRecent is available])
+dnl Check for previewer build
+AC_ARG_ENABLE(previewer,
+       AC_HELP_STRING([--disable-previewer],[disable the GNOME Document Previewer]),
+       [case "${enableval}" in
+       yes) ENABLE_PREVIEWER=yes ;;
+       no) ENABLE_PREVIEWER=no ;;
+       *) AC_MSG_ERROR(bad value ${enableval} for --enable-previewer) ;;
+       esac],
+       [ENABLE_PREVIEWER=yes]) dnl Default value
+if test x$ENABLE_PREVIEWER = "xyes" ; then
+   PKG_CHECK_MODULES(PREVIEWER, gtk+-2.0 >= $GTK_REQUIRED gtk+-unix-print-2.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED,
+                    [ENABLE_PREVIEWER=yes],[ENABLE_PREVIEWER=no])
+   if test x$ENABLE_PREVIEWER = "xno" ; then
+      AC_MSG_WARN([Previewer support is disabled since gtk+-unix-print $GTK_REQUIRED or higher was not found])
+   fi
+fi
+AM_CONDITIONAL(ENABLE_PREVIEWER, test x$ENABLE_PREVIEWER = "xyes")
+PREVIEWER_CFLAGS="$PREVIEWER_CFLAGS $DEBUG_FLAGS"
+PREVIEWER_LIBS="$PREVIEWER_LIBS -lz"
+AC_SUBST(PREVIEWER_CFLAGS)
+AC_SUBST(PREVIEWER_LIBS)
+
+# ***
+# GIR
+# ***
+
+AC_MSG_CHECKING([whether GObject introspection is requested])
+AC_ARG_ENABLE([introspection],
+        AS_HELP_STRING([--enable-introspection],[Enable GObject introspection]),
+        [],[enable_introspection=no])
+AC_MSG_RESULT([$enable_introspection])
+
+G_IR_SCANNER=
+G_IR_COMPILER=
+G_IR_GENERATE=
+GIRDIR=
+GIRTYPELIBDIR=
+
+if test "$enable_introspection" = "yes"; then
+  GOBJECT_INTROSPECTION_REQUIRED=0.6
+  PKG_CHECK_MODULES([GOBJECT_INTROSPECTION],[gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_REQUIRED])
+
+  G_IR_SCANNER="$($PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0)"
+  G_IR_COMPILER="$($PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0)"
+  G_IR_GENERATE="$($PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0)"
+  GIRDIR="$($PKG_CONFIG --variable=girdir gobject-introspection-1.0)"
+  GIRTYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
 fi
-AM_CONDITIONAL(HAVE_GTK_RECENT, test x$HAVE_GTK_RECENT = "xyes")
 
-dnl GConf configuration
-AM_GCONF_SOURCE_2
+AC_SUBST([G_IR_SCANNER])
+AC_SUBST([G_IR_COMPILER])
+AC_SUBST([G_IR_GENERATE])
+AC_SUBST([GIRDIR])
+AC_SUBST([GIRTYPELIBDIR])
 
-AC_PATH_PROG([GCONFTOOL], [gconftool-2], [no])
-if test "x$GCONFTOOL" = "xno"; then
-       AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf])
-fi
+AM_CONDITIONAL([ENABLE_INTROSPECTION],[test "$enable_introspection" = "yes"])
 
 dnl ================== portability checks ===========================================
 
@@ -235,28 +375,29 @@ AC_ARG_ENABLE(pdf,
               [AC_HELP_STRING([--enable-pdf], [Compile with pdf support])],enable_pdf="$enableval",enable_pdf=yes)
 
 if test "x$enable_pdf" = "xyes"; then
-    POPPLER_REQUIRED=0.5.9
-    PKG_CHECK_MODULES(POPPLER, poppler-glib >= $POPPLER_REQUIRED,enable_pdf=yes,enable_pdf=no)
+    POPPLER_REQUIRED=0.11.0
+    PKG_CHECK_MODULES(POPPLER, poppler-glib >= $POPPLER_REQUIRED libxml-2.0 >= $LIBXML_REQUIRED,enable_pdf=yes,enable_pdf=no)
 
     if test "x$enable_pdf" = "xyes"; then
            AC_DEFINE([ENABLE_PDF], [1], [Enable pdf support.])
-           FRONTEND_LIBS="$FRONTEND_LIBS $POPPLER_LIBS"
            SHELL_LIBS="$SHELL_LIBS $POPPLER_LIBS"
            SHELL_CFLAGS="$SHELL_CFLAGS $POPPLER_CFLAGS"
 
            evince_save_LIBS=$LIBS
-           LIBS="$LIBS $FRONTEND_LIBS"
+           LIBS="$LIBS $POPPLER_LIBS"
            AC_CHECK_FUNCS(poppler_page_render)
-           dnl we need latest poppler cvs head, 
-           dnl this function was the last to be added
-           AC_CHECK_FUNCS(poppler_form_field_button_get_button_type)
-           AC_CHECK_FUNCS(poppler_form_field_text_get_max_len)
+           AC_CHECK_FUNCS(poppler_page_get_image)
            LIBS=$evince_save_LIBS
 
            PKG_CHECK_MODULES(CAIRO_PDF, cairo-pdf, enable_cairo_pdf=yes, enable_cairo_pdf=no)
-           if test x$enable_cairo_pdf == xyes; then
+           if test x$enable_cairo_pdf = xyes; then
                    AC_DEFINE([HAVE_CAIRO_PDF], [1], [defined if cairo-pdf is available])
             fi
+
+           PKG_CHECK_MODULES(CAIRO_PS, cairo-ps, enable_cairo_ps=yes, enable_cairo_ps=no)
+           if test x$enable_cairo_ps = xyes; then
+                   AC_DEFINE([HAVE_CAIRO_PS], [1], [defined if cairo-ps is available])
+            fi
     else
            AC_MSG_WARN("PDF support is disabled since poppler-glib library version $POPPLER_REQUIRED or newer not found")
     fi 
@@ -265,35 +406,28 @@ fi
 AM_CONDITIONAL(ENABLE_PDF, test x$enable_pdf = xyes)
 dnl ================== end of pdf checks ============================================
 
-dnl ================== ggv checks ===================================================
-AC_ARG_ENABLE(ps,
-       [AC_HELP_STRING([--disable-ps], [Compile without PostScript backend])],enable_ps=$enableval,enable_ps="yes")
-
-if test x$enable_ps = xyes; then
-       AC_DEFINE([ENABLE_PS], [1], [Enable support for PostScript files.])
-fi 
-
-AM_CONDITIONAL(ENABLE_PS, test x$enable_ps = xyes)
-
-if test x$enable_ps = xyes; then
-
-dnl check for GS version
-AC_MSG_CHECKING(for Ghostscript version...)
-GS_VERSION=`gs --version | head -n 1 | sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
-AC_MSG_RESULT(found $GS_VERSION)
-if test "$GS_VERSION" -lt "7"; then
-       AC_MSG_ERROR([You need Ghostscript version >= 7 in order to run evince])
+dnl libspectre (used by ps and dvi backends)
+SPECTRE_REQUIRED=0.2.0 
+PKG_CHECK_MODULES(SPECTRE, libspectre >= $SPECTRE_REQUIRED,have_spectre=yes,have_spectre=no)
+AM_CONDITIONAL(HAVE_SPECTRE, test x$have_spectre = xyes)
+if test "x$have_spectre" = "xyes"; then
+   AC_DEFINE([HAVE_SPECTRE], [1], [Have libspectre])
 fi
 
-AC_ARG_WITH(gs-aa-params,
-            [AC_HELP_STRING([--with-gs-aa-params], [Define antialiasing params for ghostscript])],AA_PARAMS=$withval,
-           AA_PARMS="-sDEVICE=x11alpha -dNOPLATFONTS -dGraphicsAlphaBits=4 -dTextAlphaBits=4 -dDOINTERPOLATE"
-           )
-AC_DEFINE_UNQUOTED(ALPHA_PARAMS, "$AA_PARMS", [Anti-aliasing parameters for Ghostscript.])
-AC_MSG_RESULT(Antialiasing parameters for Ghostscript: $AA_PARMS)
+dnl ================== ps checks ====================================================
+AC_ARG_ENABLE(ps,
+       [AC_HELP_STRING([--disable-ps], [Compile without PostScript backend])],enable_ps=$enableval,enable_ps="yes")
 
+if test "x$enable_ps" = "xyes"; then
+   if test "x$have_spectre" = "xyes"; then
+      AC_DEFINE([ENABLE_PS], [1], [Enable support for PostScript files.])
+   else
+      enable_ps="no"
+      AC_MSG_WARN([PS support is disabled since libspectre (version >= $SPECTRE_REQUIRED) is needed])
+   fi
 fi
-dnl ======================== End of ggv checks =================================
+AM_CONDITIONAL(ENABLE_PS, test x$enable_ps = xyes)
+dnl ======================== End of ps checks ===================================
 
 dnl ================== tiff checks ===================================================
 AC_ARG_ENABLE(tiff,
@@ -307,8 +441,6 @@ if test "x$enable_tiff" = "xyes"; then
     fi
     if test "x$enable_tiff" = "xyes"; then
            AC_DEFINE([ENABLE_TIFF], [1], [Enable multipage tiff support.])
-           FRONTEND_LIBS="$FRONTEND_LIBS -ltiff"
-           SHELL_LIBS="$SHELL_LIBS -ltiff"
     else
            AC_MSG_WARN("Tiff support is disabled since tiff library version 3.6 or newer not found")
     fi 
@@ -320,13 +452,11 @@ dnl ================== end of tiff checks ======================================
 dnl ================== djvu checks ===================================================
 
 AC_ARG_ENABLE(djvu,
-            [AC_HELP_STRING([--enable-djvu], [Compile with support of djvu viewer])],enable_djvu="$enableval",enable_djvu=no)
+            [AC_HELP_STRING([--enable-djvu], [Compile with support of djvu viewer])],enable_djvu="$enableval",enable_djvu=yes)
 
 if test "x$enable_djvu" = "xyes"; then
-
-DJVULIBRE_REQUIRED=3.5.17
-
-PKG_CHECK_MODULES(DJVU, ddjvuapi >= $DJVULIBRE_REQUIRED, enable_djvu=yes, enable_djvu=no)
+    DJVULIBRE_REQUIRED=3.5.17
+    PKG_CHECK_MODULES(DJVU, ddjvuapi >= $DJVULIBRE_REQUIRED, enable_djvu=yes, enable_djvu=no)
 
     if test "x$enable_djvu" = "xyes"; then
         AC_DEFINE([ENABLE_DJVU], [1], [Enable djvu viewer support.])
@@ -346,7 +476,7 @@ dnl ================== End of djvu checks ======================================
 dnl ================== dvi checks ===================================================
 
 AC_ARG_ENABLE(dvi,
-            [AC_HELP_STRING([--enable-dvi], [Compile with support of dvi viewer])],enable_dvi="$enableval",enable_dvi=no)
+            [AC_HELP_STRING([--enable-dvi], [Compile with support of dvi viewer])],enable_dvi="$enableval",enable_dvi=yes)
 
 AC_ARG_ENABLE(t1lib,
             [AC_HELP_STRING([--enable-t1lib], [Compile with support of t1lib for type1 fonts in dvi])],enable_type1_fonts="$enableval",enable_type1_fonts=no)
@@ -398,9 +528,17 @@ dnl ================== End of pixbuf checks ====================================
 dnl ================== comic book checks ===================================================
  
 AC_ARG_ENABLE(comics,
-       [AC_HELP_STRING([--enable-comics], [Compile with support for comic book archives])],enable_comics="$enableval",enable_comics=no)
+       [AC_HELP_STRING([--enable-comics], [Compile with support for comic book archives])],enable_comics="$enableval",enable_comics=yes)
 if test "x$enable_comics" = "xyes"; then
-       AC_DEFINE([ENABLE_COMICS], [1], [Enable support for comics.])
+       if test "x$os_win32" = "xyes"; then
+               # The comics backend is disabled on windows because:
+               # 1) it uses unix functions from sys/wait.h.
+               # 2) it uses external decompression tools not generally available on windows.
+               enable_comics=no
+               AC_MSG_WARN(The comics backend is not supported on windows.)
+       else
+               AC_DEFINE([ENABLE_COMICS], [1], [Enable support for comics.])
+       fi
 fi 
 AM_CONDITIONAL(ENABLE_COMICS, test x$enable_comics = xyes)
 
@@ -420,31 +558,55 @@ dnl ================== End of impress book checks ==============================
 dnl =================== Mime types list ====================================================
 
 if test "x$enable_pdf" = "xyes" ; then
-       EVINCE_MIME_TYPES="application/pdf;application/x-bzpdf;application/x-gzpdf"
+       EVINCE_MIME_TYPES="application/pdf;application/x-bzpdf;application/x-gzpdf;"
 fi
 if test "x$enable_ps" = "xyes" ; then
-       EVINCE_MIME_TYPES="$EVINCE_MIME_TYPES;application/postscript;application/x-bzpostscript;application/x-gzpostscript;image/x-eps;image/x-bzeps;image/x-gzeps"
+       EVINCE_MIME_TYPES="${EVINCE_MIME_TYPES}application/postscript;application/x-bzpostscript;application/x-gzpostscript;image/x-eps;image/x-bzeps;image/x-gzeps;"
 fi
 if test "x$enable_dvi" = "xyes"; then
-       EVINCE_MIME_TYPES="$EVINCE_MIME_TYPES;application/x-dvi"
+       EVINCE_MIME_TYPES="${EVINCE_MIME_TYPES}application/x-dvi;application/x-bzdvi;application/x-gzdvi;"
 fi
 if test "x$enable_djvu" = "xyes"; then
-       EVINCE_MIME_TYPES="$EVINCE_MIME_TYPES;image/vnd.djvu"
+       EVINCE_MIME_TYPES="${EVINCE_MIME_TYPES}image/vnd.djvu;"
 fi
 if test "x$enable_tiff" = "xyes"; then
-       EVINCE_MIME_TYPES="$EVINCE_MIME_TYPES;image/tiff"
+       EVINCE_MIME_TYPES="${EVINCE_MIME_TYPES}image/tiff;"
 fi
 if test "x$enable_comics" = "xyes"; then
-       EVINCE_MIME_TYPES="$EVINCE_MIME_TYPES;application/x-cbr;application/x-cbz"
+       EVINCE_MIME_TYPES="${EVINCE_MIME_TYPES}application/x-cbr;application/x-cbz;application/x-cb7;"
 fi
 if test "x$enable_pixbuf" = "xyes"; then
-       EVINCE_MIME_TYPES="$EVINCE_MIME_TYPES;image/*"
+       EVINCE_MIME_TYPES="${EVINCE_MIME_TYPES}image/*;"
 fi
 if test "x$enable_impress" = "xyes"; then
-       EVINCE_MIME_TYPES="$EVINCE_MIME_TYPES;application/vnd.sun.xml.impress;application/vnd.oasis.opendocument.presentation"
+       EVINCE_MIME_TYPES="${EVINCE_MIME_TYPES}application/vnd.sun.xml.impress;application/vnd.oasis.opendocument.presentation;"
 fi
 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]))
+
+# Backends directory
+
+AC_SUBST([backenddir],"\$(libdir)/evince/ev_binary_version/backends")
+
+# 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_SUBST([EV_BINARY_VERSION],[ev_binary_version])
+
+AC_SUBST([EV_DOCUMENT_LT_VERSION_INFO],[ev_document_lt_version_info])
+AC_SUBST([EV_DOCUMENT_LT_CURRENT_MINUS_AGE],[ev_document_lt_current_minus_age])
+AC_SUBST([EV_VIEW_LT_VERSION_INFO],[ev_view_lt_version_info])
+AC_SUBST([EV_VIEW_LT_CURRENT_MINUS_AGE],[ev_view_lt_current_minus_age])
+
+# *****************************************************************************
+
+SHAVE_INIT([.], [enable])
+
 AC_CONFIG_FILES([
 backend/Makefile
 backend/comics/Makefile
@@ -457,7 +619,9 @@ backend/pixbuf/Makefile
 backend/ps/Makefile
 backend/tiff/Makefile
 cut-n-paste/Makefile
-cut-n-paste/recent-files/Makefile
+cut-n-paste/gedit-message-area/Makefile
+cut-n-paste/gimpcellrenderertoggle/Makefile
+cut-n-paste/smclient/Makefile
 cut-n-paste/toolbar-editor/Makefile
 cut-n-paste/zoom-control/Makefile
 cut-n-paste/totem-screensaver/Makefile
@@ -473,32 +637,52 @@ data/icons/22x22/actions/Makefile
 data/icons/24x24/Makefile
 data/icons/24x24/apps/Makefile
 data/icons/24x24/actions/Makefile
+data/icons/32x32/Makefile
+data/icons/32x32/actions/Makefile
 data/icons/48x48/Makefile
 data/icons/48x48/apps/Makefile
+data/icons/48x48/actions/Makefile
 data/icons/scalable/Makefile
 data/icons/scalable/apps/Makefile
 help/Makefile
 help/reference/Makefile
-help/reference/version.xml
+help/reference/libdocument/Makefile
+help/reference/libdocument/version.xml
+help/reference/libview/Makefile
+help/reference/libview/version.xml
+help/reference/shell/Makefile
+help/reference/shell/version.xml
 libdocument/Makefile
+libdocument/ev-version.h
+libmisc/Makefile
+libview/Makefile
 Makefile
 po/Makefile.in
+previewer/Makefile
 properties/Makefile
+shave
+shave-libtool
 shell/Makefile
 test/Makefile
 thumbnailer/Makefile
 ])
 
+AC_CONFIG_FILES(evince-document-[]ev_api_version[].pc:evince-document.pc.in)
+AC_CONFIG_FILES(evince-view-[]ev_api_version[].pc:evince-view.pc.in)
+
 AC_OUTPUT
 
 echo "
 Configure summary:
-       GNOME Support......:  $WITH_GNOME
-       Print Support......:  $enable_print
+        GConf Support......:  $with_gconf
+       Keyring Support....:  $WITH_KEYRING
        DBUS Support.......:  $enable_dbus
        Nautilus Plugin....:  $HAVE_NAUTILUS
        Thumbnailer........:  $ENABLE_THUMBNAILER
+       Previewer..........:  $ENABLE_PREVIEWER
        Gtk-Doc Support....:  $enable_gtk_doc
+       Debug mode.........:  $enable_debug
+       GObj. Introspection:  $enable_introspection
 
        PDF Backend........:  $enable_pdf
        PostScript Backend.:  $enable_ps