]> www.fi.muni.cz Git - evince.git/blobdiff - configure.ac
[build] Do not use automagic dependencies for gnome-keyring
[evince.git] / configure.ac
index 4ee26a9d9ab8f75410f2a808c1b60758639f3ba6..8105b404452477c238d267b56737e1a779c15a3c 100644 (file)
@@ -3,8 +3,8 @@
 # *****************************************************************************
 
 m4_define([ev_major_version],[2])
-m4_define([ev_minor_version],[25])
-m4_define([ev_micro_version],[90])
+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])
 
@@ -44,6 +44,7 @@ AC_INIT([Evince],[ev_version],[http://bugzilla.gnome.org/enter_bug.cgi?product=e
 AM_INIT_AUTOMAKE([1.9 dist-bzip2 no-dist-gzip])
 
 AM_CONFIG_HEADER(config.h)
+AC_CONFIG_MACRO_DIR(m4)
 
 AM_MAINTAINER_MODE
 
@@ -98,17 +99,9 @@ esac
 AC_MSG_RESULT([$os_win32])
 AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
 
-dnl Check dependencies
-
-# 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
-# SHELL_CFLAGS     for shell implementation.
-# SHELL_LIBS
-
+dnl Specify required versions of dependencies
 DBUS_GLIB_REQUIRED=0.70
-GTK_REQUIRED=2.12.0
+GTK_REQUIRED=2.14.0
 GLIB_REQUIRED=2.18.0
 KEYRING_REQUIRED=2.22.0
 AC_SUBST([GLIB_REQUIRED])
@@ -117,11 +110,21 @@ AC_SUBST([GTK_REQUIRED])
 GNOME_ICON_THEME_REQUIRED=2.17.1
 LIBXML_REQUIRED=2.5.0
 
+dnl Check dependencies
+
+# 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
+# SHELL_CFLAGS     for shell implementation.
+# SHELL_LIBS
+
 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(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)
+PKG_CHECK_MODULES(PREVIEWER, gtk+-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 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)
@@ -132,7 +135,7 @@ fi
 AC_SUBST(SMCLIENT_CFLAGS)
 AC_SUBST(SMCLIENT_LIBS)
 
-BACKEND_LIBTOOL_FLAGS="-module -avoid-version -export-symbols \$(top_srcdir)/backend/backend.symbols"
+BACKEND_LIBTOOL_FLAGS="-module -avoid-version -no-undefined -export-symbols \$(top_srcdir)/backend/backend.symbols"
 AC_SUBST(BACKEND_LIBTOOL_FLAGS)
 
 dnl ===== Check special functions
@@ -141,7 +144,33 @@ LIBS="$LIBS $BACKEND_LIBS"
 AC_CHECK_FUNCS(cairo_format_stride_for_width)
 LIBS=$evince_save_LIBS
 
+dnl ========= Check for gtk+-unix-print
+
+if test "$os_win32" = yes; then
+  with_gtk_unix_print_default=no
+else
+  with_gtk_unix_print_default=yes
+fi
+
+AC_MSG_CHECKING([whether gtk+-unix-print support is requested])
+AC_ARG_WITH([gtk-unix-print],
+  [AS_HELP_STRING([--without-gtk-unix-print],[disable the use of gtk-unix-print])],
+  [],[with_gtk_unix_print=$with_gtk_unix_print_default])
+AC_MSG_RESULT([$with_gtk_unix_print])
+
+if test "$with_gtk_unix_print" = "yes"; then
+   PKG_CHECK_MODULES(GTKUNIXPRINT, [gtk+-unix-print-2.0 >= $GTK_REQUIRED])
+   AC_DEFINE([GTKUNIXPRINT_ENABLED], [1], [Define if gtk+-unix-print is enabled.])
+fi
+
 dnl ========= Check for Keyring
+
+if test "$os_win32" = yes; then
+  with_keyring_default=no
+else
+  with_keyring_default=yes
+fi
+
 AC_ARG_WITH(keyring,
         AC_HELP_STRING([--without-keyring],[disable the use of gnome-keyring]),
        [case "${withval}" in
@@ -149,7 +178,7 @@ AC_ARG_WITH(keyring,
        no) WITH_KEYRING=no ;;
        *) AC_MSG_ERROR(bad value ${withval} for --with-keyring) ;;
        esac],
-       [WITH_KEYRING=yes]) dnl Default value
+       [WITH_KEYRING=$with_keyring_default]) dnl Default value
 AM_CONDITIONAL(WITH_KEYRING, test x$WITH_KEYRING = "xyes")
 
 if test x$WITH_KEYRING = "xyes"; then
