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