Fix #314: Remote commands for thumbnail maintenance
[geeqie.git] / configure.in
index b390258..bda8170 100644 (file)
@@ -1,8 +1,8 @@
 dnl Process this file with autoconf to produce a configure script.  -*- Autoconf
  -*-
 
-dnl This file is a part of Geeqie project (http://geeqie.sourceforge.net/).
-dnl Copyright (C) 2008 - 2010 The Geeqie Team
+dnl This file is a part of Geeqie project (http://www.geeqie.org/).
+dnl Copyright (C) 2008 - 2016 The Geeqie Team
 dnl
 dnl This program is free software; you can redistribute it and/or modify
 dnl it under the terms of the GNU General Public License as published by
@@ -15,19 +15,26 @@ dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 dnl GNU General Public License for more details.
 
 AC_PREREQ(2.57)
-AC_INIT(geeqie, 1.0, geeqie-devel@lists.sourceforge.net)
+AC_INIT([geeqie], m4_esyscmd_s(git rev-parse --quiet --verify --short master), [geeqie-devel@lists.sourceforge.net], [], [http://www.geeqie.org/])
+
+# Add -Werror to the default CFLAGS
+CFLAGS+=" -Werror -Wno-error=deprecated-declarations"
 
 # Check for rightly dirs
 AC_CONFIG_SRCDIR([src/main.c])
 
 AC_CONFIG_AUX_DIR(auxdir)
-AM_INIT_AUTOMAKE
+# Require Automake 1.14 for %reldir% support
+AM_INIT_AUTOMAKE([1.14.1 subdir-objects])
 
 AC_CONFIG_HEADER([config.h])
 
 # Only for developers
 AM_MAINTAINER_MODE
 
+# Silent build for automake >= 1.11
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
 AC_ARG_ENABLE(developer, [
 Development options:
 AC_HELP_STRING([--enable-developer], [turn on developers mode [default=no]])],
@@ -128,6 +135,7 @@ AC_PROG_CC
 AC_PROG_CXX
 AC_STDC_HEADERS
 AC_ARG_PROGRAM
+AC_SYS_LARGEFILE
 IT_PROG_INTLTOOL([0.35.0])
 
 
@@ -188,8 +196,23 @@ else
   prefix=$prefix
 fi
 
-AM_PATH_GLIB_2_0(2.4.0,,AC_MSG_ERROR(GLIB >= 2.4.0 not installed.))
-AM_PATH_GTK_2_0(2.4.0,,AC_MSG_ERROR(GTK+ >= 2.4.0 not installed.))
+AM_PATH_GLIB_2_0(2.24.0,,AC_MSG_ERROR(GLIB >= 2.24.0 not installed.))
+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])])
+
+if test x$gtk3 == xyes; then
+    AC_MSG_WARN("Gtk3 enabled")
+    m4_ifdef([AM_PATH_GTK_3_0], [AM_PATH_GTK_3_0(3.0.0,,AC_MSG_ERROR(GTK+ >= 3.0.0 not installed.))])
+else
+    if test x$gtk3 != xno; then
+       AC_MSG_WARN("Gtk3 is preferred...")
+       m4_ifdef([AM_PATH_GTK_3_0], [AM_PATH_GTK_3_0(3.0.0,,[gtk3=no])])
+    fi
+fi
+
+if test x$gtk3 == xno; then
+    m4_ifdef([AM_PATH_GTK_2_0], [AM_PATH_GTK_2_0(2.20.0,,AC_MSG_ERROR(GTK+ >= 2.20.0 not installed.))])
+    true
+fi
 
 threads="auto"
 AC_ARG_ENABLE([threads],
@@ -274,14 +297,22 @@ AC_ARG_ENABLE([lcms],
     [liblcms=$enableval], [liblcms=auto])
 
 if test "x${liblcms}" != "xno"; then
-  PKG_CHECK_MODULES(LCMS, [lcms >= 1.14],
+  PKG_CHECK_MODULES(LCMS, [lcms2 >= 2.0],
     [
       HAVE_LCMS=yes
       AC_DEFINE(HAVE_LCMS, 1, [define to enable use of color profiles with lcms])
+      AC_DEFINE(HAVE_LCMS2, 1, [lcms2 is used])
     ],
     [
-      HAVE_LCMS=no
-      AC_MSG_WARN([$LCMS_PKG_ERRORS])
+    PKG_CHECK_MODULES(LCMS, [lcms >= 1.14],
+      [
+        HAVE_LCMS=yes
+        AC_DEFINE(HAVE_LCMS, 1, [define to enable use of color profiles with lcms])
+      ],
+      [
+        HAVE_LCMS=no
+        AC_MSG_WARN([$LCMS_PKG_ERRORS])
+      ])
     ])
 else
   HAVE_LCMS=disabled
@@ -301,7 +332,8 @@ AC_ARG_ENABLE([jpeg],
 if test "x${libjpeg}" != "xno"; then
   AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
       HAVE_JPEG=yes
-      JPEG_LIBS=-ljpeg,
+      JPEG_LIBS=-ljpeg
+      AC_DEFINE(HAVE_JPEG, 1, [define to enable use of custom jpeg loader]),
       HAVE_JPEG=no)
 else
   HAVE_JPEG=disabled
@@ -312,6 +344,28 @@ AC_SUBST(JPEG_CFLAGS)
 AC_SUBST(JPEG_LIBS)
 
 
+#  libtiff support
+# ----------------------------------------------------------------------
+
+AC_ARG_ENABLE([tiff],
+  AC_HELP_STRING([--disable-tiff], [disable direct tiff support]),
+    [libtiff=$enableval], [libtiff=auto])
+
+if test "x${libtiff}" != "xno"; then
+  AC_CHECK_LIB(tiff, TIFFClientOpen,
+      HAVE_TIFF=yes
+      TIFF_LIBS=-ltiff
+      AC_DEFINE(HAVE_TIFF, 1, [define to enable use of custom tiff loader]),
+      HAVE_TIFF=no)
+else
+  HAVE_TIFF=disabled
+fi
+
+AM_CONDITIONAL(HAVE_TIFF, [test "x$HAVE_TIFF" = xyes])
+AC_SUBST(TIFF_CFLAGS)
+AC_SUBST(TIFF_LIBS)
+
+
 #  Exiv2 support
 # ----------------------------------------------------------------------
 
@@ -357,32 +411,74 @@ AC_SUBST(CPPFLAGS)
 AC_SUBST(LDFLAGS)
 
 
-#  Libchamplain support - used for GPS map facility - experimental
+#  clutter and champlain support
 # ----------------------------------------------------------------------
 
-AC_ARG_ENABLE([gps],
-  AC_HELP_STRING([--enable-gps], [enable GPS map support - experimental]),
-    [libgps=$enableval], [libgps=auto])
+AC_ARG_ENABLE([map],
+  AC_HELP_STRING([--enable-map], [enable map support]),
+    [libgps=$enableval], [libgps=no])
+
+AC_ARG_ENABLE([gpu-accel],
+  AC_HELP_STRING([--enable-gpu-accel], [enable GPU acceleration support - experimental]),
+    [libclutter=$enableval], [libclutter=auto])
+
+if test "x${libclutter}" = "xyes" -o "x${libgps}" = "xyes"; then
+    if test "x${libclutter}" != "xno" -a "x${gtk3}" != "xno"; then
+      PKG_CHECK_MODULES(CLUTTER, [clutter-1.0 >= 1.0],
+        [
+          PKG_CHECK_MODULES(CLUTTER_GTK, [clutter-gtk-1.0 >= 1.0],
+            [
+              HAVE_CLUTTER=yes
+              AC_DEFINE(HAVE_CLUTTER, 1, [define to enable use of clutter library])
+            ],
+            [
+              HAVE_CLUTTER=no
+              AC_MSG_WARN([$CLUTTER_GTK_PKG_ERRORS])
+            ])
+        ],
+        [
+          HAVE_CLUTTER=no
+          AC_MSG_WARN([$CLUTTER_PKG_ERRORS])
+        ])
+    else
+      HAVE_CLUTTER=disabled
+    fi
+else
+  HAVE_CLUTTER=disabled
+fi
 
-if test "x${libgps}" = "xyes"; then
-  PKG_CHECK_MODULES(LIBCHAMPLAIN, [champlain-0.4 >= 0.4],
-    [
-      HAVE_LIBCHAMPLAIN=yes
-      AC_DEFINE(HAVE_LIBCHAMPLAIN, 1, [define to enable use of GPS maps])
-    ],
-    [
-      HAVE_LIBCHAMPLAIN=no
-      AC_MSG_WARN([$LIBCHAMPLAIN_PKG_ERRORS])
-    ])
+AC_SUBST(CLUTTER_CFLAGS)
+AC_SUBST(CLUTTER_LIBS)
+AC_SUBST(CLUTTER_GTK_CFLAGS)
+AC_SUBST(CLUTTER_GTK_LIBS)
+
+
+#  Libchamplain support - used for map facility
+# ----------------------------------------------------------------------
+
+if test "x${libgps}" = "xyes" -a "x${HAVE_CLUTTER}" = "xyes"; then
+    if test "x${gtk3}" != "xno"; then
+      PKG_CHECK_MODULES(LIBCHAMPLAIN, [champlain-0.12 >= 0.12],
+        [
+          HAVE_LIBCHAMPLAIN=yes
+          AC_DEFINE(HAVE_LIBCHAMPLAIN, 1, [define to enable use of maps])
+        ],
+        [
+          HAVE_LIBCHAMPLAIN=no
+          AC_MSG_WARN([$LIBCHAMPLAIN_PKG_ERRORS])
+        ])
+    else
+      HAVE_LIBCHAMPLAIN=disabled
+    fi
 else
   HAVE_LIBCHAMPLAIN=disabled
 fi
 
-if test "x${libgps}" = "xyes"; then
-  PKG_CHECK_MODULES(LIBCHAMPLAIN_GTK, [champlain-gtk-0.4 >= 0.4],
+if test "x${libgps}" = "xyes" -a "x${HAVE_LIBCHAMPLAIN}" = "xyes" ; then
+  PKG_CHECK_MODULES(LIBCHAMPLAIN_GTK, [champlain-gtk-0.12 >= 0.12],
     [
       HAVE_LIBCHAMPLAIN_GTK=yes
-      AC_DEFINE(HAVE_LIBCHAMPLAIN_GTK, 1, [define to enable use of GPS maps])
+      AC_DEFINE(HAVE_LIBCHAMPLAIN_GTK, 1, [define to enable use of maps])
     ],
     [
       HAVE_LIBCHAMPLAIN_GTK=no
@@ -396,6 +492,33 @@ AM_CONDITIONAL(HAVE_LIBCHAMPLAIN_GTK, [test "x$HAVE_LIBCHAMPLAIN_GTK" = xyes])
 AC_SUBST(LIBCHAMPLAIN_GTK_CFLAGS)
 AC_SUBST(LIBCHAMPLAIN_GTK_LIBS)
 
+#  Lua support
+# ----------------------------------------------------------------------
+
+AC_ARG_ENABLE([lua],
+  AC_HELP_STRING([--disable-lua], [disable lua support]),
+    [liblua=$enableval], [liblua=auto])
+
+if test "x${liblua}" != "xno"; then
+  PKG_CHECK_MODULES(LUA, lua5.1 >= 5.1,
+    [
+      HAVE_LUA=yes
+      AC_DEFINE(HAVE_LUA, 1, [define to enable lua support])
+    ],
+    [
+      HAVE_LUA=no
+      AC_MSG_WARN([$LUA_PKG_ERRORS])
+    ])
+else
+  HAVE_LUA=disabled
+fi
+
+AM_CONDITIONAL(HAVE_LUA, [test "x$HAVE_LUA" = xyes])
+AC_SUBST(LUA_CFLAGS)
+AC_SUBST(LUA_LIBS)
+
+# ----------------------------------------------------------------------
+
 AH_TOP([
 /** \file
  * \short autogenerated definition by autoheader.
@@ -403,8 +526,8 @@ AH_TOP([
  */
 
 /*
- *  This file is a part of Geeqie project (http://geeqie.sourceforge.net/).
- *  Copyright (C) 2008 - 2010 The Geeqie Team
+ *  This file is a part of Geeqie project (http://www.geeqie.org/).
+ *  Copyright (C) 2008 - 2016 The Geeqie Team
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -453,8 +576,6 @@ cat > config.report << END
 Package:
   Name:          $PACKAGE_NAME
   Version:       $PACKAGE_VERSION
-  Patch version: $GQ_PATCH_VERSION
-  Date:          $GQ_PATCH_DATE
 
 Architecture:
   UNIX:          $os_unix
@@ -469,7 +590,7 @@ Flags:
   Gtk:           $GTK_CFLAGS
   Glib:          $GLIB_CFLAGS
   Thread:        $GTHREAD_LIBS
-  Others:       $JPEG_LIBS $LCMS_LIBS $EXIV2_LIBS $LIBCHAMPLAIN_LIBS $LIBCHAMPLAIN_GTK_LIBS
+  Others:       $JPEG_LIBS $TIFF_LIBS $LCMS_LIBS $EXIV2_LIBS $CLUTTER_LIBS $CLUTTER_GTK_LIBS $LIBCHAMPLAIN_LIBS $LIBCHAMPLAIN_GTK_LIBS $LUA_LIBS
 
 Localization:
   NLS support:   $USE_NLS
@@ -485,12 +606,13 @@ Support:
   LCMS:          $HAVE_LCMS
   Exiv2:        $HAVE_EXIV2
   Lirc:          $HAVE_LIRC
+  Clutter:       $HAVE_CLUTTER
   Libchamplain:                $HAVE_LIBCHAMPLAIN
   Libchamplain-gtk:    $HAVE_LIBCHAMPLAIN_GTK
+  Lua:          $HAVE_LUA
 
 Documentation:
-  Doxygen:       $DOXYGEN
-  Formats:       $doxy_formats_report
+  Doxygen:       $DX_DOXYGEN
   doc-tool:      $GNOME_DOC_TOOL
 
 END