]> www.fi.muni.cz Git - evince.git/blob - configure.ac
Improve djvu loading speed. Fix for 301993
[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.3.1)
5 AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
6
7 dnl make sure we keep ACLOCAL_FLAGS around for maintainer builds to work
8 AC_SUBST(ACLOCAL_AMFLAGS, "$ACLOCAL_FLAGS")
9
10 AM_CONFIG_HEADER(config.h)
11
12 AM_MAINTAINER_MODE
13
14 AM_PROG_LIBTOOL
15
16 AC_ISC_POSIX
17 AC_PROG_CC
18 AM_PROG_CC_STDC
19 AC_PROG_CXX
20 AC_STDC_HEADERS
21 AC_PROG_INTLTOOL
22
23 GNOME_DEBUG_CHECK
24
25 ALL_LINGUAS="bg ca cs da de el en_CA en_GB es fi fr hu ja ko lt nb nl no pt_BR ru rw sv uk wa zh_CN zh_TW"
26
27 AM_GLIB_GNU_GETTEXT
28
29 GETTEXT_PACKAGE=AC_PACKAGE_NAME
30 AC_SUBST(GETTEXT_PACKAGE)
31 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package.])
32
33 POPPLER_REQUIRED=0.3.2
34
35 PKG_CHECK_MODULES(LIBEVPRIVATE, gtk+-2.0 >= 2.4.0)
36 PKG_CHECK_MODULES(TOOLBAR_EDITOR, gtk+-2.0 >= 2.4.0 libgnomeui-2.0 >= 2.4.0)
37 PKG_CHECK_MODULES(RECENT_FILES, gtk+-2.0 >= 2.4.0 libgnomeui-2.0 >= 2.4.0)
38 PKG_CHECK_MODULES(ZOOM_CONTROL, gtk+-2.0 >= 2.4.0)
39 PKG_CHECK_MODULES(SHELL, gtk+-2.0 >= 2.6.0 libgnomeui-2.0 gnome-vfs-2.0 libgnomeprint-2.2 libgnomeprintui-2.2 libglade-2.0 gconf-2.0 poppler-glib >= $POPPLER_REQUIRED)
40 PKG_CHECK_MODULES(THUMBNAILER, gtk+-2.0 >= 2.6.0 gnome-vfs-2.0 poppler-glib >= $POPPLER_REQUIRED)
41 PKG_CHECK_MODULES(DVI, gtk+-2.0 >= 2.6.0)
42 PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.6.0)
43 PKG_CHECK_MODULES(PS, gtk+-2.0 >= 2.6.0 gnome-vfs-2.0 libgnomeui-2.0)
44 PKG_CHECK_MODULES(POPPLER_GLIB, poppler-glib >= $POPPLER_REQUIRED)
45
46 GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`  
47 AC_SUBST(GLIB_GENMARSHAL)
48
49 dnl Compile with disable-deprecated switches
50
51 AC_ARG_ENABLE(deprecated,
52 AC_HELP_STRING([--disable-deprecated],
53                [Don't allow any deprecated GTK+/etc. features.]),
54 set_enable_deprecated="$enableval",[
55 if test -f $srcdir/autogen.sh; then
56         is_cvs_version=true
57         set_enable_deprecated=no
58 else
59         set_enable_deprecated=yes
60         fi
61 ])
62 AC_MSG_CHECKING([whether to disable deprecated glib/gtk+/etc. features])
63 if test "$set_enable_deprecated" != "yes"; then
64         AC_MSG_RESULT(yes)
65         EVINCE_DISABLE_DEPRECATED="-DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGNOME_DISABLE_DEPRECATED -DBONOBO_DISABLE_DEPRECATED"
66 else
67         AC_MSG_RESULT(no)
68         EVINCE_DISABLE_DEPRECATED=""
69 fi
70 AC_SUBST(EVINCE_DISABLE_DEPRECATED)
71
72 AM_GCONF_SOURCE_2
73
74 AC_PATH_PROG([GCONFTOOL], [gconftool-2], [no])
75 if test "x$GCONFTOOL" = "xno"; then
76         AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf])
77 fi
78
79 dnl ================== ggv checks ===================================================
80 AC_ARG_WITH(gs-pkg,
81             [  --with-gs=dir       Directory Where GhostScript package is installed.])
82
83 if test "x$with_gs" = "x"; then
84         AC_PATH_PROG(GS_PROG, gs)
85         if test -z "$GS_PROG"; then
86                 AC_MSG_ERROR(Unable to find GhostScript in the PATH. Provide the full path for GhostScript(--with-gs=PATH). You need to have Ghostscript installed in order to run evince)
87         fi
88 else
89         GS_PROG=$with_gs
90 fi
91
92 AC_DEFINE_UNQUOTED(GS_PATH, "$GS_PROG", [Path to the 'gs' executable.])
93
94
95 dnl check for GS version
96 AC_MSG_CHECKING(for Ghostscript version...)
97 GS_VERSION=`gs --version | head -n 1 | sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
98 AC_MSG_RESULT(found $GS_VERSION)
99 if test "$GS_VERSION" -lt "7"; then
100         AC_MSG_ERROR([You need Ghostscript version >= 7 in order to run evince])
101 fi
102 AA_PARMS="-sDEVICE=x11alpha -dNOPLATFONTS"
103 AC_DEFINE_UNQUOTED(ALPHA_PARAMS, "$AA_PARMS", [Anti-aliasing parameters for Ghostscript.])
104 AC_MSG_RESULT(Antialiasing parameters for Ghostscript: $AA_PARMS)
105 dnl ======================== End of ggv checks =================================
106
107 dnl ================== tiff checks ===================================================
108 AC_ARG_ENABLE(tiff,
109             [AC_HELP_STRING([--enable-tiff], [Compile with support of multipage tiff])],enable_tiff="$enableval",enable_tiff=yes)
110
111 if test "x$enable_tiff" = "xyes"; then
112     AC_CHECK_HEADERS([tiff.h],enable_tiff=yes,enable_tiff=no,)
113     if test "x$enable_tiff" = "xyes"; then
114         AC_CHECK_LIB([tiff],TIFFOpen,enable_tiff=yes,enable_tiff=no,"-lz")
115         AC_CHECK_LIB([tiff],TIFFReadRGBAImageOriented,enable_tiff=yes,enable_tiff=no,"-lz")
116     fi
117     if test "x$enable_tiff" = "xyes"; then
118             AC_DEFINE([ENABLE_TIFF], [1], [Enable multipage tiff support.])
119     else
120             AC_MSG_WARN("Tiff support is disabled since tiff library version 3.6 or newer not found")
121     fi 
122 fi
123
124 AM_CONDITIONAL(ENABLE_TIFF, test x$enable_tiff = xyes)
125 dnl ================== end of tiff checks ============================================
126
127 dnl ================== djvu checks ===================================================
128
129 AC_ARG_ENABLE(djvu,
130             [AC_HELP_STRING([--enable-djvu], [Compile with support of djvu viewer])],enable_djvu="$enableval",enable_djvu=no)
131
132 if test "x$enable_djvu" = "xyes"; then
133     AC_CHECK_HEADERS([libdjvu/ddjvuapi.h],enable_djvu=yes,enable_djvu=no,)
134
135     if test "x$enable_djvu" = "xyes"; then
136         AC_CHECK_LIB([djvulibre],ddjvu_context_create,enable_djvu=yes,enable_djvu=no,"-lpthread")
137         AC_CHECK_LIB([djvulibre],ddjvu_document_get_pageinfo,enable_djvu=yes,enable_djvu=no,"-lpthread")
138     fi
139
140     if test "x$enable_djvu" = "xyes"; then
141         AC_DEFINE([ENABLE_DJVU], [1], [Enable djvu viewer support.])
142     else
143         AC_MSG_WARN([   
144 ** Djvu support is disabled since recent version of djvulibre 
145 ** library was not found. To get proper djvu support you need to
146 ** install development version of djvulibre. You can get it from
147 ** anonymous CVS server on djvulibre.sf.net. Just use something
148 ** like:
149
150 ** cvs -d :pserver:anonymous@cvs.sourceforge.net:/cvsroot/djvu co djvulibre-3.5
151 ])
152     fi 
153 fi
154
155 AM_CONDITIONAL(ENABLE_DJVU, test x$enable_djvu = xyes)
156
157 dnl ================== End of djvu checks ===================================================
158
159 dnl ================== dvi checks ===================================================
160
161 AC_ARG_ENABLE(dvi,
162             [AC_HELP_STRING([--enable-dvi], [Compile with support of dvi viewer])],enable_dvi="$enableval",enable_dvi=no)
163
164 AC_ARG_ENABLE(t1lib,
165             [AC_HELP_STRING([--enable-t1lib], [Compile with support of t1lib for type1 fonts in dvi])],enable_type1_fonts="$enableval",enable_type1_fonts=no)
166
167 if test "x$enable_dvi" = "xyes"; then
168     AC_C_CONST
169     AC_C_INLINE
170     AC_TYPE_SIZE_T
171     AC_CHECK_SIZEOF(long, 4)
172     AC_CHECK_SIZEOF(int, 4)
173     AC_CHECK_SIZEOF(short, 2)
174     AC_CHECK_SIZEOF(void *, 4)
175     AC_CHECK_LIB([kpathsea],[kpse_init_prog],[enable_dvi=yes],[enable_dvi=no])
176
177     if test "x$enable_dvi" = "xyes"; then
178         AC_DEFINE([ENABLE_DVI], [1], [Enable dvi viewer support.])
179     else
180         AC_MSG_WARN("Dvi support is disabled since kpathsea library is not found. Check your TeX installation.")
181     fi
182 fi
183 AM_CONDITIONAL(ENABLE_DVI, test x$enable_dvi = xyes)
184
185 if test "x$enable_dvi" = "xyes"; then
186     if test "x$enable_type1_fonts" = "xyes"; then
187         AC_CHECK_LIB([t1lib],T1_InitLib,enable_type1_fonts=yes,enable_type1_fonts=no)
188     fi
189
190     if test "x$enable_type1_fonts" = xyes; then
191         AC_DEFINE([WITH_TYPE1_FONTS], [1], [Enable t1lib support in dvi.])
192     fi
193 else 
194     enable_type1_fonts=no
195 fi
196 AM_CONDITIONAL(WITH_TYPE1_FONTS, test x$enable_type1_fonts = xyes)
197
198 dnl ================== End of dvi checks ===================================================
199
200 dnl =================== Mime types list ====================================================
201
202 EVINCE_MIME_TYPES="application/pdf;application/postscript;application/x-gzpostscript"
203
204 if test "x$enable_dvi" = "xyes"; then
205         EVINCE_MIME_TYPES="$EVINCE_MIME_TYPES;application/x-dvi"
206 fi
207 if test "x$enable_djvu" = "xyes"; then
208         EVINCE_MIME_TYPES="$EVINCE_MIME_TYPES;image/vnd.djvu"
209 fi
210 if test "x$enable_tiff" = "xyes"; then
211         EVINCE_MIME_TYPES="$EVINCE_MIME_TYPES;image/tiff"
212 fi
213 AC_SUBST(EVINCE_MIME_TYPES)
214
215 dnl Turn on the additional warnings last, so -Werror doesn't affect other tests.
216 dnl stolen from nautilus and gnome-common
217
218 AC_ARG_ENABLE(more-warnings,
219 [  --enable-more-warnings  Maximum compiler warnings],
220 set_more_warnings="$enableval",[
221 if test -f $srcdir/autogen.sh; then
222         is_cvs_version=true
223         set_more_warnings=yes
224 else
225         set_more_warnings=no
226 fi
227 ])
228 AC_MSG_CHECKING(for more warnings, including -Werror)
229 if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
230         AC_MSG_RESULT([yes, using gcc])
231         CFLAGS="\
232         -Wall \
233         -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \
234         -Wnested-externs -Wpointer-arith \
235         -Wcast-align -Wsign-compare \
236         -Werror \
237         $CFLAGS"
238
239 dnl     case " $CFLAGS " in
240 dnl         *[\ \       ]-ansi[\ \      ]*) ;;
241 dnl         *) CFLAGS="$CFLAGS -ansi" ;;
242 dnl     esac
243 dnl     case " $CFLAGS " in
244 dnl         *[\ \       ]-pedantic[\ \  ]*) ;;
245 dnl         *) CFLAGS="$CFLAGS -pedantic" ;;
246 dnl     esac
247
248         for option in -Wno-strict-aliasing -Wno-sign-compare; do
249                 SAVE_CFLAGS="$CFLAGS"
250                 CFLAGS="$CFLAGS $option"
251                 AC_MSG_CHECKING([whether gcc understands $option])
252                 AC_TRY_COMPILE([], [],
253                         has_option=yes,
254                         has_option=no,)
255                 if test $has_option = no; then
256                         CFLAGS="$SAVE_CFLAGS"
257                 fi
258                 AC_MSG_RESULT($has_option)
259                 unset has_option
260                 unset SAVE_CFLAGS
261         done
262         unset option
263 else
264         AC_MSG_RESULT(no)
265 fi
266
267 AC_OUTPUT([
268 Makefile
269 cut-n-paste/Makefile
270 cut-n-paste/recent-files/Makefile
271 cut-n-paste/zoom-control/Makefile
272 cut-n-paste/toolbar-editor/Makefile
273 data/Makefile
274 data/evince.desktop.in
275 lib/Makefile
276 pdf/Makefile
277 pixbuf/Makefile
278 tiff/Makefile
279 ps/Makefile
280 djvu/Makefile
281 dvi/Makefile
282 dvi/mdvi-lib/Makefile
283 po/Makefile.in
284 backend/Makefile
285 shell/Makefile
286 thumbnailer/Makefile
287 help/Makefile
288 help/C/Makefile
289 ])