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 -Wno-error=sign-compare -Wno-error=implicit-fallthrough -Wno-error=return-type"
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([--disable-map], [disable map support]),
420 [libgps=$enableval], [libgps=auto])
422 AC_ARG_ENABLE([gpu-accel],
423 AC_HELP_STRING([--disable-gpu-accel], [disable GPU acceleration support - experimental]),
424 [libclutter=$enableval], [libclutter=auto])
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 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}" != "xno" -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}" != "xno" -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
561 plugins/geocode-parameters/Makefile
566 dnl Print the results
569 cat > config.report << END
576 Version: $PACKAGE_VERSION
580 Win32: $platform_win32 (native: $os_win32)
585 CPPFLAGS: $__CPPFLAGS
590 Thread: $GTHREAD_LIBS
591 Others: $JPEG_LIBS $TIFF_LIBS $LCMS_LIBS $EXIV2_LIBS $CLUTTER_LIBS $CLUTTER_GTK_LIBS $LIBCHAMPLAIN_LIBS $LIBCHAMPLAIN_GTK_LIBS $LUA_LIBS
594 NLS support: $USE_NLS
598 Developer: $__IS_DEVELOPER
599 Debug flags: $__IS_DEBUG_FLAGS
600 Debug log: $__IS_DEBUG_LOG
601 Deprecated: $__IS_DEPRECATED
607 Clutter: $HAVE_CLUTTER
608 Libchamplain: $HAVE_LIBCHAMPLAIN
609 Libchamplain-gtk: $HAVE_LIBCHAMPLAIN_GTK
614 doc-tool: $GNOME_DOC_TOOL
621 Now you can type "make" to build Geeqie
622 (or you take blue pill and the story ends :)