1# *****************************************************************************
2# Versioning
3# *****************************************************************************
4
5m4_define([ev_major_version], [1])
6m4_define([ev_minor_version], [26])
7m4_define([ev_micro_version], [0])
8m4_define([ev_extra_version], [])
9m4_define([ev_version], [ev_major_version.ev_minor_version.ev_micro_version()ev_extra_version])
10
11# The atril API version
12m4_define([ev_api_version], [1.5.0])
13
14# Libtool versioning. The backend and view libraries have separate versions.
15# Before making a release, the libtool version should be modified.
16# The string is of the form C:R:A.
17# - If interfaces have been changed or added, but binary compatibility has
18#   been preserved, change to C+1:0:A+1
19# - If binary compatibility has been broken (eg removed or changed interfaces)
20#   change to C+1:0:0
21# - If the interface is the same as the previous version, change to C:R+1:A
22
23# Libtool version of the backend library
24m4_define([ev_document_lt_current], [3])
25m4_define([ev_document_lt_revision], [0])
26m4_define([ev_document_lt_age], [0])
27m4_define([ev_document_lt_version_info], [ev_document_lt_current:ev_document_lt_revision:ev_document_lt_age])
28m4_define([ev_document_lt_current_minus_age], [m4_eval(ev_document_lt_current - ev_document_lt_age)])
29
30# Libtool version of the view library
31m4_define([ev_view_lt_current], [3])
32m4_define([ev_view_lt_revision], [0])
33m4_define([ev_view_lt_age], [0])
34m4_define([ev_view_lt_version_info], [ev_view_lt_current:ev_view_lt_revision:ev_view_lt_age])
35m4_define([ev_view_lt_current_minus_age], [m4_eval(ev_view_lt_current - ev_view_lt_age)])
36
37# Binary version for the document backends
38m4_define([ev_binary_version], [ev_document_lt_current])
39
40# *****************************************************************************
41
42AC_PREREQ([2.57])
43
44AC_INIT([atril],
45        [ev_version],
46        [https://github.com/mate-desktop/atril/issues],
47        [atril],
48        [https://mate-desktop.org])
49
50AM_INIT_AUTOMAKE([1.10 foreign tar-ustar dist-xz no-dist-gzip check-news])
51
52AC_CONFIG_HEADERS([config.h])
53AC_CONFIG_MACRO_DIR([m4])
54
55if test -z "$enable_maintainer_mode"; then
56    enable_maintainer_mode=yes
57fi
58AM_MAINTAINER_MODE([enable])
59
60m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
61
62AC_PROG_CC
63AM_PROG_CC_C_O
64AC_PROG_CXX
65AC_STDC_HEADERS
66AM_PROG_LIBTOOL
67AC_PROG_SED
68
69MATE_MAINTAINER_MODE_DEFINES
70MATE_COMPILE_WARNINGS
71MATE_CXX_WARNINGS
72
73dnl FIXME: remove this when required gtk+ >= 2.19.7
74DISABLE_DEPRECATED=
75AC_SUBST([DISABLE_DEPRECATED])
76
77AM_GNU_GETTEXT([external])
78AM_GNU_GETTEXT_VERSION([0.19.8])
79AM_GNU_GETTEXT_REQUIRE_VERSION([0.19.8])
80AM_CONDITIONAL([USE_NLS], [test "x${USE_NLS}" = "xyes"])
81
82GETTEXT_PACKAGE=AC_PACKAGE_NAME
83AC_SUBST(GETTEXT_PACKAGE)
84AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], ["$GETTEXT_PACKAGE"], [Gettext package])
85
86m4_pattern_allow([AM_V_GEN])dnl Make autoconf not complain about the rule below
87EV_INTLTOOL_ATRIL_BACKEND_RULE='%.atril-backend:   %.atril-backend.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(AM_V_GEN) LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
88AC_SUBST([EV_INTLTOOL_ATRIL_BACKEND_RULE])
89
90GLIB_GSETTINGS
91
92dnl Specify required versions of dependencies
93CAIRO_REQUIRED=1.14.0
94GLIB_REQUIRED=2.62.0
95GTK_REQUIRED=3.22.0
96WEBKIT_REQUIRED=2.6.0
97LIBSECRET_REQUIRED=0.5
98LIBXML_REQUIRED=2.5.0
99SYNCTEX_REQUIRED=1.21
100
101AC_SUBST([GLIB_REQUIRED])
102AC_SUBST([GTK_REQUIRED])
103
104dnl Check dependencies
105
106# LIB_CFLAGS       for helpers and generic widgets. (libdocument, cut-and-paste)
107# BACKEND_CFLAGS   for backend implementations.
108# FRONTEND_CFLAGS  for frontend implementations. (properties, thumbnailer)
109# FRONTEND_LIBS
110# SHELL_CFLAGS     for shell implementation.
111# SHELL_LIBS
112
113AC_SEARCH_LIBS([hypot],[m])
114
115PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED)
116PKG_CHECK_MODULES(LIBDOCUMENT, gtk+-3.0 >= $GTK_REQUIRED gio-2.0 >= $GLIB_REQUIRED)
117PKG_CHECK_MODULES(LIBVIEW, gtk+-3.0 >= $GTK_REQUIRED gail-3.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED)
118PKG_CHECK_MODULES(BACKEND, cairo >= $CAIRO_REQUIRED gtk+-3.0 >= $GTK_REQUIRED)
119PKG_CHECK_MODULES(FRONTEND_CORE, gtk+-3.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED)
120PKG_CHECK_MODULES(GMODULE, gmodule-2.0 >= $GLIB_REQUIRED)
121
122PKG_CHECK_MODULES([SHELL_CORE],[libxml-2.0 >= $LIBXML_REQUIRED gtk+-3.0 >= $GTK_REQUIRED gio-2.0 >= $GLIB_REQUIRED gthread-2.0 x11])
123
124AC_SUBST(GLIB_CFLAGS)
125AC_SUBST(GLIB_LIBS)
126
127# ***************
128# Build utilities
129# ***************
130
131AC_ARG_VAR([GLIB_GENMARSHAL],[the glib-genmarschal programme])
132AC_PATH_PROG([GLIB_GENMARSHAL],[glib-genmarshal],[])
133if test -z "$GLIB_GENMARSHAL"; then
134  AC_MSG_ERROR([glib-genmarshal not found])
135fi
136
137AC_ARG_VAR([GLIB_MKENUMS],[the glib-mkenums programme])
138AC_PATH_PROG([GLIB_MKENUMS],[glib-mkenums],[])
139if test -z "$GLIB_MKENUMS"; then
140  AC_MSG_ERROR([glib-mkenums not found])
141fi
142
143AC_ARG_VAR([GLIB_COMPILE_RESOURCES],[the glib-compile-resources programme])
144AC_PATH_PROG([GLIB_COMPILE_RESOURCES],[glib-compile-resources],[])
145if test -z "$GLIB_COMPILE_RESOURCES"; then
146  AC_MSG_ERROR([glib-compile-resources not found])
147fi
148
149AC_ARG_VAR([XMLLINT],[the xmllint programme])
150AC_PATH_PROG([XMLLINT],[xmllint],[])
151if test -z "$XMLLINT"; then
152  AC_MSG_ERROR([xmllint not found])
153fi
154
155dnl
156dnl zlib support
157dnl
158
159PKG_CHECK_MODULES([ZLIB], [zlib], [found_zlib=yes], [found_zlib=no])
160AS_IF([test "x$found_zlib" = "xno"], [
161  AC_CHECK_LIB(z, inflate, [AC_CHECK_HEADER(zlib.h, found_zlib=yes)])
162  if test "x$found_zlib" = "xno" ; then
163    AC_MSG_ERROR([*** Working zlib library and headers not found ***])
164  fi
165  ZLIB_LIBS='-lz'
166  AC_SUBST(ZLIB_LIBS)
167])
168
169AC_ARG_VAR([GDBUS_CODEGEN],[the gdbus-codegen programme])
170AC_PATH_PROG([GDBUS_CODEGEN],[gdbus-codegen],[])
171if test -z "$GDBUS_CODEGEN"; then
172  AC_MSG_ERROR([gdbus-codegen not found])
173fi
174
175 # *********
176 # SM client
177 # *********
178
179PKG_CHECK_MODULES([LIBEGG],[glib-2.0 gtk+-3.0 gthread-2.0 sm >= 1.0.0 ice])
180AC_SUBST([LIBEGG_CFLAGS])
181AC_SUBST([LIBEGG_LIBS])
182
183# ***
184
185BACKEND_LIBTOOL_FLAGS="-module -avoid-version -no-undefined -export-symbols \$(top_srcdir)/backend/backend.symbols"
186AC_SUBST(BACKEND_LIBTOOL_FLAGS)
187
188# ******************
189# GKT+ Unix Printing
190# ******************
191
192AC_MSG_CHECKING([whether gtk+-unix-print support is requested])
193AC_ARG_WITH([gtk-unix-print],
194  [AS_HELP_STRING([--without-gtk-unix-print],
195                  [Disable the use of gtk-unix-print])],
196  [],[with_gtk_unix_print=yes])
197
198AC_MSG_RESULT([$with_gtk_unix_print])
199
200if test "$with_gtk_unix_print" = "yes"; then
201   PKG_CHECK_MODULES(GTKUNIXPRINT, [gtk+-unix-print-3.0 >= $GTK_REQUIRED])
202   AC_DEFINE([GTKUNIXPRINT_ENABLED], [1], [Define if gtk+-unix-print is enabled.])
203fi
204
205# *********************
206# Keyring support
207# *********************
208
209AC_ARG_WITH(keyring,
210        [AS_HELP_STRING([--without-keyring],
211                        [Disable the use of libsecret and keyring])],
212        [],
213        [with_keyring=yes])
214
215AM_CONDITIONAL([WITH_KEYRING],[test "$with_keyring" = "yes"])
216
217if test "$with_keyring" = "yes"; then
218        PKG_CHECK_MODULES(LIBSECRET, libsecret-1 >= $LIBSECRET_REQUIRED)
219        AC_DEFINE([WITH_KEYRING],[1],[Define if KEYRING support is enabled])
220fi
221
222# ****
223# DBUS
224# ****
225
226AC_ARG_ENABLE([dbus],
227  [AS_HELP_STRING([--disable-dbus], [Disable support for dbus])],
228  [],
229  [enable_dbus=yes])
230
231if test "$enable_dbus" = "yes"; then
232  AC_DEFINE([ENABLE_DBUS],[1],[Define if DBUS support is enabled])
233
234   PKG_CHECK_MODULES([EV_DAEMON], [gio-2.0 >= $GLIB_REQUIRED])
235fi
236
237AM_CONDITIONAL([ENABLE_DBUS], [test "$enable_dbus" = "yes"])
238
239dnl Debug mode
240
241AC_ARG_ENABLE([debug],
242    AS_HELP_STRING([--enable-debug],
243                   [Turn on atril debug mode]),
244    [enable_debug=$enableval],
245    [enable_debug=no])
246
247if test "x$enable_debug" = "xyes"; then
248   DEBUG_FLAGS="-DEV_ENABLE_DEBUG"
249fi
250
251AC_ARG_ENABLE([tests],
252    AS_HELP_STRING([--enable-tests], [Enable the tests]),
253    [enable_tests=$enableval],
254    [enable_tests=yes])
255
256AM_CONDITIONAL(ENABLE_TESTS, test x$enable_tests = xyes)
257
258LIBDOCUMENT_CFLAGS="$LIBDOCUMENT_CFLAGS $DEBUG_FLAGS"
259LIBDOCUMENT_LIBS="$LIBDOCUMENT_LIBS"
260AC_SUBST(LIBDOCUMENT_CFLAGS)
261AC_SUBST(LIBDOCUMENT_LIBS)
262
263LIBVIEW_CFLAGS="$LIBVIEW_CFLAGS $GTKUNIXPRINT_CFLAGS $DEBUG_FLAGS"
264LIBVIEW_LIBS="$LIBVIEW_LIBS $GTKUNIXPRINT_LIBS -lm"
265AC_SUBST(LIBVIEW_CFLAGS)
266AC_SUBST(LIBVIEW_LIBS)
267
268BACKEND_CFLAGS="$BACKEND_CFLAGS -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE $DEBUG_FLAGS"
269BACKEND_LIBS="$BACKEND_LIBS -lm"
270AC_SUBST(BACKEND_CFLAGS)
271AC_SUBST(BACKEND_LIBS)
272
273SHELL_CFLAGS="$SHELL_CORE_CFLAGS $LIBSECRET_CFLAGS -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE $DEBUG_FLAGS"
274SHELL_LIBS="$SHELL_CORE_LIBS $LIBSECRET_LIBS -lz -lm"
275AC_SUBST(SHELL_CFLAGS)
276AC_SUBST(SHELL_LIBS)
277
278FRONTEND_CFLAGS="$FRONTEND_CORE_CFLAGS $DEBUG_FLAGS"
279FRONTEND_LIBS="$FRONTEND_CORE_LIBS -lz"
280AC_SUBST(FRONTEND_CFLAGS)
281AC_SUBST(FRONTEND_LIBS)
282
283EV_DAEMON_CFLAGS="$EV_DAEMON_CFLAGS $DEBUG_FLAGS"
284AC_SUBST([EV_DAEMON_CFLAGS])
285AC_SUBST([EV_DAEMON_LIBS])
286
287# Check for Caja property page build
288AC_ARG_ENABLE([caja],
289  [AS_HELP_STRING([--disable-caja],
290                  [Disable build of caja extensions])],
291  [],
292  [enable_caja=yes])
293
294if test "$enable_caja" = "yes" ; then
295  PKG_CHECK_MODULES([CAJA],[gtk+-x11-3.0 $MM gthread-2.0 libcaja-extension >= 1.17.1],
296                    [],[AC_MSG_ERROR([libcaja-extension not found; use --disable-caja to disable the caja extensions])])
297  CAJA_EXTENSION_DIR=`$PKG_CONFIG --variable=extensiondir libcaja-extension`
298  AC_SUBST([cajaextensiondir],[$CAJA_EXTENSION_DIR])
299  AC_SUBST(CAJA_CFLAGS)
300  AC_SUBST(CAJA_LIBS)
301
302  AC_DEFINE([HAVE_CAJA],[1], [defined if you build the caja plugin])
303fi
304
305AM_CONDITIONAL([ENABLE_CAJA],[test "$enable_caja" = "yes"])
306
307# Check for thumbnailer build
308
309AC_ARG_ENABLE([thumbnailer],
310  [AS_HELP_STRING([--disable-thumbnailer],
311                  [Disable MATE thumbnailer])],
312  [],
313  [enable_thumbnailer=yes])
314
315AM_CONDITIONAL([ENABLE_THUMBNAILER],[test "$enable_thumbnailer" = "yes"])
316
317# ***************
318# Print Previewer
319# ***************
320
321AC_ARG_ENABLE([previewer],
322  [AS_HELP_STRING([--disable-previewer],
323                  [Disable the MATE Document Previewer])],
324  [],
325  [enable_previewer=yes])
326
327if test x$enable_previewer = "xyes" ; then
328  PKG_CHECK_MODULES([PREVIEWER],[gtk+-3.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED])
329fi
330
331AM_CONDITIONAL([ENABLE_PREVIEWER],[test "$enable_previewer" = "yes"])
332PREVIEWER_CFLAGS="$PREVIEWER_CFLAGS $GTKUNIXPRINT_CFLAGS $DEBUG_FLAGS"
333PREVIEWER_LIBS="$PREVIEWER_LIBS $GTKUNIXPRINT_LIBS -lz"
334AC_SUBST(PREVIEWER_CFLAGS)
335AC_SUBST(PREVIEWER_LIBS)
336
337# ***
338# GIR
339# ***
340
341AC_MSG_CHECKING([whether GObject introspection is requested])
342AC_ARG_ENABLE([introspection],
343    AS_HELP_STRING([--enable-introspection],
344                   [Enable GObject introspection]),
345    [enable_introspection=$enableval],
346    [enable_introspection=no])
347AC_MSG_RESULT([$enable_introspection])
348
349G_IR_SCANNER=
350G_IR_COMPILER=
351G_IR_GENERATE=
352GIRDIR=
353GIRTYPELIBDIR=
354
355if test "$enable_introspection" = "yes"; then
356  GOBJECT_INTROSPECTION_REQUIRED=0.6
357  PKG_CHECK_MODULES([GOBJECT_INTROSPECTION],[gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_REQUIRED])
358
359  G_IR_SCANNER="$($PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0)"
360  G_IR_COMPILER="$($PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0)"
361  G_IR_GENERATE="$($PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0)"
362  GIRDIR="$($PKG_CONFIG --variable=girdir gobject-introspection-1.0)"
363  GIRTYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
364fi
365
366AC_SUBST([G_IR_SCANNER])
367AC_SUBST([G_IR_COMPILER])
368AC_SUBST([G_IR_GENERATE])
369AC_SUBST([GIRDIR])
370AC_SUBST([GIRTYPELIBDIR])
371
372AM_CONDITIONAL([ENABLE_INTROSPECTION],[test "$enable_introspection" = "yes"])
373
374dnl ================== libsynctex ===========================================
375AC_ARG_ENABLE([synctex],
376  [--enable-synctex  enable support for synctex)],
377  [case "${enableval}" in
378    yes) synctex=true ;;
379    no)  synctex=false;;
380    *) AC_MSG_ERROR([bad value ${enableval} for --enable-synctex]) ;;
381  esac],[enable_synctex=yes])
382
383
384if test "$enable_synctex" = "yes"; then
385  AC_DEFINE([ENABLE_SYNCTEX],[1],[Define if synctex support is enabled])
386  PKG_CHECK_MODULES(SYNCTEX, [synctex >= $SYNCTEX_REQUIRED], has_synctex=yes, has_synctex=no)
387  dnl not found? use internal code copy.
388  if test "x$has_synctex" = "xno"; then
389          AC_MSG_ERROR("SyncTeX support is disabled since library version $SYNCTEX_REQUIRED or newer not found")
390  fi
391  AC_SUBST(SYNCTEX_LIBS)
392  AC_SUBST(SYNCTEX_CFLAGS)
393fi
394
395AM_CONDITIONAL([ENABLE_SYNCTEX], [test "$enable_synctex" = "yes"])
396
397
398dnl ================== portability checks ===========================================
399
400dnl for backtrace()
401AC_CHECK_HEADERS([execinfo.h])
402
403AC_CHECK_DECL([_NL_MEASUREMENT_MEASUREMENT],[
404  AC_DEFINE([HAVE__NL_MEASUREMENT_MEASUREMENT],[1],[Define if _NL_MEASUREMENT_MEASUREMENT is available])
405  ],[],[#include <langinfo.h>])
406
407dnl ================== pdf checks ===================================================
408AC_ARG_ENABLE([pdf],
409  [AS_HELP_STRING([--disable-pdf],
410                  [Disable the PDF support])],
411  [enable_pdf=$enableval],
412  [enable_pdf=yes])
413
414if test "x$enable_pdf" = "xyes"; then
415    POPPLER_REQUIRED=0.22.0
416    PKG_CHECK_MODULES(POPPLER, poppler-glib >= $POPPLER_REQUIRED libxml-2.0 >= $LIBXML_REQUIRED,enable_pdf=yes,enable_pdf=no)
417
418    if test "x$enable_pdf" = "xyes"; then
419        PKG_CHECK_MODULES(CAIRO_PDF, cairo-pdf, enable_cairo_pdf=yes, enable_cairo_pdf=no)
420        if test x$enable_cairo_pdf = xyes; then
421            AC_DEFINE([HAVE_CAIRO_PDF], [1], [defined if cairo-pdf is available])
422        fi
423
424        PKG_CHECK_MODULES(CAIRO_PS, cairo-ps, enable_cairo_ps=yes, enable_cairo_ps=no)
425        if test x$enable_cairo_ps = xyes; then
426            AC_DEFINE([HAVE_CAIRO_PS], [1], [defined if cairo-ps is available])
427        fi
428    else
429        AC_MSG_ERROR("PDF support is disabled since poppler-glib library version $POPPLER_REQUIRED or newer not found")
430    fi
431fi
432
433AM_CONDITIONAL(ENABLE_PDF, test x$enable_pdf = xyes)
434dnl ================== end of pdf checks ============================================
435
436dnl libspectre (used by ps and dvi backends)
437SPECTRE_REQUIRED=0.2.0
438PKG_CHECK_MODULES(SPECTRE, libspectre >= $SPECTRE_REQUIRED,have_spectre=yes,have_spectre=no)
439AM_CONDITIONAL(HAVE_SPECTRE, test x$have_spectre = xyes)
440if test "x$have_spectre" = "xyes"; then
441   AC_DEFINE([HAVE_SPECTRE], [1], [Have libspectre])
442fi
443
444dnl ================== ps checks ====================================================
445AC_ARG_ENABLE(ps,
446    [AS_HELP_STRING([--disable-ps],
447                    [Disable the PostScript backend])],
448    [enable_ps=$enableval],
449    [enable_ps=yes])
450
451if test "x$enable_ps" = "xyes"; then
452   if test "x$have_spectre" = "xyes"; then
453      AC_DEFINE([ENABLE_PS], [1], [Enable support for PostScript files.])
454   else
455      enable_ps="no"
456      AC_MSG_WARN([PS support is disabled since libspectre (version >= $SPECTRE_REQUIRED) is needed])
457   fi
458fi
459AM_CONDITIONAL(ENABLE_PS, test x$enable_ps = xyes)
460dnl ======================== End of ps checks ===================================
461
462dnl ================== tiff checks ===================================================
463AC_ARG_ENABLE(tiff,
464    [AS_HELP_STRING([--disable-tiff],
465                    [Disable the support of multipage tiff])],
466    [enable_tiff=$enableval],
467    [enable_tiff=yes])
468
469if test "x$enable_tiff" = "xyes"; then
470    AC_CHECK_HEADERS([tiff.h],enable_tiff=yes,enable_tiff=no,)
471    if test "x$enable_tiff" = "xyes"; then
472        AC_CHECK_LIB([tiff],TIFFOpen,enable_tiff=yes,enable_tiff=no,"-lz")
473        AC_CHECK_LIB([tiff],TIFFReadRGBAImageOriented,enable_tiff=yes,enable_tiff=no,"-lz")
474    fi
475    if test "x$enable_tiff" = "xyes"; then
476        AC_DEFINE([ENABLE_TIFF], [1], [Enable multipage tiff support.])
477    else
478        AC_MSG_WARN("Tiff support is disabled since tiff library version 3.6 or newer not found")
479    fi
480fi
481
482AM_CONDITIONAL(ENABLE_TIFF, test x$enable_tiff = xyes)
483dnl ================== end of tiff checks ============================================
484
485dnl ================== djvu checks ===================================================
486
487AC_ARG_ENABLE(djvu,
488    [AS_HELP_STRING([--disable-djvu],
489                    [Disable the support of djvu viewer])],
490    [enable_djvu=$enableval],
491    [enable_djvu=yes])
492
493if test "x$enable_djvu" = "xyes"; then
494    DJVULIBRE_REQUIRED=3.5.17
495    PKG_CHECK_MODULES(DJVU, ddjvuapi >= $DJVULIBRE_REQUIRED, enable_djvu=yes, enable_djvu=no)
496
497    if test "x$enable_djvu" = "xyes"; then
498        AC_DEFINE([ENABLE_DJVU], [1], [Enable djvu viewer support.])
499    else
500    AC_MSG_WARN([
501** Djvu support is disabled since a recent version of the djvulibre
502** library was not found. You need at least djvulibre-3.5.17 which
503** can be found on http://djvulibre.djvuzone.org
504])
505    fi
506fi
507
508AM_CONDITIONAL(ENABLE_DJVU, test x$enable_djvu = xyes)
509
510dnl ================== End of djvu checks ===================================================
511
512dnl ================== dvi checks ===================================================
513
514AC_ARG_ENABLE(dvi,
515    [AS_HELP_STRING([--disable-dvi],
516                    [Disable the support of dvi viewer])],
517    [enable_dvi=$enableval],
518    [enable_dvi=yes])
519
520AC_ARG_ENABLE(t1lib,
521    [AS_HELP_STRING([--enable-t1lib],
522                    [Compile with support of t1lib for type1 fonts in dvi])],
523    [enable_type1_fonts=$enableval],
524    [enable_type1_fonts=no])
525
526if test "x$enable_dvi" = "xyes"; then
527    AC_C_CONST
528    AC_C_INLINE
529    AC_TYPE_SIZE_T
530    AC_CHECK_SIZEOF(long, 4)
531    AC_CHECK_SIZEOF(int, 4)
532    AC_CHECK_SIZEOF(short, 2)
533    AC_CHECK_SIZEOF(void *, 4)
534    AC_CHECK_LIB([kpathsea], [kpse_init_prog], [enable_dvi=yes], [enable_dvi=no])
535
536    if test "x$enable_dvi" = "xyes"; then
537        AC_DEFINE([ENABLE_DVI], [1], [Enable dvi viewer support.])
538    else
539        AC_MSG_WARN("Dvi support is disabled since kpathsea library is not found. Check your TeX installation.")
540    fi
541fi
542AM_CONDITIONAL(ENABLE_DVI, test x$enable_dvi = xyes)
543
544if test "x$enable_dvi" = "xyes"; then
545    if test "x$enable_type1_fonts" = "xyes"; then
546        AC_CHECK_LIB([t1],T1_InitLib,enable_type1_fonts=yes,enable_type1_fonts=no,[-lm])
547    fi
548
549    if test "x$enable_type1_fonts" = xyes; then
550        AC_DEFINE([WITH_TYPE1_FONTS], [1], [Enable t1lib support in dvi.])
551    fi
552else
553    enable_type1_fonts=no
554fi
555AM_CONDITIONAL(WITH_TYPE1_FONTS, test x$enable_type1_fonts = xyes)
556
557dnl ================== End of dvi checks ===================================================
558
559dnl ================== pixbuf checks ===================================================
560
561AC_ARG_ENABLE(pixbuf,
562    [AS_HELP_STRING([--enable-pixbuf],
563                    [Compile with support of pixbuf])],
564    [enable_pixbuf=$enableval],
565    [enable_pixbuf=no])
566
567if test "x$enable_pixbuf" = "xyes"; then
568    AC_DEFINE([ENABLE_PIXBUF], [1], [Enable pixbuf support.])
569fi
570
571AM_CONDITIONAL(ENABLE_PIXBUF, test x$enable_pixbuf = xyes)
572
573dnl ================== End of pixbuf checks ===================================================
574
575dnl ================== comic book checks ===================================================
576
577AC_ARG_ENABLE(comics,
578    [AS_HELP_STRING([--enable-comics],
579                    [Compile with support for comic book archives])],
580    [enable_comics=$enableval],
581    [enable_comics=yes])
582
583if test "x$enable_comics" = "xyes"; then
584    AC_DEFINE([ENABLE_COMICS], [1], [Enable support for comics.])
585fi
586AM_CONDITIONAL(ENABLE_COMICS, test x$enable_comics = xyes)
587
588dnl ================== End of comic book checks ============================================
589
590dnl ================== XPS checks ===================================================
591
592AC_ARG_ENABLE(xps,
593	[AS_HELP_STRING([--enable-xps],
594			[Compile with support for XPS documents.])],
595	[enable_xps=$enableval],
596	[enable_xps=yes])
597
598if test "x$enable_xps" = "xyes"; then
599   GXPS_REQUIRED=0.2.1
600   PKG_CHECK_MODULES(GXPS, libgxps >= $GXPS_REQUIRED,enable_xps=yes,enable_xps=no)
601
602   if test "x$enable_xps" = "xyes"; then
603      AC_DEFINE([ENABLE_XPS], [1], [Enable support for XPS documents.])
604   else
605      enable_xps="no"
606      AC_MSG_WARN(["XPS support is disabled since libgxps (version >= $GXPS_REQUIRED) is needed"])
607   fi
608fi
609
610AM_CONDITIONAL(ENABLE_XPS, test x$enable_xps = xyes)
611
612dnl ================== End of XPS checks ===================================================
613
614
615dnl ================== EPUB checks ===================================================
616
617AC_ARG_ENABLE(epub,
618	[AS_HELP_STRING([--enable-epub],
619			[Compile with support for epub documents.])],
620	[enable_epub=$enableval],
621	[enable_epub=yes])
622
623have_webkit="no"
624if test "x$enable_epub" = "xyes"; then
625    PKG_CHECK_MODULES(EPUB, webkit2gtk-4.0 >= $WEBKIT_REQUIRED \
626       libxml-2.0 >= $LIBXML_REQUIRED zlib,have_webkit=yes,have_webkit=no)
627
628    if test "x$have_webkit" = "xyes"; then
629       AC_DEFINE([ENABLE_EPUB], [1], [Enable support for ePub documents.])
630    else
631       AC_MSG_WARN(["ePub support is disabled."])
632    fi
633fi
634
635AM_CONDITIONAL(ENABLE_EPUB, test x$have_webkit = xyes)
636
637dnl ================== End of EPUB checks ===================================================
638
639dnl =================== Mime types list ====================================================
640
641if test "x$enable_pdf" = "xyes" ; then
642    ATRIL_MIME_TYPES="application/pdf;application/x-bzpdf;application/x-gzpdf;application/x-xzpdf;"
643fi
644if test "x$enable_ps" = "xyes" ; then
645    ATRIL_MIME_TYPES="${ATRIL_MIME_TYPES}application/postscript;application/x-bzpostscript;application/x-gzpostscript;image/x-eps;image/x-bzeps;image/x-gzeps;"
646fi
647if test "x$enable_dvi" = "xyes"; then
648    ATRIL_MIME_TYPES="${ATRIL_MIME_TYPES}application/x-dvi;application/x-bzdvi;application/x-gzdvi;"
649fi
650if test "x$enable_djvu" = "xyes"; then
651    ATRIL_MIME_TYPES="${ATRIL_MIME_TYPES}image/vnd.djvu;image/vnd.djvu+multipage;"
652fi
653if test "x$enable_tiff" = "xyes"; then
654    ATRIL_MIME_TYPES="${ATRIL_MIME_TYPES}image/tiff;"
655fi
656if test "x$enable_comics" = "xyes"; then
657    ATRIL_MIME_TYPES="${ATRIL_MIME_TYPES}application/x-cbr;application/x-cbz;application/x-cb7;application/x-cbt;application/vnd.comicbook+zip;application/vnd-comicbook.rar;"
658fi
659if test "x$enable_pixbuf" = "xyes"; then
660    ATRIL_MIME_TYPES="${ATRIL_MIME_TYPES}image/*;"
661fi
662if test "x$enable_xps" = "xyes"; then
663    ATRIL_MIME_TYPES="${ATRIL_MIME_TYPES}application/oxps;application/vnd.ms-xpsdocument;"
664fi
665if test "x$have_webkit" = "xyes"; then
666	ATRIL_MIME_TYPES="${ATRIL_MIME_TYPES}application/epub+zip;"
667fi
668
669AC_SUBST(ATRIL_MIME_TYPES)
670
671# *****************
672# Help files
673# *****************
674
675YELP_HELP_INIT
676
677# *****************
678# API documentation
679# *****************
680
681GTK_DOC_CHECK([1.13], [--flavour no-tmpl])
682
683AC_SUBST([GLIB_PREFIX], [$($PKG_CONFIG --variable=prefix glib-2.0)])
684AC_SUBST([GTK_PREFIX], [$($PKG_CONFIG --variable=prefix gtk+-3.0)])
685
686# ******************
687# Backends directory
688# ******************
689
690AC_SUBST([backenddir],"\$(libdir)/atril/ev_binary_version/backends")
691AC_SUBST([backend_binary_version], "ev_binary_version")
692
693# **********
694# Versioning
695# **********
696
697AC_SUBST([EV_MAJOR_VERSION], [ev_major_version])
698AC_SUBST([EV_MINOR_VERSION], [ev_minor_version])
699AC_SUBST([EV_MICRO_VERSION], [ev_micro_version])
700
701AC_SUBST([EV_API_VERSION], [ev_api_version])
702AC_SUBST([EV_API_VERSION_U], [AS_TR_SH([ev_api_version])])
703AC_SUBST([EV_BINARY_VERSION], [ev_binary_version])
704
705AC_SUBST([EV_DOCUMENT_LT_VERSION_INFO],[ev_document_lt_version_info])
706AC_SUBST([EV_DOCUMENT_LT_CURRENT_MINUS_AGE],[ev_document_lt_current_minus_age])
707AC_SUBST([EV_VIEW_LT_VERSION_INFO], [ev_view_lt_version_info])
708AC_SUBST([EV_VIEW_LT_CURRENT_MINUS_AGE], [ev_view_lt_current_minus_age])
709
710# *****************************************************************************
711# *****************************************************************************
712
713AC_CONFIG_FILES([
714backend/Makefile
715backend/comics/Makefile
716backend/djvu/Makefile
717backend/dvi/Makefile
718backend/dvi/mdvi-lib/Makefile
719backend/epub/Makefile
720backend/epub/minizip/Makefile
721backend/pdf/Makefile
722backend/pixbuf/Makefile
723backend/ps/Makefile
724backend/tiff/Makefile
725backend/xps/Makefile
726cut-n-paste/Makefile
727cut-n-paste/smclient/Makefile
728cut-n-paste/smclient/libegg/Makefile
729cut-n-paste/toolbar-editor/Makefile
730cut-n-paste/zoom-control/Makefile
731data/atril.appdata.xml.in
732data/atril.desktop.in
733data/Makefile
734data/icons/Makefile
735data/icons/16x16/Makefile
736data/icons/16x16/apps/Makefile
737data/icons/16x16/actions/Makefile
738data/icons/16x16/mimetypes/Makefile
739data/icons/22x22/Makefile
740data/icons/22x22/apps/Makefile
741data/icons/22x22/actions/Makefile
742data/icons/22x22/mimetypes/Makefile
743data/icons/24x24/Makefile
744data/icons/24x24/apps/Makefile
745data/icons/24x24/actions/Makefile
746data/icons/24x24/mimetypes/Makefile
747data/icons/32x32/Makefile
748data/icons/32x32/actions/Makefile
749data/icons/32x32/mimetypes/Makefile
750data/icons/48x48/Makefile
751data/icons/48x48/apps/Makefile
752data/icons/48x48/actions/Makefile
753data/icons/scalable/Makefile
754data/icons/scalable/apps/Makefile
755data/icons/scalable/actions/Makefile
756data/icons/scalable/mimetypes/Makefile
757help/Makefile
758help/reference/Makefile
759help/reference/libdocument/Makefile
760help/reference/libdocument/version.xml
761help/reference/libview/Makefile
762help/reference/libview/version.xml
763help/reference/shell/Makefile
764help/reference/shell/version.xml
765libdocument/Makefile
766libdocument/ev-version.h
767libmisc/Makefile
768libview/Makefile
769Makefile
770po/Makefile.in
771previewer/Makefile
772properties/libatril-properties-page.caja-extension.desktop.in
773properties/Makefile
774shell/Makefile
775test/Makefile
776thumbnailer/Makefile
777])
778
779AC_CONFIG_FILES(atril-document-[]ev_api_version[].pc:atril-document.pc.in)
780AC_CONFIG_FILES(atril-view-[]ev_api_version[].pc:atril-view.pc.in)
781
782AC_OUTPUT
783
784echo "
785Configure summary:
786
787    ${PACKAGE_STRING}
788    `echo $PACKAGE_STRING | sed "s/./=/g"`
789
790    prefix..............:    ${prefix}
791    compiler............:    ${CC}
792    cflags..............:    ${CFLAGS}
793    warning flags.......:    ${WARN_CFLAGS}
794
795    GTK+ Unix Print.....:    $with_gtk_unix_print
796    Keyring Support.....:    $with_keyring
797    DBUS Support........:    $enable_dbus
798    Caja Plugin.........:    $enable_caja
799    Thumbnailer.........:    $enable_thumbnailer
800    Previewer...........:    $enable_previewer
801    Gtk-Doc Support.....:    $enable_gtk_doc
802    Debug mode..........:    $enable_debug
803    GObj. Introspection.:    $enable_introspection
804    Use NLS.............:    ${USE_NLS}
805    Tests...............:    $enable_tests
806
807    PDF Backend.........:    $enable_pdf
808    Synctex enabled.....:    $enable_synctex
809    PostScript Backend..:    $enable_ps
810    TIFF Backend........:    $enable_tiff
811    DJVU Backend........:    $enable_djvu
812    DVI Backend.........:    $enable_dvi
813    Pixbuf Backend......:    $enable_pixbuf
814    Comics Backend......:    $enable_comics
815    XPS Backend.........:    $enable_xps
816    ePub Backend........:    $have_webkit
817"
818