]> www.fi.muni.cz Git - evince.git/blob - configure.ac
Make frontends depend on just libev. Rework and group CFLAGS/LIBS
[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.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_MAINTAINER_MODE_DEFINES
24 GNOME_COMPILE_WARNINGS
25 GNOME_CXX_WARNINGS
26 GNOME_DEBUG_CHECK
27
28 ALL_LINGUAS="bg ca cs da de el en_CA en_GB es eu fi fr hu ja ko lt nb nl no pt_BR ru rw sk sv th uk wa zh_CN zh_TW"
29
30 AM_GLIB_GNU_GETTEXT
31
32 GETTEXT_PACKAGE=AC_PACKAGE_NAME
33 AC_SUBST(GETTEXT_PACKAGE)
34 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package.])
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 POPPLER_REQUIRED=0.3.3
46 DBUS_GLIB_REQUIRED=0.33
47 GTK_REQUIRED=2.6.0
48 LIBGNOMEUI_REQUIRED=2.6.0
49
50 PKG_CHECK_MODULES(LIB, gtk+-2.0 >= $GTK_REQUIRED libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED)
51 PKG_CHECK_MODULES(BACKEND, gtk+-2.0 >= $GTK_REQUIRED)
52 PKG_CHECK_MODULES(FRONTEND_CORE, gtk+-2.0 >= $GTK_REQUIRED libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED libglade-2.0 poppler-glib >= $POPPLER_REQUIRED)
53 PKG_CHECK_MODULES(POPPLER, poppler-glib >= $POPPLER_REQUIRED)
54 PKG_CHECK_MODULES(SHELL_CORE, gtk+-2.0 >= $GTK_REQUIRED libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED gnome-vfs-2.0 libgnomeprint-2.2 >= 2.5.1 libgnomeprintui-2.2 libglade-2.0 gconf-2.0 poppler-glib >= $POPPLER_REQUIRED)
55
56 GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`  
57 AC_SUBST(GLIB_GENMARSHAL)
58
59 PKG_CHECK_MODULES([DBUS], [dbus-glib-1 >= $DBUS_GLIB_REQUIRED],
60         [enable_dbus=yes],[enable_dbus=no])
61 AC_SUBST([DBUS_CFLAGS])
62 AC_SUBST([DBUS_LIBS])
63
64 if test "x$enable_dbus" = "xno"; then
65         AC_MSG_WARN([DBUS support is disabled since dbus $DBUS_GLIB_REQUIRED or higher was not found])
66 fi
67
68 if test "x$enable_dbus" = "xyes" ; then
69         AC_PATH_PROG([DBUS_BINDING_TOOL], [dbus-binding-tool], [no])
70
71         if test x$DBUS_BINDING_TOOL = "xno" ; then
72                 AC_MSG_ERROR([dbus-binding-tool executable not found in your path - should be installed with dbus glib bindings])
73         fi                                            
74
75         AC_DEFINE([ENABLE_DBUS],[1],[Define if DBUS support is enabled])
76         AC_DEFINE([ENABLE_METADATA],[1],[Define if metadata support is enabled])
77
78         DBUS_VERSION=`$PKG_CONFIG --modversion dbus-glib-1 | sed 's/0.\([[0-9]]*\)/\1/'`
79         AC_DEFINE_UNQUOTED(DBUS_VERSION, $DBUS_VERSION, [DBUS version.])
80 fi
81
82 SHELL_CFLAGS="$SHELL_CORE_CFLAGS $DBUS_CFLAGS"
83 SHELL_LIBS="$SHELL_CORE_LIBS $DBUS_LIBS -ltiff -lz"
84 AC_SUBST(SHELL_CFLAGS)
85 AC_SUBST(SHELL_LIBS)
86
87 FRONTEND_CFLAGS="$FRONTEND_CORE_CFLAGS"
88 FRONTEND_LIBS="$FRONTEND_CORE_LIBS -ltiff -lz"
89 AC_SUBST(FRONTEND_CFLAGS)
90 AC_SUBST(FRONTEND_LIBS)
91
92 AM_CONDITIONAL([ENABLE_DBUS], [test "x$enable_dbus" = "xyes"])
93 AM_CONDITIONAL([ENABLE_METADATA], [test "x$enable_dbus" = "xyes"])
94 AM_CONDITIONAL([DBUS_TOOL_NO_PREFIX], [test "x$DBUS_VERSION" = "x33"])
95
96 dnl Check for Nautilus property page build
97 AC_ARG_ENABLE(nautilus,
98         AC_HELP_STRING([--enable-nautilus],[compile the nautilus plugin]),
99         [case "${enableval}" in
100         yes) ENABLE_NAUTILUS=yes ;;
101         no) ENABLE_NAUTILUS=no ;;
102         *) AC_MSG_ERROR(bad value ${enableval} for --enable-nautilus) ;;
103         esac],
104         [ENABLE_NAUTILUS=yes]) dnl Default value
105
106 if test x$ENABLE_NAUTILUS = "xyes" ; then
107         PKG_CHECK_MODULES(NAUTILUS, gtk+-x11-2.0 $MM gthread-2.0 libnautilus-extension,
108                         [HAVE_NAUTILUS=yes], [HAVE_NAUTILUS=no])
109 fi
110
111 AC_SUBST(NAUTILUS_CFLAGS)
112 AC_SUBST(NAUTILUS_LIBS)
113 if test x$HAVE_NAUTILUS = "xyes"; then
114         AC_DEFINE(HAVE_NAUTILUS, 1, [defined if you build the nautilus plugin])
115 fi
116 AM_CONDITIONAL(HAVE_NAUTILUS, test x$HAVE_NAUTILUS = "xyes")
117
118 dnl Check for gtk_icon_view_get_visible_range
119 evince_save_LIBS=$LIBS
120 LIBS="$LIBS $GTK_LIBS"
121 AC_CHECK_FUNCS(gtk_icon_view_get_visible_range)
122 LIBS=$evince_save_LIBS
123
124 dnl GConf configuration
125 AM_GCONF_SOURCE_2
126
127 AC_PATH_PROG([GCONFTOOL], [gconftool-2], [no])
128 if test "x$GCONFTOOL" = "xno"; then
129         AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf])
130 fi
131
132 dnl ================== ggv checks ===================================================
133 AC_ARG_WITH(gs-pkg,
134             [  --with-gs=dir       Directory Where GhostScript package is installed.])
135
136 if test "x$with_gs" = "x"; then
137         AC_PATH_PROG(GS_PROG, gs)
138         if test -z "$GS_PROG"; then
139                 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)
140         fi
141 else
142         GS_PROG=$with_gs
143 fi
144
145 AC_DEFINE_UNQUOTED(GS_PATH, "$GS_PROG", [Path to the 'gs' executable.])
146
147
148 dnl check for GS version
149 AC_MSG_CHECKING(for Ghostscript version...)
150 GS_VERSION=`gs --version | head -n 1 | sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
151 AC_MSG_RESULT(found $GS_VERSION)
152 if test "$GS_VERSION" -lt "7"; then
153         AC_MSG_ERROR([You need Ghostscript version >= 7 in order to run evince])
154 fi
155 AA_PARMS="-sDEVICE=x11alpha -dNOPLATFONTS"
156 AC_DEFINE_UNQUOTED(ALPHA_PARAMS, "$AA_PARMS", [Anti-aliasing parameters for Ghostscript.])
157 AC_MSG_RESULT(Antialiasing parameters for Ghostscript: $AA_PARMS)
158 dnl ======================== End of ggv checks =================================
159
160 dnl ================== tiff checks ===================================================
161 AC_ARG_ENABLE(tiff,
162             [AC_HELP_STRING([--enable-tiff], [Compile with support of multipage tiff])],enable_tiff="$enableval",enable_tiff=yes)
163
164 if test "x$enable_tiff" = "xyes"; then
165     AC_CHECK_HEADERS([tiff.h],enable_tiff=yes,enable_tiff=no,)
166     if test "x$enable_tiff" = "xyes"; then
167         AC_CHECK_LIB([tiff],TIFFOpen,enable_tiff=yes,enable_tiff=no,"-lz")
168         AC_CHECK_LIB([tiff],TIFFReadRGBAImageOriented,enable_tiff=yes,enable_tiff=no,"-lz")
169     fi
170     if test "x$enable_tiff" = "xyes"; then
171             AC_DEFINE([ENABLE_TIFF], [1], [Enable multipage tiff support.])
172     else
173             AC_MSG_WARN("Tiff support is disabled since tiff library version 3.6 or newer not found")
174     fi 
175 fi
176
177 AM_CONDITIONAL(ENABLE_TIFF, test x$enable_tiff = xyes)
178 dnl ================== end of tiff checks ============================================
179
180 dnl ================== djvu checks ===================================================
181
182 AC_ARG_ENABLE(djvu,
183             [AC_HELP_STRING([--enable-djvu], [Compile with support of djvu viewer])],enable_djvu="$enableval",enable_djvu=no)
184
185 if test "x$enable_djvu" = "xyes"; then
186     AC_CHECK_HEADERS([libdjvu/ddjvuapi.h],enable_djvu=yes,enable_djvu=no,)
187
188     if test "x$enable_djvu" = "xyes"; then
189         AC_CHECK_LIB([djvulibre],ddjvu_context_create,enable_djvu=yes,enable_djvu=no,"-lpthread")
190         AC_CHECK_LIB([djvulibre],ddjvu_document_get_pageinfo,enable_djvu=yes,enable_djvu=no,"-lpthread")
191     fi
192
193     if test "x$enable_djvu" = "xyes"; then
194         AC_DEFINE([ENABLE_DJVU], [1], [Enable djvu viewer support.])
195     else
196         AC_MSG_WARN([   
197 ** Djvu support is disabled since recent version of djvulibre 
198 ** library was not found. To get proper djvu support you need to
199 ** install development version of djvulibre. You can get it from
200 ** anonymous CVS server on djvulibre.sf.net. Just use something
201 ** like:
202
203 ** cvs -d :pserver:anonymous@cvs.sourceforge.net:/cvsroot/djvu co djvulibre-3.5
204 ])
205     fi 
206 fi
207
208 AM_CONDITIONAL(ENABLE_DJVU, test x$enable_djvu = xyes)
209
210 dnl ================== End of djvu checks ===================================================
211
212 dnl ================== dvi checks ===================================================
213
214 AC_ARG_ENABLE(dvi,
215             [AC_HELP_STRING([--enable-dvi], [Compile with support of dvi viewer])],enable_dvi="$enableval",enable_dvi=no)
216
217 AC_ARG_ENABLE(t1lib,
218             [AC_HELP_STRING([--enable-t1lib], [Compile with support of t1lib for type1 fonts in dvi])],enable_type1_fonts="$enableval",enable_type1_fonts=no)
219
220 if test "x$enable_dvi" = "xyes"; then
221     AC_C_CONST
222     AC_C_INLINE
223     AC_TYPE_SIZE_T
224     AC_CHECK_SIZEOF(long, 4)
225     AC_CHECK_SIZEOF(int, 4)
226     AC_CHECK_SIZEOF(short, 2)
227     AC_CHECK_SIZEOF(void *, 4)
228     AC_CHECK_LIB([kpathsea],[kpse_init_prog],[enable_dvi=yes],[enable_dvi=no])
229
230     if test "x$enable_dvi" = "xyes"; then
231         AC_DEFINE([ENABLE_DVI], [1], [Enable dvi viewer support.])
232     else
233         AC_MSG_WARN("Dvi support is disabled since kpathsea library is not found. Check your TeX installation.")
234     fi
235 fi
236 AM_CONDITIONAL(ENABLE_DVI, test x$enable_dvi = xyes)
237
238 if test "x$enable_dvi" = "xyes"; then
239     if test "x$enable_type1_fonts" = "xyes"; then
240         AC_CHECK_LIB([t1lib],T1_InitLib,enable_type1_fonts=yes,enable_type1_fonts=no)
241     fi
242
243     if test "x$enable_type1_fonts" = xyes; then
244         AC_DEFINE([WITH_TYPE1_FONTS], [1], [Enable t1lib support in dvi.])
245     fi
246 else 
247     enable_type1_fonts=no
248 fi
249 AM_CONDITIONAL(WITH_TYPE1_FONTS, test x$enable_type1_fonts = xyes)
250
251 dnl ================== End of dvi checks ===================================================
252
253 dnl =================== Mime types list ====================================================
254
255 EVINCE_MIME_TYPES="application/pdf;application/postscript;application/x-gzpostscript"
256
257 if test "x$enable_dvi" = "xyes"; then
258         EVINCE_MIME_TYPES="$EVINCE_MIME_TYPES;application/x-dvi"
259 fi
260 if test "x$enable_djvu" = "xyes"; then
261         EVINCE_MIME_TYPES="$EVINCE_MIME_TYPES;image/vnd.djvu"
262 fi
263 if test "x$enable_tiff" = "xyes"; then
264         EVINCE_MIME_TYPES="$EVINCE_MIME_TYPES;image/tiff"
265 fi
266 AC_SUBST(EVINCE_MIME_TYPES)
267
268 AC_OUTPUT([
269 Makefile
270 cut-n-paste/Makefile
271 cut-n-paste/recent-files/Makefile
272 cut-n-paste/zoom-control/Makefile
273 cut-n-paste/toolbar-editor/Makefile
274 data/Makefile
275 data/evince.desktop.in
276 lib/Makefile
277 pdf/Makefile
278 pixbuf/Makefile
279 tiff/Makefile
280 ps/Makefile
281 djvu/Makefile
282 dvi/Makefile
283 dvi/mdvi-lib/Makefile
284 po/Makefile.in
285 backend/Makefile
286 properties/Makefile
287 shell/Makefile
288 thumbnailer/Makefile
289 help/Makefile
290 help/C/Makefile
291 ])