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