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