]> www.fi.muni.cz Git - evince.git/blob - configure.ac
069ded87121c8d2d25e375369804180dffea62c1
[evince.git] / configure.ac
1 # *****************************************************************************
2 # Versioning
3 # *****************************************************************************
4
5 m4_define([ev_major_version],[2])
6 m4_define([ev_minor_version],[30])
7 m4_define([ev_micro_version],[0])
8 m4_define([ev_extra_version],[])
9 m4_define([ev_version],[ev_major_version.ev_minor_version.ev_micro_version()ev_extra_version])
10
11 # The evince API version
12 m4_define([ev_api_version], [2.30])
13
14 # Libtool versioning. The backend and view libraries have separate versions.
15 # Before making a release, the libtool version should be modified.
16 # The string is of the form C:R:A.
17 # - If interfaces have been changed or added, but binary compatibility has
18 #   been preserved, change to C+1:0:A+1
19 # - If binary compatibility has been broken (eg removed or changed interfaces)
20 #   change to C+1:0:0
21 # - If the interface is the same as the previous version, change to C:R+1:A
22
23 # Libtool version of the backend library
24 m4_define([ev_document_lt_current],[2])
25 m4_define([ev_document_lt_revision],[0])
26 m4_define([ev_document_lt_age],[0])
27 m4_define([ev_document_lt_version_info],[ev_document_lt_current:ev_document_lt_revision:ev_document_lt_age])
28 m4_define([ev_document_lt_current_minus_age],[m4_eval(ev_document_lt_current - ev_document_lt_age)])
29
30 # Libtool version of the view library
31 m4_define([ev_view_lt_current],[2])
32 m4_define([ev_view_lt_revision],[0])
33 m4_define([ev_view_lt_age],[0])
34 m4_define([ev_view_lt_version_info],[ev_view_lt_current:ev_view_lt_revision:ev_view_lt_age])
35 m4_define([ev_view_lt_current_minus_age],[m4_eval(ev_view_lt_current - ev_view_lt_age)])
36
37 # Binary version for the document backends
38 m4_define([ev_binary_version],[ev_document_lt_current])
39
40 # *****************************************************************************
41
42 AC_PREREQ([2.57])
43 AC_INIT([Evince],[ev_version],[http://bugzilla.gnome.org/enter_bug.cgi?product=evince],[evince])
44 AM_INIT_AUTOMAKE([1.10 foreign dist-bzip2 no-dist-gzip])
45
46 AC_CONFIG_HEADERS([config.h])
47 AC_CONFIG_MACRO_DIR([m4])
48
49 if test -z "$enable_maintainer_mode"; then
50   enable_maintainer_mode=yes
51 fi
52 AM_MAINTAINER_MODE([enable])
53
54 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
55
56 AM_PROG_LIBTOOL
57
58 AC_ISC_POSIX
59 AC_PROG_CC
60 AM_PROG_CC_STDC
61 AM_PROG_CC_C_O
62 AC_PROG_CXX
63 AC_STDC_HEADERS
64
65 AC_PROG_SED
66 AC_PATH_PROG([GLIB_GENMARSHAL], [glib-genmarshal])
67 AC_PATH_PROG([GLIB_MKENUMS],[glib-mkenums])
68
69 GNOME_MAINTAINER_MODE_DEFINES
70 GNOME_COMPILE_WARNINGS
71 GNOME_CXX_WARNINGS
72
73 dnl FIXME: remove this when required gtk+ >= 2.19.7
74 DISABLE_DEPRECATED=
75 AC_SUBST([DISABLE_DEPRECATED])
76
77 IT_PROG_INTLTOOL([0.35.0])
78
79 GETTEXT_PACKAGE=evince
80 AC_SUBST(GETTEXT_PACKAGE)
81 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
82 AM_GLIB_GNU_GETTEXT
83
84 m4_pattern_allow([AM_V_GEN])dnl Make autoconf not complain about the rule below
85 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 $< [$]@'
86 AC_SUBST([EV_INTLTOOL_EVINCE_BACKEND_RULE])
87
88 GLIB_GSETTINGS
89
90 # Check which platform to use
91
92 AC_MSG_CHECKING([for which platform to build])
93 AC_ARG_WITH([platform],
94   [AS_HELP_STRING([--with-platform=gnome|win32|hildon],
95                   [Setting platform (default: gnome)])],
96   [case "$withval" in
97     gnome|win32|hildon) ;;
98     *) AC_MSG_ERROR([invalid argument "$withval" for --with-platform]) ;;
99    esac],
100   [case "$host" in
101      *-*-mingw*|*-*-cygwin*) with_platform="win32" ;;
102      *) with_platform=gnome ;;
103    esac])
104
105 AC_MSG_RESULT([$with_platform])
106
107 if test "$with_platform" = "win32"; then
108   AC_CHECK_TOOL([WINDRES],[windres])
109   AC_MSG_CHECKING([for native Win32])
110   case "$host" in
111     *-*-mingw*)
112       os_win32=yes
113       ;;
114     *)
115       os_win32=no
116       ;;
117   esac
118   AC_MSG_RESULT([$os_win32])
119 fi
120
121 AM_CONDITIONAL([PLATFORM_HILDON],[test "$with_platform" = "hildon"])
122 AM_CONDITIONAL([PLATFORM_WIN32],[test "$with_platform" = "win32"])
123
124 dnl Specify required versions of dependencies
125 DBUS_GLIB_REQUIRED=0.70
126 GTK_REQUIRED=2.20.0
127 GLIB_REQUIRED=2.25.3
128 KEYRING_REQUIRED=2.22.0
129 GCONF_REQUIRED=2.31.2
130 AC_SUBST([GLIB_REQUIRED])
131 AC_SUBST([GTK_REQUIRED])
132
133 GNOME_ICON_THEME_REQUIRED=2.17.1
134 LIBXML_REQUIRED=2.5.0
135
136 dnl Check dependencies
137
138 # LIB_CFLAGS       for helpers and generic widgets. (libdocument, cut-and-paste)
139 # BACKEND_CFLAGS   for backend implementations.
140 # FRONTEND_CFLAGS  for frontend implementations. (properties, thumbnailer)
141 # FRONTEND_LIBS
142 # SHELL_CFLAGS     for shell implementation.
143 # SHELL_LIBS
144
145 PKG_CHECK_MODULES(LIBDOCUMENT, gtk+-2.0 >= $GTK_REQUIRED gio-2.0 >= $GLIB_REQUIRED)
146 PKG_CHECK_MODULES(LIBVIEW, gtk+-2.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED)
147 PKG_CHECK_MODULES(BACKEND, gtk+-2.0 >= $GTK_REQUIRED)
148 PKG_CHECK_MODULES(FRONTEND_CORE, gtk+-2.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED)
149 PKG_CHECK_MODULES(PREVIEWER, gtk+-2.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED)
150
151 SHELL_PLATFORM_PKGS=
152 case "$with_platform" in
153   hildon) AC_DEFINE([PLATFORM_HILDON],[1],[Define if building for the hildon platform])
154           SHELL_PLATFORM_PKGS="hildon-1 hildon-fm-2 libosso"
155           ;;
156   gnome)
157         # Evince has a rather soft run-time dependency on hicolor-icon-theme.
158         # If the hicolor theme is not available, Evince fails to display some
159         # icons. Because we cannot check for it at run-time, we instead
160         # would like to require the icon theme at compile-time. But, because
161         # the hicolor-icon-theme does not have a pkgconfig file, on gnome we
162         # require the gnome icon theme instead.
163         SHELL_PLATFORM_PKGS="gnome-icon-theme >= $GNOME_ICON_THEME_REQUIRED"
164         # The totem-screensaver and egg_smclient code use x11 directly.
165         SHELL_PLATFORM_PKGS="$SHELL_PLATFORM_PKGS x11"
166         ;;
167   *)
168         # On all other platforms we issue a warning about the runtime
169         # dependency.
170         AC_MSG_WARN([Evince has a soft run-time dependency on hicolor-icon-theme. You are advised to have this theme installed when running Evince.]);
171         SHELL_PLATFORM_PKGS=""
172         ;;
173 esac
174
175 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])
176
177 # *********
178 # SM client
179 # *********
180
181 GDK_TARGET="$($PKG_CONFIG --variable target gdk-2.0)"
182
183 AC_MSG_CHECKING([which smclient backend to use])
184 AC_ARG_WITH([smclient],
185   [AS_HELP_STRING([--with-smclient-backend=no|xsmp|win32|quartz],
186                   [Setting smclient backend (default:auto)])],
187   [],
188   [case "$GDK_TARGET" in
189     x11) case "$with_platform" in
190            gnome) with_smclient=xsmp ;;
191            *) with_smclient=no ;;
192          esac ;;
193     win32|quartz) with_smclient=$GDK_TARGET ;;
194     *) with_smclient=no ;;
195    esac])
196    
197 AC_MSG_RESULT([$with_smclient])
198
199 if test "$with_smclient" != "no"; then
200   AC_DEFINE([WITH_SMCLIENT],[1],[Define if smclient is enabled])
201
202   case "$with_smclient" in
203     xsmp) SMCLIENT_PKGS="sm >= 1.0.0" ;;
204     *) SMCLIENT_PKGS="" ;;
205   esac
206
207   PKG_CHECK_MODULES([SMCLIENT],[gtk+-2.0 gthread-2.0 $SMCLIENT_PKGS])
208   AC_SUBST([SMCLIENT_CFLAGS])
209   AC_SUBST([SMCLIENT_LIBS])
210 fi
211
212 AM_CONDITIONAL([WITH_SMCLIENT],[test "$with_smclient" != "no"])
213 AM_CONDITIONAL([WITH_SMCLIENT_XSMP],[test "$with_smclient" = "xsmp"])
214 AM_CONDITIONAL([WITH_SMCLIENT_WIN32],[test "$with_smclient" = "win32"])
215 AM_CONDITIONAL([WITH_SMCLIENT_QUARTZ],[test "$with_smclient" = "quartz"])
216
217 # ***
218
219 BACKEND_LIBTOOL_FLAGS="-module -avoid-version -no-undefined -export-symbols \$(top_srcdir)/backend/backend.symbols"
220 AC_SUBST(BACKEND_LIBTOOL_FLAGS)
221
222 dnl ===== Check special functions
223 evince_save_LIBS=$LIBS
224 LIBS="$LIBS $BACKEND_LIBS"
225 AC_CHECK_FUNCS(cairo_format_stride_for_width)
226 LIBS=$evince_save_LIBS
227
228 # ******************
229 # GKT+ Unix Printing
230 # ******************
231
232 AC_MSG_CHECKING([whether gtk+-unix-print support is requested])
233 AC_ARG_WITH([gtk-unix-print],
234   [AS_HELP_STRING([--without-gtk-unix-print],
235                   [Disable the use of gtk-unix-print])],
236   [],[case "$os_win32" in
237         yes) with_gtk_unix_print=no ;;
238         *) with_gtk_unix_print=yes ;;
239       esac])
240       
241 AC_MSG_RESULT([$with_gtk_unix_print])
242
243 if test "$with_gtk_unix_print" = "yes"; then
244    PKG_CHECK_MODULES(GTKUNIXPRINT, [gtk+-unix-print-2.0 >= $GTK_REQUIRED])
245    AC_DEFINE([GTKUNIXPRINT_ENABLED], [1], [Define if gtk+-unix-print is enabled.])
246 fi
247
248 # *********************
249 # GNOME Keyring support
250 # *********************
251
252 AC_ARG_WITH(keyring,
253         [AS_HELP_STRING([--without-keyring],
254                         [Disable the use of gnome-keyring])],
255         [],
256         [case "$with_platform" in
257            gnome) with_keyring=yes ;;
258            hildon|win32) with_keyring=no ;;
259          esac])
260
261 AM_CONDITIONAL([WITH_KEYRING],[test "$with_keyring" = "yes"])
262
263 if test "$with_keyring" = "yes"; then
264         PKG_CHECK_MODULES(KEYRING, gnome-keyring-1 >= $KEYRING_REQUIRED)
265         AC_DEFINE([WITH_KEYRING],[1],[Define if KEYRING support is enabled])
266 fi
267
268 # ****
269 # DBUS
270 # ****
271
272 AC_ARG_ENABLE([dbus],
273   [AS_HELP_STRING([--disable-dbus], [Disable support for dbus])],
274   [],
275   [case "$with_platform" in
276       gnome) enable_dbus=yes ;;
277       hildon) enable_dbus=no ;;
278     esac])
279
280 if test "$enable_dbus" = "yes"; then
281   PKG_CHECK_MODULES([DBUS],[dbus-glib-1 >= $DBUS_GLIB_REQUIRED],[],
282                     [AC_MSG_ERROR([DBUS not found; use --disable-dbus to disable DBUS support])])
283
284   AC_PATH_PROG([DBUS_BINDING_TOOL], [dbus-binding-tool], [no])
285   if test x$DBUS_BINDING_TOOL = "xno" ; then
286           AC_MSG_ERROR([dbus-binding-tool executable not found in your path - should be installed with dbus glib bindings])
287   fi
288
289   AC_DEFINE([ENABLE_DBUS],[1],[Define if DBUS support is enabled])
290 fi
291
292 AC_SUBST([DBUS_CFLAGS])
293 AC_SUBST([DBUS_LIBS])
294
295 AM_CONDITIONAL([ENABLE_DBUS], [test "$enable_dbus" = "yes"])
296
297 if test "$enable_dbus" = "yes"; then
298    PKG_CHECK_MODULES([EV_DAEMON], [gthread-2.0 gio-2.0 >= $GLIB_REQUIRED dbus-glib-1 >= $DBUS_GLIB_REQUIRED])
299 fi
300
301 dnl ========= Check for GConf
302
303 AC_MSG_CHECKING([whether GConf support is requested])
304 AC_ARG_WITH([gconf],
305   [AS_HELP_STRING([--without-gconf],
306                   [Disable the use of gconf])],
307   [],
308   [case "$os_win32" in
309      yes) with_gconf=no ;;
310      *) with_gconf=yes ;;
311    esac])
312 AC_MSG_RESULT([$with_gconf])
313
314 AM_CONDITIONAL([WITH_GCONF],[test "$with_gconf" = "yes"])
315
316 if test "$with_gconf" = "yes"; then
317    PKG_CHECK_MODULES([GCONF],[gconf-2.0 >= $GCONF_REQUIRED])
318    AC_DEFINE([WITH_GCONF],[1],[Define if GConf support is enabled])
319
320    AM_GCONF_SOURCE_2
321
322    AC_PATH_PROG([GCONFTOOL], [gconftool-2], [false])
323    if test "$GCONFTOOL" = "false"; then
324       AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf])
325    fi
326 else
327    AM_CONDITIONAL([GCONF_SCHEMAS_INSTALL],false)
328 fi
329
330 dnl Debug mode
331
332 AC_ARG_ENABLE([debug],
333         AS_HELP_STRING([--enable-debug],
334                        [Turn on evince debug mode]),
335         [enable_debug=$enableval],
336         [enable_debug=no])
337
338 if test "x$enable_debug" = "xyes"; then
339    DEBUG_FLAGS="-DEV_ENABLE_DEBUG"
340 fi
341
342 AC_ARG_ENABLE([tests],
343         AS_HELP_STRING([--enable-tests], [Enable the tests]),
344         [enable_tests=$enableval],
345         [enable_tests=yes])
346
347 AM_CONDITIONAL(ENABLE_TESTS, test x$enable_tests = xyes)
348
349 LIBDOCUMENT_CFLAGS="$LIBDOCUMENT_CFLAGS $DEBUG_FLAGS"
350 LIBDOCUMENT_LIBS="$LIBDOCUMENT_LIBS"
351 AC_SUBST(LIBDOCUMENT_CFLAGS)
352 AC_SUBST(LIBDOCUMENT_LIBS)
353
354 LIBVIEW_CFLAGS="$LIBVIEW_CFLAGS $GTKUNIXPRINT_CFLAGS $DEBUG_FLAGS"
355 LIBVIEW_LIBS="$LIBVIEW_LIBS $GTKUNIXPRINT_LIBS -lm"
356 AC_SUBST(LIBVIEW_CFLAGS)
357 AC_SUBST(LIBVIEW_LIBS)
358
359 BACKEND_CFLAGS="$BACKEND_CFLAGS -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE $DEBUG_FLAGS"
360 BACKEND_LIBS="$BACKEND_LIBS -lm"
361 AC_SUBST(BACKEND_CFLAGS)
362 AC_SUBST(BACKEND_LIBS)
363
364 SHELL_CFLAGS="$SHELL_CORE_CFLAGS $DBUS_CFLAGS $KEYRING_CFLAGS $GCONF_CFLAGS -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE $DEBUG_FLAGS"
365 SHELL_LIBS="$SHELL_CORE_LIBS $DBUS_LIBS $KEYRING_LIBS $GCONF_LIBS -lz -lm"
366 AC_SUBST(SHELL_CFLAGS)
367 AC_SUBST(SHELL_LIBS)
368
369 FRONTEND_CFLAGS="$FRONTEND_CORE_CFLAGS $DEBUG_FLAGS"
370 FRONTEND_LIBS="$FRONTEND_CORE_LIBS -lz"
371 AC_SUBST(FRONTEND_CFLAGS)
372 AC_SUBST(FRONTEND_LIBS)
373
374 EV_DAEMON_CFLAGS="$EV_DAEMON_CFLAGS $DEBUG_FLAGS"
375 AC_SUBST([EV_DAEMON_CFLAGS])
376 AC_SUBST([EV_DAEMON_LIBS])
377
378 # Check for Nautilus property page build
379 AC_ARG_ENABLE([nautilus],
380   [AS_HELP_STRING([--disable-nautilus],
381                   [Disable build of nautilus extensions])],
382   [],
383   [case "$with_platform" in
384      gnome) enable_nautilus=yes ;;
385      *) enable_nautilus=no ;;
386     esac])
387
388 if test "$enable_nautilus" = "yes" ; then
389   PKG_CHECK_MODULES([NAUTILUS],[gtk+-x11-2.0 $MM gthread-2.0 libnautilus-extension],
390                     [],[AC_MSG_ERROR([libnautilus-extension not found; use --disable-nautilus to disable the nautilus extensions])])
391   NAUTILUS_EXTENSION_DIR=`$PKG_CONFIG --variable=extensiondir libnautilus-extension`
392   AC_SUBST([nautilusextensiondir],[$NAUTILUS_EXTENSION_DIR])
393   AC_SUBST(NAUTILUS_CFLAGS)
394   AC_SUBST(NAUTILUS_LIBS)
395
396   AC_DEFINE([HAVE_NAUTILUS],[1], [defined if you build the nautilus plugin])
397 fi
398
399 AM_CONDITIONAL([ENABLE_NAUTILUS],[test "$enable_nautilus" = "yes"])
400
401 # Check for thumbnailer build
402
403 AC_ARG_ENABLE([thumbnailer],
404   [AS_HELP_STRING([--disable-thumbnailer],
405                   [Disable GNOME thumbnailer])],
406   [],
407   [case "$with_platform" in
408      gnome) enable_thumbnailer=yes ;;
409      *) enable_thumbnailer=no ;;
410     esac])
411
412 AM_CONDITIONAL([ENABLE_THUMBNAILER],[test "$enable_thumbnailer" = "yes"])
413
414 # ***************
415 # Print Previewer
416 # ***************
417
418 AC_ARG_ENABLE([previewer],
419   [AS_HELP_STRING([--disable-previewer],
420                   [Disable the GNOME Document Previewer])],
421   [],
422   [case "$with_platform" in
423       gnome) enable_previewer=yes ;;
424       *) enable_previewer=no ;;
425     esac])
426
427 if test x$enable_previewer = "xyes" ; then
428   PKG_CHECK_MODULES([PREVIEWER],[gtk+-2.0 >= $GTK_REQUIRED gtk+-unix-print-2.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED])
429 fi
430
431 AM_CONDITIONAL([ENABLE_PREVIEWER],[test "$enable_previewer" = "yes"])
432 PREVIEWER_CFLAGS="$PREVIEWER_CFLAGS $GTKUNIXPRINT_CFLAGS $DEBUG_FLAGS"
433 PREVIEWER_LIBS="$PREVIEWER_LIBS $GTKUNIXPRINT_LIBS -lz"
434 AC_SUBST(PREVIEWER_CFLAGS)
435 AC_SUBST(PREVIEWER_LIBS)
436
437 # ***
438 # GIR
439 # ***
440
441 AC_MSG_CHECKING([whether GObject introspection is requested])
442 AC_ARG_ENABLE([introspection],
443         AS_HELP_STRING([--enable-introspection],
444                        [Enable GObject introspection]),
445         [enable_introspection=$enableval],
446         [enable_introspection=no])
447 AC_MSG_RESULT([$enable_introspection])
448
449 G_IR_SCANNER=
450 G_IR_COMPILER=
451 G_IR_GENERATE=
452 GIRDIR=
453 GIRTYPELIBDIR=
454
455 if test "$enable_introspection" = "yes"; then
456   GOBJECT_INTROSPECTION_REQUIRED=0.6
457   PKG_CHECK_MODULES([GOBJECT_INTROSPECTION],[gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_REQUIRED])
458
459   G_IR_SCANNER="$($PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0)"
460   G_IR_COMPILER="$($PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0)"
461   G_IR_GENERATE="$($PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0)"
462   GIRDIR="$($PKG_CONFIG --variable=girdir gobject-introspection-1.0)"
463   GIRTYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
464 fi
465
466 AC_SUBST([G_IR_SCANNER])
467 AC_SUBST([G_IR_COMPILER])
468 AC_SUBST([G_IR_GENERATE])
469 AC_SUBST([GIRDIR])
470 AC_SUBST([GIRTYPELIBDIR])
471
472 AM_CONDITIONAL([ENABLE_INTROSPECTION],[test "$enable_introspection" = "yes"])
473
474 dnl ================== portability checks ===========================================
475
476 dnl for backtrace()
477 AC_CHECK_HEADERS([execinfo.h])
478
479 AC_CHECK_DECL([_NL_MEASUREMENT_MEASUREMENT],[
480   AC_DEFINE([HAVE__NL_MEASUREMENT_MEASUREMENT],[1],[Define if _NL_MEASUREMENT_MEASUREMENT is available])
481   ],[],[#include <langinfo.h>])
482
483 dnl ================== pdf checks ===================================================
484 AC_ARG_ENABLE([pdf],
485   [AS_HELP_STRING([--disable-pdf],
486                   [Disable the PDF support])],
487   [enable_pdf=$enableval],
488   [enable_pdf=yes])
489
490 if test "x$enable_pdf" = "xyes"; then
491     POPPLER_REQUIRED=0.12.0
492     PKG_CHECK_MODULES(POPPLER, poppler-glib >= $POPPLER_REQUIRED libxml-2.0 >= $LIBXML_REQUIRED,enable_pdf=yes,enable_pdf=no)
493
494     if test "x$enable_pdf" = "xyes"; then
495             evince_save_LIBS=$LIBS
496             LIBS="$LIBS $POPPLER_LIBS"
497             AC_CHECK_FUNCS(poppler_page_render)
498             AC_CHECK_FUNCS(poppler_page_get_image)
499             AC_CHECK_FUNCS(poppler_annot_file_attachment_get_attachment)
500             LIBS=$evince_save_LIBS
501
502             PKG_CHECK_MODULES(CAIRO_PDF, cairo-pdf, enable_cairo_pdf=yes, enable_cairo_pdf=no)
503             if test x$enable_cairo_pdf = xyes; then
504                     AC_DEFINE([HAVE_CAIRO_PDF], [1], [defined if cairo-pdf is available])
505             fi
506
507             PKG_CHECK_MODULES(CAIRO_PS, cairo-ps, enable_cairo_ps=yes, enable_cairo_ps=no)
508             if test x$enable_cairo_ps = xyes; then
509                     AC_DEFINE([HAVE_CAIRO_PS], [1], [defined if cairo-ps is available])
510             fi
511     else
512             AC_MSG_ERROR("PDF support is disabled since poppler-glib library version $POPPLER_REQUIRED or newer not found")
513     fi 
514 fi
515
516 AM_CONDITIONAL(ENABLE_PDF, test x$enable_pdf = xyes)
517 dnl ================== end of pdf checks ============================================
518
519 dnl libspectre (used by ps and dvi backends)
520 SPECTRE_REQUIRED=0.2.0 
521 PKG_CHECK_MODULES(SPECTRE, libspectre >= $SPECTRE_REQUIRED,have_spectre=yes,have_spectre=no)
522 AM_CONDITIONAL(HAVE_SPECTRE, test x$have_spectre = xyes)
523 if test "x$have_spectre" = "xyes"; then
524    AC_DEFINE([HAVE_SPECTRE], [1], [Have libspectre])
525 fi
526
527 dnl ================== ps checks ====================================================
528 AC_ARG_ENABLE(ps,
529         [AS_HELP_STRING([--disable-ps],
530                         [Disable the PostScript backend])],
531         [enable_ps=$enableval],
532         [enable_ps=yes])
533
534 if test "x$enable_ps" = "xyes"; then
535    if test "x$have_spectre" = "xyes"; then
536       AC_DEFINE([ENABLE_PS], [1], [Enable support for PostScript files.])
537    else
538       enable_ps="no"
539       AC_MSG_WARN([PS support is disabled since libspectre (version >= $SPECTRE_REQUIRED) is needed])
540    fi
541 fi
542 AM_CONDITIONAL(ENABLE_PS, test x$enable_ps = xyes)
543 dnl ======================== End of ps checks ===================================
544
545 dnl ================== tiff checks ===================================================
546 AC_ARG_ENABLE(tiff,
547             [AS_HELP_STRING([--disable-tiff],
548                             [Disable the support of multipage tiff])],
549             [enable_tiff=$enableval],
550             [enable_tiff=yes])
551
552 if test "x$enable_tiff" = "xyes"; then
553     AC_CHECK_HEADERS([tiff.h],enable_tiff=yes,enable_tiff=no,)
554     if test "x$enable_tiff" = "xyes"; then
555         AC_CHECK_LIB([tiff],TIFFOpen,enable_tiff=yes,enable_tiff=no,"-lz")
556         AC_CHECK_LIB([tiff],TIFFReadRGBAImageOriented,enable_tiff=yes,enable_tiff=no,"-lz")
557     fi
558     if test "x$enable_tiff" = "xyes"; then
559             AC_DEFINE([ENABLE_TIFF], [1], [Enable multipage tiff support.])
560     else
561             AC_MSG_WARN("Tiff support is disabled since tiff library version 3.6 or newer not found")
562     fi 
563 fi
564
565 AM_CONDITIONAL(ENABLE_TIFF, test x$enable_tiff = xyes)
566 dnl ================== end of tiff checks ============================================
567
568 dnl ================== djvu checks ===================================================
569
570 AC_ARG_ENABLE(djvu,
571             [AS_HELP_STRING([--disable-djvu],
572                             [Disable the support of djvu viewer])],
573             [enable_djvu=$enableval],
574             [enable_djvu=yes])
575
576 if test "x$enable_djvu" = "xyes"; then
577     DJVULIBRE_REQUIRED=3.5.17
578     PKG_CHECK_MODULES(DJVU, ddjvuapi >= $DJVULIBRE_REQUIRED, enable_djvu=yes, enable_djvu=no)
579
580     if test "x$enable_djvu" = "xyes"; then
581         AC_DEFINE([ENABLE_DJVU], [1], [Enable djvu viewer support.])
582     else
583         AC_MSG_WARN([   
584 ** Djvu support is disabled since a recent version of the djvulibre 
585 ** library was not found. You need at least djvulibre-3.5.17 which 
586 ** can be found on http://djvulibre.djvuzone.org 
587 ])
588     fi 
589 fi
590
591 AM_CONDITIONAL(ENABLE_DJVU, test x$enable_djvu = xyes)
592
593 dnl ================== End of djvu checks ===================================================
594
595 dnl ================== dvi checks ===================================================
596
597 AC_ARG_ENABLE(dvi,
598             [AS_HELP_STRING([--disable-dvi],
599             [Disable the support of dvi viewer])],
600             [enable_dvi=$enableval],
601             [enable_dvi=yes])
602
603 AC_ARG_ENABLE(t1lib,
604             [AS_HELP_STRING([--enable-t1lib],
605                             [Compile with support of t1lib for type1 fonts in dvi])],
606             [enable_type1_fonts=$enableval],
607             [enable_type1_fonts=no])
608
609 if test "x$enable_dvi" = "xyes"; then
610     AC_C_CONST
611     AC_C_INLINE
612     AC_TYPE_SIZE_T
613     AC_CHECK_SIZEOF(long, 4)
614     AC_CHECK_SIZEOF(int, 4)
615     AC_CHECK_SIZEOF(short, 2)
616     AC_CHECK_SIZEOF(void *, 4)
617     AC_CHECK_LIB([kpathsea],[kpse_init_prog],[enable_dvi=yes],[enable_dvi=no])
618
619     if test "x$enable_dvi" = "xyes"; then
620         AC_DEFINE([ENABLE_DVI], [1], [Enable dvi viewer support.])
621     else
622         AC_MSG_WARN("Dvi support is disabled since kpathsea library is not found. Check your TeX installation.")
623     fi
624 fi
625 AM_CONDITIONAL(ENABLE_DVI, test x$enable_dvi = xyes)
626
627 if test "x$enable_dvi" = "xyes"; then
628     if test "x$enable_type1_fonts" = "xyes"; then
629         AC_CHECK_LIB([t1],T1_InitLib,enable_type1_fonts=yes,enable_type1_fonts=no,[-lm])
630     fi
631
632     if test "x$enable_type1_fonts" = xyes; then
633         AC_DEFINE([WITH_TYPE1_FONTS], [1], [Enable t1lib support in dvi.])
634     fi
635 else 
636     enable_type1_fonts=no
637 fi
638 AM_CONDITIONAL(WITH_TYPE1_FONTS, test x$enable_type1_fonts = xyes)
639
640 dnl ================== End of dvi checks ===================================================
641
642 dnl ================== pixbuf checks ===================================================
643
644 AC_ARG_ENABLE(pixbuf,
645             [AS_HELP_STRING([--enable-pixbuf],
646                             [Compile with support of pixbuf])],
647             [enable_pixbuf=$enableval],
648             [enable_pixbuf=no])
649             
650 if test "x$enable_pixbuf" = "xyes"; then
651         AC_DEFINE([ENABLE_PIXBUF], [1], [Enable pixbuf support.])
652 fi
653
654 AM_CONDITIONAL(ENABLE_PIXBUF, test x$enable_pixbuf = xyes)
655
656 dnl ================== End of pixbuf checks ===================================================
657
658 dnl ================== comic book checks ===================================================
659  
660 AC_ARG_ENABLE(comics,
661         [AS_HELP_STRING([--enable-comics],
662                         [Compile with support for comic book archives])],
663         [enable_comics=$enableval],
664         [enable_comics=yes])
665         
666 if test "x$enable_comics" = "xyes"; then
667         AC_DEFINE([ENABLE_COMICS], [1], [Enable support for comics.])
668 fi
669 AM_CONDITIONAL(ENABLE_COMICS, test x$enable_comics = xyes)
670
671 dnl ================== End of comic book checks ============================================
672
673 dnl ================== impress book checks ===================================================
674
675 AC_ARG_ENABLE(impress,
676         [AS_HELP_STRING([--enable-impress],
677                         [Compile with support for impress presentations])],
678         [enable_impress=$enableval],
679         [enable_impress=no])
680         
681 if test "x$enable_impress" = "xyes"; then
682         AC_DEFINE([ENABLE_IMPRESS], [1], [Enable support for impress.])
683 fi 
684 AM_CONDITIONAL(ENABLE_IMPRESS, test x$enable_impress = xyes)
685
686 dnl ================== End of impress book checks ============================================
687
688 dnl =================== Mime types list ====================================================
689
690 if test "x$enable_pdf" = "xyes" ; then
691         EVINCE_MIME_TYPES="application/pdf;application/x-bzpdf;application/x-gzpdf;"
692 fi
693 if test "x$enable_ps" = "xyes" ; then
694         EVINCE_MIME_TYPES="${EVINCE_MIME_TYPES}application/postscript;application/x-bzpostscript;application/x-gzpostscript;image/x-eps;image/x-bzeps;image/x-gzeps;"
695 fi
696 if test "x$enable_dvi" = "xyes"; then
697         EVINCE_MIME_TYPES="${EVINCE_MIME_TYPES}application/x-dvi;application/x-bzdvi;application/x-gzdvi;"
698 fi
699 if test "x$enable_djvu" = "xyes"; then
700         EVINCE_MIME_TYPES="${EVINCE_MIME_TYPES}image/vnd.djvu;"
701 fi
702 if test "x$enable_tiff" = "xyes"; then
703         EVINCE_MIME_TYPES="${EVINCE_MIME_TYPES}image/tiff;"
704 fi
705 if test "x$enable_comics" = "xyes"; then
706         EVINCE_MIME_TYPES="${EVINCE_MIME_TYPES}application/x-cbr;application/x-cbz;application/x-cb7;application/x-cbt;"
707 fi
708 if test "x$enable_pixbuf" = "xyes"; then
709         EVINCE_MIME_TYPES="${EVINCE_MIME_TYPES}image/*;"
710 fi
711 if test "x$enable_impress" = "xyes"; then
712         EVINCE_MIME_TYPES="${EVINCE_MIME_TYPES}application/vnd.sun.xml.impress;application/vnd.oasis.opendocument.presentation;"
713 fi
714 AC_SUBST(EVINCE_MIME_TYPES)
715
716 AC_CHECK_FUNC(localtime_r, AC_DEFINE(HAVE_LOCALTIME_R, 1, [Defines if localtime_r is available on your system]))
717
718 # *****************
719 # Help files
720 # *****************
721
722 GNOME_DOC_INIT([], gnome_doc_utils=yes, gnome_doc_utils=no)
723
724 AC_ARG_ENABLE(help,
725     [AS_HELP_STRING([--disable-help], [Disable offline help files])],
726     [enable_help=$enableval],
727     [enable_help=yes])
728
729 if test "x$enable_help" = "xyes" && test "x$os_win32" = "xyes" ; then
730     AC_MSG_WARN([Offline help is disabled (not implemented on Windows).])
731     enable_help=no
732 fi
733
734 if test "x$enable_help" = "xyes" && test "x$gnome_doc_utils" == "xno"; then
735     AC_MSG_ERROR(
736        [gnome-doc-utils not found; use --disable-help to disable help files]
737     )
738 fi
739
740 if test "x$enable_help" = "xyes"; then
741     AC_DEFINE([OFFLINE_HELP_ENABLED], [1], [Enable offline help])
742 fi
743
744 AM_CONDITIONAL(ENABLE_HELP, test "x$enable_help" = "xyes")
745
746 # *****************
747 # API documentation
748 # *****************
749
750 GTK_DOC_CHECK([1.13],[--flavour no-tmpl])
751
752 AC_SUBST([GLIB_PREFIX],[$($PKG_CONFIG --variable=prefix glib-2.0)])
753 AC_SUBST([GTK_PREFIX],[$($PKG_CONFIG --variable=prefix gtk+-2.0)])
754
755 # ******************
756 # Backends directory
757 # ******************
758
759 AC_SUBST([backenddir],"\$(libdir)/evince/ev_binary_version/backends")
760 AC_SUBST([backend_binary_version],"ev_binary_version")
761
762 # **********
763 # Versioning
764 # **********
765
766 AC_SUBST([EV_MAJOR_VERSION],[ev_major_version])
767 AC_SUBST([EV_MINOR_VERSION],[ev_minor_version])
768 AC_SUBST([EV_MICRO_VERSION],[ev_micro_version])
769
770 AC_SUBST([EV_API_VERSION],[ev_api_version])
771 AC_SUBST([EV_BINARY_VERSION],[ev_binary_version])
772
773 AC_SUBST([EV_DOCUMENT_LT_VERSION_INFO],[ev_document_lt_version_info])
774 AC_SUBST([EV_DOCUMENT_LT_CURRENT_MINUS_AGE],[ev_document_lt_current_minus_age])
775 AC_SUBST([EV_VIEW_LT_VERSION_INFO],[ev_view_lt_version_info])
776 AC_SUBST([EV_VIEW_LT_CURRENT_MINUS_AGE],[ev_view_lt_current_minus_age])
777
778 # *****************************************************************************
779 # *****************************************************************************
780
781 AC_CONFIG_FILES([
782 backend/Makefile
783 backend/comics/Makefile
784 backend/djvu/Makefile
785 backend/dvi/Makefile
786 backend/dvi/mdvi-lib/Makefile
787 backend/impress/Makefile
788 backend/pdf/Makefile
789 backend/pixbuf/Makefile
790 backend/ps/Makefile
791 backend/tiff/Makefile
792 cut-n-paste/Makefile
793 cut-n-paste/gimpcellrenderertoggle/Makefile
794 cut-n-paste/smclient/Makefile
795 cut-n-paste/toolbar-editor/Makefile
796 cut-n-paste/zoom-control/Makefile
797 cut-n-paste/totem-screensaver/Makefile
798 data/evince.desktop.in
799 data/Makefile
800 data/icons/Makefile
801 data/icons/16x16/Makefile
802 data/icons/16x16/apps/Makefile
803 data/icons/16x16/actions/Makefile
804 data/icons/16x16/mimetypes/Makefile
805 data/icons/22x22/Makefile
806 data/icons/22x22/apps/Makefile
807 data/icons/22x22/actions/Makefile
808 data/icons/22x22/mimetypes/Makefile
809 data/icons/24x24/Makefile
810 data/icons/24x24/apps/Makefile
811 data/icons/24x24/actions/Makefile
812 data/icons/24x24/mimetypes/Makefile
813 data/icons/32x32/Makefile
814 data/icons/32x32/actions/Makefile
815 data/icons/32x32/mimetypes/Makefile
816 data/icons/48x48/Makefile
817 data/icons/48x48/apps/Makefile
818 data/icons/48x48/actions/Makefile
819 data/icons/scalable/Makefile
820 data/icons/scalable/apps/Makefile
821 data/icons/scalable/actions/Makefile
822 data/icons/scalable/mimetypes/Makefile
823 help/Makefile
824 help/reference/Makefile
825 help/reference/libdocument/Makefile
826 help/reference/libdocument/version.xml
827 help/reference/libview/Makefile
828 help/reference/libview/version.xml
829 help/reference/shell/Makefile
830 help/reference/shell/version.xml
831 libdocument/Makefile
832 libdocument/ev-version.h
833 libmisc/Makefile
834 libview/Makefile
835 Makefile
836 po/Makefile.in
837 previewer/Makefile
838 properties/Makefile
839 shell/Makefile
840 test/Makefile
841 thumbnailer/Makefile
842 ])
843
844 AC_CONFIG_FILES(evince-document-[]ev_api_version[].pc:evince-document.pc.in)
845 AC_CONFIG_FILES(evince-view-[]ev_api_version[].pc:evince-view.pc.in)
846
847 AC_OUTPUT
848
849 echo "
850 Configure summary:
851         Platform...........:  $with_platform
852         GConf Support......:  $with_gconf
853         GTK+ Unix Print....:  $with_gtk_unix_print
854         Keyring Support....:  $with_keyring
855         DBUS Support.......:  $enable_dbus
856         SM client support..:  $with_smclient
857         Help files.........:  $enable_help
858         Nautilus Plugin....:  $enable_nautilus
859         Thumbnailer........:  $enable_thumbnailer
860         Previewer..........:  $enable_previewer
861         Gtk-Doc Support....:  $enable_gtk_doc
862         Debug mode.........:  $enable_debug
863         GObj. Introspection:  $enable_introspection
864         Tests..............:  $enable_tests
865
866         PDF Backend........:  $enable_pdf
867         PostScript Backend.:  $enable_ps
868         TIFF Backend.......:  $enable_tiff
869         DJVU Backend.......:  $enable_djvu
870         DVI Backend........:  $enable_dvi
871         Pixbuf Backend.....:  $enable_pixbuf
872         Comics Backend.....:  $enable_comics
873         Impress Backend....:  $enable_impress
874 "