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