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