Merge branch 'master' of git://www.geeqie.org/geeqie
[geeqie.git] / configure.ac
1 dnl Process this file with autoconf to produce a configure script.  -*- Autoconf
2  -*-
3
4 dnl This file is a part of Geeqie project (http://www.geeqie.org/).
5 dnl Copyright (C) 2008 - 2018 The Geeqie Team
6 dnl
7 dnl This program is free software; you can redistribute it and/or modify
8 dnl it under the terms of the GNU General Public License as published by
9 dnl the Free Software Foundation; either version 2 of the License, or
10 dnl (at your option) any later version.
11 dnl
12 dnl This program is distributed in the hope that it will be useful,
13 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
14 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 dnl GNU General Public License for more details.
16
17 AC_PREREQ(2.57)
18 AC_INIT([geeqie], m4_esyscmd_s(git rev-parse --quiet --verify --short HEAD), [geeqie@freelists.org], [], [http://www.geeqie.org/])
19
20 # Add -Werror to the default CFLAGS
21 CFLAGS+=" -Werror -Wno-error=deprecated-declarations -Wno-error=sign-compare -Wno-error=return-type"
22
23 # Check for rightly dirs
24 AC_CONFIG_SRCDIR([src/main.c])
25
26 AC_CONFIG_AUX_DIR(auxdir)
27 # Require Automake 1.14 for %reldir% support
28 AM_INIT_AUTOMAKE([1.14.1 subdir-objects foreign dist-xz no-dist-gzip])
29
30 AC_CONFIG_HEADER([config.h])
31
32 # Only for developers
33 AM_MAINTAINER_MODE
34
35 # Silent build for automake >= 1.11
36 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
37
38 AC_ARG_ENABLE(developer, [
39 Development options:
40 AC_HELP_STRING([--enable-developer], [turn on developers mode [default=no]])],
41 [
42   __IS_DEVELOPER=yes
43 ],
44 [
45 if test "x${enable_developer}" != "xyes"
46 then
47   __IS_DEVELOPER=no
48 else
49   __IS_DEVELOPER=yes
50 fi
51 ])
52
53 DX_HTML_FEATURE(ON)
54 DX_CHM_FEATURE(OFF)
55 DX_CHI_FEATURE(OFF)
56 DX_MAN_FEATURE(OFF)
57 DX_RTF_FEATURE(OFF)
58 DX_XML_FEATURE(OFF)
59 DX_PDF_FEATURE(OFF)
60 DX_PS_FEATURE(OFF)
61
62 DX_INIT_DOXYGEN($PACKAGE_NAME, doxygen.conf, doc/doxygen)
63
64 #  Debug support
65 # ----------------------------------------------------------------------
66
67 dnl Debugging option
68 dnl FIXME: official release convert default to 'no'
69 dnl
70
71 AC_ARG_ENABLE([debug-flags], [
72 Development options:
73 AC_HELP_STRING([--enable-debug-flags], [use compiler flags for debugging [default=no]])], [],
74 [
75 if test "x${enable_developer}" != "xyes"
76 then
77   enable_debug_flags="no"
78 else
79   enable_debug_flags="yes"
80 fi
81 ])
82
83 AC_ARG_ENABLE([debug-log], [
84 Development options:
85 AC_HELP_STRING([--enable-debug-log], [enable debugging messages [default=yes]])], [], [enable_debug_log="yes"])
86
87 if test "x${enable_debug_flags}" != "xno"
88 then
89   if test "x${enable_developer}" = "xyes"
90   then
91     CXXFLAGS="${CXXFLAGS} -Wall"
92     CFLAGS="${CFLAGS} -Wstrict-prototypes -Wall"
93   fi
94   __COMMONFLAGS="-g -O0 -Wextra -Wunused-value -Wunused-variable -Wunused-function -Wunused-label -Wcomment -Wmissing-braces -Wparentheses -Wreturn-type -Wswitch -Wstrict-aliasing -Wno-unused-parameter -Wformat -Wformat-security -DGQ_DEBUG_PATH_UTF8=1"
95   CXXFLAGS="${CXXFLAGS} ${__COMMONFLAGS}"
96   CFLAGS="${CFLAGS} ${__COMMONFLAGS} -Wimplicit-int -Werror-implicit-function-declaration"
97   __IS_DEBUG_FLAGS=yes
98 else
99   __IS_DEBUG_FLAGS=no
100 fi
101
102 if test "x${enable_debug_log}" != "xno"
103 then
104   AC_DEFINE(DEBUG,1,[Defined if Geeqie is compiled with debugging messages support])
105   __IS_DEBUG_LOG=yes
106 else
107   __IS_DEBUG_LOG=no
108 fi
109
110 AM_CONDITIONAL(DEBUG, test x$enable_debug_flags = xyes)
111
112 AC_ARG_ENABLE(deprecated, [
113 AC_HELP_STRING([--enable-deprecated], [turn off checking of deprecated functions [default=yes]])], [],
114 [
115 if test "x${enable_developer}" != "xyes"
116 then
117   enable_deprecated="no"
118 else
119   enable_deprecated="yes"
120 fi
121 ])
122
123 if test "x${enable_deprecated}" != "xno"
124 then
125   CXXFLAGS="${CXXFLAGS} -DGTK_DISABLE_DEPRECATED=1 -DGDK_DISABLE_DEPRECATED=1 -DGDK_PIXBUF_DISABLE_DEPRECATED=1 -DG_DISABLE_DEPRECATED=1"
126   CFLAGS="${CFLAGS} -DGTK_DISABLE_DEPRECATED=1 -DGDK_DISABLE_DEPRECATED=1 -DGDK_PIXBUF_DISABLE_DEPRECATED=1 -DG_DISABLE_DEPRECATED=1"
127   __IS_DEPRECATED=yes
128 else
129   __IS_DEPRECATED=no
130 fi
131
132
133 AC_ISC_POSIX
134 AC_PROG_CC
135 AC_PROG_CC_C99
136 AC_PROG_CXX
137 AC_STDC_HEADERS
138 AC_ARG_PROGRAM
139 AC_SYS_LARGEFILE
140 IT_PROG_INTLTOOL([0.35.0])
141
142
143 dnl checks for functions
144 AC_CHECK_FUNCS(strverscmp access fsync fflush)
145
146
147 # Check target architecture
148
149 # Check for Win32
150 AC_MSG_CHECKING([for some Win32 platform])
151 case "$target_os" in
152   mingw* | cygwin*)
153     platform_win32=yes
154     AC_DEFINE(PLATFORM_WIN32, 1, [Build on win32 OS])
155     ;;
156   *)
157     platform_win32=no
158     ;;
159 esac
160 AC_MSG_RESULT([$platform_win32])
161 AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
162
163 AC_MSG_CHECKING([for native Win32])
164 case "$target_os" in
165   mingw*)
166     os_win32=yes
167     AC_DEFINE(OS_WIN32, 1, [Build on native win32 OS])
168     os_unix=no
169     PATHSEP=';'
170     ;;
171   *)
172     os_win32=no
173     os_unix=yes
174     PATHSEP=':'
175     ;;
176 esac
177 AC_MSG_RESULT([$os_win32])
178 AC_SUBST(PATHSEP)
179 AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
180 AM_CONDITIONAL(OS_UNIX, test "$os_unix" = "yes")
181
182 if test "$os_win32" = "yes"; then
183   AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
184   AC_CHECK_TOOL(WINDRES, windres, :)
185 else
186   WINDRES=":"
187 fi
188
189 AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
190 AM_CONDITIONAL(HAVE_WINDRES, test "x$WINDRES" != "x:")
191 AC_SUBST(WINDRES)
192
193 dnl reasonable guesses for where stuff is installed
194 if test "x$prefix" = "xNONE"; then
195   prefix="/usr/local"
196 else
197   prefix=$prefix
198 fi
199
200 AM_PATH_GLIB_2_0(2.52.0,,AC_MSG_ERROR(GLIB >= 2.52.0 not installed.))
201 AC_ARG_ENABLE([gtk3], AC_HELP_STRING([--disable-gtk3], [use gtk2 instead of gtk3]),[gtk3="${enableval}"], [gtk3=m4_ifdef([AM_PATH_GTK_3_0], [auto], [no])])
202
203 if test x$gtk3 = xyes; then
204     AC_MSG_WARN("Gtk3 enabled")
205     m4_ifdef([AM_PATH_GTK_3_0], [AM_PATH_GTK_3_0(3.0.0,,AC_MSG_ERROR(GTK+ >= 3.0.0 not installed.))])
206 else
207     if test x$gtk3 != xno; then
208        AC_MSG_WARN("Gtk3 is preferred...")
209        m4_ifdef([AM_PATH_GTK_3_0], [AM_PATH_GTK_3_0(3.0.0,,[gtk3=no])])
210     fi
211 fi
212
213 if test x$gtk3 = xno; then
214     m4_ifdef([AM_PATH_GTK_2_0], [AM_PATH_GTK_2_0(2.20.0,,AC_MSG_ERROR(GTK+ >= 2.20.0 not installed.))])
215     true
216 fi
217
218 threads="auto"
219 AC_ARG_ENABLE([threads],
220   AC_HELP_STRING([--disable-threads], [disable thread support]), [threads="${enableval}"])
221
222 have_gthread="no"
223 if test "x${threads}" != "xno" ; then
224   PKG_CHECK_MODULES(GTHREAD, [gthread-2.0], have_gthread="yes", [AC_MSG_WARN("No thread support in glib")])
225 fi
226
227 if test "x$have_gthread" != "xno"; then
228         AC_DEFINE(HAVE_GTHREAD, 1, Define if you have gthread library)
229         GLIB_CFLAGS="$GTHREAD_CFLAGS"
230         GLIB_LIBS="$GTHREAD_LIBS"
231 fi
232
233
234 AC_PATH_PROGS(GDK_PIXBUF_CSOURCE, "gdk-pixbuf-csource")
235 AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
236
237 AC_ARG_WITH(readmedir, [  --with-readmedir=DIR    install path for readme files],
238             readmedir=$withval, readmedir="$prefix/share/doc/geeqie-$VERSION")
239 AC_ARG_WITH(htmldir, [  --with-htmldir=DIR      install path for html files],
240             htmldir=$withval, htmldir="$readmedir/html")
241
242 AC_DEFINE_UNQUOTED(GQ_HELPDIR, "$readmedir", [Location of documentation files])
243 AC_DEFINE_UNQUOTED(GQ_HTMLDIR, "$htmldir", [Location of html documentation])
244
245 AC_PATH_PROG(GNOME_DOC_TOOL, gnome-doc-tool)
246
247 AC_SUBST(readmedir)
248 AC_SUBST(htmldir)
249
250 eval "eval appdir=${datadir}/${PACKAGE}"
251 AC_DEFINE_UNQUOTED([GQ_APP_DIR], "$appdir", [Location of application data])
252 AC_SUBST(appdir)
253
254 eval "eval gq_bindir=${prefix}/lib/${PACKAGE}"
255 AC_DEFINE_UNQUOTED([GQ_BIN_DIR], "$gq_bindir", [Location of helper scripts and executables])
256 AC_SUBST(gq_bindir)
257
258 #  LIRC support
259 # ----------------------------------------------------------------------
260
261 dnl Check for LIRC client support
262 AC_MSG_CHECKING(if LIRC support is enabled)
263 lirc=no
264 AC_ARG_ENABLE([lirc],
265   AC_HELP_STRING([--disable-lirc], [disable lirc support (auto)]),
266 [
267 if test "x${enableval}" = "xyes" -a "x$GCC" = "xyes"; then
268   AC_MSG_RESULT(yes)
269   lirc=yes
270 else
271   AC_MSG_RESULT(no)
272   lirc=no
273 fi], AC_MSG_RESULT(no))
274
275
276 AC_ARG_WITH(lirc-prefix,
277 [  --with-lirc-prefix=PATH Prefix where LIRC is installed],
278 [
279 for dir in `echo "$withval" | tr : ' '`; do
280   if test -d $dir/lib; then CXXFLAGS="$CXXFLAGS -L$dir/lib"; fi
281   if test -d $dir/include; then CXXFLAGS="$CXXFLAGS -I$dir/include"; fi
282   done
283 ])
284
285 HAVE_LIRC=no
286 if test "x${lirc}" != "xno" ; then
287   AC_CHECK_HEADER(lirc/lirc_client.h,
288     [AC_CHECK_LIB(lirc_client,lirc_init,[HAVE_LIRC=yes;LIBS=-llirc_client $LIBS;AC_DEFINE([HAVE_LIRC],[],[Define to 1 if LIRC must be used])],,)],)
289 fi
290 AM_CONDITIONAL(HAVE_LIRC, [test "x$HAVE_LIRC" = xyes])
291
292
293 #  LCMS support
294 # ----------------------------------------------------------------------
295
296 AC_ARG_ENABLE([lcms],
297   AC_HELP_STRING([--disable-lcms], [disable lcms support]),
298     [liblcms=$enableval], [liblcms=auto])
299
300 if test "x${liblcms}" != "xno"; then
301   PKG_CHECK_MODULES(LCMS, [lcms2 >= 2.0],
302     [
303       HAVE_LCMS=yes
304       AC_DEFINE(HAVE_LCMS, 1, [define to enable use of color profiles with lcms])
305       AC_DEFINE(HAVE_LCMS2, 1, [lcms2 is used])
306     ],
307     [
308     PKG_CHECK_MODULES(LCMS, [lcms >= 1.14],
309       [
310         HAVE_LCMS=yes
311         AC_DEFINE(HAVE_LCMS, 1, [define to enable use of color profiles with lcms])
312       ],
313       [
314         HAVE_LCMS=no
315         AC_MSG_WARN([$LCMS_PKG_ERRORS])
316       ])
317     ])
318 else
319   HAVE_LCMS=disabled
320 fi
321
322 AM_CONDITIONAL(HAVE_LCMS, [test "x$HAVE_LCMS" = xyes])
323 AC_SUBST(LCMS_CFLAGS)
324 AC_SUBST(LCMS_LIBS)
325
326 #  libjpeg support
327 # ----------------------------------------------------------------------
328
329 AC_ARG_ENABLE([jpeg],
330   AC_HELP_STRING([--disable-jpeg], [disable direct jpeg support]),
331     [libjpeg=$enableval], [libjpeg=auto])
332
333 if test "x${libjpeg}" != "xno"; then
334   AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
335       HAVE_JPEG=yes
336       JPEG_LIBS=-ljpeg
337       AC_DEFINE(HAVE_JPEG, 1, [define to enable use of custom jpeg loader]),
338       HAVE_JPEG=no)
339 else
340   HAVE_JPEG=disabled
341 fi
342
343 AM_CONDITIONAL(HAVE_JPEG, [test "x$HAVE_JPEG" = xyes])
344 AC_SUBST(JPEG_CFLAGS)
345 AC_SUBST(JPEG_LIBS)
346
347
348 #  libtiff support
349 # ----------------------------------------------------------------------
350
351 AC_ARG_ENABLE([tiff],
352   AC_HELP_STRING([--disable-tiff], [disable direct tiff support]),
353     [libtiff=$enableval], [libtiff=auto])
354
355 if test "x${libtiff}" != "xno"; then
356   AC_CHECK_LIB(tiff, TIFFClientOpen,
357       HAVE_TIFF=yes
358       TIFF_LIBS=-ltiff
359       AC_DEFINE(HAVE_TIFF, 1, [define to enable use of custom tiff loader]),
360       HAVE_TIFF=no)
361 else
362   HAVE_TIFF=disabled
363 fi
364
365 AM_CONDITIONAL(HAVE_TIFF, [test "x$HAVE_TIFF" = xyes])
366 AC_SUBST(TIFF_CFLAGS)
367 AC_SUBST(TIFF_LIBS)
368
369 #  libffmpegthumbnailer support
370 # ----------------------------------------------------------------------
371
372 AC_ARG_ENABLE([ffmpegthumbnailer],
373   AC_HELP_STRING([--disable-ffmpegthumbnailer], [disable ffmpegthumbnailer support for generating thumbnails of video files]),
374     [ffmpegthumbnailer=$enableval], [ffmpegthumbnailer=auto])
375
376 if test "x${ffmpegthumbnailer}" != "xno"; then
377   PKG_CHECK_MODULES(FFMPEGTHUMBNAILER, [libffmpegthumbnailer >= 2.1.0],
378     [
379       HAVE_FFMPEGTHUMBNAILER=yes
380       AC_DEFINE(HAVE_FFMPEGTHUMBNAILER, 1, [define to enable ffmpegthumbnailer support])
381       AC_CHECK_MEMBER([video_thumbnailer.prefer_embedded_metadata], [AC_DEFINE(HAVE_FFMPEGTHUMBNAILER_METADATA, 1, [define if ffmpegthumbnailer supports embedded metadata])], [], [[#include <libffmpegthumbnailer/videothumbnailerc.h>]])
382       AC_CHECK_MEMBER([image_data.image_data_width], [AC_DEFINE(HAVE_FFMPEGTHUMBNAILER_RGB, 1, [define if ffmpegthumbnailer supports raw RGB output])], [], [[#include <libffmpegthumbnailer/videothumbnailerc.h>]])
383       AC_CHECK_LIB([ffmpegthumbnailer], [video_thumbnailer_set_size], [AC_DEFINE(HAVE_FFMPEGTHUMBNAILER_WH, 1, [define if ffmpegthumbnailer supports specifying size by width/height])])
384     ],
385     [
386       HAVE_FFMPEGTHUMBNAILER=no
387     ])
388 else
389   HAVE_FFMPEGTHUMBNAILER=disabled
390 fi
391
392 AM_CONDITIONAL(HAVE_FFMPEGTHUMBNAILER, [test "x$HAVE_FFMPEGTHUMBNAILER" = xyes])
393 AC_SUBST(FFMPEGTHUMBNAILER_CFLAGS)
394 AC_SUBST(FFMPEGTHUMBNAILER_LIBS)
395
396 #  Exiv2 support
397 # ----------------------------------------------------------------------
398
399 AC_ARG_ENABLE([exiv2],
400   AC_HELP_STRING([--disable-exiv2], [disable exiv2 support]),
401     [libexiv2=$enableval], [libexiv2=auto])
402
403 if test "x${libexiv2}" != "xno"; then
404   PKG_CHECK_MODULES(EXIV2, [exiv2 >= 0.11],
405     [
406       HAVE_EXIV2=yes
407       AC_DEFINE(HAVE_EXIV2, 1, [define to enable exiv2 support])
408     ],
409     [
410       HAVE_EXIV2=no
411       AC_MSG_WARN([$EXIV2_PKG_ERRORS])
412     ])
413 else
414   HAVE_EXIV2=disabled
415 fi
416
417 AM_CONDITIONAL(HAVE_EXIV2, [test "x$HAVE_EXIV2" = xyes])
418 AC_SUBST(EXIV2_CFLAGS)
419 AC_SUBST(EXIV2_LIBS)
420
421
422 #  Gettext support
423 # ----------------------------------------------------------------------
424
425 dnl Set of available languages
426 ALL_LINGUAS="`grep -v '^#' "$srcdir/po/LINGUAS" | tr '\n' ' '`"
427 AC_SUBST([CONFIG_STATUS_DEPENDENCIES],['$(top_srcdir)/po/LINGUAS'])
428
429 GETTEXT_PACKAGE=$PACKAGE
430 AC_SUBST(GETTEXT_PACKAGE)
431 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["${GETTEXT_PACKAGE}"],[Name of gettext file])
432 AM_GLIB_GNU_GETTEXT
433 AM_GLIB_DEFINE_LOCALEDIR(GQ_LOCALEDIR)
434
435 AC_SUBST(CFLAGS)
436 AC_SUBST(CXXFLAGS)
437 AC_SUBST(CPPFLAGS)
438 AC_SUBST(LDFLAGS)
439
440
441 #  clutter and champlain support
442 # ----------------------------------------------------------------------
443
444 AC_ARG_ENABLE([map],
445   AC_HELP_STRING([--disable-map], [disable map support]),
446     [libgps=$enableval], [libgps=auto])
447
448 AC_ARG_ENABLE([gpu-accel],
449   AC_HELP_STRING([--disable-gpu-accel], [disable GPU acceleration support - experimental]),
450     [libclutter=$enableval], [libclutter=auto])
451
452 if test "x${libclutter}" != "xno" -a "x${gtk3}" != "xno"; then
453   PKG_CHECK_MODULES(CLUTTER, [clutter-1.0 >= 1.0],
454     [
455       PKG_CHECK_MODULES(CLUTTER_GTK, [clutter-gtk-1.0 >= 1.0],
456         [
457           HAVE_CLUTTER=yes
458           AC_DEFINE(HAVE_CLUTTER, 1, [define to enable use of clutter library])
459         ],
460         [
461           HAVE_CLUTTER=no
462           AC_MSG_WARN([$CLUTTER_GTK_PKG_ERRORS])
463         ])
464     ],
465     [
466       HAVE_CLUTTER=no
467       AC_MSG_WARN([$CLUTTER_PKG_ERRORS])
468     ])
469 else
470   HAVE_CLUTTER=disabled
471 fi
472
473 AC_SUBST(CLUTTER_CFLAGS)
474 AC_SUBST(CLUTTER_LIBS)
475 AC_SUBST(CLUTTER_GTK_CFLAGS)
476 AC_SUBST(CLUTTER_GTK_LIBS)
477
478
479 #  Libchamplain support - used for map facility
480 # ----------------------------------------------------------------------
481
482 if test "x${libgps}" != "xno" -a "x${HAVE_CLUTTER}" = "xyes"; then
483     if test "x${gtk3}" != "xno"; then
484       PKG_CHECK_MODULES(LIBCHAMPLAIN, [champlain-0.12 >= 0.12],
485         [
486           HAVE_LIBCHAMPLAIN=yes
487           AC_DEFINE(HAVE_LIBCHAMPLAIN, 1, [define to enable use of maps])
488         ],
489         [
490           HAVE_LIBCHAMPLAIN=no
491           AC_MSG_WARN([$LIBCHAMPLAIN_PKG_ERRORS])
492         ])
493     else
494       HAVE_LIBCHAMPLAIN=disabled
495     fi
496 else
497   HAVE_LIBCHAMPLAIN=disabled
498 fi
499
500 if test "x${libgps}" != "xno" -a "x${HAVE_LIBCHAMPLAIN}" = "xyes" ; then
501   PKG_CHECK_MODULES(LIBCHAMPLAIN_GTK, [champlain-gtk-0.12 >= 0.12],
502     [
503       HAVE_LIBCHAMPLAIN_GTK=yes
504       AC_DEFINE(HAVE_LIBCHAMPLAIN_GTK, 1, [define to enable use of maps])
505     ],
506     [
507       HAVE_LIBCHAMPLAIN_GTK=no
508       AC_MSG_WARN([$LIBCHAMPLAIN_GTK_PKG_ERRORS])
509     ])
510 else
511   HAVE_LIBCHAMPLAIN_GTK=disabled
512 fi
513
514 AM_CONDITIONAL(HAVE_LIBCHAMPLAIN_GTK, [test "x$HAVE_LIBCHAMPLAIN_GTK" = xyes])
515 AC_SUBST(LIBCHAMPLAIN_GTK_CFLAGS)
516 AC_SUBST(LIBCHAMPLAIN_GTK_LIBS)
517
518 #  Lua support
519 # ----------------------------------------------------------------------
520
521 AC_ARG_ENABLE([lua],
522   AC_HELP_STRING([--disable-lua], [disable lua support]),
523     [liblua=$enableval], [liblua=auto])
524
525 if test "x${liblua}" != "xno"; then
526   PKG_CHECK_MODULES(LUA, lua5.3 >= 5.3,
527     [
528       HAVE_LUA=yes
529       AC_DEFINE(HAVE_LUA, 1, [define to enable lua support])
530     ],
531     [
532      PKG_CHECK_MODULES(LUA, lua5.1 >= 5.1,
533        [
534          HAVE_LUA=yes
535          AC_DEFINE(HAVE_LUA, 1, [define to enable lua support])
536        ],
537        [
538          PKG_CHECK_MODULES(LUA, lua >= 5.1,
539             [
540               HAVE_LUA=yes
541               AC_DEFINE(HAVE_LUA, 1, [define to enable lua support])
542             ],
543             [
544                HAVE_LUA=no
545                AC_MSG_WARN([$LUA_PKG_ERRORS])
546             ])
547        ])
548      ])
549 else
550   HAVE_LUA=disabled
551 fi
552
553 AM_CONDITIONAL(HAVE_LUA, [test "x$HAVE_LUA" = xyes])
554 AC_SUBST(LUA_CFLAGS)
555 AC_SUBST(LUA_LIBS)
556
557 #  Pdf support
558 # ----------------------------------------------------------------------
559
560 if test "x${gtk3}" != "xno"; then
561     AC_ARG_ENABLE([pdf],
562       AC_HELP_STRING([--disable-pdf], [disable pdf support]),
563         [libpdf=$enableval], [libpdf=auto])
564
565     if test "x${libpdf}" != "xno"; then
566       PKG_CHECK_MODULES(PDF, poppler-glib >= 0.62,
567         [
568           HAVE_PDF=yes
569           AC_DEFINE(HAVE_PDF, 1, [define to enable pdf support])
570         ],
571         [
572           HAVE_PDF=no
573           AC_MSG_WARN([$PDF_PKG_ERRORS])
574         ])
575     else
576         HAVE_PDF=disabled
577     fi
578 else
579     HAVE_PDF=disabled
580 fi
581
582 AM_CONDITIONAL(HAVE_PDF, [test "x$HAVE_PDF" = xyes])
583 AC_SUBST(PDF_CFLAGS)
584 AC_SUBST(PDF_LIBS)
585
586 #  Heif support
587 # ----------------------------------------------------------------------
588
589 AC_ARG_ENABLE([heif],
590   AC_HELP_STRING([--disable-heif], [disable heif support]),
591     [libheif=$enableval], [libheif=auto])
592
593 if test "x${libheif}" != "xno"; then
594   PKG_CHECK_MODULES(HEIF, libheif >= 1.3.2,
595     [
596       HAVE_HEIF=yes
597       AC_DEFINE(HAVE_HEIF, 1, [define to enable heif support])
598     ],
599     [
600       HAVE_HEIF=no
601       AC_MSG_WARN([$HEIF_PKG_ERRORS])
602     ])
603 else
604     HAVE_HEIF=disabled
605 fi
606
607 AM_CONDITIONAL(HAVE_HEIF, [test "x$HAVE_HEIF" = xyes])
608 AC_SUBST(HEIF_CFLAGS)
609 AC_SUBST(HEIF_LIBS)
610
611 #  WebP support
612 # ----------------------------------------------------------------------
613
614 AC_ARG_ENABLE([webp],
615   AC_HELP_STRING([--disable-webp], [disable webp support]),
616     [libwebp=$enableval], [libwebp=auto])
617
618 if test "x${libwebp}" != "xno"; then
619   PKG_CHECK_MODULES(WEBP, libwebp >= 0.6.1,
620     [
621       HAVE_WEBP=yes
622       AC_DEFINE(HAVE_WEBP, 1, [define to enable webp support])
623     ],
624     [
625       HAVE_WEBP=no
626       AC_MSG_WARN([$WEBP_PKG_ERRORS])
627     ])
628 else
629     HAVE_WEBP=disabled
630 fi
631
632 AM_CONDITIONAL(HAVE_WEBP, [test "x$HAVE_WEBP" = xyes])
633 AC_SUBST(WEBP_CFLAGS)
634 AC_SUBST(WEBP_LIBS)
635
636 #  DjVu support
637 # ----------------------------------------------------------------------
638
639 AC_ARG_ENABLE([djvu],
640   AC_HELP_STRING([--disable-djvu], [disable djvu support]),
641     [libdjvulibre=$enableval], [libdjvulibre=auto])
642
643 if test "x${libdjvulibre}" != "xno"; then
644   PKG_CHECK_MODULES(DJVU, ddjvuapi >= 3.5.27,
645     [
646       HAVE_DJVU=yes
647       AC_DEFINE(HAVE_DJVU, 1, [define to enable DjVu support])
648     ],
649     [
650       HAVE_DJVU=no
651       AC_MSG_WARN([$DJVU_PKG_ERRORS])
652     ])
653 else
654     HAVE_DJVU=disabled
655 fi
656
657 AM_CONDITIONAL(HAVE_DJVU, [test "x$HAVE_DJVU" = xyes])
658 AC_SUBST(DJVU_CFLAGS)
659 AC_SUBST(DJVU_LIBS)
660
661 #  Markdown support
662 # ----------------------------------------------------------------------
663
664 AM_CONDITIONAL(HAVE_MARKDOWN, [ "$(command -v markdown)" ])
665
666 # _NL_TIME_FIRST_WEEKDAY support
667 # note that it is an enum and not a define
668 # ----------------------------------------------------------------------
669
670 AC_MSG_CHECKING([for _NL_TIME_FIRST_WEEKDAY])
671 AC_TRY_LINK([#include <langinfo.h>], [
672 char c;
673 c = *((unsigned char *)  nl_langinfo(_NL_TIME_FIRST_WEEKDAY));
674 ], nl_ok=yes, nl_ok=no)
675 AC_MSG_RESULT($nl_ok)
676 if test "$nl_ok" = "yes"; then
677   AC_DEFINE([HAVE__NL_TIME_FIRST_WEEKDAY], [1],
678       [Define if _NL_TIME_FIRST_WEEKDAY is available])
679 fi
680
681 # ----------------------------------------------------------------------
682
683 AH_TOP([
684 /** \file
685  * \short autogenerated definition by autoheader.
686  * \author Bruclik
687  */
688
689 /*
690  *  This file is a part of Geeqie project (http://www.geeqie.org/).
691  *  Copyright (C) 2008 - 2016 The Geeqie Team
692  *
693  *  This program is free software; you can redistribute it and/or modify
694  *  it under the terms of the GNU General Public License as published by
695  *  the Free Software Foundation; either version 2 of the License, or
696  *  (at your option) any later version.
697  *
698  *  This program is distributed in the hope that it will be useful,
699  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
700  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
701  *  GNU General Public License for more details.
702  */
703
704 #ifndef _INCLUDE_CONFIG_H
705 #define _INCLUDE_CONFIG_H
706 ])
707
708 AH_BOTTOM([#endif])
709
710 dnl Write the output
711 dnl
712
713 AC_CONFIG_FILES([
714     Makefile
715     src/Makefile
716     src/icons/Makefile
717     src/icons/svg/Makefile
718     po/Makefile.in
719     doc/Makefile
720     plugins/Makefile
721     plugins/symlink/Makefile
722     plugins/rotate/Makefile
723     plugins/ufraw/Makefile
724     plugins/geocode-parameters/Makefile
725     plugins/export-jpeg/Makefile
726     plugins/tethered-photography/Makefile
727     plugins/camera-import/Makefile
728     plugins/image-crop/Makefile
729     plugins/random-image/Makefile
730     geeqie.spec
731 ])
732
733 AC_OUTPUT
734 dnl Print the results
735 dnl
736
737 cat > config.report << END
738
739      Config results:
740     -=-=-=-=-=-=-=-=-
741
742 Package:
743   Name:          $PACKAGE_NAME
744   Version:       $PACKAGE_VERSION
745
746 Architecture:
747   UNIX:          $os_unix
748   Win32:         $platform_win32 (native: $os_win32)
749
750 Flags:
751   Geeqie:        $GQ_CFLAGS
752   DEFS:          $DEFS
753   CPPFLAGS:      $__CPPFLAGS
754   CFLAGS:        $CFLAGS
755   CXXFLAGS:      $CXXFLAGS
756   Gtk:           $GTK_CFLAGS
757   Glib:          $GLIB_CFLAGS
758   Thread:        $GTHREAD_LIBS
759   Others:        $JPEG_LIBS $TIFF_LIBS $LCMS_LIBS $EXIV2_LIBS $CLUTTER_LIBS $CLUTTER_GTK_LIBS $LIBCHAMPLAIN_LIBS $LIBCHAMPLAIN_GTK_LIBS $LUA_LIBS
760
761 Localization:
762   NLS support:   $USE_NLS
763   LINGUAS:       $LINGUAS
764
765 Settings:
766   Developer:     $__IS_DEVELOPER
767   Debug flags:   $__IS_DEBUG_FLAGS
768   Debug log:     $__IS_DEBUG_LOG
769   Deprecated:    $__IS_DEPRECATED
770
771 Support:
772   LCMS:          $HAVE_LCMS
773   Exiv2:         $HAVE_EXIV2
774   Lirc:          $HAVE_LIRC
775   Clutter:       $HAVE_CLUTTER
776   Libchamplain:         $HAVE_LIBCHAMPLAIN
777   Libchamplain-gtk:     $HAVE_LIBCHAMPLAIN_GTK
778   Lua:           $HAVE_LUA
779   FFmpegthumbnailer:    $HAVE_FFMPEGTHUMBNAILER
780   Pdf:           $HAVE_PDF
781   HEIF:          $HAVE_HEIF
782   WebP:          $HAVE_WEBP
783   DjVu:          $HAVE_DJVU
784
785 Documentation:
786   Doxygen:       $DX_DOXYGEN
787   doc-tool:      $GNOME_DOC_TOOL
788
789 END
790
791 cat config.report
792 cat <<EOF
793
794   Now you can type "make" to build Geeqie
795   (or you take blue pill and the story ends :)
796
797 EOF