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)
24 # Require Automake 1.14 for %reldir% support
25 AM_INIT_AUTOMAKE([1.14.1 subdir-objects])
27 AC_CONFIG_HEADER([config.h])
32 AC_ARG_ENABLE(developer, [
34 AC_HELP_STRING([--enable-developer], [turn on developers mode [default=no]])],
39 if test "x${enable_developer}" != "xyes"
56 DX_INIT_DOXYGEN($PACKAGE_NAME, doxygen.conf, doc/doxygen)
59 # ----------------------------------------------------------------------
62 dnl FIXME: official release convert default to 'no'
65 AC_ARG_ENABLE([debug-flags], [
67 AC_HELP_STRING([--enable-debug-flags], [use compiler flags for debugging [default=no]])], [],
69 if test "x${enable_developer}" != "xyes"
71 enable_debug_flags="no"
73 enable_debug_flags="yes"
77 AC_ARG_ENABLE([debug-log], [
79 AC_HELP_STRING([--enable-debug-log], [enable debugging messages [default=yes]])], [], [enable_debug_log="yes"])
81 if test "x${enable_debug_flags}" != "xno"
83 if test "x${enable_developer}" = "xyes"
85 CXXFLAGS="${CXXFLAGS} -Wall"
86 CFLAGS="${CFLAGS} -Wstrict-prototypes -Wall"
88 __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"
89 CXXFLAGS="${CXXFLAGS} ${__COMMONFLAGS}"
90 CFLAGS="${CFLAGS} ${__COMMONFLAGS} -Wimplicit-int -Werror-implicit-function-declaration"
96 if test "x${enable_debug_log}" != "xno"
98 AC_DEFINE(DEBUG,1,[Defined if Geeqie is compiled with debugging messages support])
104 AM_CONDITIONAL(DEBUG, test x$enable_debug_flags = xyes)
106 AC_ARG_ENABLE(deprecated, [
107 AC_HELP_STRING([--enable-deprecated], [turn off checking of deprecated functions [default=yes]])], [],
109 if test "x${enable_developer}" != "xyes"
111 enable_deprecated="no"
113 enable_deprecated="yes"
117 if test "x${enable_deprecated}" != "xno"
119 CXXFLAGS="${CXXFLAGS} -DGTK_DISABLE_DEPRECATED=1 -DGDK_DISABLE_DEPRECATED=1 -DGDK_PIXBUF_DISABLE_DEPRECATED=1 -DG_DISABLE_DEPRECATED=1"
120 CFLAGS="${CFLAGS} -DGTK_DISABLE_DEPRECATED=1 -DGDK_DISABLE_DEPRECATED=1 -DGDK_PIXBUF_DISABLE_DEPRECATED=1 -DG_DISABLE_DEPRECATED=1"
133 IT_PROG_INTLTOOL([0.35.0])
136 dnl checks for functions
137 AC_CHECK_FUNCS(strverscmp access fsync fflush)
140 # Check target architecture
143 AC_MSG_CHECKING([for some Win32 platform])
147 AC_DEFINE(PLATFORM_WIN32, 1, [Build on win32 OS])
153 AC_MSG_RESULT([$platform_win32])
154 AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
156 AC_MSG_CHECKING([for native Win32])
160 AC_DEFINE(OS_WIN32, 1, [Build on native win32 OS])
170 AC_MSG_RESULT([$os_win32])
172 AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
173 AM_CONDITIONAL(OS_UNIX, test "$os_unix" = "yes")
175 if test "$os_win32" = "yes"; then
176 AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
177 AC_CHECK_TOOL(WINDRES, windres, :)
182 AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
183 AM_CONDITIONAL(HAVE_WINDRES, test "x$WINDRES" != "x:")
186 dnl reasonable guesses for where stuff is installed
187 if test "x$prefix" = "xNONE"; then
193 AM_PATH_GLIB_2_0(2.24.0,,AC_MSG_ERROR(GLIB >= 2.24.0 not installed.))
194 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])])
196 if test x$gtk3 == xyes; then
197 AC_MSG_WARN("Gtk3 enabled")
198 m4_ifdef([AM_PATH_GTK_3_0], [AM_PATH_GTK_3_0(3.0.0,,AC_MSG_ERROR(GTK+ >= 3.0.0 not installed.))])
200 if test x$gtk3 != xno; then
201 AC_MSG_WARN("Gtk3 is preferred...")
202 m4_ifdef([AM_PATH_GTK_3_0], [AM_PATH_GTK_3_0(3.0.0,,[gtk3=no])])
206 if test x$gtk3 == xno; then
207 m4_ifdef([AM_PATH_GTK_2_0], [AM_PATH_GTK_2_0(2.20.0,,AC_MSG_ERROR(GTK+ >= 2.20.0 not installed.))])
212 AC_ARG_ENABLE([threads],
213 AC_HELP_STRING([--disable-threads], [disable thread support]), [threads="${enableval}"])
216 if test "x${threads}" != "xno" ; then
217 PKG_CHECK_MODULES(GTHREAD, [gthread-2.0], have_gthread="yes", [AC_MSG_WARN("No thread support in glib")])
220 if test "x$have_gthread" != "xno"; then
221 AC_DEFINE(HAVE_GTHREAD, 1, Define if you have gthread library)
222 GLIB_CFLAGS="$GTHREAD_CFLAGS"
223 GLIB_LIBS="$GTHREAD_LIBS"
227 AC_PATH_PROGS(GDK_PIXBUF_CSOURCE, "gdk-pixbuf-csource")
228 AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
230 AC_ARG_WITH(readmedir, [ --with-readmedir=DIR install path for readme files],
231 readmedir=$withval, readmedir="$prefix/share/doc/geeqie-$VERSION")
232 AC_ARG_WITH(htmldir, [ --with-htmldir=DIR install path for html files],
233 htmldir=$withval, htmldir="$readmedir/html")
235 AC_DEFINE_UNQUOTED(GQ_HELPDIR, "$readmedir", [Location of documentation files])
236 AC_DEFINE_UNQUOTED(GQ_HTMLDIR, "$htmldir", [Location of html documentation])
238 AC_PATH_PROG(GNOME_DOC_TOOL, gnome-doc-tool)
243 eval "eval appdir=${datadir}/${PACKAGE}"
244 AC_DEFINE_UNQUOTED([GQ_APP_DIR], "$appdir", [Location of application data])
247 eval "eval gq_bindir=${prefix}/lib/${PACKAGE}"
248 AC_DEFINE_UNQUOTED([GQ_BIN_DIR], "$gq_bindir", [Location of helper scripts and executables])
252 # ----------------------------------------------------------------------
254 dnl Check for LIRC client support
255 AC_MSG_CHECKING(if LIRC support is enabled)
257 AC_ARG_ENABLE([lirc],
258 AC_HELP_STRING([--disable-lirc], [disable lirc support (auto)]),
260 if test "x${enableval}" = "xyes" -a "x$GCC" = "xyes"; then
266 fi], AC_MSG_RESULT(no))
269 AC_ARG_WITH(lirc-prefix,
270 [ --with-lirc-prefix=PATH Prefix where LIRC is installed],
272 for dir in `echo "$withval" | tr : ' '`; do
273 if test -d $dir/lib; then CXXFLAGS="$CXXFLAGS -L$dir/lib"; fi
274 if test -d $dir/include; then CXXFLAGS="$CXXFLAGS -I$dir/include"; fi
279 if test "x${lirc}" != "xno" ; then
280 AC_CHECK_HEADER(lirc/lirc_client.h,
281 [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])],,)],)
283 AM_CONDITIONAL(HAVE_LIRC, [test "x$HAVE_LIRC" = xyes])
287 # ----------------------------------------------------------------------
289 AC_ARG_ENABLE([lcms],
290 AC_HELP_STRING([--disable-lcms], [disable lcms support]),
291 [liblcms=$enableval], [liblcms=auto])
293 if test "x${liblcms}" != "xno"; then
294 PKG_CHECK_MODULES(LCMS, [lcms2 >= 2.0],
297 AC_DEFINE(HAVE_LCMS, 1, [define to enable use of color profiles with lcms])
298 AC_DEFINE(HAVE_LCMS2, 1, [lcms2 is used])
301 PKG_CHECK_MODULES(LCMS, [lcms >= 1.14],
304 AC_DEFINE(HAVE_LCMS, 1, [define to enable use of color profiles with lcms])
308 AC_MSG_WARN([$LCMS_PKG_ERRORS])
315 AM_CONDITIONAL(HAVE_LCMS, [test "x$HAVE_LCMS" = xyes])
316 AC_SUBST(LCMS_CFLAGS)
320 # ----------------------------------------------------------------------
322 AC_ARG_ENABLE([jpeg],
323 AC_HELP_STRING([--disable-jpeg], [disable direct jpeg support]),
324 [libjpeg=$enableval], [libjpeg=auto])
326 if test "x${libjpeg}" != "xno"; then
327 AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
330 AC_DEFINE(HAVE_JPEG, 1, [define to enable use of custom jpeg loader]),
336 AM_CONDITIONAL(HAVE_JPEG, [test "x$HAVE_JPEG" = xyes])
337 AC_SUBST(JPEG_CFLAGS)
342 # ----------------------------------------------------------------------
344 AC_ARG_ENABLE([tiff],
345 AC_HELP_STRING([--disable-tiff], [disable direct tiff support]),
346 [libtiff=$enableval], [libtiff=auto])
348 if test "x${libtiff}" != "xno"; then
349 AC_CHECK_LIB(tiff, TIFFClientOpen,
352 AC_DEFINE(HAVE_TIFF, 1, [define to enable use of custom tiff loader]),
358 AM_CONDITIONAL(HAVE_TIFF, [test "x$HAVE_TIFF" = xyes])
359 AC_SUBST(TIFF_CFLAGS)
364 # ----------------------------------------------------------------------
366 AC_ARG_ENABLE([exiv2],
367 AC_HELP_STRING([--disable-exiv2], [disable exiv2 support]),
368 [libexiv2=$enableval], [libexiv2=auto])
370 if test "x${libexiv2}" != "xno"; then
371 PKG_CHECK_MODULES(EXIV2, [exiv2 >= 0.11],
374 AC_DEFINE(HAVE_EXIV2, 1, [define to enable exiv2 support])
378 AC_MSG_WARN([$EXIV2_PKG_ERRORS])
384 AM_CONDITIONAL(HAVE_EXIV2, [test "x$HAVE_EXIV2" = xyes])
385 AC_SUBST(EXIV2_CFLAGS)
390 # ----------------------------------------------------------------------
392 dnl Set of available languages
393 ALL_LINGUAS="`grep -v '^#' "$srcdir/po/LINGUAS" | tr '\n' ' '`"
394 AC_SUBST([CONFIG_STATUS_DEPENDENCIES],['$(top_srcdir)/po/LINGUAS'])
396 GETTEXT_PACKAGE=$PACKAGE
397 AC_SUBST(GETTEXT_PACKAGE)
398 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["${GETTEXT_PACKAGE}"],[Name of gettext file])
400 AM_GLIB_DEFINE_LOCALEDIR(GQ_LOCALEDIR)
408 # clutter and champlain support
409 # ----------------------------------------------------------------------
412 AC_HELP_STRING([--enable-map], [enable map support]),
413 [libgps=$enableval], [libgps=no])
415 AC_ARG_ENABLE([gpu-accel],
416 AC_HELP_STRING([--enable-gpu-accel], [enable GPU acceleration support - experimental]),
417 [libclutter=$enableval], [libclutter=auto])
419 if test "x${libclutter}" = "xyes" -o "x${libgps}" = "xyes"; then
420 if test "x${libclutter}" != "xno" -a "x${gtk3}" != "xno"; then
421 PKG_CHECK_MODULES(CLUTTER, [clutter-1.0 >= 1.0],
423 PKG_CHECK_MODULES(CLUTTER_GTK, [clutter-gtk-1.0 >= 1.0],
426 AC_DEFINE(HAVE_CLUTTER, 1, [define to enable use of clutter library])
430 AC_MSG_WARN([$CLUTTER_GTK_PKG_ERRORS])
435 AC_MSG_WARN([$CLUTTER_PKG_ERRORS])
438 HAVE_CLUTTER=disabled
441 HAVE_CLUTTER=disabled
444 AC_SUBST(CLUTTER_CFLAGS)
445 AC_SUBST(CLUTTER_LIBS)
446 AC_SUBST(CLUTTER_GTK_CFLAGS)
447 AC_SUBST(CLUTTER_GTK_LIBS)
450 # Libchamplain support - used for map facility
451 # ----------------------------------------------------------------------
453 if test "x${libgps}" = "xyes" -a "x${HAVE_CLUTTER}" = "xyes"; then
454 if test "x${gtk3}" != "xno"; then
455 PKG_CHECK_MODULES(LIBCHAMPLAIN, [champlain-0.12 >= 0.12],
457 HAVE_LIBCHAMPLAIN=yes
458 AC_DEFINE(HAVE_LIBCHAMPLAIN, 1, [define to enable use of maps])
462 AC_MSG_WARN([$LIBCHAMPLAIN_PKG_ERRORS])
465 HAVE_LIBCHAMPLAIN=disabled
468 HAVE_LIBCHAMPLAIN=disabled
471 if test "x${libgps}" = "xyes" -a "x${HAVE_LIBCHAMPLAIN}" = "xyes" ; then
472 PKG_CHECK_MODULES(LIBCHAMPLAIN_GTK, [champlain-gtk-0.12 >= 0.12],
474 HAVE_LIBCHAMPLAIN_GTK=yes
475 AC_DEFINE(HAVE_LIBCHAMPLAIN_GTK, 1, [define to enable use of maps])
478 HAVE_LIBCHAMPLAIN_GTK=no
479 AC_MSG_WARN([$LIBCHAMPLAIN_GTK_PKG_ERRORS])
482 HAVE_LIBCHAMPLAIN_GTK=disabled
485 AM_CONDITIONAL(HAVE_LIBCHAMPLAIN_GTK, [test "x$HAVE_LIBCHAMPLAIN_GTK" = xyes])
486 AC_SUBST(LIBCHAMPLAIN_GTK_CFLAGS)
487 AC_SUBST(LIBCHAMPLAIN_GTK_LIBS)
490 # ----------------------------------------------------------------------
493 AC_HELP_STRING([--disable-lua], [disable lua support]),
494 [liblua=$enableval], [liblua=auto])
496 if test "x${liblua}" != "xno"; then
497 PKG_CHECK_MODULES(LUA, lua5.1 >= 5.1,
500 AC_DEFINE(HAVE_LUA, 1, [define to enable lua support])
504 AC_MSG_WARN([$LUA_PKG_ERRORS])
510 AM_CONDITIONAL(HAVE_LUA, [test "x$HAVE_LUA" = xyes])
514 # ----------------------------------------------------------------------
518 * \short autogenerated definition by autoheader.
523 * This file is a part of Geeqie project (http://www.geeqie.org/).
524 * Copyright (C) 2008 - 2016 The Geeqie Team
526 * This program is free software; you can redistribute it and/or modify
527 * it under the terms of the GNU General Public License as published by
528 * the Free Software Foundation; either version 2 of the License, or
529 * (at your option) any later version.
531 * This program is distributed in the hope that it will be useful,
532 * but WITHOUT ANY WARRANTY; without even the implied warranty of
533 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
534 * GNU General Public License for more details.
537 #ifndef _INCLUDE_CONFIG_H
538 #define _INCLUDE_CONFIG_H
550 src/icons/svg/Makefile
554 plugins/symlink/Makefile
555 plugins/rotate/Makefile
556 plugins/ufraw/Makefile
557 plugins/import/Makefile
562 dnl Print the results
565 cat > config.report << END
572 Version: $PACKAGE_VERSION
576 Win32: $platform_win32 (native: $os_win32)
581 CPPFLAGS: $__CPPFLAGS
586 Thread: $GTHREAD_LIBS
587 Others: $JPEG_LIBS $TIFF_LIBS $LCMS_LIBS $EXIV2_LIBS $CLUTTER_LIBS $CLUTTER_GTK_LIBS $LIBCHAMPLAIN_LIBS $LIBCHAMPLAIN_GTK_LIBS $LUA_LIBS
590 NLS support: $USE_NLS
594 Developer: $__IS_DEVELOPER
595 Debug flags: $__IS_DEBUG_FLAGS
596 Debug log: $__IS_DEBUG_LOG
597 Deprecated: $__IS_DEPRECATED
603 Clutter: $HAVE_CLUTTER
604 Libchamplain: $HAVE_LIBCHAMPLAIN
605 Libchamplain-gtk: $HAVE_LIBCHAMPLAIN_GTK
610 doc-tool: $GNOME_DOC_TOOL
617 Now you can type "make" to build Geeqie
618 (or you take blue pill and the story ends :)