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 master), [geeqie-devel@lists.sourceforge.net], [], [http://www.geeqie.org/])
20 # Check for rightly dirs
21 AC_CONFIG_SRCDIR([src/main.c])
23 AC_CONFIG_AUX_DIR(auxdir)
26 AC_CONFIG_HEADER([config.h])
31 AC_ARG_ENABLE(developer, [
33 AC_HELP_STRING([--enable-developer], [turn on developers mode [default=no]])],
38 if test "x${enable_developer}" != "xyes"
55 DX_INIT_DOXYGEN($PACKAGE_NAME, doxygen.conf, doc/doxygen)
58 # ----------------------------------------------------------------------
61 dnl FIXME: official release convert default to 'no'
64 AC_ARG_ENABLE([debug-flags], [
66 AC_HELP_STRING([--enable-debug-flags], [use compiler flags for debugging [default=no]])], [],
68 if test "x${enable_developer}" != "xyes"
70 enable_debug_flags="no"
72 enable_debug_flags="yes"
76 AC_ARG_ENABLE([debug-log], [
78 AC_HELP_STRING([--enable-debug-log], [enable debugging messages [default=yes]])], [], [enable_debug_log="yes"])
80 if test "x${enable_debug_flags}" != "xno"
82 if test "x${enable_developer}" = "xyes"
84 CXXFLAGS="${CXXFLAGS} -Wall"
85 CFLAGS="${CFLAGS} -Wstrict-prototypes -Wall"
87 __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"
88 CXXFLAGS="${CXXFLAGS} ${__COMMONFLAGS}"
89 CFLAGS="${CFLAGS} ${__COMMONFLAGS} -Wimplicit-int -Werror-implicit-function-declaration"
95 if test "x${enable_debug_log}" != "xno"
97 AC_DEFINE(DEBUG,1,[Defined if Geeqie is compiled with debugging messages support])
103 AM_CONDITIONAL(DEBUG, test x$enable_debug_flags = xyes)
105 AC_ARG_ENABLE(deprecated, [
106 AC_HELP_STRING([--enable-deprecated], [turn off checking of deprecated functions [default=yes]])], [],
108 if test "x${enable_developer}" != "xyes"
110 enable_deprecated="no"
112 enable_deprecated="yes"
116 if test "x${enable_deprecated}" != "xno"
118 CXXFLAGS="${CXXFLAGS} -DGTK_DISABLE_DEPRECATED=1 -DGDK_DISABLE_DEPRECATED=1 -DGDK_PIXBUF_DISABLE_DEPRECATED=1 -DG_DISABLE_DEPRECATED=1"
119 CFLAGS="${CFLAGS} -DGTK_DISABLE_DEPRECATED=1 -DGDK_DISABLE_DEPRECATED=1 -DGDK_PIXBUF_DISABLE_DEPRECATED=1 -DG_DISABLE_DEPRECATED=1"
132 IT_PROG_INTLTOOL([0.35.0])
135 dnl checks for functions
136 AC_CHECK_FUNCS(strverscmp access fsync fflush)
139 # Check target architecture
142 AC_MSG_CHECKING([for some Win32 platform])
146 AC_DEFINE(PLATFORM_WIN32, 1, [Build on win32 OS])
152 AC_MSG_RESULT([$platform_win32])
153 AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
155 AC_MSG_CHECKING([for native Win32])
159 AC_DEFINE(OS_WIN32, 1, [Build on native win32 OS])
169 AC_MSG_RESULT([$os_win32])
171 AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
172 AM_CONDITIONAL(OS_UNIX, test "$os_unix" = "yes")
174 if test "$os_win32" = "yes"; then
175 AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
176 AC_CHECK_TOOL(WINDRES, windres, :)
181 AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
182 AM_CONDITIONAL(HAVE_WINDRES, test "x$WINDRES" != "x:")
185 dnl reasonable guesses for where stuff is installed
186 if test "x$prefix" = "xNONE"; then
192 AM_PATH_GLIB_2_0(2.24.0,,AC_MSG_ERROR(GLIB >= 2.24.0 not installed.))
193 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])])
195 if test x$gtk3 == xyes; then
196 AC_MSG_WARN("Gtk3 enabled")
197 m4_ifdef([AM_PATH_GTK_3_0], [AM_PATH_GTK_3_0(3.0.0,,AC_MSG_ERROR(GTK+ >= 3.0.0 not installed.))])
199 if test x$gtk3 != xno; then
200 AC_MSG_WARN("Gtk3 is preferred...")
201 m4_ifdef([AM_PATH_GTK_3_0], [AM_PATH_GTK_3_0(3.0.0,,[gtk3=no])])
205 if test x$gtk3 == xno; then
206 m4_ifdef([AM_PATH_GTK_2_0], [AM_PATH_GTK_2_0(2.20.0,,AC_MSG_ERROR(GTK+ >= 2.20.0 not installed.))])
211 AC_ARG_ENABLE([threads],
212 AC_HELP_STRING([--disable-threads], [disable thread support]), [threads="${enableval}"])
215 if test "x${threads}" != "xno" ; then
216 PKG_CHECK_MODULES(GTHREAD, [gthread-2.0], have_gthread="yes", [AC_MSG_WARN("No thread support in glib")])
219 if test "x$have_gthread" != "xno"; then
220 AC_DEFINE(HAVE_GTHREAD, 1, Define if you have gthread library)
221 GLIB_CFLAGS="$GTHREAD_CFLAGS"
222 GLIB_LIBS="$GTHREAD_LIBS"
226 AC_PATH_PROGS(GDK_PIXBUF_CSOURCE, "gdk-pixbuf-csource")
227 AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
229 AC_ARG_WITH(readmedir, [ --with-readmedir=DIR install path for readme files],
230 readmedir=$withval, readmedir="$prefix/share/doc/geeqie-$VERSION")
231 AC_ARG_WITH(htmldir, [ --with-htmldir=DIR install path for html files],
232 htmldir=$withval, htmldir="$readmedir/html")
234 AC_DEFINE_UNQUOTED(GQ_HELPDIR, "$readmedir", [Location of documentation files])
235 AC_DEFINE_UNQUOTED(GQ_HTMLDIR, "$htmldir", [Location of html documentation])
237 AC_PATH_PROG(GNOME_DOC_TOOL, gnome-doc-tool)
242 eval "eval appdir=${datadir}/${PACKAGE}"
243 AC_DEFINE_UNQUOTED([GQ_APP_DIR], "$appdir", [Location of application data])
246 eval "eval gq_bindir=${prefix}/lib/${PACKAGE}"
247 AC_DEFINE_UNQUOTED([GQ_BIN_DIR], "$gq_bindir", [Location of helper scripts and executables])
251 # ----------------------------------------------------------------------
253 dnl Check for LIRC client support
254 AC_MSG_CHECKING(if LIRC support is enabled)
256 AC_ARG_ENABLE([lirc],
257 AC_HELP_STRING([--disable-lirc], [disable lirc support (auto)]),
259 if test "x${enableval}" = "xyes" -a "x$GCC" = "xyes"; then
265 fi], AC_MSG_RESULT(no))
268 AC_ARG_WITH(lirc-prefix,
269 [ --with-lirc-prefix=PATH Prefix where LIRC is installed],
271 for dir in `echo "$withval" | tr : ' '`; do
272 if test -d $dir/lib; then CXXFLAGS="$CXXFLAGS -L$dir/lib"; fi
273 if test -d $dir/include; then CXXFLAGS="$CXXFLAGS -I$dir/include"; fi
278 if test "x${lirc}" != "xno" ; then
279 AC_CHECK_HEADER(lirc/lirc_client.h,
280 [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])],,)],)
282 AM_CONDITIONAL(HAVE_LIRC, [test "x$HAVE_LIRC" = xyes])
286 # ----------------------------------------------------------------------
288 AC_ARG_ENABLE([lcms],
289 AC_HELP_STRING([--disable-lcms], [disable lcms support]),
290 [liblcms=$enableval], [liblcms=auto])
292 if test "x${liblcms}" != "xno"; then
293 PKG_CHECK_MODULES(LCMS, [lcms2 >= 2.0],
296 AC_DEFINE(HAVE_LCMS, 1, [define to enable use of color profiles with lcms])
297 AC_DEFINE(HAVE_LCMS2, 1, [lcms2 is used])
300 PKG_CHECK_MODULES(LCMS, [lcms >= 1.14],
303 AC_DEFINE(HAVE_LCMS, 1, [define to enable use of color profiles with lcms])
307 AC_MSG_WARN([$LCMS_PKG_ERRORS])
314 AM_CONDITIONAL(HAVE_LCMS, [test "x$HAVE_LCMS" = xyes])
315 AC_SUBST(LCMS_CFLAGS)
319 # ----------------------------------------------------------------------
321 AC_ARG_ENABLE([jpeg],
322 AC_HELP_STRING([--disable-jpeg], [disable direct jpeg support]),
323 [libjpeg=$enableval], [libjpeg=auto])
325 if test "x${libjpeg}" != "xno"; then
326 AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
329 AC_DEFINE(HAVE_JPEG, 1, [define to enable use of custom jpeg loader]),
335 AM_CONDITIONAL(HAVE_JPEG, [test "x$HAVE_JPEG" = xyes])
336 AC_SUBST(JPEG_CFLAGS)
341 # ----------------------------------------------------------------------
343 AC_ARG_ENABLE([tiff],
344 AC_HELP_STRING([--disable-tiff], [disable direct tiff support]),
345 [libtiff=$enableval], [libtiff=auto])
347 if test "x${libtiff}" != "xno"; then
348 AC_CHECK_LIB(tiff, TIFFClientOpen,
351 AC_DEFINE(HAVE_TIFF, 1, [define to enable use of custom tiff loader]),
357 AM_CONDITIONAL(HAVE_TIFF, [test "x$HAVE_TIFF" = xyes])
358 AC_SUBST(TIFF_CFLAGS)
363 # ----------------------------------------------------------------------
365 AC_ARG_ENABLE([exiv2],
366 AC_HELP_STRING([--disable-exiv2], [disable exiv2 support]),
367 [libexiv2=$enableval], [libexiv2=auto])
369 if test "x${libexiv2}" != "xno"; then
370 PKG_CHECK_MODULES(EXIV2, [exiv2 >= 0.11],
373 AC_DEFINE(HAVE_EXIV2, 1, [define to enable exiv2 support])
377 AC_MSG_WARN([$EXIV2_PKG_ERRORS])
383 AM_CONDITIONAL(HAVE_EXIV2, [test "x$HAVE_EXIV2" = xyes])
384 AC_SUBST(EXIV2_CFLAGS)
389 # ----------------------------------------------------------------------
391 dnl Set of available languages
392 ALL_LINGUAS="`grep -v '^#' "$srcdir/po/LINGUAS" | tr '\n' ' '`"
393 AC_SUBST([CONFIG_STATUS_DEPENDENCIES],['$(top_srcdir)/po/LINGUAS'])
395 GETTEXT_PACKAGE=$PACKAGE
396 AC_SUBST(GETTEXT_PACKAGE)
397 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["${GETTEXT_PACKAGE}"],[Name of gettext file])
399 AM_GLIB_DEFINE_LOCALEDIR(GQ_LOCALEDIR)
407 # clutter and champlain support
408 # ----------------------------------------------------------------------
411 AC_HELP_STRING([--enable-map], [enable map support]),
412 [libgps=$enableval], [libgps=no])
414 AC_ARG_ENABLE([gpu-accel],
415 AC_HELP_STRING([--enable-gpu-accel], [enable GPU acceleration support - experimental]),
416 [libclutter=$enableval], [libclutter=auto])
418 if test "x${libclutter}" = "xyes" -o "x${libgps}" = "xyes"; then
419 if test "x${libclutter}" != "xno" -a "x${gtk3}" != "xno"; then
420 PKG_CHECK_MODULES(CLUTTER, [clutter-1.0 >= 1.0],
422 PKG_CHECK_MODULES(CLUTTER_GTK, [clutter-gtk-1.0 >= 1.0],
425 AC_DEFINE(HAVE_CLUTTER, 1, [define to enable use of clutter library])
429 AC_MSG_WARN([$CLUTTER_GTK_PKG_ERRORS])
434 AC_MSG_WARN([$CLUTTER_PKG_ERRORS])
437 HAVE_CLUTTER=disabled
440 HAVE_CLUTTER=disabled
443 AC_SUBST(CLUTTER_CFLAGS)
444 AC_SUBST(CLUTTER_LIBS)
445 AC_SUBST(CLUTTER_GTK_CFLAGS)
446 AC_SUBST(CLUTTER_GTK_LIBS)
449 # Libchamplain support - used for map facility
450 # ----------------------------------------------------------------------
452 if test "x${libgps}" = "xyes" -a "x${HAVE_CLUTTER}" = "xyes"; then
453 if test "x${gtk3}" != "xno"; then
454 PKG_CHECK_MODULES(LIBCHAMPLAIN, [champlain-0.12 >= 0.12],
456 HAVE_LIBCHAMPLAIN=yes
457 AC_DEFINE(HAVE_LIBCHAMPLAIN, 1, [define to enable use of maps])
461 AC_MSG_WARN([$LIBCHAMPLAIN_PKG_ERRORS])
464 HAVE_LIBCHAMPLAIN=disabled
467 HAVE_LIBCHAMPLAIN=disabled
470 if test "x${libgps}" = "xyes" -a "x${HAVE_LIBCHAMPLAIN}" = "xyes" ; then
471 PKG_CHECK_MODULES(LIBCHAMPLAIN_GTK, [champlain-gtk-0.12 >= 0.12],
473 HAVE_LIBCHAMPLAIN_GTK=yes
474 AC_DEFINE(HAVE_LIBCHAMPLAIN_GTK, 1, [define to enable use of maps])
477 HAVE_LIBCHAMPLAIN_GTK=no
478 AC_MSG_WARN([$LIBCHAMPLAIN_GTK_PKG_ERRORS])
481 HAVE_LIBCHAMPLAIN_GTK=disabled
484 AM_CONDITIONAL(HAVE_LIBCHAMPLAIN_GTK, [test "x$HAVE_LIBCHAMPLAIN_GTK" = xyes])
485 AC_SUBST(LIBCHAMPLAIN_GTK_CFLAGS)
486 AC_SUBST(LIBCHAMPLAIN_GTK_LIBS)
489 # ----------------------------------------------------------------------
492 AC_HELP_STRING([--disable-lua], [disable lua support]),
493 [liblua=$enableval], [liblua=auto])
495 if test "x${liblua}" != "xno"; then
496 PKG_CHECK_MODULES(LUA, lua5.1 >= 5.1,
499 AC_DEFINE(HAVE_LUA, 1, [define to enable lua support])
503 AC_MSG_WARN([$LUA_PKG_ERRORS])
509 AM_CONDITIONAL(HAVE_LUA, [test "x$HAVE_LUA" = xyes])
513 # ----------------------------------------------------------------------
517 * \short autogenerated definition by autoheader.
522 * This file is a part of Geeqie project (http://www.geeqie.org/).
523 * Copyright (C) 2008 - 2016 The Geeqie Team
525 * This program is free software; you can redistribute it and/or modify
526 * it under the terms of the GNU General Public License as published by
527 * the Free Software Foundation; either version 2 of the License, or
528 * (at your option) any later version.
530 * This program is distributed in the hope that it will be useful,
531 * but WITHOUT ANY WARRANTY; without even the implied warranty of
532 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
533 * GNU General Public License for more details.
536 #ifndef _INCLUDE_CONFIG_H
537 #define _INCLUDE_CONFIG_H
549 src/icons/svg/Makefile
553 plugins/symlink/Makefile
554 plugins/rotate/Makefile
555 plugins/ufraw/Makefile
556 plugins/import/Makefile
561 dnl Print the results
564 cat > config.report << END
571 Version: $PACKAGE_VERSION
575 Win32: $platform_win32 (native: $os_win32)
580 CPPFLAGS: $__CPPFLAGS
585 Thread: $GTHREAD_LIBS
586 Others: $JPEG_LIBS $TIFF_LIBS $LCMS_LIBS $EXIV2_LIBS $CLUTTER_LIBS $CLUTTER_GTK_LIBS $LIBCHAMPLAIN_LIBS $LIBCHAMPLAIN_GTK_LIBS $LUA_LIBS
589 NLS support: $USE_NLS
593 Developer: $__IS_DEVELOPER
594 Debug flags: $__IS_DEBUG_FLAGS
595 Debug log: $__IS_DEBUG_LOG
596 Deprecated: $__IS_DEPRECATED
602 Clutter: $HAVE_CLUTTER
603 Libchamplain: $HAVE_LIBCHAMPLAIN
604 Libchamplain-gtk: $HAVE_LIBCHAMPLAIN_GTK
609 doc-tool: $GNOME_DOC_TOOL
616 Now you can type "make" to build Geeqie
617 (or you take blue pill and the story ends :)