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 foreign])
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"
139 IT_PROG_INTLTOOL([0.35.0])
142 dnl checks for functions
143 AC_CHECK_FUNCS(strverscmp access fsync fflush)
146 # Check target architecture
149 AC_MSG_CHECKING([for some Win32 platform])
153 AC_DEFINE(PLATFORM_WIN32, 1, [Build on win32 OS])
159 AC_MSG_RESULT([$platform_win32])
160 AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
162 AC_MSG_CHECKING([for native Win32])
166 AC_DEFINE(OS_WIN32, 1, [Build on native win32 OS])
176 AC_MSG_RESULT([$os_win32])
178 AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
179 AM_CONDITIONAL(OS_UNIX, test "$os_unix" = "yes")
181 if test "$os_win32" = "yes"; then
182 AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
183 AC_CHECK_TOOL(WINDRES, windres, :)
188 AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
189 AM_CONDITIONAL(HAVE_WINDRES, test "x$WINDRES" != "x:")
192 dnl reasonable guesses for where stuff is installed
193 if test "x$prefix" = "xNONE"; then
199 AM_PATH_GLIB_2_0(2.24.0,,AC_MSG_ERROR(GLIB >= 2.24.0 not installed.))
200 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 if test x$gtk3 == xyes; then
203 AC_MSG_WARN("Gtk3 enabled")
204 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 if test x$gtk3 != xno; then
207 AC_MSG_WARN("Gtk3 is preferred...")
208 m4_ifdef([AM_PATH_GTK_3_0], [AM_PATH_GTK_3_0(3.0.0,,[gtk3=no])])
212 if test x$gtk3 == xno; then
213 m4_ifdef([AM_PATH_GTK_2_0], [AM_PATH_GTK_2_0(2.20.0,,AC_MSG_ERROR(GTK+ >= 2.20.0 not installed.))])
218 AC_ARG_ENABLE([threads],
219 AC_HELP_STRING([--disable-threads], [disable thread support]), [threads="${enableval}"])
222 if test "x${threads}" != "xno" ; then
223 PKG_CHECK_MODULES(GTHREAD, [gthread-2.0], have_gthread="yes", [AC_MSG_WARN("No thread support in glib")])
226 if test "x$have_gthread" != "xno"; then
227 AC_DEFINE(HAVE_GTHREAD, 1, Define if you have gthread library)
228 GLIB_CFLAGS="$GTHREAD_CFLAGS"
229 GLIB_LIBS="$GTHREAD_LIBS"
233 AC_PATH_PROGS(GDK_PIXBUF_CSOURCE, "gdk-pixbuf-csource")
234 AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
236 AC_ARG_WITH(readmedir, [ --with-readmedir=DIR install path for readme files],
237 readmedir=$withval, readmedir="$prefix/share/doc/geeqie-$VERSION")
238 AC_ARG_WITH(htmldir, [ --with-htmldir=DIR install path for html files],
239 htmldir=$withval, htmldir="$readmedir/html")
241 AC_DEFINE_UNQUOTED(GQ_HELPDIR, "$readmedir", [Location of documentation files])
242 AC_DEFINE_UNQUOTED(GQ_HTMLDIR, "$htmldir", [Location of html documentation])
244 AC_PATH_PROG(GNOME_DOC_TOOL, gnome-doc-tool)
249 eval "eval appdir=${datadir}/${PACKAGE}"
250 AC_DEFINE_UNQUOTED([GQ_APP_DIR], "$appdir", [Location of application data])
253 eval "eval gq_bindir=${prefix}/lib/${PACKAGE}"
254 AC_DEFINE_UNQUOTED([GQ_BIN_DIR], "$gq_bindir", [Location of helper scripts and executables])
258 # ----------------------------------------------------------------------
260 dnl Check for LIRC client support
261 AC_MSG_CHECKING(if LIRC support is enabled)
263 AC_ARG_ENABLE([lirc],
264 AC_HELP_STRING([--disable-lirc], [disable lirc support (auto)]),
266 if test "x${enableval}" = "xyes" -a "x$GCC" = "xyes"; then
272 fi], AC_MSG_RESULT(no))
275 AC_ARG_WITH(lirc-prefix,
276 [ --with-lirc-prefix=PATH Prefix where LIRC is installed],
278 for dir in `echo "$withval" | tr : ' '`; do
279 if test -d $dir/lib; then CXXFLAGS="$CXXFLAGS -L$dir/lib"; fi
280 if test -d $dir/include; then CXXFLAGS="$CXXFLAGS -I$dir/include"; fi
285 if test "x${lirc}" != "xno" ; then
286 AC_CHECK_HEADER(lirc/lirc_client.h,
287 [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 AM_CONDITIONAL(HAVE_LIRC, [test "x$HAVE_LIRC" = xyes])
293 # ----------------------------------------------------------------------
295 AC_ARG_ENABLE([lcms],
296 AC_HELP_STRING([--disable-lcms], [disable lcms support]),
297 [liblcms=$enableval], [liblcms=auto])
299 if test "x${liblcms}" != "xno"; then
300 PKG_CHECK_MODULES(LCMS, [lcms2 >= 2.0],
303 AC_DEFINE(HAVE_LCMS, 1, [define to enable use of color profiles with lcms])
304 AC_DEFINE(HAVE_LCMS2, 1, [lcms2 is used])
307 PKG_CHECK_MODULES(LCMS, [lcms >= 1.14],
310 AC_DEFINE(HAVE_LCMS, 1, [define to enable use of color profiles with lcms])
314 AC_MSG_WARN([$LCMS_PKG_ERRORS])
321 AM_CONDITIONAL(HAVE_LCMS, [test "x$HAVE_LCMS" = xyes])
322 AC_SUBST(LCMS_CFLAGS)
326 # ----------------------------------------------------------------------
328 AC_ARG_ENABLE([jpeg],
329 AC_HELP_STRING([--disable-jpeg], [disable direct jpeg support]),
330 [libjpeg=$enableval], [libjpeg=auto])
332 if test "x${libjpeg}" != "xno"; then
333 AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
336 AC_DEFINE(HAVE_JPEG, 1, [define to enable use of custom jpeg loader]),
342 AM_CONDITIONAL(HAVE_JPEG, [test "x$HAVE_JPEG" = xyes])
343 AC_SUBST(JPEG_CFLAGS)
348 # ----------------------------------------------------------------------
350 AC_ARG_ENABLE([tiff],
351 AC_HELP_STRING([--disable-tiff], [disable direct tiff support]),
352 [libtiff=$enableval], [libtiff=auto])
354 if test "x${libtiff}" != "xno"; then
355 AC_CHECK_LIB(tiff, TIFFClientOpen,
358 AC_DEFINE(HAVE_TIFF, 1, [define to enable use of custom tiff loader]),
364 AM_CONDITIONAL(HAVE_TIFF, [test "x$HAVE_TIFF" = xyes])
365 AC_SUBST(TIFF_CFLAGS)
370 # ----------------------------------------------------------------------
372 AC_ARG_ENABLE([exiv2],
373 AC_HELP_STRING([--disable-exiv2], [disable exiv2 support]),
374 [libexiv2=$enableval], [libexiv2=auto])
376 if test "x${libexiv2}" != "xno"; then
377 PKG_CHECK_MODULES(EXIV2, [exiv2 >= 0.11],
380 AC_DEFINE(HAVE_EXIV2, 1, [define to enable exiv2 support])
384 AC_MSG_WARN([$EXIV2_PKG_ERRORS])
390 AM_CONDITIONAL(HAVE_EXIV2, [test "x$HAVE_EXIV2" = xyes])
391 AC_SUBST(EXIV2_CFLAGS)
396 # ----------------------------------------------------------------------
398 dnl Set of available languages
399 ALL_LINGUAS="`grep -v '^#' "$srcdir/po/LINGUAS" | tr '\n' ' '`"
400 AC_SUBST([CONFIG_STATUS_DEPENDENCIES],['$(top_srcdir)/po/LINGUAS'])
402 GETTEXT_PACKAGE=$PACKAGE
403 AC_SUBST(GETTEXT_PACKAGE)
404 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["${GETTEXT_PACKAGE}"],[Name of gettext file])
406 AM_GLIB_DEFINE_LOCALEDIR(GQ_LOCALEDIR)
414 # clutter and champlain support
415 # ----------------------------------------------------------------------
418 AC_HELP_STRING([--enable-map], [enable map support]),
419 [libgps=$enableval], [libgps=no])
421 AC_ARG_ENABLE([gpu-accel],
422 AC_HELP_STRING([--enable-gpu-accel], [enable GPU acceleration support - experimental]),
423 [libclutter=$enableval], [libclutter=auto])
425 if test "x${libclutter}" = "xyes" -o "x${libgps}" = "xyes"; then
426 if test "x${libclutter}" != "xno" -a "x${gtk3}" != "xno"; then
427 PKG_CHECK_MODULES(CLUTTER, [clutter-1.0 >= 1.0],
429 PKG_CHECK_MODULES(CLUTTER_GTK, [clutter-gtk-1.0 >= 1.0],
432 AC_DEFINE(HAVE_CLUTTER, 1, [define to enable use of clutter library])
436 AC_MSG_WARN([$CLUTTER_GTK_PKG_ERRORS])
441 AC_MSG_WARN([$CLUTTER_PKG_ERRORS])
444 HAVE_CLUTTER=disabled
447 HAVE_CLUTTER=disabled
450 AC_SUBST(CLUTTER_CFLAGS)
451 AC_SUBST(CLUTTER_LIBS)
452 AC_SUBST(CLUTTER_GTK_CFLAGS)
453 AC_SUBST(CLUTTER_GTK_LIBS)
456 # Libchamplain support - used for map facility
457 # ----------------------------------------------------------------------
459 if test "x${libgps}" = "xyes" -a "x${HAVE_CLUTTER}" = "xyes"; then
460 if test "x${gtk3}" != "xno"; then
461 PKG_CHECK_MODULES(LIBCHAMPLAIN, [champlain-0.12 >= 0.12],
463 HAVE_LIBCHAMPLAIN=yes
464 AC_DEFINE(HAVE_LIBCHAMPLAIN, 1, [define to enable use of maps])
468 AC_MSG_WARN([$LIBCHAMPLAIN_PKG_ERRORS])
471 HAVE_LIBCHAMPLAIN=disabled
474 HAVE_LIBCHAMPLAIN=disabled
477 if test "x${libgps}" = "xyes" -a "x${HAVE_LIBCHAMPLAIN}" = "xyes" ; then
478 PKG_CHECK_MODULES(LIBCHAMPLAIN_GTK, [champlain-gtk-0.12 >= 0.12],
480 HAVE_LIBCHAMPLAIN_GTK=yes
481 AC_DEFINE(HAVE_LIBCHAMPLAIN_GTK, 1, [define to enable use of maps])
484 HAVE_LIBCHAMPLAIN_GTK=no
485 AC_MSG_WARN([$LIBCHAMPLAIN_GTK_PKG_ERRORS])
488 HAVE_LIBCHAMPLAIN_GTK=disabled
491 AM_CONDITIONAL(HAVE_LIBCHAMPLAIN_GTK, [test "x$HAVE_LIBCHAMPLAIN_GTK" = xyes])
492 AC_SUBST(LIBCHAMPLAIN_GTK_CFLAGS)
493 AC_SUBST(LIBCHAMPLAIN_GTK_LIBS)
496 # ----------------------------------------------------------------------
499 AC_HELP_STRING([--disable-lua], [disable lua support]),
500 [liblua=$enableval], [liblua=auto])
502 if test "x${liblua}" != "xno"; then
503 PKG_CHECK_MODULES(LUA, lua5.1 >= 5.1,
506 AC_DEFINE(HAVE_LUA, 1, [define to enable lua support])
510 AC_MSG_WARN([$LUA_PKG_ERRORS])
516 AM_CONDITIONAL(HAVE_LUA, [test "x$HAVE_LUA" = xyes])
520 # ----------------------------------------------------------------------
524 * \short autogenerated definition by autoheader.
529 * This file is a part of Geeqie project (http://www.geeqie.org/).
530 * Copyright (C) 2008 - 2016 The Geeqie Team
532 * This program is free software; you can redistribute it and/or modify
533 * it under the terms of the GNU General Public License as published by
534 * the Free Software Foundation; either version 2 of the License, or
535 * (at your option) any later version.
537 * This program is distributed in the hope that it will be useful,
538 * but WITHOUT ANY WARRANTY; without even the implied warranty of
539 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
540 * GNU General Public License for more details.
543 #ifndef _INCLUDE_CONFIG_H
544 #define _INCLUDE_CONFIG_H
556 src/icons/svg/Makefile
560 plugins/symlink/Makefile
561 plugins/rotate/Makefile
562 plugins/ufraw/Makefile
563 plugins/import/Makefile
568 dnl Print the results
571 cat > config.report << END
578 Version: $PACKAGE_VERSION
582 Win32: $platform_win32 (native: $os_win32)
587 CPPFLAGS: $__CPPFLAGS
592 Thread: $GTHREAD_LIBS
593 Others: $JPEG_LIBS $TIFF_LIBS $LCMS_LIBS $EXIV2_LIBS $CLUTTER_LIBS $CLUTTER_GTK_LIBS $LIBCHAMPLAIN_LIBS $LIBCHAMPLAIN_GTK_LIBS $LUA_LIBS
596 NLS support: $USE_NLS
600 Developer: $__IS_DEVELOPER
601 Debug flags: $__IS_DEBUG_FLAGS
602 Debug log: $__IS_DEBUG_LOG
603 Deprecated: $__IS_DEPRECATED
609 Clutter: $HAVE_CLUTTER
610 Libchamplain: $HAVE_LIBCHAMPLAIN
611 Libchamplain-gtk: $HAVE_LIBCHAMPLAIN_GTK
616 doc-tool: $GNOME_DOC_TOOL
623 Now you can type "make" to build Geeqie
624 (or you take blue pill and the story ends :)