]> www.fi.muni.cz Git - evince.git/blob - configure.ac
build: Correctly process --with-smclient arguments
[evince.git] / configure.ac
1 # *****************************************************************************
2 # Versioning
3 # *****************************************************************************
4
5 m4_define([ev_major_version],[2])
6 m4_define([ev_minor_version],[29])
7 m4_define([ev_micro_version],[1])
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.29])
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.9 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_COMMON_INIT
70 GNOME_DOC_INIT
71 GNOME_MAINTAINER_MODE_DEFINES
72 GNOME_COMPILE_WARNINGS
73 GNOME_CXX_WARNINGS
74
75 GTK_DOC_CHECK(1.0)
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 # Check which platform to use
89
90 AC_MSG_CHECKING([for which platform to build])
91 AC_ARG_WITH([platform],
92   [AS_HELP_STRING([--with-platform=gnome|win32|hildon (default: gnome)])],
93   [case "$withval" in
94     gnome|win32|hildon) ;;
95     *) AC_MSG_ERROR([invalid argument "$withval" for --with-platform]) ;;
96    esac],
97   [case "$host" in
98      *-*-mingw*|*-*-cygwin*) with_platform="win32" ;;
99      *) with_platform=gnome ;;
100    esac])
101
102 AC_MSG_RESULT([$with_platform])
103
104 if test "$with_platform" = "win32"; then
105   AC_CHECK_TOOL([WINDRES],[windres])
106   AC_MSG_CHECKING([for native Win32])
107   case "$host" in
108     *-*-mingw*)
109       os_win32=yes
110       ;;
111     *)
112       os_win32=no
113       ;;
114   esac
115   AC_MSG_RESULT([$os_win32])
116 fi
117
118 AM_CONDITIONAL([PLATFORM_HILDON],[test "$with_platform" = "hildon"])
119 AM_CONDITIONAL([PLATFORM_WIN32],[test "$with_platform" = "win32"])
120
121 dnl Specify required versions of dependencies
122 DBUS_GLIB_REQUIRED=0.70
123 GTK_REQUIRED=2.14.0
124 GLIB_REQUIRED=2.18.0
125 KEYRING_REQUIRED=2.22.0
126 AC_SUBST([GLIB_REQUIRED])
127 AC_SUBST([GTK_REQUIRED])
128
129 GNOME_ICON_THEME_REQUIRED=2.17.1
130 LIBXML_REQUIRED=2.5.0
131
132 dnl Check dependencies
133
134 # LIB_CFLAGS       for helpers and generic widgets. (libdocument, cut-and-paste)
135 # BACKEND_CFLAGS   for backend implementations.
136 # FRONTEND_CFLAGS  for frontend implementations. (properties, thumbnailer)
137 # FRONTEND_LIBS
138 # SHELL_CFLAGS     for shell implementation.
139 # SHELL_LIBS
140
141 PKG_CHECK_MODULES(LIBDOCUMENT, gtk+-2.0 >= $GTK_REQUIRED gio-2.0 >= $GLIB_REQUIRED)
142 PKG_CHECK_MODULES(LIBVIEW, gtk+-2.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED)
143 PKG_CHECK_MODULES(BACKEND, gtk+-2.0 >= $GTK_REQUIRED)
144 PKG_CHECK_MODULES(FRONTEND_CORE, gtk+-2.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED)
145 PKG_CHECK_MODULES(PREVIEWER, gtk+-2.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED)
146
147 SHELL_PLATFORM_PKGS=
148 case "$with_platform" in
149   hildon) AC_DEFINE([PLATFORM_HILDON],[1],[Define if building for the hildon platform])
150           SHELL_PLATFORM_PKGS="hildon-1 hildon-fm-2 libosso"
151           ;;
152   *) SHELL_PLATFORM_PKGS="gnome-icon-theme >= $GNOME_ICON_THEME_REQUIRED"
153      ;;
154 esac
155
156 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])
157
158 # *********
159 # SM client
160 # *********
161
162 GDK_TARGET="$($PKG_CONFIG --variable target gdk-2.0)"
163
164 AC_MSG_CHECKING([which smclient backend to use])
165 AC_ARG_WITH([smclient],
166   [AS_HELP_STRING([--with-smclient-backend],[which smclient backend to use (no|xsmp|win32|quartz)])],
167   [],
168   [case "$GDK_TARGET" in
169     x11) case "$with_platform" in
170            gnome) with_smclient=xsmp ;;
171            *) with_smclient=no ;;
172          esac ;;
173     win32|quartz) with_smclient=$GDK_TARGET ;;
174     *) with_smclient=no ;;
175    esac])
176 AC_MSG_RESULT([$with_smclient])
177
178 if test "$with_smclient" != "no"; then
179   AC_DEFINE([WITH_SMCLIENT],[1],[Define if smclient is enabled])
180
181   case "$with_smclient" in
182     xsmp) SMCLIENT_PKGS="sm >= 1.0.0" ;;
183     *) SMCLIENT_PKGS="" ;;
184   esac
185
186   PKG_CHECK_MODULES([SMCLIENT],[gtk+-2.0 gthread-2.0 $SMCLIENT_PKGS])
187   AC_SUBST([SMCLIENT_CFLAGS])
188   AC_SUBST([SMCLIENT_LIBS])
189 fi
190
191 AM_CONDITIONAL([WITH_SMCLIENT],[test "$with_smclient" != "no"])
192 AM_CONDITIONAL([WITH_SMCLIENT_XSMP],[test "$with_smclient" = "xsmp"])
193 AM_CONDITIONAL([WITH_SMCLIENT_WIN32],[test "$with_smclient" = "win32"])
194 AM_CONDITIONAL([WITH_SMCLIENT_QUARTZ],[test "$with_smclient" = "quartz"])
195
196 # ***
197
198 BACKEND_LIBTOOL_FLAGS="-module -avoid-version -no-undefined -export-symbols \$(top_srcdir)/backend/backend.symbols"
199 AC_SUBST(BACKEND_LIBTOOL_FLAGS)
200
201 dnl ===== Check special functions
202 evince_save_LIBS=$LIBS
203 LIBS="$LIBS $BACKEND_LIBS"
204 AC_CHECK_FUNCS(cairo_format_stride_for_width)
205 AC_CHECK_FUNCS(gtk_print_operation_get_n_pages_to_print)
206 LIBS=$evince_save_LIBS
207
208 # ******************
209 # GKT+ Unix Printing
210 # ******************
211
212 AC_MSG_CHECKING([whether gtk+-unix-print support is requested])
213 AC_ARG_WITH([gtk-unix-print],
214   [AS_HELP_STRING([--without-gtk-unix-print],[disable the use of gtk-unix-print])],
215   [],[case "$os_win32" in
216         yes) with_gtk_unix_print=no ;;
217         *) with_gtk_unix_print=yes ;;
218       esac])
219 AC_MSG_RESULT([$with_gtk_unix_print])
220
221 if test "$with_gtk_unix_print" = "yes"; then
222    PKG_CHECK_MODULES(GTKUNIXPRINT, [gtk+-unix-print-2.0 >= $GTK_REQUIRED])
223    AC_DEFINE([GTKUNIXPRINT_ENABLED], [1], [Define if gtk+-unix-print is enabled.])
224 fi
225
226 # *********************
227 # GNOME Keyring support
228 # *********************
229
230 AC_ARG_WITH(keyring,
231         [AS_HELP_STRING([--without-keyring],[disable the use of gnome-keyring])],
232         [],
233         [case "$with_platform" in
234            gnome) with_keyring=yes ;;
235            hildon|win32) with_keyring=no ;;
236          esac])
237
238 AM_CONDITIONAL([WITH_KEYRING],[test "$with_keyring" = "yes"])
239
240 if test "$with_keyring" = "yes"; then
241         PKG_CHECK_MODULES(KEYRING, gnome-keyring-1 >= $KEYRING_REQUIRED)
242         AC_DEFINE([WITH_KEYRING],[1],[Define if KEYRING support is enabled])
243 fi
244
245 GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`  
246 AC_SUBST(GLIB_GENMARSHAL)
247
248 # ****
249 # DBUS
250 # ****
251
252 AC_ARG_ENABLE([dbus],
253   [AS_HELP_STRING([--enable-dbus], [Compile with support for dbus])],
254   [],
255   [case "$with_platform" in
256       gnome) enable_dbus=yes ;;
257       hildon) enable_dbus=no ;;
258     esac])
259
260 if test "$enable_dbus" = "yes"; then
261   PKG_CHECK_MODULES([DBUS],[dbus-glib-1 >= $DBUS_GLIB_REQUIRED],[],
262                     [AC_MSG_ERROR([DBUS not found; use --disable-dbus to disable DBUS support])])
263
264   AC_PATH_PROG([DBUS_BINDING_TOOL], [dbus-binding-tool], [no])
265   if test x$DBUS_BINDING_TOOL = "xno" ; then
266           AC_MSG_ERROR([dbus-binding-tool executable not found in your path - should be installed with dbus glib bindings])
267   fi
268
269   AC_DEFINE([ENABLE_DBUS],[1],[Define if DBUS support is enabled])
270 fi
271
272 AC_SUBST([DBUS_CFLAGS])
273 AC_SUBST([DBUS_LIBS])
274
275 AM_CONDITIONAL([ENABLE_DBUS], [test "$enable_dbus" = "yes"])
276
277 if test "$enable_dbus" = "yes"; then
278    PKG_CHECK_MODULES([EV_DAEMON], [gthread-2.0 gio-2.0 >= $GLIB_REQUIRED dbus-glib-1 >= $DBUS_GLIB_REQUIRED])
279 fi
280
281 dnl ========= Check for GConf
282
283 AC_MSG_CHECKING([whether GConf support is requested])
284 AC_ARG_WITH([gconf],
285   [AS_HELP_STRING([--without-gconf],[disable the use of gconf])],
286   [],
287   [case "$os_win32" in
288      yes) with_gconf=no ;;
289      *) with_gconf=yes ;;
290    esac])
291 AC_MSG_RESULT([$with_gconf])
292
293 AM_CONDITIONAL([WITH_GCONF],[test "$with_gconf" = "yes"])
294
295 if test "$with_gconf" = "yes"; then
296    PKG_CHECK_MODULES([GCONF],[gconf-2.0])
297    AC_DEFINE([WITH_GCONF],[1],[Define if GConf support is enabled])
298
299    AM_GCONF_SOURCE_2
300
301    AC_PATH_PROG([GCONFTOOL], [gconftool-2], [false])
302    if test "$GCONFTOOL" = "false"; then
303       AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf])
304    fi
305 else
306    AM_CONDITIONAL([GCONF_SCHEMAS_INSTALL],false)
307 fi
308
309 dnl Debug mode
310
311 AC_ARG_ENABLE([debug],
312         AC_HELP_STRING([--enable-debug],
313                         [Turn on evince debug mode]),,
314                 [enable_debug=no])
315                 
316 if test "x$enable_debug" = "xyes"; then
317    DEBUG_FLAGS="-DEV_ENABLE_DEBUG"
318 fi
319
320 AC_ARG_ENABLE([tests],
321         AC_HELP_STRING([--enable-tests], [Disable tests]),
322         enable_tests="$enableval",
323         enable_tests=yes)
324
325 AM_CONDITIONAL(ENABLE_TESTS, test x$enable_tests = xyes)
326
327 LIBDOCUMENT_CFLAGS="$LIBDOCUMENT_CFLAGS $DEBUG_FLAGS"
328 LIBDOCUMENT_LIBS="$LIBDOCUMENT_LIBS"
329 AC_SUBST(LIBDOCUMENT_CFLAGS)
330 AC_SUBST(LIBDOCUMENT_LIBS)
331
332 LIBVIEW_CFLAGS="$LIBVIEW_CFLAGS $DEBUG_FLAGS"
333 LIBVIEW_LIBS="$LIBVIEW_LIBS"
334 AC_SUBST(LIBVIEW_CFLAGS)
335 AC_SUBST(LIBVIEW_LIBS)
336
337 BACKEND_CFLAGS="$BACKEND_CFLAGS -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE $DEBUG_FLAGS"
338 AC_SUBST(BACKEND_CFLAGS)
339 AC_SUBST(BACKEND_LIBS)
340
341 SHELL_CFLAGS="$SHELL_CORE_CFLAGS $GTKUNIXPRINT_CFLAGS $DBUS_CFLAGS $KEYRING_CFLAGS $GCONF_CFLAGS -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE $DEBUG_FLAGS"
342 SHELL_LIBS="$SHELL_CORE_LIBS $GTKUNIXPRINT_CFLAGS $DBUS_LIBS $KEYRING_LIBS $GCONF_LIBS -lz"
343 AC_SUBST(SHELL_CFLAGS)
344 AC_SUBST(SHELL_LIBS)
345
346 FRONTEND_CFLAGS="$FRONTEND_CORE_CFLAGS $DEBUG_FLAGS"
347 FRONTEND_LIBS="$FRONTEND_CORE_LIBS -lz"
348 AC_SUBST(FRONTEND_CFLAGS)
349 AC_SUBST(FRONTEND_LIBS)
350
351 EV_DAEMON_CFLAGS="$EV_DAEMON_CFLAGS $DEBUG_FLAGS"
352 AC_SUBST([EV_DAEMON_CFLAGS])
353 AC_SUBST([EV_DAEMON_LIBS])
354
355 # Check for Nautilus property page build
356 AC_ARG_ENABLE([nautilus],
357   [AS_HELP_STRING([--disable-nautilus],[Build the nautilus extensions])],
358   [],
359   [case "$with_platform" in
360      gnome) enable_nautilus=yes ;;
361      *) enable_nautilus=no ;;
362     esac])
363
364 if test "$enable_nautilus" = "yes" ; then
365   PKG_CHECK_MODULES([NAUTILUS],[gtk+-x11-2.0 $MM gthread-2.0 libnautilus-extension],
366                     [],[AC_MSG_ERROR([libnautilus-extension not found; use --disable-nautilus to disable the nautilus extensions])])
367   NAUTILUS_EXTENSION_DIR=`$PKG_CONFIG --variable=extensiondir libnautilus-extension`
368   AC_SUBST([nautilusextensiondir],[$NAUTILUS_EXTENSION_DIR])
369   AC_SUBST(NAUTILUS_CFLAGS)
370   AC_SUBST(NAUTILUS_LIBS)
371
372   AC_DEFINE([HAVE_NAUTILUS],[1], [defined if you build the nautilus plugin])
373 fi
374
375 AM_CONDITIONAL([ENABLE_NAUTILUS],[test "$enable_nautilus" = "yes"])
376
377 # Check for thumbnailer build
378
379 AC_ARG_ENABLE([thumbnailer],
380   [AS_HELP_STRING([--disable-thumbnailer],[disable the GNOME thumbnailer])],
381   [],
382   [case "$with_platform" in
383      gnome) enable_thumbnailer=yes ;;
384      *) enable_thumbnailer=no ;;
385     esac])
386
387 AM_CONDITIONAL([ENABLE_THUMBNAILER],[test "$enable_thumbnailer" = "yes"])
388
389 # ***************
390 # Print Previewer
391 # ***************
392
393 AC_ARG_ENABLE([previewer],
394   [AS_HELP_STRING([--disable-previewer],[disable the GNOME Document Previewer])],
395   [],
396   [case "$with_platform" in
397       gnome) enable_previewer=yes ;;
398       *) enable_previewer=no ;;
399     esac])
400
401 if test x$enable_previewer = "xyes" ; then
402   PKG_CHECK_MODULES([PREVIEWER],[gtk+-2.0 >= $GTK_REQUIRED gtk+-unix-print-2.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED])
403 fi
404
405 AM_CONDITIONAL([ENABLE_PREVIEWER],[test "$enable_previewer" = "yes"])
406 PREVIEWER_CFLAGS="$PREVIEWER_CFLAGS $GTKUNIXPRINT_CFLAGS $DEBUG_FLAGS"
407 PREVIEWER_LIBS="$PREVIEWER_LIBS $GTKUNIXPRINT_LIBS -lz"
408 AC_SUBST(PREVIEWER_CFLAGS)
409 AC_SUBST(PREVIEWER_LIBS)
410
411 # ***
412 # GIR
413 # ***
414
415 AC_MSG_CHECKING([whether GObject introspection is requested])
416 AC_ARG_ENABLE([introspection],
417         AS_HELP_STRING([--enable-introspection],[Enable GObject introspection]),
418         [],[enable_introspection=no])
419 AC_MSG_RESULT([$enable_introspection])
420
421 G_IR_SCANNER=
422 G_IR_COMPILER=
423 G_IR_GENERATE=
424 GIRDIR=
425 GIRTYPELIBDIR=
426
427 if test "$enable_introspection" = "yes"; then
428   GOBJECT_INTROSPECTION_REQUIRED=0.6
429   PKG_CHECK_MODULES([GOBJECT_INTROSPECTION],[gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_REQUIRED])
430
431   G_IR_SCANNER="$($PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0)"
432   G_IR_COMPILER="$($PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0)"
433   G_IR_GENERATE="$($PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0)"
434   GIRDIR="$($PKG_CONFIG --variable=girdir gobject-introspection-1.0)"
435   GIRTYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
436 fi
437
438 AC_SUBST([G_IR_SCANNER])
439 AC_SUBST([G_IR_COMPILER])
440 AC_SUBST([G_IR_GENERATE])
441 AC_SUBST([GIRDIR])
442 AC_SUBST([GIRTYPELIBDIR])
443
444 AM_CONDITIONAL([ENABLE_INTROSPECTION],[test "$enable_introspection" = "yes"])
445
446 dnl ================== portability checks ===========================================
447
448 dnl for backtrace()
449 AC_CHECK_HEADERS([execinfo.h])
450
451 AC_CHECK_DECL([_NL_MEASUREMENT_MEASUREMENT],[
452   AC_DEFINE([HAVE__NL_MEASUREMENT_MEASUREMENT],[1],[Define if _NL_MEASUREMENT_MEASUREMENT is available])
453   ],[],[#include <langinfo.h>])
454
455 dnl ================== pdf checks ===================================================
456 AC_ARG_ENABLE(pdf,
457               [AC_HELP_STRING([--enable-pdf], [Compile with pdf support])],enable_pdf="$enableval",enable_pdf=yes)
458
459 if test "x$enable_pdf" = "xyes"; then
460     POPPLER_REQUIRED=0.12.0
461     PKG_CHECK_MODULES(POPPLER, poppler-glib >= $POPPLER_REQUIRED libxml-2.0 >= $LIBXML_REQUIRED,enable_pdf=yes,enable_pdf=no)
462
463     if test "x$enable_pdf" = "xyes"; then
464             AC_DEFINE([ENABLE_PDF], [1], [Enable pdf support.])
465             SHELL_LIBS="$SHELL_LIBS $POPPLER_LIBS"
466             SHELL_CFLAGS="$SHELL_CFLAGS $POPPLER_CFLAGS"
467
468             evince_save_LIBS=$LIBS
469             LIBS="$LIBS $POPPLER_LIBS"
470             AC_CHECK_FUNCS(poppler_page_render)
471             AC_CHECK_FUNCS(poppler_page_get_image)
472             LIBS=$evince_save_LIBS
473
474             PKG_CHECK_MODULES(CAIRO_PDF, cairo-pdf, enable_cairo_pdf=yes, enable_cairo_pdf=no)
475             if test x$enable_cairo_pdf = xyes; then
476                     AC_DEFINE([HAVE_CAIRO_PDF], [1], [defined if cairo-pdf is available])
477             fi
478
479             PKG_CHECK_MODULES(CAIRO_PS, cairo-ps, enable_cairo_ps=yes, enable_cairo_ps=no)
480             if test x$enable_cairo_ps = xyes; then
481                     AC_DEFINE([HAVE_CAIRO_PS], [1], [defined if cairo-ps is available])
482             fi
483     else
484             AC_MSG_WARN("PDF support is disabled since poppler-glib library version $POPPLER_REQUIRED or newer not found")
485     fi 
486 fi
487
488 AM_CONDITIONAL(ENABLE_PDF, test x$enable_pdf = xyes)
489 dnl ================== end of pdf checks ============================================
490
491 dnl libspectre (used by ps and dvi backends)
492 SPECTRE_REQUIRED=0.2.0 
493 PKG_CHECK_MODULES(SPECTRE, libspectre >= $SPECTRE_REQUIRED,have_spectre=yes,have_spectre=no)
494 AM_CONDITIONAL(HAVE_SPECTRE, test x$have_spectre = xyes)
495 if test "x$have_spectre" = "xyes"; then
496    AC_DEFINE([HAVE_SPECTRE], [1], [Have libspectre])
497 fi
498
499 dnl ================== ps checks ====================================================
500 AC_ARG_ENABLE(ps,
501         [AC_HELP_STRING([--disable-ps], [Compile without PostScript backend])],enable_ps=$enableval,enable_ps="yes")
502
503 if test "x$enable_ps" = "xyes"; then
504    if test "x$have_spectre" = "xyes"; then
505       AC_DEFINE([ENABLE_PS], [1], [Enable support for PostScript files.])
506    else
507       enable_ps="no"
508       AC_MSG_WARN([PS support is disabled since libspectre (version >= $SPECTRE_REQUIRED) is needed])
509    fi
510 fi
511 AM_CONDITIONAL(ENABLE_PS, test x$enable_ps = xyes)
512 dnl ======================== End of ps checks ===================================
513
514 dnl ================== tiff checks ===================================================
515 AC_ARG_ENABLE(tiff,
516             [AC_HELP_STRING([--enable-tiff], [Compile with support of multipage tiff])],enable_tiff="$enableval",enable_tiff=yes)
517
518 if test "x$enable_tiff" = "xyes"; then
519     AC_CHECK_HEADERS([tiff.h],enable_tiff=yes,enable_tiff=no,)
520     if test "x$enable_tiff" = "xyes"; then
521         AC_CHECK_LIB([tiff],TIFFOpen,enable_tiff=yes,enable_tiff=no,"-lz")
522         AC_CHECK_LIB([tiff],TIFFReadRGBAImageOriented,enable_tiff=yes,enable_tiff=no,"-lz")
523     fi
524     if test "x$enable_tiff" = "xyes"; then
525             AC_DEFINE([ENABLE_TIFF], [1], [Enable multipage tiff support.])
526     else
527             AC_MSG_WARN("Tiff support is disabled since tiff library version 3.6 or newer not found")
528     fi 
529 fi
530
531 AM_CONDITIONAL(ENABLE_TIFF, test x$enable_tiff = xyes)
532 dnl ================== end of tiff checks ============================================
533
534 dnl ================== djvu checks ===================================================
535
536 AC_ARG_ENABLE(djvu,
537             [AC_HELP_STRING([--enable-djvu], [Compile with support of djvu viewer])],enable_djvu="$enableval",enable_djvu=yes)
538
539 if test "x$enable_djvu" = "xyes"; then
540     DJVULIBRE_REQUIRED=3.5.17
541     PKG_CHECK_MODULES(DJVU, ddjvuapi >= $DJVULIBRE_REQUIRED, enable_djvu=yes, enable_djvu=no)
542
543     if test "x$enable_djvu" = "xyes"; then
544         AC_DEFINE([ENABLE_DJVU], [1], [Enable djvu viewer support.])
545     else
546         AC_MSG_WARN([   
547 ** Djvu support is disabled since a recent version of the djvulibre 
548 ** library was not found. You need at least djvulibre-3.5.17 which 
549 ** can be found on http://djvulibre.djvuzone.org 
550 ])
551     fi 
552 fi
553
554 AM_CONDITIONAL(ENABLE_DJVU, test x$enable_djvu = xyes)
555
556 dnl ================== End of djvu checks ===================================================
557
558 dnl ================== dvi checks ===================================================
559
560 AC_ARG_ENABLE(dvi,
561             [AC_HELP_STRING([--enable-dvi], [Compile with support of dvi viewer])],enable_dvi="$enableval",enable_dvi=yes)
562
563 AC_ARG_ENABLE(t1lib,
564             [AC_HELP_STRING([--enable-t1lib], [Compile with support of t1lib for type1 fonts in dvi])],enable_type1_fonts="$enableval",enable_type1_fonts=no)
565
566 if test "x$enable_dvi" = "xyes"; then
567     AC_C_CONST
568     AC_C_INLINE
569     AC_TYPE_SIZE_T
570     AC_CHECK_SIZEOF(long, 4)
571     AC_CHECK_SIZEOF(int, 4)
572     AC_CHECK_SIZEOF(short, 2)
573     AC_CHECK_SIZEOF(void *, 4)
574     AC_CHECK_LIB([kpathsea],[kpse_init_prog],[enable_dvi=yes],[enable_dvi=no])
575
576     if test "x$enable_dvi" = "xyes"; then
577         AC_DEFINE([ENABLE_DVI], [1], [Enable dvi viewer support.])
578     else
579         AC_MSG_WARN("Dvi support is disabled since kpathsea library is not found. Check your TeX installation.")
580     fi
581 fi
582 AM_CONDITIONAL(ENABLE_DVI, test x$enable_dvi = xyes)
583
584 if test "x$enable_dvi" = "xyes"; then
585     if test "x$enable_type1_fonts" = "xyes"; then
586         AC_CHECK_LIB([t1],T1_InitLib,enable_type1_fonts=yes,enable_type1_fonts=no,[-lm])
587     fi
588
589     if test "x$enable_type1_fonts" = xyes; then
590         AC_DEFINE([WITH_TYPE1_FONTS], [1], [Enable t1lib support in dvi.])
591     fi
592 else 
593     enable_type1_fonts=no
594 fi
595 AM_CONDITIONAL(WITH_TYPE1_FONTS, test x$enable_type1_fonts = xyes)
596
597 dnl ================== End of dvi checks ===================================================
598
599 dnl ================== pixbuf checks ===================================================
600
601 AC_ARG_ENABLE(pixbuf,
602             [AC_HELP_STRING([--enable-pixbuf], [Compile with support of pixbuf])],enable_pixbuf="$enableval",enable_pixbuf=no)
603 if test "x$enable_pixbuf" = "xyes"; then
604         AC_DEFINE([ENABLE_PIXBUF], [1], [Enable pixbuf support.])
605 fi
606 AM_CONDITIONAL(ENABLE_PIXBUF, test x$enable_pixbuf = xyes)
607
608 dnl ================== End of pixbuf checks ===================================================
609
610 dnl ================== comic book checks ===================================================
611  
612 AC_ARG_ENABLE(comics,
613         [AC_HELP_STRING([--enable-comics], [Compile with support for comic book archives])],enable_comics="$enableval",enable_comics=yes)
614 if test "x$enable_comics" = "xyes"; then
615         if test "x$os_win32" = "xyes"; then
616                 # The comics backend is disabled on windows because:
617                 # 1) it uses unix functions from sys/wait.h.
618                 # 2) it uses external decompression tools not generally available on windows.
619                 enable_comics=no
620                 AC_MSG_WARN(The comics backend is not supported on windows.)
621         else
622                 AC_DEFINE([ENABLE_COMICS], [1], [Enable support for comics.])
623         fi
624 fi 
625 AM_CONDITIONAL(ENABLE_COMICS, test x$enable_comics = xyes)
626
627 dnl ================== End of comic book checks ============================================
628
629 dnl ================== impress book checks ===================================================
630
631 AC_ARG_ENABLE(impress,
632         [AC_HELP_STRING([--enable-impress], [Compile with support for impress presentations])],enable_impress="$enableval",enable_impress=no)
633 if test "x$enable_impress" = "xyes"; then
634         AC_DEFINE([ENABLE_IMPRESS], [1], [Enable support for impress.])
635 fi 
636 AM_CONDITIONAL(ENABLE_IMPRESS, test x$enable_impress = xyes)
637
638 dnl ================== End of impress book 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;"
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;"
659 fi
660 if test "x$enable_pixbuf" = "xyes"; then
661         EVINCE_MIME_TYPES="${EVINCE_MIME_TYPES}image/*;"
662 fi
663 if test "x$enable_impress" = "xyes"; then
664         EVINCE_MIME_TYPES="${EVINCE_MIME_TYPES}application/vnd.sun.xml.impress;application/vnd.oasis.opendocument.presentation;"
665 fi
666 AC_SUBST(EVINCE_MIME_TYPES)
667
668 AC_CHECK_FUNC(localtime_r, AC_DEFINE(HAVE_LOCALTIME_R, 1, [Defines if localtime_r is available on your system]))
669
670 # Backends directory
671
672 AC_SUBST([backenddir],"\$(libdir)/evince/ev_binary_version/backends")
673 AC_SUBST([backend_binary_version],"ev_binary_version")
674
675 # Versioning
676
677 AC_SUBST([EV_MAJOR_VERSION],[ev_major_version])
678 AC_SUBST([EV_MINOR_VERSION],[ev_minor_version])
679 AC_SUBST([EV_MICRO_VERSION],[ev_micro_version])
680
681 AC_SUBST([EV_API_VERSION],[ev_api_version])
682 AC_SUBST([EV_BINARY_VERSION],[ev_binary_version])
683
684 AC_SUBST([EV_DOCUMENT_LT_VERSION_INFO],[ev_document_lt_version_info])
685 AC_SUBST([EV_DOCUMENT_LT_CURRENT_MINUS_AGE],[ev_document_lt_current_minus_age])
686 AC_SUBST([EV_VIEW_LT_VERSION_INFO],[ev_view_lt_version_info])
687 AC_SUBST([EV_VIEW_LT_CURRENT_MINUS_AGE],[ev_view_lt_current_minus_age])
688
689 # *****************************************************************************
690
691 AC_CONFIG_FILES([
692 backend/Makefile
693 backend/comics/Makefile
694 backend/djvu/Makefile
695 backend/dvi/Makefile
696 backend/dvi/mdvi-lib/Makefile
697 backend/impress/Makefile
698 backend/pdf/Makefile
699 backend/pixbuf/Makefile
700 backend/ps/Makefile
701 backend/tiff/Makefile
702 cut-n-paste/Makefile
703 cut-n-paste/evinfobar/Makefile
704 cut-n-paste/gimpcellrenderertoggle/Makefile
705 cut-n-paste/smclient/Makefile
706 cut-n-paste/toolbar-editor/Makefile
707 cut-n-paste/zoom-control/Makefile
708 cut-n-paste/totem-screensaver/Makefile
709 data/evince.desktop.in
710 data/Makefile
711 data/icons/Makefile
712 data/icons/16x16/Makefile
713 data/icons/16x16/apps/Makefile
714 data/icons/16x16/actions/Makefile
715 data/icons/22x22/Makefile
716 data/icons/22x22/apps/Makefile
717 data/icons/22x22/actions/Makefile
718 data/icons/24x24/Makefile
719 data/icons/24x24/apps/Makefile
720 data/icons/24x24/actions/Makefile
721 data/icons/32x32/Makefile
722 data/icons/32x32/actions/Makefile
723 data/icons/48x48/Makefile
724 data/icons/48x48/apps/Makefile
725 data/icons/48x48/actions/Makefile
726 data/icons/scalable/Makefile
727 data/icons/scalable/apps/Makefile
728 help/Makefile
729 help/reference/Makefile
730 help/reference/libdocument/Makefile
731 help/reference/libdocument/version.xml
732 help/reference/libview/Makefile
733 help/reference/libview/version.xml
734 help/reference/shell/Makefile
735 help/reference/shell/version.xml
736 libdocument/Makefile
737 libdocument/ev-version.h
738 libmisc/Makefile
739 libview/Makefile
740 Makefile
741 po/Makefile.in
742 previewer/Makefile
743 properties/Makefile
744 shell/Makefile
745 test/Makefile
746 thumbnailer/Makefile
747 ])
748
749 AC_CONFIG_FILES(evince-document-[]ev_api_version[].pc:evince-document.pc.in)
750 AC_CONFIG_FILES(evince-view-[]ev_api_version[].pc:evince-view.pc.in)
751
752 AC_OUTPUT
753
754 echo "
755 Configure summary:
756         Platform...........:  $with_platform
757         GConf Support......:  $with_gconf
758         GTK+ Unix Print....:  $with_gtk_unix_print
759         Keyring Support....:  $with_keyring
760         DBUS Support.......:  $enable_dbus
761         SM client support..:  $with_smclient
762         Nautilus Plugin....:  $enable_nautilus
763         Thumbnailer........:  $enable_thumbnailer
764         Previewer..........:  $enable_previewer
765         Gtk-Doc Support....:  $enable_gtk_doc
766         Debug mode.........:  $enable_debug
767         GObj. Introspection:  $enable_introspection
768         Tests..............:  $enable_tests
769
770         PDF Backend........:  $enable_pdf
771         PostScript Backend.:  $enable_ps
772         TIFF Backend.......:  $enable_tiff
773         DJVU Backend.......:  $enable_djvu
774         DVI Backend........:  $enable_dvi
775         Pixbuf Backend.....:  $enable_pixbuf
776         Comics Backend.....:  $enable_comics
777         Impress Backend....:  $enable_impress
778 "