]> www.fi.muni.cz Git - evince.git/blobdiff - configure.ac
Translation updated.
[evince.git] / configure.ac
index 411a5b5db828ae7128a11cff5522d6bf26e831d3..769cb4873190c4fd58cbbd197adce288e8b46c97 100644 (file)
@@ -1,8 +1,8 @@
 dnl Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.57)
-AC_INIT(evince, 0.3.2)
-AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
+AC_INIT([Evince],[0.7.2],[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)
 
@@ -15,23 +15,23 @@ AC_PROG_CC
 AM_PROG_CC_STDC
 AC_PROG_CXX
 AC_STDC_HEADERS
-AC_PROG_INTLTOOL
+IT_PROG_INTLTOOL([0.35.0])
 AC_PATH_PROG([GLIB_GENMARSHAL], [glib-genmarshal])
 AC_PATH_PROG([GLIB_MKENUMS],[glib-mkenums])
 
 GNOME_COMMON_INIT
+GNOME_DOC_INIT
 GNOME_MAINTAINER_MODE_DEFINES
 GNOME_COMPILE_WARNINGS
 GNOME_CXX_WARNINGS
 GNOME_DEBUG_CHECK
 
-ALL_LINGUAS="bg ca cs da de el en_CA en_GB es eu fi fr gl gu hi hu ja ko lt nb ne nl no pa pt_BR ru rw sk sv th uk wa zh_CN zh_TW"
+GTK_DOC_CHECK(1.0)
 
-AM_GLIB_GNU_GETTEXT
-
-GETTEXT_PACKAGE=AC_PACKAGE_NAME
+GETTEXT_PACKAGE=evince
 AC_SUBST(GETTEXT_PACKAGE)
-AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package.])
+AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
+AM_GLIB_GNU_GETTEXT
 
 dnl Check dependencies
 
@@ -42,20 +42,79 @@ dnl Check dependencies
 # SHELL_CFLAGS     for shell implementation.
 # SHELL_LIBS
 
-POPPLER_REQUIRED=0.3.3
-DBUS_GLIB_REQUIRED=0.33
-GTK_REQUIRED=2.6.0
-LIBGNOMEUI_REQUIRED=2.6.0
+DBUS_GLIB_REQUIRED=0.70
+GTK_REQUIRED=2.8.15
+KEYRING_REQUIRED=0.4.0
+
+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
 
-PKG_CHECK_MODULES(LIB, gtk+-2.0 >= $GTK_REQUIRED libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED)
-PKG_CHECK_MODULES(BACKEND, gtk+-2.0 >= $GTK_REQUIRED)
-PKG_CHECK_MODULES(FRONTEND_CORE, gtk+-2.0 >= $GTK_REQUIRED libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED libglade-2.0 poppler-glib >= $POPPLER_REQUIRED)
-PKG_CHECK_MODULES(POPPLER, poppler-glib >= $POPPLER_REQUIRED)
-PKG_CHECK_MODULES(SHELL_CORE, gtk+-2.0 >= $GTK_REQUIRED libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED gnome-vfs-2.0 libgnomeprint-2.2 >= 2.5.1 libgnomeprintui-2.2 libglade-2.0 gconf-2.0 poppler-glib >= $POPPLER_REQUIRED)
+GTK_PRINT_REQUIRED=2.10.0
+
+PKG_CHECK_MODULES(LIB, gtk+-2.0 >= $GTK_REQUIRED libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED libxml-2.0 >= $LIBXML_REQUIRED)
+PKG_CHECK_MODULES(BACKEND, gtk+-2.0 >= $GTK_REQUIRED gnome-vfs-2.0 libgnome-2.0 >= $LIBGNOME_REQUIRED)
+PKG_CHECK_MODULES(FRONTEND_CORE, gtk+-2.0 >= $GTK_REQUIRED libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED gnome-icon-theme >= $GNOME_ICON_THEME_REQUIRED libglade-2.0)
+PKG_CHECK_MODULES(SHELL_CORE, gtk+-2.0 >= $GTK_REQUIRED libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED gnome-vfs-2.0 libglade-2.0 gconf-2.0 gnome-keyring-1 >= $KEYRING_REQUIRED)
+
+BACKEND_CFLAGS="$BACKEND_CFLAGS -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE"
+AC_SUBST(BACKEND_CFLAGS)
 
 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
+
+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_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)
+
+
+dnl ========= Check for DBUS
 PKG_CHECK_MODULES([DBUS], [dbus-glib-1 >= $DBUS_GLIB_REQUIRED],
        [enable_dbus=yes],[enable_dbus=no])
 AC_SUBST([DBUS_CFLAGS])
@@ -73,18 +132,15 @@ if test "x$enable_dbus" = "xyes" ; then
         fi                                            
 
         AC_DEFINE([ENABLE_DBUS],[1],[Define if DBUS support is enabled])
-
-       DBUS_VERSION=`$PKG_CONFIG --modversion dbus-glib-1 | sed 's/0.\([[0-9]]*\)/\1/'`
-       AC_DEFINE_UNQUOTED(DBUS_VERSION, $DBUS_VERSION, [DBUS version.])
 fi
 
