X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=configure.ac;h=c0304ec156c1879d9e662b906a9266a8438ef9a0;hb=4c9196ac43127d94cfb5d10387007658eeac808c;hp=e2c9065b9792671f22034906b8d63c1735d44f80;hpb=acd04a5d446e3c5c0ff495331840cbe223bbd827;p=evince.git diff --git a/configure.ac b/configure.ac index e2c9065b..c0304ec1 100644 --- a/configure.ac +++ b/configure.ac @@ -1,24 +1,68 @@ -dnl Process this file with autoconf to produce a configure script. - -AC_PREREQ(2.57) -AC_INIT([Evince],[2.21.90],[http://bugzilla.gnome.org/enter_bug.cgi?product=evince],[evince]) -AM_INIT_AUTOMAKE([1.9 dist-bzip2 no-dist-gzip]) - -EV_API_VERSION=2.20 -AC_SUBST(EV_API_VERSION) - -AM_CONFIG_HEADER(config.h) +# ***************************************************************************** +# Versioning +# ***************************************************************************** + +m4_define([ev_major_version],[2]) +m4_define([ev_minor_version],[29]) +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.29]) + +# 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],[2]) +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],[2]) +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 foreign dist-bzip2 no-dist-gzip]) + +AC_CONFIG_HEADERS([config.h]) +AC_CONFIG_MACRO_DIR([m4]) + +if test -z "$enable_maintainer_mode"; then + enable_maintainer_mode=yes +fi +AM_MAINTAINER_MODE([enable]) -AM_MAINTAINER_MODE +m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) 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]) + +AC_PROG_SED AC_PATH_PROG([GLIB_GENMARSHAL], [glib-genmarshal]) AC_PATH_PROG([GLIB_MKENUMS],[glib-mkenums]) @@ -27,15 +71,64 @@ GNOME_DOC_INIT GNOME_MAINTAINER_MODE_DEFINES GNOME_COMPILE_WARNINGS GNOME_CXX_WARNINGS -GNOME_DEBUG_CHECK GTK_DOC_CHECK(1.0) +IT_PROG_INTLTOOL([0.35.0]) + GETTEXT_PACKAGE=evince AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package]) AM_GLIB_GNU_GETTEXT +m4_pattern_allow([AM_V_GEN])dnl Make autoconf not complain about the rule below +EV_INTLTOOL_EVINCE_BACKEND_RULE='%.evince-backend: %.evince-backend.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(AM_V_GEN) LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' +AC_SUBST([EV_INTLTOOL_EVINCE_BACKEND_RULE]) + +# Check which platform to use + +AC_MSG_CHECKING([for which platform to build]) +AC_ARG_WITH([platform], + [AS_HELP_STRING([--with-platform=gnome|win32|hildon (default: gnome)])], + [case "$withval" in + gnome|win32|hildon) ;; + *) AC_MSG_ERROR([invalid argument "$withval" for --with-platform]) ;; + esac], + [case "$host" in + *-*-mingw*|*-*-cygwin*) with_platform="win32" ;; + *) with_platform=gnome ;; + esac]) + +AC_MSG_RESULT([$with_platform]) + +if test "$with_platform" = "win32"; then + AC_CHECK_TOOL([WINDRES],[windres]) + AC_MSG_CHECKING([for native Win32]) + case "$host" in + *-*-mingw*) + os_win32=yes + ;; + *) + os_win32=no + ;; + esac + AC_MSG_RESULT([$os_win32]) +fi + +AM_CONDITIONAL([PLATFORM_HILDON],[test "$with_platform" = "hildon"]) +AM_CONDITIONAL([PLATFORM_WIN32],[test "$with_platform" = "win32"]) + +dnl Specify required versions of dependencies +DBUS_GLIB_REQUIRED=0.70 +GTK_REQUIRED=2.14.0 +GLIB_REQUIRED=2.18.0 +KEYRING_REQUIRED=2.22.0 +AC_SUBST([GLIB_REQUIRED]) +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) @@ -45,196 +138,311 @@ dnl Check dependencies # SHELL_CFLAGS for shell implementation. # SHELL_LIBS -DBUS_GLIB_REQUIRED=0.70 -GTK_REQUIRED=2.10.0 -GLIB_REQUIRED=2.15.4 -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(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 gthread-2.0 gio-2.0 >= $GLIB_REQUIRED) + +SHELL_PLATFORM_PKGS= +case "$with_platform" in + hildon) AC_DEFINE([PLATFORM_HILDON],[1],[Define if building for the hildon platform]) + SHELL_PLATFORM_PKGS="hildon-1 hildon-fm-2 libosso" + ;; + *) SHELL_PLATFORM_PKGS="gnome-icon-theme >= $GNOME_ICON_THEME_REQUIRED" + ;; +esac + +PKG_CHECK_MODULES([SHELL_CORE],[libxml-2.0 >= $LIBXML_REQUIRED gtk+-2.0 >= $GTK_REQUIRED gio-2.0 >= $GLIB_REQUIRED gthread-2.0 $SHELL_PLATFORM_PKGS]) + +# ********* +# SM client +# ********* + +GDK_TARGET="$($PKG_CONFIG --variable target gdk-2.0)" + +AC_MSG_CHECKING([which smclient backend to use]) +AC_ARG_WITH([smclient], + [AS_HELP_STRING([--with-smclient-backend],[which smclient backend to use (no|xsmp|win32|quartz)])], + [], + [case "$GDK_TARGET" in + x11) case "$with_platform" in + gnome) with_smclient=xsmp ;; + *) with_smclient=no ;; + esac ;; + win32|quartz) with_smclient=$GDK_TARGET ;; + *) with_smclient=no ;; + esac]) +AC_MSG_RESULT([$with_smclient]) + +if test "$with_smclient" != "no"; then + AC_DEFINE([WITH_SMCLIENT],[1],[Define if smclient is enabled]) + + case "$with_smclient" in + xsmp) SMCLIENT_PKGS="sm >= 1.0.0" ;; + *) SMCLIENT_PKGS="" ;; + esac + + PKG_CHECK_MODULES([SMCLIENT],[gtk+-2.0 gthread-2.0 $SMCLIENT_PKGS]) + AC_SUBST([SMCLIENT_CFLAGS]) + AC_SUBST([SMCLIENT_LIBS]) +fi -GTK_PRINT_REQUIRED=2.10.0 +AM_CONDITIONAL([WITH_SMCLIENT],[test "$with_smclient" != "no"]) +AM_CONDITIONAL([WITH_SMCLIENT_XSMP],[test "$with_smclient" = "xsmp"]) +AM_CONDITIONAL([WITH_SMCLIENT_WIN32],[test "$with_smclient" = "win32"]) +AM_CONDITIONAL([WITH_SMCLIENT_QUARTZ],[test "$with_smclient" = "quartz"]) -PKG_CHECK_MODULES(LIB, gtk+-2.0 >= $GTK_REQUIRED libxml-2.0 >= $LIBXML_REQUIRED gio-2.0 >= $GLIB_REQUIRED) -PKG_CHECK_MODULES(BACKEND, gtk+-2.0 >= $GTK_REQUIRED) -PKG_CHECK_MODULES(FRONTEND_CORE, gtk+-2.0 >= $GTK_REQUIRED libglade-2.0 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 libglade-2.0 gconf-2.0) +# *** -BACKEND_LIBTOOL_FLAGS="-module -avoid-version" +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) +AC_CHECK_FUNCS(gtk_print_operation_get_n_pages_to_print) +LIBS=$evince_save_LIBS + +# ****************** +# GKT+ Unix Printing +# ****************** + +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])], + [],[case "$os_win32" in + yes) with_gtk_unix_print=no ;; + *) with_gtk_unix_print=yes ;; + esac]) +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 + +# ********************* +# GNOME Keyring support +# ********************* + AC_ARG_WITH(keyring, - AC_HELP_STRING([--without-keyring],[disable the use of gnome-keyring]), - [case "${withval}" in - yes) WITH_KEYRING=yes ;; - no) WITH_KEYRING=no ;; - *) AC_MSG_ERROR(bad value ${withval} for --with-keyring) ;; - esac], - [WITH_KEYRING=yes]) dnl Default value -AM_CONDITIONAL(WITH_KEYRING, test x$WITH_KEYRING = "xyes") - -if test x$WITH_KEYRING = "xyes"; then + [AS_HELP_STRING([--without-keyring],[disable the use of gnome-keyring])], + [], + [case "$with_platform" in + gnome) with_keyring=yes ;; + hildon|win32) with_keyring=no ;; + esac]) + +AM_CONDITIONAL([WITH_KEYRING],[test "$with_keyring" = "yes"]) + +if test "$with_keyring" = "yes"; then PKG_CHECK_MODULES(KEYRING, gnome-keyring-1 >= $KEYRING_REQUIRED) AC_DEFINE([WITH_KEYRING],[1],[Define if KEYRING support is enabled]) fi -AC_ARG_WITH(libgnome, - AC_HELP_STRING([--without-libgnome],[disable the use of libgnome]), - [case "${withval}" in - yes) WITH_GNOME=yes ;; - no) WITH_GNOME=no ;; - *) AC_MSG_ERROR(bad value ${withval} for --with-libgnome) ;; - 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]) -fi - 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 +# **** +# DBUS +# **** -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 +AC_ARG_ENABLE([dbus], + [AS_HELP_STRING([--enable-dbus], [Compile with support for dbus])], + [], + [case "$with_platform" in + gnome) enable_dbus=yes ;; + hildon) enable_dbus=no ;; + esac]) -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 "$enable_dbus" = "yes"; then + PKG_CHECK_MODULES([DBUS],[dbus-glib-1 >= $DBUS_GLIB_REQUIRED],[], + [AC_MSG_ERROR([DBUS not found; use --disable-dbus to disable DBUS support])]) + + 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 -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 "$enable_dbus" = "yes"]) + +if test "$enable_dbus" = "yes"; then + PKG_CHECK_MODULES([EV_DAEMON], [gthread-2.0 gio-2.0 >= $GLIB_REQUIRED dbus-glib-1 >= $DBUS_GLIB_REQUIRED]) fi -if test "x$enable_dbus" = "xyes" ; then - AC_PATH_PROG([DBUS_BINDING_TOOL], [dbus-binding-tool], [no]) +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])], + [], + [case "$os_win32" in + yes) with_gconf=no ;; + *) with_gconf=yes ;; + esac]) +AC_MSG_RESULT([$with_gconf]) - 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 +AM_CONDITIONAL([WITH_GCONF],[test "$with_gconf" = "yes"]) - AC_DEFINE([ENABLE_DBUS],[1],[Define if DBUS support is enabled]) +if test "$with_gconf" = "yes"; then + PKG_CHECK_MODULES([GCONF],[gconf-2.0]) + AC_DEFINE([WITH_GCONF],[1],[Define if GConf support is enabled]) + + AM_GCONF_SOURCE_2 + + AC_PATH_PROG([GCONFTOOL], [gconftool-2], [false]) + if test "$GCONFTOOL" = "false"; then + AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf]) + fi +else + AM_CONDITIONAL([GCONF_SCHEMAS_INSTALL],false) fi -LIB_CFLAGS="$LIB_CFLAGS $GNOME_CFLAGS" -LIB_LIBS="$LIB_LIBS $GNOME_LIBS" -AC_SUBST(LIB_CFLAGS) -AC_SUBST(LIB_LIBS) +dnl Debug mode -BACKEND_CFLAGS="$BACKEND_CFLAGS -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE" +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 + +AC_ARG_ENABLE([tests], + AC_HELP_STRING([--enable-tests], [Disable tests]), + enable_tests="$enableval", + enable_tests=yes) + +AM_CONDITIONAL(ENABLE_TESTS, test x$enable_tests = xyes) + +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 $KEYRING_CFLAGS -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE" -SHELL_LIBS="$SHELL_CORE_LIBS $DBUS_LIBS $GNOMEUI_LIBS $KEYRING_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) -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]), - [case "${enableval}" in - yes) ENABLE_NAUTILUS=yes ;; - no) ENABLE_NAUTILUS=no ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-nautilus) ;; - esac], - [ENABLE_NAUTILUS=yes]) dnl Default value - -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) +EV_DAEMON_CFLAGS="$EV_DAEMON_CFLAGS $DEBUG_FLAGS" +AC_SUBST([EV_DAEMON_CFLAGS]) +AC_SUBST([EV_DAEMON_LIBS]) + +# Check for Nautilus property page build +AC_ARG_ENABLE([nautilus], + [AS_HELP_STRING([--disable-nautilus],[Build the nautilus extensions])], + [], + [case "$with_platform" in + gnome) enable_nautilus=yes ;; + *) enable_nautilus=no ;; + esac]) + +if test "$enable_nautilus" = "yes" ; then + PKG_CHECK_MODULES([NAUTILUS],[gtk+-x11-2.0 $MM gthread-2.0 libnautilus-extension], + [],[AC_MSG_ERROR([libnautilus-extension not found; use --disable-nautilus to disable the nautilus extensions])]) + NAUTILUS_EXTENSION_DIR=`$PKG_CONFIG --variable=extensiondir libnautilus-extension` + AC_SUBST([nautilusextensiondir],[$NAUTILUS_EXTENSION_DIR]) + AC_SUBST(NAUTILUS_CFLAGS) + AC_SUBST(NAUTILUS_LIBS) + + AC_DEFINE([HAVE_NAUTILUS],[1], [defined if you build the nautilus plugin]) fi -AC_SUBST(NAUTILUS_CFLAGS) -AC_SUBST(NAUTILUS_LIBS) -if test x$HAVE_NAUTILUS = "xyes"; then - AC_DEFINE(HAVE_NAUTILUS, 1, [defined if you build the nautilus plugin]) +AM_CONDITIONAL([ENABLE_NAUTILUS],[test "$enable_nautilus" = "yes"]) + +# Check for thumbnailer build + +AC_ARG_ENABLE([thumbnailer], + [AS_HELP_STRING([--disable-thumbnailer],[disable the GNOME thumbnailer])], + [], + [case "$with_platform" in + gnome) enable_thumbnailer=yes ;; + *) enable_thumbnailer=no ;; + esac]) + +AM_CONDITIONAL([ENABLE_THUMBNAILER],[test "$enable_thumbnailer" = "yes"]) + +# *************** +# Print Previewer +# *************** + +AC_ARG_ENABLE([previewer], + [AS_HELP_STRING([--disable-previewer],[disable the GNOME Document Previewer])], + [], + [case "$with_platform" in + gnome) enable_previewer=yes ;; + *) enable_previewer=no ;; + esac]) + +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]) fi -AM_CONDITIONAL(HAVE_NAUTILUS, test x$HAVE_NAUTILUS = "xyes") - - -dnl Check for thumbnailer build -AC_ARG_ENABLE(thumbnailer, - AC_HELP_STRING([--disable-thumbnailer],[disable the GNOME thumbnailer]), - [case "${enableval}" in - yes) ENABLE_THUMBNAILER=yes ;; - no) ENABLE_THUMBNAILER=no ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-thumbnailer) ;; - esac], - [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]) + +AM_CONDITIONAL([ENABLE_PREVIEWER],[test "$enable_previewer" = "yes"]) +PREVIEWER_CFLAGS="$PREVIEWER_CFLAGS $GTKUNIXPRINT_CFLAGS $DEBUG_FLAGS" +PREVIEWER_LIBS="$PREVIEWER_LIBS $GTKUNIXPRINT_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 +AC_SUBST([G_IR_SCANNER]) +AC_SUBST([G_IR_COMPILER]) +AC_SUBST([G_IR_GENERATE]) +AC_SUBST([GIRDIR]) +AC_SUBST([GIRTYPELIBDIR]) + +AM_CONDITIONAL([ENABLE_INTROSPECTION],[test "$enable_introspection" = "yes"]) + dnl ================== portability checks =========================================== dnl for backtrace() @@ -249,8 +457,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.6 - PKG_CHECK_MODULES(POPPLER, poppler-glib >= $POPPLER_REQUIRED,enable_pdf=yes,enable_pdf=no) + POPPLER_REQUIRED=0.12.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.]) @@ -260,17 +468,16 @@ 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_page_render_for_printing) 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 + if test x$enable_cairo_ps = xyes; then AC_DEFINE([HAVE_CAIRO_PS], [1], [defined if cairo-ps is available]) fi else @@ -280,42 +487,25 @@ fi AM_CONDITIONAL(ENABLE_PDF, test x$enable_pdf = xyes) dnl ================== end of pdf checks ============================================ -SPECTRE_REQUIRED=0.2.0 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 libpectre]) + AC_DEFINE([HAVE_SPECTRE], [1], [Have libspectre]) fi dnl ================== ps checks ==================================================== AC_ARG_ENABLE(ps, [AC_HELP_STRING([--disable-ps], [Compile without PostScript backend])],enable_ps=$enableval,enable_ps="yes") -ps_backend="" -if test x$enable_ps = xyes; then - AC_DEFINE([ENABLE_PS], [1], [Enable support for PostScript files.]) - +if test "x$enable_ps" = "xyes"; then if test "x$have_spectre" = "xyes"; then - ps_backend="(libspectre)" + AC_DEFINE([ENABLE_PS], [1], [Enable support for PostScript files.]) else - 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_WARN([PS support is disabled since libspectre (version >= $SPECTRE_REQUIRED) or Ghostscript (version >= 7) are needed]) - enable_ps=no - else - 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) - ps_backend="(gs)" - fi + enable_ps="no" + AC_MSG_WARN([PS support is disabled since libspectre (version >= $SPECTRE_REQUIRED) is needed]) fi fi AM_CONDITIONAL(ENABLE_PS, test x$enable_ps = xyes) @@ -422,7 +612,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) @@ -448,7 +646,7 @@ 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;" + 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;" @@ -457,7 +655,7 @@ 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;" + 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/*;" @@ -467,6 +665,29 @@ if test "x$enable_impress" = "xyes"; then 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") +AC_SUBST([backend_binary_version],"ev_binary_version") + +# 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]) + +# ***************************************************************************** + AC_CONFIG_FILES([ backend/Makefile backend/comics/Makefile @@ -479,7 +700,9 @@ backend/pixbuf/Makefile backend/ps/Makefile backend/tiff/Makefile cut-n-paste/Makefile -cut-n-paste/gedit-message-area/Makefile +cut-n-paste/evinfobar/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 @@ -504,30 +727,48 @@ 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 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 - Keyring Support....: $WITH_KEYRING + Platform...........: $with_platform + 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 + SM client support..: $with_smclient + Nautilus Plugin....: $enable_nautilus + Thumbnailer........: $enable_thumbnailer + Previewer..........: $enable_previewer Gtk-Doc Support....: $enable_gtk_doc + Debug mode.........: $enable_debug + GObj. Introspection: $enable_introspection + Tests..............: $enable_tests PDF Backend........: $enable_pdf - PostScript Backend.: $enable_ps $ps_backend + PostScript Backend.: $enable_ps TIFF Backend.......: $enable_tiff DJVU Backend.......: $enable_djvu DVI Backend........: $enable_dvi