]> www.fi.muni.cz Git - evince.git/blob - configure.ac
Translation updated.
[evince.git] / configure.ac
1 dnl Process this file with autoconf to produce a configure script.
2
3 AC_PREREQ(2.57)
4 AC_INIT([Evince],[0.7.2],[http://bugzilla.gnome.org/enter_bug.cgi?product=evince],[evince])
5 AM_INIT_AUTOMAKE([1.9 dist-bzip2 no-dist-gzip])
6
7 AM_CONFIG_HEADER(config.h)
8
9 AM_MAINTAINER_MODE
10
11 AM_PROG_LIBTOOL
12
13 AC_ISC_POSIX
14 AC_PROG_CC
15 AM_PROG_CC_STDC
16 AC_PROG_CXX
17 AC_STDC_HEADERS
18 IT_PROG_INTLTOOL([0.35.0])
19 AC_PATH_PROG([GLIB_GENMARSHAL], [glib-genmarshal])
20 AC_PATH_PROG([GLIB_MKENUMS],[glib-mkenums])
21
22 GNOME_COMMON_INIT
23 GNOME_DOC_INIT
24 GNOME_MAINTAINER_MODE_DEFINES
25 GNOME_COMPILE_WARNINGS
26 GNOME_CXX_WARNINGS
27 GNOME_DEBUG_CHECK
28
29 GTK_DOC_CHECK(1.0)
30
31 GETTEXT_PACKAGE=evince
32 AC_SUBST(GETTEXT_PACKAGE)
33 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
34 AM_GLIB_GNU_GETTEXT
35
36 dnl Check dependencies
37
38 # LIB_CFLAGS       for helpers and generic widgets. (lib, cut-and-paste)
39 # BACKEND_CFLAGS   for backend implementations.
40 # FRONTEND_CFLAGS  for frontend implementations. (properties, thumbnailer)
41 # FRONTEND_LIBS
42 # SHELL_CFLAGS     for shell implementation.
43 # SHELL_LIBS
44
45 DBUS_GLIB_REQUIRED=0.70
46 GTK_REQUIRED=2.8.15
47 KEYRING_REQUIRED=0.4.0
48
49 LIBGNOMEUI_REQUIRED=2.14.0
50 LIBGNOME_REQUIRED=2.14.0
51 LIBGNOMEPRINTUI_REQUIRED=2.6.0
52 GNOME_ICON_THEME_REQUIRED=2.17.1
53 LIBXML_REQUIRED=2.5.0
54
55 GTK_PRINT_REQUIRED=2.10.0
56
57 PKG_CHECK_MODULES(LIB, gtk+-2.0 >= $GTK_REQUIRED libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED libxml-2.0 >= $LIBXML_REQUIRED)
58 PKG_CHECK_MODULES(BACKEND, gtk+-2.0 >= $GTK_REQUIRED gnome-vfs-2.0 libgnome-2.0 >= $LIBGNOME_REQUIRED)
59 PKG_CHECK_MODULES(FRONTEND_CORE, gtk+-2.0 >= $GTK_REQUIRED libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED gnome-icon-theme >= $GNOME_ICON_THEME_REQUIRED libglade-2.0)
60 PKG_CHECK_MODULES(SHELL_CORE, gtk+-2.0 >= $GTK_REQUIRED libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED gnome-vfs-2.0 libglade-2.0 gconf-2.0 gnome-keyring-1 >= $KEYRING_REQUIRED)
61
62 BACKEND_CFLAGS="$BACKEND_CFLAGS -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE"
63 AC_SUBST(BACKEND_CFLAGS)
64
65 GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`  
66 AC_SUBST(GLIB_GENMARSHAL)
67
68 dnl ========= Print support
69 AC_ARG_WITH(print,
70             [AC_HELP_STRING([--with-print=no/gtk/gnome/auto], [Compile with print support [default=auto]])],
71             PRINT=$withval,
72             PRINT="auto")
73
74 PKG_CHECK_MODULES(GNOME_PRINT, 
75                   libgnomeprintui-2.2 >= $LIBGNOMEPRINTUI_REQUIRED,
76                   enable_gnome_print=yes, enable_gnome_print=no)
77 PKG_CHECK_MODULES(GTK_PRINT,
78                   gtk+-unix-print-2.0 >= $GTK_PRINT_REQUIRED,
79                   enable_gtk_print=yes, enable_gtk_print=no)
80 enable_print=no
81 if test x$PRINT = xgnome -a x$enable_gnome_print = xyes; then
82    enable_print=gnome
83 else
84    if test x$PRINT = xgtk -a x$enable_gtk_print = xyes; then
85       enable_print=gtk
86    else
87       if test x$PRINT = xauto; then
88          if test x$enable_gtk_print = xyes; then
89             enable_print=gtk
90          else
91             if test x$enable_gnome_print = xyes; then
92                enable_print=gnome
93             fi
94          fi
95       fi
96    fi
97 fi
98
99 if test x$enable_print = xgnome; then
100    AC_SUBST(GNOME_PRINT_CFLAGS)
101    AC_SUBST(GNOME_PRINT_LIBS)
102    AC_DEFINE([WITH_GNOME_PRINT],[1],[Enable GNOME Print Support.])
103    AC_DEFINE([WITH_PRINT],[1],[Enable Print Support.])
104 fi
105
106 if test x$enable_print = xgtk; then   
107    AC_SUBST(GTK_PRINT_CFLAGS)
108    AC_SUBST(GTK_PRINT_LIBS)
109    AC_DEFINE([WITH_GTK_PRINT],[1],[Enable GTK Print Support.])
110    AC_DEFINE([WITH_PRINT],[1],[Enable Print Support.])
111 fi
112    
113 AM_CONDITIONAL(WITH_GNOME_PRINT, test x$enable_print = xgnome)
114 AM_CONDITIONAL(WITH_GTK_PRINT, test x$enable_print = xgtk)
115
116
117 dnl ========= Check for DBUS
118 PKG_CHECK_MODULES([DBUS], [dbus-glib-1 >= $DBUS_GLIB_REQUIRED],
119         [enable_dbus=yes],[enable_dbus=no])
120 AC_SUBST([DBUS_CFLAGS])
121 AC_SUBST([DBUS_LIBS])
122
123 if test "x$enable_dbus" = "xno"; then
124         AC_MSG_WARN([DBUS support is disabled since dbus $DBUS_GLIB_REQUIRED or higher was not found])
125 fi
126
127 if test "x$enable_dbus" = "xyes" ; then
128         AC_PATH_PROG([DBUS_BINDING_TOOL], [dbus-binding-tool], [no])
129
130         if test x$DBUS_BINDING_TOOL = "xno" ; then
131                 AC_MSG_ERROR([dbus-binding-tool executable not found in your path - should be installed with dbus glib bindings])
132         fi                                            
133
134         AC_DEFINE([ENABLE_DBUS],[1],[Define if DBUS support is enabled])
135 fi
136
137 SHELL_CFLAGS="$SHELL_CORE_CFLAGS $DBUS_CFLAGS -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE"
138 SHELL_LIBS="$SHELL_CORE_LIBS $DBUS_LIBS -lz"
139 AC_SUBST(SHELL_CFLAGS)
140 AC_SUBST(SHELL_LIBS)
141
142 FRONTEND_CFLAGS="$FRONTEND_CORE_CFLAGS"
143 FRONTEND_LIBS="$FRONTEND_CORE_LIBS -lz"
144 AC_SUBST(FRONTEND_CFLAGS)
145 AC_SUBST(FRONTEND_LIBS)
146
147 AM_CONDITIONAL([ENABLE_DBUS], [test "x$enable_dbus" = "xyes"])
148 AM_CONDITIONAL([DBUS_TOOL_NO_PREFIX], [test "x$DBUS_VERSION" = "x33"])
149
150 dnl Check for Nautilus property page build
151 AC_ARG_ENABLE(nautilus,
152         AC_HELP_STRING([--enable-nautilus],[compile the nautilus plugin]),
153         [case "${enableval}" in
154         yes) ENABLE_NAUTILUS=yes ;;
155         no) ENABLE_NAUTILUS=no ;;
156         *) AC_MSG_ERROR(bad value ${enableval} for --enable-nautilus) ;;
157         esac],
158         [ENABLE_NAUTILUS=yes]) dnl Default value
159
160 if test x$ENABLE_NAUTILUS = "xyes" ; then
161         PKG_CHECK_MODULES(NAUTILUS, gtk+-x11-2.0 $MM gthread-2.0 libnautilus-extension,
162                         [HAVE_NAUTILUS=yes], [HAVE_NAUTILUS=no])
163 fi
164
165 AC_SUBST(NAUTILUS_CFLAGS)
166 AC_SUBST(NAUTILUS_LIBS)
167 if test x$HAVE_NAUTILUS = "xyes"; then
168         AC_DEFINE(HAVE_NAUTILUS, 1, [defined if you build the nautilus plugin])
169 fi
170 AM_CONDITIONAL(HAVE_NAUTILUS, test x$HAVE_NAUTILUS = "xyes")
171
172 dnl Check for GtkRecent
173 PKG_CHECK_MODULES(GTK_RECENT, gtk+-2.0 >= 2.10.0, 
174                   [HAVE_GTK_RECENT=yes], [HAVE_GTK_RECENT=no])
175 if test x$HAVE_GTK_RECENT = xyes; then
176    AC_DEFINE([HAVE_GTK_RECENT], [1], [defined if GtkRecent is available])
177 fi
178 AM_CONDITIONAL(HAVE_GTK_RECENT, test x$HAVE_GTK_RECENT = "xyes")
179
180 dnl GConf configuration
181 AM_GCONF_SOURCE_2
182
183 AC_PATH_PROG([GCONFTOOL], [gconftool-2], [no])
184 if test "x$GCONFTOOL" = "xno"; then
185         AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf])
186 fi
187
188 dnl ================== portability checks ===========================================
189
190 dnl for backtrace()
191 AC_CHECK_HEADERS([execinfo.h])
192
193 AC_CHECK_DECL([_NL_MEASUREMENT_MEASUREMENT],[
194   AC_DEFINE([HAVE__NL_MEASUREMENT_MEASUREMENT],[1],[Define if _NL_MEASUREMENT_MEASUREMENT is available])
195   ],[],[#include <langinfo.h>])
196
197 dnl ================== pdf checks ===================================================
198 AC_ARG_ENABLE(pdf,
199               [AC_HELP_STRING([--enable-pdf], [Compile with pdf support])],enable_pdf="$enableval",enable_pdf=yes)
200
201 if test "x$enable_pdf" = "xyes"; then
202     POPPLER_REQUIRED=0.5.4
203     PKG_CHECK_MODULES(POPPLER, poppler-glib >= $POPPLER_REQUIRED,enable_pdf=yes,enable_pdf=no)
204
205     if test "x$enable_pdf" = "xyes"; then
206             AC_DEFINE([ENABLE_PDF], [1], [Enable pdf support.])
207             FRONTEND_LIBS="$FRONTEND_LIBS $POPPLER_LIBS"
208             SHELL_LIBS="$SHELL_LIBS $POPPLER_LIBS"
209             SHELL_CFLAGS="$SHELL_CFLAGS $POPPLER_CFLAGS"
210
211             evince_save_LIBS=$LIBS
212             LIBS="$LIBS $FRONTEND_LIBS"
213             AC_CHECK_FUNCS(poppler_page_render)
214             AC_CHECK_FUNCS(poppler_page_get_duration)
215             AC_CHECK_FUNCS(poppler_page_get_image_mapping)
216             LIBS=$evince_save_LIBS
217
218             PKG_CHECK_MODULES(CAIRO_PDF, cairo-pdf, enable_cairo_pdf=yes, enable_cairo_pdf=no)
219             if test x$enable_cairo_pdf == xyes; then
220                     AC_DEFINE([HAVE_CAIRO_PDF], [1], [defined if cairo-pdf is available])
221             fi
222     else
223             AC_MSG_WARN("PDF support is disabled since poppler-glib library version $POPPLER_REQUIRED or newer not found")
224     fi 
225 fi
226
227 AM_CONDITIONAL(ENABLE_PDF, test x$enable_pdf = xyes)
228 dnl ================== end of pdf checks ============================================
229
230 dnl ================== ggv checks ===================================================
231 AC_ARG_ENABLE(ps,
232         [AC_HELP_STRING([--disable-ps], [Compile without PostScript backend])],enable_ps=$enableval,enable_ps="yes")
233
234 if test x$enable_ps = xyes; then
235         AC_DEFINE([ENABLE_PS], [1], [Enable support for PostScript files.])
236 fi 
237
238 AM_CONDITIONAL(ENABLE_PS, test x$enable_ps = xyes)
239
240 if test x$enable_ps = xyes; then
241
242 dnl check for GS version
243 AC_MSG_CHECKING(for Ghostscript version...)
244 GS_VERSION=`gs --version | head -n 1 | sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
245 AC_MSG_RESULT(found $GS_VERSION)
246 if test "$GS_VERSION" -lt "7"; then
247         AC_MSG_ERROR([You need Ghostscript version >= 7 in order to run evince])
248 fi
249
250 AC_ARG_WITH(gs-aa-params,
251             [AC_HELP_STRING([--with-gs-aa-params], [Define antialiasing params for ghostscript])],AA_PARAMS=$withval,
252             AA_PARMS="-sDEVICE=x11alpha -dNOPLATFONTS -dGraphicsAlphaBits=4 -dTextAlphaBits=4 -dDOINTERPOLATE"
253             )
254 AC_DEFINE_UNQUOTED(ALPHA_PARAMS, "$AA_PARMS", [Anti-aliasing parameters for Ghostscript.])
255 AC_MSG_RESULT(Antialiasing parameters for Ghostscript: $AA_PARMS)
256
257 fi
258 dnl ======================== End of ggv checks =================================
259
260 dnl ================== tiff checks ===================================================
261 AC_ARG_ENABLE(tiff,
262             [AC_HELP_STRING([--enable-tiff], [Compile with support of multipage tiff])],enable_tiff="$enableval",enable_tiff=yes)
263
264 if test "x$enable_tiff" = "xyes"; then
265     AC_CHECK_HEADERS([tiff.h],enable_tiff=yes,enable_tiff=no,)
266     if test "x$enable_tiff" = "xyes"; then
267         AC_CHECK_LIB([tiff],TIFFOpen,enable_tiff=yes,enable_tiff=no,"-lz")
268         AC_CHECK_LIB([tiff],TIFFReadRGBAImageOriented,enable_tiff=yes,enable_tiff=no,"-lz")
269     fi
270     if test "x$enable_tiff" = "xyes"; then
271             AC_DEFINE([ENABLE_TIFF], [1], [Enable multipage tiff support.])
272             FRONTEND_LIBS="$FRONTEND_LIBS -ltiff"
273             SHELL_LIBS="$SHELL_LIBS -ltiff"
274     else
275             AC_MSG_WARN("Tiff support is disabled since tiff library version 3.6 or newer not found")
276     fi 
277 fi
278
279 AM_CONDITIONAL(ENABLE_TIFF, test x$enable_tiff = xyes)
280 dnl ================== end of tiff checks ============================================
281
282 dnl ================== djvu checks ===================================================
283
284 AC_ARG_ENABLE(djvu,
285             [AC_HELP_STRING([--enable-djvu], [Compile with support of djvu viewer])],enable_djvu="$enableval",enable_djvu=no)
286
287 if test "x$enable_djvu" = "xyes"; then
288
289 DJVULIBRE_REQUIRED=3.5.17
290
291 PKG_CHECK_MODULES(DJVU, ddjvuapi >= $DJVULIBRE_REQUIRED, enable_djvu=yes, enable_djvu=no)
292
293     if test "x$enable_djvu" = "xyes"; then
294         AC_DEFINE([ENABLE_DJVU], [1], [Enable djvu viewer support.])
295     else
296         AC_MSG_WARN([   
297 ** Djvu support is disabled since a recent version of the djvulibre 
298 ** library was not found. You need at least djvulibre-3.5.17 which 
299 ** can be found on http://djvulibre.djvuzone.org 
300 ])
301     fi 
302 fi
303
304 AM_CONDITIONAL(ENABLE_DJVU, test x$enable_djvu = xyes)
305
306 dnl ================== End of djvu checks ===================================================
307
308 dnl ================== dvi checks ===================================================
309
310 AC_ARG_ENABLE(dvi,
311             [AC_HELP_STRING([--enable-dvi], [Compile with support of dvi viewer])],enable_dvi="$enableval",enable_dvi=no)
312
313 AC_ARG_ENABLE(t1lib,
314             [AC_HELP_STRING([--enable-t1lib], [Compile with support of t1lib for type1 fonts in dvi])],enable_type1_fonts="$enableval",enable_type1_fonts=no)
315
316 if test "x$enable_dvi" = "xyes"; then
317     AC_C_CONST
318     AC_C_INLINE
319     AC_TYPE_SIZE_T
320     AC_CHECK_SIZEOF(long, 4)
321     AC_CHECK_SIZEOF(int, 4)
322     AC_CHECK_SIZEOF(short, 2)
323     AC_CHECK_SIZEOF(void *, 4)
324     AC_CHECK_LIB([kpathsea],[kpse_init_prog],[enable_dvi=yes],[enable_dvi=no])
325
326     if test "x$enable_dvi" = "xyes"; then
327         AC_DEFINE([ENABLE_DVI], [1], [Enable dvi viewer support.])
328     else
329         AC_MSG_WARN("Dvi support is disabled since kpathsea library is not found. Check your TeX installation.")
330     fi
331 fi
332 AM_CONDITIONAL(ENABLE_DVI, test x$enable_dvi = xyes)
333
334 if test "x$enable_dvi" = "xyes"; then
335     if test "x$enable_type1_fonts" = "xyes"; then
336         AC_CHECK_LIB([t1],T1_InitLib,enable_type1_fonts=yes,enable_type1_fonts=no,[-lm])
337     fi
338
339     if test "x$enable_type1_fonts" = xyes; then
340         AC_DEFINE([WITH_TYPE1_FONTS], [1], [Enable t1lib support in dvi.])
341     fi
342 else 
343     enable_type1_fonts=no
344 fi
345 AM_CONDITIONAL(WITH_TYPE1_FONTS, test x$enable_type1_fonts = xyes)
346
347 dnl ================== End of dvi checks ===================================================
348
349 dnl ================== pixbuf checks ===================================================
350
351 AC_ARG_ENABLE(pixbuf,
352             [AC_HELP_STRING([--enable-pixbuf], [Compile with support of pixbuf])],enable_pixbuf="$enableval",enable_pixbuf=no)
353 if test "x$enable_pixbuf" = "xyes"; then
354         AC_DEFINE([ENABLE_PIXBUF], [1], [Enable pixbuf support.])
355 fi
356 AM_CONDITIONAL(ENABLE_PIXBUF, test x$enable_pixbuf = xyes)
357
358 dnl ================== End of pixbuf checks ===================================================
359
360 dnl ================== comic book checks ===================================================
361  
362 AC_ARG_ENABLE(comics,
363         [AC_HELP_STRING([--enable-comics], [Compile with support for comic book archives])],enable_comics="$enableval",enable_comics=no)
364 if test "x$enable_comics" = "xyes"; then
365         AC_DEFINE([ENABLE_COMICS], [1], [Enable support for comics.])
366 fi 
367 AM_CONDITIONAL(ENABLE_COMICS, test x$enable_comics = xyes)
368
369 dnl ================== End of comic book checks ============================================
370
371 dnl ================== impress book checks ===================================================
372
373 AC_ARG_ENABLE(impress,
374         [AC_HELP_STRING([--enable-impress], [Compile with support for impress presentations])],enable_impress="$enableval",enable_impress=no)
375 if test "x$enable_impress" = "xyes"; then
376         AC_DEFINE([ENABLE_IMPRESS], [1], [Enable support for impress.])
377 fi 
378 AM_CONDITIONAL(ENABLE_IMPRESS, test x$enable_impress = xyes)
379
380 dnl ================== End of impress book checks ============================================
381
382 dnl =================== Mime types list ====================================================
383
384 if test "x$enable_pdf" = "xyes" ; then
385         EVINCE_MIME_TYPES="application/pdf;application/x-bzpdf;application/x-gzpdf"
386 fi
387 if test "x$enable_ps" = "xyes" ; then
388         EVINCE_MIME_TYPES="$EVINCE_MIME_TYPES;application/postscript;application/x-bzpostscript;application/x-gzpostscript;image/x-eps;image/x-bzeps;image/x-gzeps"
389 fi
390 if test "x$enable_dvi" = "xyes"; then
391         EVINCE_MIME_TYPES="$EVINCE_MIME_TYPES;application/x-dvi"
392 fi
393 if test "x$enable_djvu" = "xyes"; then
394         EVINCE_MIME_TYPES="$EVINCE_MIME_TYPES;image/vnd.djvu"
395 fi
396 if test "x$enable_tiff" = "xyes"; then
397         EVINCE_MIME_TYPES="$EVINCE_MIME_TYPES;image/tiff"
398 fi
399 if test "x$enable_comics" = "xyes"; then
400         EVINCE_MIME_TYPES="$EVINCE_MIME_TYPES;application/x-cbr;application/x-cbz"
401 fi
402 if test "x$enable_pixbuf" = "xyes"; then
403         EVINCE_MIME_TYPES="$EVINCE_MIME_TYPES;image/*"
404 fi
405 if test "x$enable_impress" = "xyes"; then
406         EVINCE_MIME_TYPES="$EVINCE_MIME_TYPES;application/vnd.sun.xml.impress;application/vnd.oasis.opendocument.presentation"
407 fi
408 AC_SUBST(EVINCE_MIME_TYPES)
409
410 AC_CONFIG_FILES([
411 backend/Makefile
412 backend/comics/Makefile
413 backend/djvu/Makefile
414 backend/dvi/Makefile
415 backend/dvi/mdvi-lib/Makefile
416 backend/impress/Makefile
417 backend/pdf/Makefile
418 backend/pixbuf/Makefile
419 backend/ps/Makefile
420 backend/tiff/Makefile
421 cut-n-paste/Makefile
422 cut-n-paste/recent-files/Makefile
423 cut-n-paste/toolbar-editor/Makefile
424 cut-n-paste/zoom-control/Makefile
425 cut-n-paste/totem-screensaver/Makefile
426 data/evince.desktop.in
427 data/Makefile
428 data/icons/Makefile
429 data/icons/16x16/Makefile
430 data/icons/16x16/apps/Makefile
431 data/icons/16x16/actions/Makefile
432 data/icons/22x22/Makefile
433 data/icons/22x22/apps/Makefile
434 data/icons/22x22/actions/Makefile
435 data/icons/24x24/Makefile
436 data/icons/24x24/apps/Makefile
437 data/icons/24x24/actions/Makefile
438 data/icons/48x48/Makefile
439 data/icons/48x48/apps/Makefile
440 data/icons/scalable/Makefile
441 data/icons/scalable/apps/Makefile
442 help/Makefile
443 help/reference/Makefile
444 help/reference/version.xml
445 libdocument/Makefile
446 Makefile
447 po/Makefile.in
448 properties/Makefile
449 shell/Makefile
450 test/Makefile
451 thumbnailer/Makefile
452 ])
453
454 AC_OUTPUT
455
456 echo "
457 Configure summary:
458         Print Support......:  $enable_print
459         DBUS Support.......:  $enable_dbus
460         Nautilus Plugin....:  $HAVE_NAUTILUS
461         Gtk-Doc Support....:  $enable_gtk_doc
462
463         PDF Backend........:  $enable_pdf
464         PostScript Backend.:  $enable_ps
465         TIFF Backend.......:  $enable_tiff
466         DJVU Backend.......:  $enable_djvu
467         DVI Backend........:  $enable_dvi
468         Pixbuf Backend.....:  $enable_pixbuf
469         Comics Backend.....:  $enable_comics
470         Impress Backend....:  $enable_impress
471 "