-SHELL_CFLAGS="$SHELL_CORE_CFLAGS $DBUS_CFLAGS"
-SHELL_LIBS="$SHELL_CORE_LIBS $DBUS_LIBS -ltiff -lz"
+SHELL_CFLAGS="$SHELL_CORE_CFLAGS $DBUS_CFLAGS -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE"
+SHELL_LIBS="$SHELL_CORE_LIBS $DBUS_LIBS -lz"
 AC_SUBST(SHELL_CFLAGS)
 AC_SUBST(SHELL_LIBS)
 
 FRONTEND_CFLAGS="$FRONTEND_CORE_CFLAGS"
-FRONTEND_LIBS="$FRONTEND_CORE_LIBS -ltiff -lz"
+FRONTEND_LIBS="$FRONTEND_CORE_LIBS -lz"
 AC_SUBST(FRONTEND_CFLAGS)
 AC_SUBST(FRONTEND_LIBS)
 
@@ -113,11 +169,13 @@ if test x$HAVE_NAUTILUS = "xyes"; then
 fi
 AM_CONDITIONAL(HAVE_NAUTILUS, test x$HAVE_NAUTILUS = "xyes")
 
-dnl Check for gtk_icon_view_get_visible_range
-evince_save_LIBS=$LIBS
-LIBS="$LIBS $FRONTEND_CORE_LIBS"
-AC_CHECK_FUNCS(gtk_icon_view_get_visible_range)
-LIBS=$evince_save_LIBS
+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])
+fi
+AM_CONDITIONAL(HAVE_GTK_RECENT, test x$HAVE_GTK_RECENT = "xyes")
 
 dnl GConf configuration
 AM_GCONF_SOURCE_2
@@ -127,21 +185,59 @@ if test "x$GCONFTOOL" = "xno"; then
        AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf])
 fi
 
-dnl ================== ggv checks ===================================================
-AC_ARG_WITH(gs-pkg,
-            [  --with-gs=dir       Directory Where GhostScript package is installed.])
-
-if test "x$with_gs" = "x"; then
-        AC_PATH_PROG(GS_PROG, gs)
-        if test -z "$GS_PROG"; then
-                AC_MSG_ERROR(Unable to find GhostScript in the PATH. Provide the full path for GhostScript(--with-gs=PATH). You need to have Ghostscript installed in order to run evince)
-        fi
-else
-        GS_PROG=$with_gs
+dnl ================== portability checks ===========================================
+
+dnl for backtrace()
+AC_CHECK_HEADERS([execinfo.h])
+
+AC_CHECK_DECL([_NL_MEASUREMENT_MEASUREMENT],[
+  AC_DEFINE([HAVE__NL_MEASUREMENT_MEASUREMENT],[1],[Define if _NL_MEASUREMENT_MEASUREMENT is available])
+  ],[],[#include <langinfo.h>])
+
+dnl ================== pdf checks ===================================================
+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.4
+    PKG_CHECK_MODULES(POPPLER, poppler-glib >= $POPPLER_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"
+           AC_CHECK_FUNCS(poppler_page_render)
+           AC_CHECK_FUNCS(poppler_page_get_duration)
+           AC_CHECK_FUNCS(poppler_page_get_image_mapping)
+           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
+                   AC_DEFINE([HAVE_CAIRO_PDF], [1], [defined if cairo-pdf is available])
+            fi
+    else
+           AC_MSG_WARN("PDF support is disabled since poppler-glib library version $POPPLER_REQUIRED or newer not found")
+    fi 
 fi
 
-AC_DEFINE_UNQUOTED(GS_PATH, "$GS_PROG", [Path to the 'gs' executable.])
+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...)
@@ -150,9 +246,15 @@ 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])
 fi
-AA_PARMS="-sDEVICE=x11alpha -dNOPLATFONTS"
+
+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)
+
+fi
 dnl ======================== End of ggv checks =================================
 
 dnl ================== tiff checks ===================================================
@@ -167,6 +269,8 @@ 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 
@@ -181,19 +285,17 @@ AC_ARG_ENABLE(djvu,
             [AC_HELP_STRING([--enable-djvu], [Compile with support of djvu viewer])],enable_djvu="$enableval",enable_djvu=no)
 
 if test "x$enable_djvu" = "xyes"; then
-    AC_CHECK_HEADERS([libdjvu/ddjvuapi.h],enable_djvu=yes,enable_djvu=no,)
 
-    if test "x$enable_djvu" = "xyes"; then
-       AC_CHECK_LIB([djvulibre],ddjvu_context_create,enable_djvu=yes,enable_djvu=no,"-lpthread")
-       AC_CHECK_LIB([djvulibre],ddjvu_document_get_pageinfo,enable_djvu=yes,enable_djvu=no,"-lpthread")
-    fi
+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.])
     else
        AC_MSG_WARN([   
 ** Djvu support is disabled since a recent version of the djvulibre 
-** library was not found. You need at least djvulibre-3.5.15 which 
+** library was not found. You need at least djvulibre-3.5.17 which 
 ** can be found on http://djvulibre.djvuzone.org 
 ])
     fi 
