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