@@ -190,22 +219,35 @@ 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_ARG_WITH(gconf,
-       AC_HELP_STRING([--without-gconf],[disable the use of gconf]),
-       [case "${withval}" in
-       yes) WITH_GCONF=yes ;;
-       no) WITH_GCONF=no ;;
-       *) AC_MSG_ERROR(bad value ${withval} for --with-gconf) ;;
-       esac],
-       [WITH_GCONF=yes]) dnl Default value
-AM_CONDITIONAL(WITH_GCONF, test x$WITH_GCONF = "xyes")
 
-if test x$WITH_GCONF = "xyes"; then
-   PKG_CHECK_MODULES(GCONF, gconf-2.0)
+if test "$os_win32" = yes; then
+  with_gconf_default=no
+else
+  with_gconf_default=yes
+fi
+
+AC_MSG_CHECKING([whether GConf support is requested])
+AC_ARG_WITH([gconf],
+  [AS_HELP_STRING([--without-gconf],[disable the use of gconf])],
+  [],[with_gconf=$with_gconf_default])
+AC_MSG_RESULT([$with_gconf])
+
+AM_CONDITIONAL([WITH_GCONF],[test "$with_gconf" = "yes"])
+
+if test "$with_gconf" = "yes"; then
+   PKG_CHECK_MODULES([GCONF],[gconf-2.0])
    AC_DEFINE([WITH_GCONF],[1],[Define if GConf support is enabled])
 fi
 
+AM_GCONF_SOURCE_2
+
+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_ARG_ENABLE([debug],
        AC_HELP_STRING([--enable-debug],
                        [Turn on evince debug mode]),,
@@ -230,8 +272,8 @@ BACKEND_CFLAGS="$BACKEND_CFLAGS -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE $DEBUG
 AC_SUBST(BACKEND_CFLAGS)
 AC_SUBST(BACKEND_LIBS)
 
-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"
+SHELL_CFLAGS="$SHELL_CORE_CFLAGS $GTKUNIXPRINT_CFLAGS $DBUS_CFLAGS $KEYRING_CFLAGS $GCONF_CFLAGS -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE $DEBUG_FLAGS"
+SHELL_LIBS="$SHELL_CORE_LIBS $GTKUNIXPRINT_CFLAGS $DBUS_LIBS $KEYRING_LIBS $GCONF_LIBS -lz"
 AC_SUBST(SHELL_CFLAGS)
 AC_SUBST(SHELL_LIBS)
 
@@ -276,13 +318,24 @@ AC_ARG_ENABLE(thumbnailer,
        [ENABLE_THUMBNAILER=yes]) dnl Default value
 AM_CONDITIONAL(ENABLE_THUMBNAILER, test x$ENABLE_THUMBNAILER = "xyes")
 
-dnl GConf configuration
-AM_GCONF_SOURCE_2
-
-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])
+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 gthread-2.0 gio-2.0 >= $GLIB_REQUIRED,
+                    [ENABLE_PREVIEWER=yes],[ENABLE_PREVIEWER=no])
 fi
+AM_CONDITIONAL(ENABLE_PREVIEWER, test x$ENABLE_PREVIEWER = "xyes")
+PREVIEWER_CFLAGS="$PREVIEWER_CFLAGS $GTKUNIXPRINT_CFLAGS $DEBUG_FLAGS"
+PREVIEWER_LIBS="$PREVIEWER_LIBS $GTKUNIXPRINT_LIBS -lz"
+AC_SUBST(PREVIEWER_CFLAGS)
+AC_SUBST(PREVIEWER_LIBS)
 
 # ***
 # GIR
@@ -333,8 +386,8 @@ 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.8.0
-    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.])
@@ -344,7 +397,7 @@ if test "x$enable_pdf" = "xyes"; then
            evince_save_LIBS=$LIBS
            LIBS="$LIBS $POPPLER_LIBS"
            AC_CHECK_FUNCS(poppler_page_render)
-           AC_CHECK_FUNCS(poppler_layers_iter_new)
+           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)
@@ -488,7 +541,15 @@ 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=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)
 
@@ -555,6 +616,8 @@ 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
@@ -567,7 +630,6 @@ backend/pixbuf/Makefile
 backend/ps/Makefile
 backend/tiff/Makefile
 cut-n-paste/Makefile
-cut-n-paste/evmountoperation/Makefile
 cut-n-paste/gedit-message-area/Makefile
 cut-n-paste/gimpcellrenderertoggle/Makefile
 cut-n-paste/smclient/Makefile
@@ -603,10 +665,14 @@ 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
@@ -619,11 +685,13 @@ AC_OUTPUT
 
 echo "
 Configure summary:
-        GConf Support......:  $WITH_GCONF
+        GConf Support......:  $with_gconf
+       GTK+ Unix Print....:  $with_gtk_unix_print
        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