@@ -231,7 +333,7 @@ AM_CONDITIONAL(ENABLE_DVI, test x$enable_dvi = xyes)
 
 if test "x$enable_dvi" = "xyes"; then
     if test "x$enable_type1_fonts" = "xyes"; then
-       AC_CHECK_LIB([t1lib],T1_InitLib,enable_type1_fonts=yes,enable_type1_fonts=no)
+       AC_CHECK_LIB([t1],T1_InitLib,enable_type1_fonts=yes,enable_type1_fonts=no,[-lm])
     fi
 
     if test "x$enable_type1_fonts" = xyes; then
@@ -253,12 +355,38 @@ if test "x$enable_pixbuf" = "xyes"; then
 fi
 AM_CONDITIONAL(ENABLE_PIXBUF, test x$enable_pixbuf = xyes)
 
-dnl ================== End of dvi checks ===================================================
+dnl ================== End of pixbuf checks ===================================================
 
-dnl =================== Mime types list ====================================================
+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)
+if test "x$enable_comics" = "xyes"; then
+       AC_DEFINE([ENABLE_COMICS], [1], [Enable support for comics.])
+fi 
+AM_CONDITIONAL(ENABLE_COMICS, test x$enable_comics = xyes)
 
-EVINCE_MIME_TYPES="application/pdf;application/postscript;application/x-gzpostscript"
+dnl ================== End of comic book checks ============================================
 
+dnl ================== impress book checks ===================================================
+
+AC_ARG_ENABLE(impress,
+       [AC_HELP_STRING([--enable-impress], [Compile with support for impress presentations])],enable_impress="$enableval",enable_impress=no)
+if test "x$enable_impress" = "xyes"; then
+       AC_DEFINE([ENABLE_IMPRESS], [1], [Enable support for impress.])
+fi 
+AM_CONDITIONAL(ENABLE_IMPRESS, test x$enable_impress = xyes)
+
+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"
+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"
+fi
 if test "x$enable_dvi" = "xyes"; then
        EVINCE_MIME_TYPES="$EVINCE_MIME_TYPES;application/x-dvi"
 fi
@@ -268,31 +396,76 @@ fi
 if test "x$enable_tiff" = "xyes"; then
        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"
+fi
+if test "x$enable_pixbuf" = "xyes"; then
+       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"
+fi
 AC_SUBST(EVINCE_MIME_TYPES)
 
 AC_CONFIG_FILES([
-Makefile
+backend/Makefile
+backend/comics/Makefile
+backend/djvu/Makefile
+backend/dvi/Makefile
+backend/dvi/mdvi-lib/Makefile
+backend/impress/Makefile
+backend/pdf/Makefile
+backend/pixbuf/Makefile
+backend/ps/Makefile
+backend/tiff/Makefile
 cut-n-paste/Makefile
 cut-n-paste/recent-files/Makefile
-cut-n-paste/zoom-control/Makefile
 cut-n-paste/toolbar-editor/Makefile
-data/Makefile
+cut-n-paste/zoom-control/Makefile
+cut-n-paste/totem-screensaver/Makefile
 data/evince.desktop.in
-lib/Makefile
-pdf/Makefile
-pixbuf/Makefile
-tiff/Makefile
-ps/Makefile
-djvu/Makefile
-dvi/Makefile
-dvi/mdvi-lib/Makefile
+data/Makefile
+data/icons/Makefile
+data/icons/16x16/Makefile
+data/icons/16x16/apps/Makefile
+data/icons/16x16/actions/Makefile
+data/icons/22x22/Makefile
+data/icons/22x22/apps/Makefile
+data/icons/22x22/actions/Makefile
+data/icons/24x24/Makefile
+data/icons/24x24/apps/Makefile
+data/icons/24x24/actions/Makefile
+data/icons/48x48/Makefile
+data/icons/48x48/apps/Makefile
+data/icons/scalable/Makefile
+data/icons/scalable/apps/Makefile
+help/Makefile
+help/reference/Makefile
+help/reference/version.xml
+libdocument/Makefile
+Makefile
 po/Makefile.in
-backend/Makefile
 properties/Makefile
 shell/Makefile
+test/Makefile
 thumbnailer/Makefile
-help/Makefile
-help/C/Makefile
 ])
 
 AC_OUTPUT
+
+echo "
+Configure summary:
+       Print Support......:  $enable_print
+       DBUS Support.......:  $enable_dbus
+       Nautilus Plugin....:  $HAVE_NAUTILUS
+       Gtk-Doc Support....:  $enable_gtk_doc
+
+       PDF Backend........:  $enable_pdf
+       PostScript Backend.:  $enable_ps
+       TIFF Backend.......:  $enable_tiff
+       DJVU Backend.......:  $enable_djvu
+       DVI Backend........:  $enable_dvi
+       Pixbuf Backend.....:  $enable_pixbuf
+       Comics Backend.....:  $enable_comics
+       Impress Backend....:  $enable_impress
+"