1 dnl Process this file with autoconf to produce a configure script. -*- Autoconf
4 dnl This file is a part of Geeqie project (http://www.geeqie.org/).
5 dnl Copyright (C) 2008 - 2016 The Geeqie Team
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.
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.
18 AC_INIT([geeqie], m4_esyscmd_s(git rev-parse --quiet --verify --short HEAD), [geeqie-devel@lists.sourceforge.net], [], [http://www.geeqie.org/])
20 # Add -Werror to the default CFLAGS
21 CFLAGS+=" -Werror -Wno-error=deprecated-declarations -Wno-error=sign-compare -Wno-error=return-type"
23 # Check for rightly dirs
24 AC_CONFIG_SRCDIR([src/main.c])
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])
30 AC_CONFIG_HEADER([config.h])
35 # Silent build for automake >= 1.11
36 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
38 AC_ARG_ENABLE(developer, [
40 AC_HELP_STRING([--enable-developer], [turn on developers mode [default=no]])],
45 if test "x${enable_developer}" != "xyes"
62 DX_INIT_DOXYGEN($PACKAGE_NAME, doxygen.conf, doc/doxygen)
65 # ----------------------------------------------------------------------
68 dnl FIXME: official release convert default to 'no'
71 AC_ARG_ENABLE([debug-flags], [
73 AC_HELP_STRING([--enable-debug-flags], [use compiler flags for debugging [default=no]])], [],
75 if test "x${enable_developer}" != "xyes"
77 enable_debug_flags="no"
79 enable_debug_flags="yes"
83 AC_ARG_ENABLE([debug-log], [
85 AC_HELP_STRING([--enable-debug-log], [enable debugging messages [default=yes]])], [], [enable_debug_log="yes"])
87 if test "x${enable_debug_flags}" != "xno"
89 if test "x${enable_developer}" = "xyes"
91 CXXFLAGS="${CXXFLAGS} -Wall"
92 CFLAGS="${CFLAGS} -Wstrict-prototypes -Wall"
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"
102 if test "x${enable_debug_log}" != "xno"
104 AC_DEFINE(DEBUG,1,[Defined if Geeqie is compiled with debugging messages support])
110 AM_CONDITIONAL(DEBUG, test x$enable_debug_flags = xyes)
112 AC_ARG_ENABLE(deprecated, [
113 AC_HELP_STRING([--enable-deprecated], [turn off checking of deprecated functions [default=yes]])], [],
115 if test "x${enable_developer}" != "xyes"
117 enable_deprecated="no"
119 enable_deprecated="yes"
123 if test "x${enable_deprecated}" != "xno"
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"
140 IT_PROG_INTLTOOL([0.35.0])
143 dnl checks for functions
144 AC_CHECK_FUNCS(strverscmp access fsync fflush)
147 # Check target architecture
150 AC_MSG_CHECKING([for some Win32 platform])
154 AC_DEFINE(PLATFORM_WIN32, 1, [Build on win32 OS])
160 AC_MSG_RESULT([$platform_win32])
161 AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
163 AC_MSG_CHECKING([for native Win32])
167 AC_DEFINE(OS_WIN32, 1, [Build on native win32 OS])
177 AC_MSG_RESULT([$os_win32])
179 AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
180 AM_CONDITIONAL(OS_UNIX, test "$os_unix" = "yes")
182 if test "$os_win32" = "yes"; then
183 AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
184 AC_CHECK_TOOL(WINDRES, windres, :)
189 AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
190 AM_CONDITIONAL(HAVE_WINDRES, test "x$WINDRES" != "x:")
193 dnl reasonable guesses for where stuff is installed
194 if test "x$prefix" = "xNONE"; then
200 AM_PATH_GLIB_2_0(2.24.0,,AC_MSG_ERROR(GLIB >= 2.24.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])])
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.))])
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])])
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.))])
219 AC_ARG_ENABLE([threads],
220 AC_HELP_STRING([--disable-threads], [disable thread support]), [threads="${enableval}"])
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")])
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"
234 AC_PATH_PROGS(GDK_PIXBUF_CSOURCE, "gdk-pixbuf-csource")
235 AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
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")
242 AC_DEFINE_UNQUOTED(GQ_HELPDIR, "$readmedir", [Location of documentation files])
243 AC_DEFINE_UNQUOTED(GQ_HTMLDIR, "$htmldir", [Location of html documentation])
245 AC_PATH_PROG(GNOME_DOC_TOOL, gnome-doc-tool)
250 eval "eval appdir=${datadir}/${PACKAGE}"
251 AC_DEFINE_UNQUOTED([GQ_APP_DIR], "$appdir", [Location of application data])
254 eval "eval gq_bindir=${prefix}/lib/${PACKAGE}"
255 AC_DEFINE_UNQUOTED([GQ_BIN_DIR], "$gq_bindir", [Location of helper scripts and executables])
259 # ----------------------------------------------------------------------
261 dnl Check for LIRC client support
262 AC_MSG_CHECKING(if LIRC support is enabled)
264 AC_ARG_ENABLE([lirc],
265 AC_HELP_STRING([--disable-lirc], [disable lirc support (auto)]),
267 if test "x${enableval}" = "xyes" -a "x$GCC" = "xyes"; then
273 fi], AC_MSG_RESULT(no))
276 AC_ARG_WITH(lirc-prefix,
277 [ --with-lirc-prefix=PATH Prefix where LIRC is installed],
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
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])],,)],)
290 AM_CONDITIONAL(HAVE_LIRC, [test "x$HAVE_LIRC" = xyes])
294 # ----------------------------------------------------------------------
296 AC_ARG_ENABLE([lcms],
297 AC_HELP_STRING([--disable-lcms], [disable lcms support]),
298 [liblcms=$enableval], [liblcms=auto])
300 if test "x${liblcms}" != "xno"; then
301 PKG_CHECK_MODULES(LCMS, [lcms2 >= 2.0],
304 AC_DEFINE(HAVE_LCMS, 1, [define to enable use of color profiles with lcms])
305 AC_DEFINE(HAVE_LCMS2, 1, [lcms2 is used])
308 PKG_CHECK_MODULES(LCMS, [lcms >= 1.14],
311 AC_DEFINE(HAVE_LCMS, 1, [define to enable use of color profiles with lcms])
315 AC_MSG_WARN([$LCMS_PKG_ERRORS])
322 AM_CONDITIONAL(HAVE_LCMS, [test "x$HAVE_LCMS" = xyes])
323 AC_SUBST(LCMS_CFLAGS)
327 # ----------------------------------------------------------------------
329 AC_ARG_ENABLE([jpeg],
330 AC_HELP_STRING([--disable-jpeg], [disable direct jpeg support]),
331 [libjpeg=$enableval], [libjpeg=auto])
333 if test "x${libjpeg}" != "xno"; then
334 AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
337 AC_DEFINE(HAVE_JPEG, 1, [define to enable use of custom jpeg loader]),
343 AM_CONDITIONAL(HAVE_JPEG, [test "x$HAVE_JPEG" = xyes])
344 AC_SUBST(JPEG_CFLAGS)
349 # ----------------------------------------------------------------------
351 AC_ARG_ENABLE([tiff],
352 AC_HELP_STRING([--disable-tiff], [disable direct tiff support]),
353 [libtiff=$enableval], [libtiff=auto])
355 if test "x${libtiff}" != "xno"; then
356 AC_CHECK_LIB(tiff, TIFFClientOpen,
359 AC_DEFINE(HAVE_TIFF, 1, [define to enable use of custom tiff loader]),
365 AM_CONDITIONAL(HAVE_TIFF, [test "x$HAVE_TIFF" = xyes])
366 AC_SUBST(TIFF_CFLAGS)
369 # libffmpegthumbnailer support
370 # ----------------------------------------------------------------------
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])
376 if test "x${ffmpegthumbnailer}" != "xno"; then
377 PKG_CHECK_MODULES(FFMPEGTHUMBNAILER, [libffmpegthumbnailer >= 2.1.0],
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])])
386 HAVE_FFMPEGTHUMBNAILER=no
389 HAVE_FFMPEGTHUMBNAILER=disabled
392 AM_CONDITIONAL(HAVE_FFMPEGTHUMBNAILER, [test "x$HAVE_FFMPEGTHUMBNAILER" = xyes])
393 AC_SUBST(FFMPEGTHUMBNAILER_CFLAGS)
394 AC_SUBST(FFMPEGTHUMBNAILER_LIBS)
397 # ----------------------------------------------------------------------
399 AC_ARG_ENABLE([exiv2],
400 AC_HELP_STRING([--disable-exiv2], [disable exiv2 support]),
401 [libexiv2=$enableval], [libexiv2=auto])
403 if test "x${libexiv2}" != "xno"; then
404 PKG_CHECK_MODULES(EXIV2, [exiv2 >= 0.11],
407 AC_DEFINE(HAVE_EXIV2, 1, [define to enable exiv2 support])
411 AC_MSG_WARN([$EXIV2_PKG_ERRORS])
417 AM_CONDITIONAL(HAVE_EXIV2, [test "x$HAVE_EXIV2" = xyes])
418 AC_SUBST(EXIV2_CFLAGS)
423 # ----------------------------------------------------------------------
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'])
429 GETTEXT_PACKAGE=$PACKAGE
430 AC_SUBST(GETTEXT_PACKAGE)
431 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["${GETTEXT_PACKAGE}"],[Name of gettext file])
433 AM_GLIB_DEFINE_LOCALEDIR(GQ_LOCALEDIR)
441 # clutter and champlain support
442 # ----------------------------------------------------------------------
445 AC_HELP_STRING([--disable-map], [disable map support]),
446 [libgps=$enableval], [libgps=auto])
448 AC_ARG_ENABLE([gpu-accel],
449 AC_HELP_STRING([--disable-gpu-accel], [disable GPU acceleration support - experimental]),
450 [libclutter=$enableval], [libclutter=auto])
452 if test "x${libclutter}" != "xno" -a "x${gtk3}" != "xno"; then
453 PKG_CHECK_MODULES(CLUTTER, [clutter-1.0 >= 1.0],
455 PKG_CHECK_MODULES(CLUTTER_GTK, [clutter-gtk-1.0 >= 1.0],
458 AC_DEFINE(HAVE_CLUTTER, 1, [define to enable use of clutter library])
462 AC_MSG_WARN([$CLUTTER_GTK_PKG_ERRORS])
467 AC_MSG_WARN([$CLUTTER_PKG_ERRORS])
470 HAVE_CLUTTER=disabled
473 AC_SUBST(CLUTTER_CFLAGS)
474 AC_SUBST(CLUTTER_LIBS)
475 AC_SUBST(CLUTTER_GTK_CFLAGS)
476 AC_SUBST(CLUTTER_GTK_LIBS)
479 # Libchamplain support - used for map facility
480 # ----------------------------------------------------------------------
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],
486 HAVE_LIBCHAMPLAIN=yes
487 AC_DEFINE(HAVE_LIBCHAMPLAIN, 1, [define to enable use of maps])
491 AC_MSG_WARN([$LIBCHAMPLAIN_PKG_ERRORS])
494 HAVE_LIBCHAMPLAIN=disabled
497 HAVE_LIBCHAMPLAIN=disabled
500 if test "x${libgps}" != "xno" -a "x${HAVE_LIBCHAMPLAIN}" == "xyes" ; then
501 PKG_CHECK_MODULES(LIBCHAMPLAIN_GTK, [champlain-gtk-0.12 >= 0.12],
503 HAVE_LIBCHAMPLAIN_GTK=yes
504 AC_DEFINE(HAVE_LIBCHAMPLAIN_GTK, 1, [define to enable use of maps])
507 HAVE_LIBCHAMPLAIN_GTK=no
508 AC_MSG_WARN([$LIBCHAMPLAIN_GTK_PKG_ERRORS])
511 HAVE_LIBCHAMPLAIN_GTK=disabled
514 AM_CONDITIONAL(HAVE_LIBCHAMPLAIN_GTK, [test "x$HAVE_LIBCHAMPLAIN_GTK" = xyes])
515 AC_SUBST(LIBCHAMPLAIN_GTK_CFLAGS)
516 AC_SUBST(LIBCHAMPLAIN_GTK_LIBS)
519 # ----------------------------------------------------------------------
522 AC_HELP_STRING([--disable-lua], [disable lua support]),
523 [liblua=$enableval], [liblua=auto])
525 if test "x${liblua}" != "xno"; then
526 PKG_CHECK_MODULES(LUA, lua5.1 >= 5.1,
529 AC_DEFINE(HAVE_LUA, 1, [define to enable lua support])
533 AC_MSG_WARN([$LUA_PKG_ERRORS])
539 AM_CONDITIONAL(HAVE_LUA, [test "x$HAVE_LUA" = xyes])
544 # ----------------------------------------------------------------------
546 if test "x${gtk3}" != "xno"; then
548 AC_HELP_STRING([--disable-pdf], [disable pdf support]),
549 [libpdf=$enableval], [libpdf=auto])
551 if test "x${libpdf}" != "xno"; then
552 PKG_CHECK_MODULES(PDF, poppler-glib >= 0.62,
555 AC_DEFINE(HAVE_PDF, 1, [define to enable pdf support])
559 AC_MSG_WARN([$PDF_PKG_ERRORS])
568 AM_CONDITIONAL(HAVE_PDF, [test "x$HAVE_PDF" = xyes])
573 # ----------------------------------------------------------------------
575 AM_CONDITIONAL(HAVE_MARKDOWN, [ "$(command -v markdown)" ])
577 # ----------------------------------------------------------------------
581 * \short autogenerated definition by autoheader.
586 * This file is a part of Geeqie project (http://www.geeqie.org/).
587 * Copyright (C) 2008 - 2016 The Geeqie Team
589 * This program is free software; you can redistribute it and/or modify
590 * it under the terms of the GNU General Public License as published by
591 * the Free Software Foundation; either version 2 of the License, or
592 * (at your option) any later version.
594 * This program is distributed in the hope that it will be useful,
595 * but WITHOUT ANY WARRANTY; without even the implied warranty of
596 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
597 * GNU General Public License for more details.
600 #ifndef _INCLUDE_CONFIG_H
601 #define _INCLUDE_CONFIG_H
613 src/icons/svg/Makefile
617 plugins/symlink/Makefile
618 plugins/rotate/Makefile
619 plugins/ufraw/Makefile
620 plugins/import/Makefile
621 plugins/geocode-parameters/Makefile
626 dnl Print the results
629 cat > config.report << END
636 Version: $PACKAGE_VERSION
640 Win32: $platform_win32 (native: $os_win32)
645 CPPFLAGS: $__CPPFLAGS
650 Thread: $GTHREAD_LIBS
651 Others: $JPEG_LIBS $TIFF_LIBS $LCMS_LIBS $EXIV2_LIBS $CLUTTER_LIBS $CLUTTER_GTK_LIBS $LIBCHAMPLAIN_LIBS $LIBCHAMPLAIN_GTK_LIBS $LUA_LIBS
654 NLS support: $USE_NLS
658 Developer: $__IS_DEVELOPER
659 Debug flags: $__IS_DEBUG_FLAGS
660 Debug log: $__IS_DEBUG_LOG
661 Deprecated: $__IS_DEPRECATED
667 Clutter: $HAVE_CLUTTER
668 Libchamplain: $HAVE_LIBCHAMPLAIN
669 Libchamplain-gtk: $HAVE_LIBCHAMPLAIN_GTK
671 FFmpegthumbnailer: $HAVE_FFMPEGTHUMBNAILER
676 doc-tool: $GNOME_DOC_TOOL
683 Now you can type "make" to build Geeqie
684 (or you take blue pill and the story ends :)