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