X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=configure.ac;h=4ee26a9d9ab8f75410f2a808c1b60758639f3ba6;hb=31b40f7679ff2bf455f493e101d5cbf521bb0d12;hp=bc9efa755f5d7cd9befd61fee5914f153471a68a;hpb=b36f3a13160e8747019c40f28df89a9a9c3917ea;p=evince.git diff --git a/configure.ac b/configure.ac index bc9efa75..4ee26a9d 100644 --- a/configure.ac +++ b/configure.ac @@ -1,11 +1,47 @@ -dnl Process this file with autoconf to produce a configure script. - -AC_PREREQ(2.57) -AC_INIT(evince, 0.3.0) -AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) - -dnl make sure we keep ACLOCAL_FLAGS around for maintainer builds to work -AC_SUBST(ACLOCAL_AMFLAGS, "$ACLOCAL_FLAGS") +# ***************************************************************************** +# Versioning +# ***************************************************************************** + +m4_define([ev_major_version],[2]) +m4_define([ev_minor_version],[25]) +m4_define([ev_micro_version],[90]) +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) @@ -16,59 +52,231 @@ AM_PROG_LIBTOOL AC_ISC_POSIX AC_PROG_CC AM_PROG_CC_STDC +AM_PROG_CC_C_O 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_DEBUG_CHECK +GNOME_COMMON_INIT +GNOME_DOC_INIT +GNOME_MAINTAINER_MODE_DEFINES +GNOME_COMPILE_WARNINGS +GNOME_CXX_WARNINGS -ALL_LINGUAS="bg ca cs da de el en_CA en_GB fi fr ja ko lt nb nl no pt_BR ru rw sv 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 -POPPLER_REQUIRED=0.3.0 +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. (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 + +DBUS_GLIB_REQUIRED=0.70 +GTK_REQUIRED=2.12.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 + +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) + +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(LIBEVPRIVATE, gtk+-2.0 >= 2.4.0) -PKG_CHECK_MODULES(TOOLBAR_EDITOR, gtk+-2.0 >= 2.4.0 libgnomeui-2.0 >= 2.4.0) -PKG_CHECK_MODULES(RECENT_FILES, gtk+-2.0 >= 2.4.0 libgnomeui-2.0 >= 2.4.0) -PKG_CHECK_MODULES(ZOOM_CONTROL, gtk+-2.0 >= 2.4.0) -PKG_CHECK_MODULES(SHELL, gtk+-2.0 >= 2.6.0 libgnomeui-2.0 gnome-vfs-2.0 libgnomeprint-2.2 libgnomeprintui-2.2 libglade-2.0 gconf-2.0 poppler-glib >= $POPPLER_REQUIRED) -PKG_CHECK_MODULES(THUMBNAILER, gtk+-2.0 >= 2.6.0 gnome-vfs-2.0 poppler-glib >= $POPPLER_REQUIRED) -PKG_CHECK_MODULES(DVI, gtk+-2.0 >= 2.6.0) -PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.6.0) -PKG_CHECK_MODULES(PS, gtk+-2.0 >= 2.6.0 gnome-vfs-2.0 libgnomeui-2.0) -PKG_CHECK_MODULES(POPPLER_GLIB, poppler-glib >= $POPPLER_REQUIRED) +AC_SUBST(SMCLIENT_CFLAGS) +AC_SUBST(SMCLIENT_LIBS) + +BACKEND_LIBTOOL_FLAGS="-module -avoid-version -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_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 + PKG_CHECK_MODULES(KEYRING, gnome-keyring-1 >= $KEYRING_REQUIRED) + AC_DEFINE([WITH_KEYRING],[1],[Define if KEYRING support is enabled]) +fi GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0` AC_SUBST(GLIB_GENMARSHAL) -dnl Compile with disable-deprecated switches +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]) -AC_ARG_ENABLE(deprecated, -AC_HELP_STRING([--disable-deprecated], - [Don't allow any deprecated GTK+/etc. features.]), -set_enable_deprecated="$enableval",[ -if test -f $srcdir/autogen.sh; then - is_cvs_version=true - set_enable_deprecated=no -else - set_enable_deprecated=yes + 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_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 -]) -AC_MSG_CHECKING([whether to disable deprecated glib/gtk+/etc. features]) -if test "$set_enable_deprecated" != "yes"; then - AC_MSG_RESULT(yes) - EVINCE_DISABLE_DEPRECATED="-DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGNOME_DISABLE_DEPRECATED -DBONOBO_DISABLE_DEPRECATED" -else - AC_MSG_RESULT(no) - EVINCE_DISABLE_DEPRECATED="" fi -AC_SUBST(EVINCE_DISABLE_DEPRECATED) +AC_SUBST([DBUS_CFLAGS]) +AC_SUBST([DBUS_LIBS]) + +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) + AC_DEFINE([WITH_GCONF],[1],[Define if GConf support is enabled]) +fi + +dnl Debug mode +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 + + +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 $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 $DEBUG_FLAGS" +FRONTEND_LIBS="$FRONTEND_CORE_LIBS -lz" +AC_SUBST(FRONTEND_CFLAGS) +AC_SUBST(FRONTEND_LIBS) + +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) +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]) +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]) @@ -76,50 +284,149 @@ 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.]) +# *** +# 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 -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 +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() +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 ]) + +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.8.0 + 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.]) + SHELL_LIBS="$SHELL_LIBS $POPPLER_LIBS" + SHELL_CFLAGS="$SHELL_CFLAGS $POPPLER_CFLAGS" + + evince_save_LIBS=$LIBS + LIBS="$LIBS $POPPLER_LIBS" + AC_CHECK_FUNCS(poppler_page_render) + AC_CHECK_FUNCS(poppler_layers_iter_new) + 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 + + 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 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 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 -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 ================== 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 -AA_PARMS="-sDEVICE=x11alpha -dNOPLATFONTS" -AC_DEFINE_UNQUOTED(ALPHA_PARAMS, "$AA_PARMS", [Anti-aliasing parameters for Ghostscript.]) -AC_MSG_RESULT(Antialiasing parameters for Ghostscript: $AA_PARMS) -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, + [AC_HELP_STRING([--enable-tiff], [Compile with support of multipage tiff])],enable_tiff="$enableval",enable_tiff=yes) + +if test "x$enable_tiff" = "xyes"; then + AC_CHECK_HEADERS([tiff.h],enable_tiff=yes,enable_tiff=no,) + if test "x$enable_tiff" = "xyes"; then + AC_CHECK_LIB([tiff],TIFFOpen,enable_tiff=yes,enable_tiff=no,"-lz") + AC_CHECK_LIB([tiff],TIFFReadRGBAImageOriented,enable_tiff=yes,enable_tiff=no,"-lz") + fi + if test "x$enable_tiff" = "xyes"; then + AC_DEFINE([ENABLE_TIFF], [1], [Enable multipage tiff support.]) + else + AC_MSG_WARN("Tiff support is disabled since tiff library version 3.6 or newer not found") + fi +fi + +AM_CONDITIONAL(ENABLE_TIFF, test x$enable_tiff = xyes) +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 - AC_CHECK_HEADERS([libdjvu/ddjvuapi.h],enable_djvu=yes,enable_djvu=no,) -fi - -if test "x$enable_djvu" = "xyes"; then - AC_CHECK_LIB([djvulibre],ddjvu_context_create,enable_djvu=yes,enable_djvu=no,"-lpthread") + 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.17 which +** can be found on http://djvulibre.djvuzone.org +]) + fi fi -if test "x$enable_djvu" = "xyes"; then - AC_DEFINE([ENABLE_DJVU], [1], [Enable djvu viewer support.]) -fi AM_CONDITIONAL(ENABLE_DJVU, test x$enable_djvu = xyes) dnl ================== End of djvu checks =================================================== @@ -127,7 +434,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) @@ -144,13 +451,15 @@ if test "x$enable_dvi" = "xyes"; then if test "x$enable_dvi" = "xyes"; then AC_DEFINE([ENABLE_DVI], [1], [Enable dvi viewer support.]) + else + AC_MSG_WARN("Dvi support is disabled since kpathsea library is not found. Check your TeX installation.") fi fi 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 @@ -161,80 +470,170 @@ else fi AM_CONDITIONAL(WITH_TYPE1_FONTS, test x$enable_type1_fonts = xyes) - dnl ================== End of dvi checks =================================================== -dnl Turn on the additional warnings last, so -Werror doesn't affect other tests. -dnl stolen from nautilus and gnome-common +dnl ================== pixbuf checks =================================================== -AC_ARG_ENABLE(more-warnings, -[ --enable-more-warnings Maximum compiler warnings], -set_more_warnings="$enableval",[ -if test -f $srcdir/autogen.sh; then - is_cvs_version=true - set_more_warnings=yes -else - set_more_warnings=no +AC_ARG_ENABLE(pixbuf, + [AC_HELP_STRING([--enable-pixbuf], [Compile with support of pixbuf])],enable_pixbuf="$enableval",enable_pixbuf=no) +if test "x$enable_pixbuf" = "xyes"; then + AC_DEFINE([ENABLE_PIXBUF], [1], [Enable pixbuf support.]) fi -]) -AC_MSG_CHECKING(for more warnings, including -Werror) -if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then - AC_MSG_RESULT([yes, using gcc]) - CFLAGS="\ - -Wall \ - -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \ - -Wnested-externs -Wpointer-arith \ - -Wcast-align -Wsign-compare \ - -Werror \ - $CFLAGS" - -dnl case " $CFLAGS " in -dnl *[\ \ ]-ansi[\ \ ]*) ;; -dnl *) CFLAGS="$CFLAGS -ansi" ;; -dnl esac -dnl case " $CFLAGS " in -dnl *[\ \ ]-pedantic[\ \ ]*) ;; -dnl *) CFLAGS="$CFLAGS -pedantic" ;; -dnl esac - - for option in -Wno-strict-aliasing -Wno-sign-compare; do - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $option" - AC_MSG_CHECKING([whether gcc understands $option]) - AC_TRY_COMPILE([], [], - has_option=yes, - has_option=no,) - if test $has_option = no; then - CFLAGS="$SAVE_CFLAGS" - fi - AC_MSG_RESULT($has_option) - unset has_option - unset SAVE_CFLAGS - done - unset option -else - AC_MSG_RESULT(no) +AM_CONDITIONAL(ENABLE_PIXBUF, test x$enable_pixbuf = xyes) + +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=yes) +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) + +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;application/x-bzdvi;application/x-gzdvi;" +fi +if test "x$enable_djvu" = "xyes"; then + 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;" +fi +if test "x$enable_comics" = "xyes"; then + 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/*;" +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_CHECK_FUNC(localtime_r, AC_DEFINE(HAVE_LOCALTIME_R, 1, [Defines if localtime_r is available on your system])) -AC_OUTPUT([ -Makefile +# 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]) + +# ***************************************************************************** + +AC_CONFIG_FILES([ +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/evmountoperation/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 +data/evince.desktop.in data/Makefile -lib/Makefile -pdf/Makefile -pixbuf/Makefile -ps/Makefile -djvu/Makefile -dvi/Makefile -dvi/mdvi-lib/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/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/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 +libview/Makefile +Makefile po/Makefile.in -backend/Makefile +properties/Makefile shell/Makefile +test/Makefile thumbnailer/Makefile -help/Makefile -help/C/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: + GConf Support......: $WITH_GCONF + Keyring Support....: $WITH_KEYRING + DBUS Support.......: $enable_dbus + Nautilus Plugin....: $HAVE_NAUTILUS + Thumbnailer........: $ENABLE_THUMBNAILER + Gtk-Doc Support....: $enable_gtk_doc + Debug mode.........: $enable_debug + GObj. Introspection: $enable_introspection + + 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 +"