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"
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"
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)
371 # ----------------------------------------------------------------------
373 AC_ARG_ENABLE([exiv2],
374 AC_HELP_STRING([--disable-exiv2], [disable exiv2 support]),
375 [libexiv2=$enableval], [libexiv2=auto])
377 if test "x${libexiv2}" != "xno"; then
378 PKG_CHECK_MODULES(EXIV2, [exiv2 >= 0.11],
381 AC_DEFINE(HAVE_EXIV2, 1, [define to enable exiv2 support])
385 AC_MSG_WARN([$EXIV2_PKG_ERRORS])
391 AM_CONDITIONAL(HAVE_EXIV2, [test "x$HAVE_EXIV2" = xyes])
392 AC_SUBST(EXIV2_CFLAGS)
397 # ----------------------------------------------------------------------
399 dnl Set of available languages
400 ALL_LINGUAS="`grep -v '^#' "$srcdir/po/LINGUAS" | tr '\n' ' '`"
401 AC_SUBST([CONFIG_STATUS_DEPENDENCIES],['$(top_srcdir)/po/LINGUAS'])
403 GETTEXT_PACKAGE=$PACKAGE
404 AC_SUBST(GETTEXT_PACKAGE)
405 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["${GETTEXT_PACKAGE}"],[Name of gettext file])
407 AM_GLIB_DEFINE_LOCALEDIR(GQ_LOCALEDIR)
415 # clutter and champlain support
416 # ----------------------------------------------------------------------
419 AC_HELP_STRING([--enable-map], [enable map support]),
420 [libgps=$enableval], [libgps=no])
422 AC_ARG_ENABLE([gpu-accel],
423 AC_HELP_STRING([--enable-gpu-accel], [enable GPU acceleration support - experimental]),
424 [libclutter=$enableval], [libclutter=auto])
426 if test "x${libclutter}" = "xyes" -o "x${libgps}" = "xyes"; then
427 if test "x${libclutter}" != "xno" -a "x${gtk3}" != "xno"; then
428 PKG_CHECK_MODULES(CLUTTER, [clutter-1.0 >= 1.0],
430 PKG_CHECK_MODULES(CLUTTER_GTK, [clutter-gtk-1.0 >= 1.0],
433 AC_DEFINE(HAVE_CLUTTER, 1, [define to enable use of clutter library])
437 AC_MSG_WARN([$CLUTTER_GTK_PKG_ERRORS])
442 AC_MSG_WARN([$CLUTTER_PKG_ERRORS])
445 HAVE_CLUTTER=disabled
448 HAVE_CLUTTER=disabled
451 AC_SUBST(CLUTTER_CFLAGS)
452 AC_SUBST(CLUTTER_LIBS)
453 AC_SUBST(CLUTTER_GTK_CFLAGS)
454 AC_SUBST(CLUTTER_GTK_LIBS)
457 # Libchamplain support - used for map facility
458 # ----------------------------------------------------------------------
460 if test "x${libgps}" = "xyes" -a "x${HAVE_CLUTTER}" = "xyes"; then
461 if test "x${gtk3}" != "xno"; then
462 PKG_CHECK_MODULES(LIBCHAMPLAIN, [champlain-0.12 >= 0.12],
464 HAVE_LIBCHAMPLAIN=yes
465 AC_DEFINE(HAVE_LIBCHAMPLAIN, 1, [define to enable use of maps])
469 AC_MSG_WARN([$LIBCHAMPLAIN_PKG_ERRORS])
472 HAVE_LIBCHAMPLAIN=disabled
475 HAVE_LIBCHAMPLAIN=disabled
478 if test "x${libgps}" = "xyes" -a "x${HAVE_LIBCHAMPLAIN}" = "xyes" ; then
479 PKG_CHECK_MODULES(LIBCHAMPLAIN_GTK, [champlain-gtk-0.12 >= 0.12],
481 HAVE_LIBCHAMPLAIN_GTK=yes
482 AC_DEFINE(HAVE_LIBCHAMPLAIN_GTK, 1, [define to enable use of maps])
485 HAVE_LIBCHAMPLAIN_GTK=no
486 AC_MSG_WARN([$LIBCHAMPLAIN_GTK_PKG_ERRORS])
489 HAVE_LIBCHAMPLAIN_GTK=disabled
492 AM_CONDITIONAL(HAVE_LIBCHAMPLAIN_GTK, [test "x$HAVE_LIBCHAMPLAIN_GTK" = xyes])
493 AC_SUBST(LIBCHAMPLAIN_GTK_CFLAGS)
494 AC_SUBST(LIBCHAMPLAIN_GTK_LIBS)
497 # ----------------------------------------------------------------------
500 AC_HELP_STRING([--disable-lua], [disable lua support]),
501 [liblua=$enableval], [liblua=auto])
503 if test "x${liblua}" != "xno"; then
504 PKG_CHECK_MODULES(LUA, lua5.1 >= 5.1,
507 AC_DEFINE(HAVE_LUA, 1, [define to enable lua support])
511 AC_MSG_WARN([$LUA_PKG_ERRORS])
517 AM_CONDITIONAL(HAVE_LUA, [test "x$HAVE_LUA" = xyes])
521 # ----------------------------------------------------------------------
525 * \short autogenerated definition by autoheader.
530 * This file is a part of Geeqie project (http://www.geeqie.org/).
531 * Copyright (C) 2008 - 2016 The Geeqie Team
533 * This program is free software; you can redistribute it and/or modify
534 * it under the terms of the GNU General Public License as published by
535 * the Free Software Foundation; either version 2 of the License, or
536 * (at your option) any later version.
538 * This program is distributed in the hope that it will be useful,
539 * but WITHOUT ANY WARRANTY; without even the implied warranty of
540 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
541 * GNU General Public License for more details.
544 #ifndef _INCLUDE_CONFIG_H
545 #define _INCLUDE_CONFIG_H
557 src/icons/svg/Makefile
561 plugins/symlink/Makefile
562 plugins/rotate/Makefile
563 plugins/ufraw/Makefile
564 plugins/import/Makefile
569 dnl Print the results
572 cat > config.report << END
579 Version: $PACKAGE_VERSION
583 Win32: $platform_win32 (native: $os_win32)
588 CPPFLAGS: $__CPPFLAGS
593 Thread: $GTHREAD_LIBS
594 Others: $JPEG_LIBS $TIFF_LIBS $LCMS_LIBS $EXIV2_LIBS $CLUTTER_LIBS $CLUTTER_GTK_LIBS $LIBCHAMPLAIN_LIBS $LIBCHAMPLAIN_GTK_LIBS $LUA_LIBS
597 NLS support: $USE_NLS
601 Developer: $__IS_DEVELOPER
602 Debug flags: $__IS_DEBUG_FLAGS
603 Debug log: $__IS_DEBUG_LOG
604 Deprecated: $__IS_DEPRECATED
610 Clutter: $HAVE_CLUTTER
611 Libchamplain: $HAVE_LIBCHAMPLAIN
612 Libchamplain-gtk: $HAVE_LIBCHAMPLAIN_GTK
617 doc-tool: $GNOME_DOC_TOOL
624 Now you can type "make" to build Geeqie
625 (or you take blue pill and the story ends :)