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 # Add -Werror to the default CFLAGS
21 CFLAGS+=" -Werror -Wno-error=deprecated-declarations"
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])
30 AC_CONFIG_HEADER([config.h])
35 AC_ARG_ENABLE(developer, [
37 AC_HELP_STRING([--enable-developer], [turn on developers mode [default=no]])],
42 if test "x${enable_developer}" != "xyes"
59 DX_INIT_DOXYGEN($PACKAGE_NAME, doxygen.conf, doc/doxygen)
62 # ----------------------------------------------------------------------
65 dnl FIXME: official release convert default to 'no'
68 AC_ARG_ENABLE([debug-flags], [
70 AC_HELP_STRING([--enable-debug-flags], [use compiler flags for debugging [default=no]])], [],
72 if test "x${enable_developer}" != "xyes"
74 enable_debug_flags="no"
76 enable_debug_flags="yes"
80 AC_ARG_ENABLE([debug-log], [
82 AC_HELP_STRING([--enable-debug-log], [enable debugging messages [default=yes]])], [], [enable_debug_log="yes"])
84 if test "x${enable_debug_flags}" != "xno"
86 if test "x${enable_developer}" = "xyes"
88 CXXFLAGS="${CXXFLAGS} -Wall"
89 CFLAGS="${CFLAGS} -Wstrict-prototypes -Wall"
91 __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"
92 CXXFLAGS="${CXXFLAGS} ${__COMMONFLAGS}"
93 CFLAGS="${CFLAGS} ${__COMMONFLAGS} -Wimplicit-int -Werror-implicit-function-declaration"
99 if test "x${enable_debug_log}" != "xno"
101 AC_DEFINE(DEBUG,1,[Defined if Geeqie is compiled with debugging messages support])
107 AM_CONDITIONAL(DEBUG, test x$enable_debug_flags = xyes)
109 AC_ARG_ENABLE(deprecated, [
110 AC_HELP_STRING([--enable-deprecated], [turn off checking of deprecated functions [default=yes]])], [],
112 if test "x${enable_developer}" != "xyes"
114 enable_deprecated="no"
116 enable_deprecated="yes"
120 if test "x${enable_deprecated}" != "xno"
122 CXXFLAGS="${CXXFLAGS} -DGTK_DISABLE_DEPRECATED=1 -DGDK_DISABLE_DEPRECATED=1 -DGDK_PIXBUF_DISABLE_DEPRECATED=1 -DG_DISABLE_DEPRECATED=1"
123 CFLAGS="${CFLAGS} -DGTK_DISABLE_DEPRECATED=1 -DGDK_DISABLE_DEPRECATED=1 -DGDK_PIXBUF_DISABLE_DEPRECATED=1 -DG_DISABLE_DEPRECATED=1"
136 IT_PROG_INTLTOOL([0.35.0])
139 dnl checks for functions
140 AC_CHECK_FUNCS(strverscmp access fsync fflush)
143 # Check target architecture
146 AC_MSG_CHECKING([for some Win32 platform])
150 AC_DEFINE(PLATFORM_WIN32, 1, [Build on win32 OS])
156 AC_MSG_RESULT([$platform_win32])
157 AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
159 AC_MSG_CHECKING([for native Win32])
163 AC_DEFINE(OS_WIN32, 1, [Build on native win32 OS])
173 AC_MSG_RESULT([$os_win32])
175 AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
176 AM_CONDITIONAL(OS_UNIX, test "$os_unix" = "yes")
178 if test "$os_win32" = "yes"; then
179 AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
180 AC_CHECK_TOOL(WINDRES, windres, :)
185 AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
186 AM_CONDITIONAL(HAVE_WINDRES, test "x$WINDRES" != "x:")
189 dnl reasonable guesses for where stuff is installed
190 if test "x$prefix" = "xNONE"; then
196 AM_PATH_GLIB_2_0(2.24.0,,AC_MSG_ERROR(GLIB >= 2.24.0 not installed.))
197 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])])
199 if test x$gtk3 == xyes; then
200 AC_MSG_WARN("Gtk3 enabled")
201 m4_ifdef([AM_PATH_GTK_3_0], [AM_PATH_GTK_3_0(3.0.0,,AC_MSG_ERROR(GTK+ >= 3.0.0 not installed.))])
203 if test x$gtk3 != xno; then
204 AC_MSG_WARN("Gtk3 is preferred...")
205 m4_ifdef([AM_PATH_GTK_3_0], [AM_PATH_GTK_3_0(3.0.0,,[gtk3=no])])
209 if test x$gtk3 == xno; then
210 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 AC_ARG_ENABLE([threads],
216 AC_HELP_STRING([--disable-threads], [disable thread support]), [threads="${enableval}"])
219 if test "x${threads}" != "xno" ; then
220 PKG_CHECK_MODULES(GTHREAD, [gthread-2.0], have_gthread="yes", [AC_MSG_WARN("No thread support in glib")])
223 if test "x$have_gthread" != "xno"; then
224 AC_DEFINE(HAVE_GTHREAD, 1, Define if you have gthread library)
225 GLIB_CFLAGS="$GTHREAD_CFLAGS"
226 GLIB_LIBS="$GTHREAD_LIBS"
230 AC_PATH_PROGS(GDK_PIXBUF_CSOURCE, "gdk-pixbuf-csource")
231 AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
233 AC_ARG_WITH(readmedir, [ --with-readmedir=DIR install path for readme files],
234 readmedir=$withval, readmedir="$prefix/share/doc/geeqie-$VERSION")
235 AC_ARG_WITH(htmldir, [ --with-htmldir=DIR install path for html files],
236 htmldir=$withval, htmldir="$readmedir/html")
238 AC_DEFINE_UNQUOTED(GQ_HELPDIR, "$readmedir", [Location of documentation files])
239 AC_DEFINE_UNQUOTED(GQ_HTMLDIR, "$htmldir", [Location of html documentation])
241 AC_PATH_PROG(GNOME_DOC_TOOL, gnome-doc-tool)
246 eval "eval appdir=${datadir}/${PACKAGE}"
247 AC_DEFINE_UNQUOTED([GQ_APP_DIR], "$appdir", [Location of application data])
250 eval "eval gq_bindir=${prefix}/lib/${PACKAGE}"
251 AC_DEFINE_UNQUOTED([GQ_BIN_DIR], "$gq_bindir", [Location of helper scripts and executables])
255 # ----------------------------------------------------------------------
257 dnl Check for LIRC client support
258 AC_MSG_CHECKING(if LIRC support is enabled)
260 AC_ARG_ENABLE([lirc],
261 AC_HELP_STRING([--disable-lirc], [disable lirc support (auto)]),
263 if test "x${enableval}" = "xyes" -a "x$GCC" = "xyes"; then
269 fi], AC_MSG_RESULT(no))
272 AC_ARG_WITH(lirc-prefix,
273 [ --with-lirc-prefix=PATH Prefix where LIRC is installed],
275 for dir in `echo "$withval" | tr : ' '`; do
276 if test -d $dir/lib; then CXXFLAGS="$CXXFLAGS -L$dir/lib"; fi
277 if test -d $dir/include; then CXXFLAGS="$CXXFLAGS -I$dir/include"; fi
282 if test "x${lirc}" != "xno" ; then
283 AC_CHECK_HEADER(lirc/lirc_client.h,
284 [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])],,)],)
286 AM_CONDITIONAL(HAVE_LIRC, [test "x$HAVE_LIRC" = xyes])
290 # ----------------------------------------------------------------------
292 AC_ARG_ENABLE([lcms],
293 AC_HELP_STRING([--disable-lcms], [disable lcms support]),
294 [liblcms=$enableval], [liblcms=auto])
296 if test "x${liblcms}" != "xno"; then
297 PKG_CHECK_MODULES(LCMS, [lcms2 >= 2.0],
300 AC_DEFINE(HAVE_LCMS, 1, [define to enable use of color profiles with lcms])
301 AC_DEFINE(HAVE_LCMS2, 1, [lcms2 is used])
304 PKG_CHECK_MODULES(LCMS, [lcms >= 1.14],
307 AC_DEFINE(HAVE_LCMS, 1, [define to enable use of color profiles with lcms])
311 AC_MSG_WARN([$LCMS_PKG_ERRORS])
318 AM_CONDITIONAL(HAVE_LCMS, [test "x$HAVE_LCMS" = xyes])
319 AC_SUBST(LCMS_CFLAGS)
323 # ----------------------------------------------------------------------
325 AC_ARG_ENABLE([jpeg],
326 AC_HELP_STRING([--disable-jpeg], [disable direct jpeg support]),
327 [libjpeg=$enableval], [libjpeg=auto])
329 if test "x${libjpeg}" != "xno"; then
330 AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
333 AC_DEFINE(HAVE_JPEG, 1, [define to enable use of custom jpeg loader]),
339 AM_CONDITIONAL(HAVE_JPEG, [test "x$HAVE_JPEG" = xyes])
340 AC_SUBST(JPEG_CFLAGS)
345 # ----------------------------------------------------------------------
347 AC_ARG_ENABLE([tiff],
348 AC_HELP_STRING([--disable-tiff], [disable direct tiff support]),
349 [libtiff=$enableval], [libtiff=auto])
351 if test "x${libtiff}" != "xno"; then
352 AC_CHECK_LIB(tiff, TIFFClientOpen,
355 AC_DEFINE(HAVE_TIFF, 1, [define to enable use of custom tiff loader]),
361 AM_CONDITIONAL(HAVE_TIFF, [test "x$HAVE_TIFF" = xyes])
362 AC_SUBST(TIFF_CFLAGS)
367 # ----------------------------------------------------------------------
369 AC_ARG_ENABLE([exiv2],
370 AC_HELP_STRING([--disable-exiv2], [disable exiv2 support]),
371 [libexiv2=$enableval], [libexiv2=auto])
373 if test "x${libexiv2}" != "xno"; then
374 PKG_CHECK_MODULES(EXIV2, [exiv2 >= 0.11],
377 AC_DEFINE(HAVE_EXIV2, 1, [define to enable exiv2 support])
381 AC_MSG_WARN([$EXIV2_PKG_ERRORS])
387 AM_CONDITIONAL(HAVE_EXIV2, [test "x$HAVE_EXIV2" = xyes])
388 AC_SUBST(EXIV2_CFLAGS)
393 # ----------------------------------------------------------------------
395 dnl Set of available languages
396 ALL_LINGUAS="`grep -v '^#' "$srcdir/po/LINGUAS" | tr '\n' ' '`"
397 AC_SUBST([CONFIG_STATUS_DEPENDENCIES],['$(top_srcdir)/po/LINGUAS'])
399 GETTEXT_PACKAGE=$PACKAGE
400 AC_SUBST(GETTEXT_PACKAGE)
401 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["${GETTEXT_PACKAGE}"],[Name of gettext file])
403 AM_GLIB_DEFINE_LOCALEDIR(GQ_LOCALEDIR)
411 # clutter and champlain support
412 # ----------------------------------------------------------------------
415 AC_HELP_STRING([--enable-map], [enable map support]),
416 [libgps=$enableval], [libgps=no])
418 AC_ARG_ENABLE([gpu-accel],
419 AC_HELP_STRING([--enable-gpu-accel], [enable GPU acceleration support - experimental]),
420 [libclutter=$enableval], [libclutter=auto])
422 if test "x${libclutter}" = "xyes" -o "x${libgps}" = "xyes"; then
423 if test "x${libclutter}" != "xno" -a "x${gtk3}" != "xno"; then
424 PKG_CHECK_MODULES(CLUTTER, [clutter-1.0 >= 1.0],
426 PKG_CHECK_MODULES(CLUTTER_GTK, [clutter-gtk-1.0 >= 1.0],
429 AC_DEFINE(HAVE_CLUTTER, 1, [define to enable use of clutter library])
433 AC_MSG_WARN([$CLUTTER_GTK_PKG_ERRORS])
438 AC_MSG_WARN([$CLUTTER_PKG_ERRORS])
441 HAVE_CLUTTER=disabled
444 HAVE_CLUTTER=disabled
447 AC_SUBST(CLUTTER_CFLAGS)
448 AC_SUBST(CLUTTER_LIBS)
449 AC_SUBST(CLUTTER_GTK_CFLAGS)
450 AC_SUBST(CLUTTER_GTK_LIBS)
453 # Libchamplain support - used for map facility
454 # ----------------------------------------------------------------------
456 if test "x${libgps}" = "xyes" -a "x${HAVE_CLUTTER}" = "xyes"; then
457 if test "x${gtk3}" != "xno"; then
458 PKG_CHECK_MODULES(LIBCHAMPLAIN, [champlain-0.12 >= 0.12],
460 HAVE_LIBCHAMPLAIN=yes
461 AC_DEFINE(HAVE_LIBCHAMPLAIN, 1, [define to enable use of maps])
465 AC_MSG_WARN([$LIBCHAMPLAIN_PKG_ERRORS])
468 HAVE_LIBCHAMPLAIN=disabled
471 HAVE_LIBCHAMPLAIN=disabled
474 if test "x${libgps}" = "xyes" -a "x${HAVE_LIBCHAMPLAIN}" = "xyes" ; then
475 PKG_CHECK_MODULES(LIBCHAMPLAIN_GTK, [champlain-gtk-0.12 >= 0.12],
477 HAVE_LIBCHAMPLAIN_GTK=yes
478 AC_DEFINE(HAVE_LIBCHAMPLAIN_GTK, 1, [define to enable use of maps])
481 HAVE_LIBCHAMPLAIN_GTK=no
482 AC_MSG_WARN([$LIBCHAMPLAIN_GTK_PKG_ERRORS])
485 HAVE_LIBCHAMPLAIN_GTK=disabled
488 AM_CONDITIONAL(HAVE_LIBCHAMPLAIN_GTK, [test "x$HAVE_LIBCHAMPLAIN_GTK" = xyes])
489 AC_SUBST(LIBCHAMPLAIN_GTK_CFLAGS)
490 AC_SUBST(LIBCHAMPLAIN_GTK_LIBS)
493 # ----------------------------------------------------------------------
496 AC_HELP_STRING([--disable-lua], [disable lua support]),
497 [liblua=$enableval], [liblua=auto])
499 if test "x${liblua}" != "xno"; then
500 PKG_CHECK_MODULES(LUA, lua5.1 >= 5.1,
503 AC_DEFINE(HAVE_LUA, 1, [define to enable lua support])
507 AC_MSG_WARN([$LUA_PKG_ERRORS])
513 AM_CONDITIONAL(HAVE_LUA, [test "x$HAVE_LUA" = xyes])
517 # ----------------------------------------------------------------------
521 * \short autogenerated definition by autoheader.
526 * This file is a part of Geeqie project (http://www.geeqie.org/).
527 * Copyright (C) 2008 - 2016 The Geeqie Team
529 * This program is free software; you can redistribute it and/or modify
530 * it under the terms of the GNU General Public License as published by
531 * the Free Software Foundation; either version 2 of the License, or
532 * (at your option) any later version.
534 * This program is distributed in the hope that it will be useful,
535 * but WITHOUT ANY WARRANTY; without even the implied warranty of
536 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
537 * GNU General Public License for more details.
540 #ifndef _INCLUDE_CONFIG_H
541 #define _INCLUDE_CONFIG_H
553 src/icons/svg/Makefile
557 plugins/symlink/Makefile
558 plugins/rotate/Makefile
559 plugins/ufraw/Makefile
560 plugins/import/Makefile
565 dnl Print the results
568 cat > config.report << END
575 Version: $PACKAGE_VERSION
579 Win32: $platform_win32 (native: $os_win32)
584 CPPFLAGS: $__CPPFLAGS
589 Thread: $GTHREAD_LIBS
590 Others: $JPEG_LIBS $TIFF_LIBS $LCMS_LIBS $EXIV2_LIBS $CLUTTER_LIBS $CLUTTER_GTK_LIBS $LIBCHAMPLAIN_LIBS $LIBCHAMPLAIN_GTK_LIBS $LUA_LIBS
593 NLS support: $USE_NLS
597 Developer: $__IS_DEVELOPER
598 Debug flags: $__IS_DEBUG_FLAGS
599 Debug log: $__IS_DEBUG_LOG
600 Deprecated: $__IS_DEPRECATED
606 Clutter: $HAVE_CLUTTER
607 Libchamplain: $HAVE_LIBCHAMPLAIN
608 Libchamplain-gtk: $HAVE_LIBCHAMPLAIN_GTK
613 doc-tool: $GNOME_DOC_TOOL
620 Now you can type "make" to build Geeqie
621 (or you take blue pill and the story ends :)