Include a Other Software section in Help file
[geeqie.git] / configure.ac
index 4a14918..799128b 100644 (file)
@@ -15,7 +15,7 @@ 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], m4_esyscmd_s(git rev-parse --quiet --verify --short HEAD), [geeqie@freelists.org], [], [http://www.geeqie.org/])
+AC_INIT([geeqie], m4_translit(m4_esyscmd([if [ $(git tag --list 'v[1-9]*' --points-at HEAD | wc -c) -gt 0 ]; then git tag --list v[1-9]* --points-at HEAD | tail -n 1 | tr -d 'v' ; else git tag --list v[1-9]* | tail -n 1 | tr -d 'v' && echo "+git" && git log --max-count=1 --date=format:"%Y%m%d" --format="%ad" && echo "-" && git rev-parse --quiet --verify --short HEAD; fi ]), m4_newline), [geeqie@freelists.org], [], [http://www.geeqie.org/])
 
 # Add -Werror to the default CFLAGS
 CFLAGS+=" -Werror -Wno-error=deprecated-declarations -Wno-error=sign-compare -Wno-error=return-type"
@@ -25,7 +25,7 @@ AC_CONFIG_SRCDIR([src/main.c])
 
 AC_CONFIG_AUX_DIR(auxdir)
 # Require Automake 1.14 for %reldir% support
-AM_INIT_AUTOMAKE([1.14.1 subdir-objects foreign dist-xz no-dist-gzip])
+AM_INIT_AUTOMAKE([1.14.1 subdir-objects foreign dist-xz no-dist-gzip tar-ustar])
 
 AC_CONFIG_HEADER([config.h])
 
@@ -190,6 +190,8 @@ AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
 AM_CONDITIONAL(HAVE_WINDRES, test "x$WINDRES" != "x:")
 AC_SUBST(WINDRES)
 
+AM_CONDITIONAL([EXTERNAL_PREFIX], [test "x$prefix" != "xNONE"])
+
 dnl reasonable guesses for where stuff is installed
 if test "x$prefix" = "xNONE"; then
   prefix="/usr/local"
@@ -197,7 +199,7 @@ else
   prefix=$prefix
 fi
 
-AM_PATH_GLIB_2_0(2.24.0,,AC_MSG_ERROR(GLIB >= 2.24.0 not installed.))
+AM_PATH_GLIB_2_0(2.52.0,,AC_MSG_ERROR(GLIB >= 2.52.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
@@ -242,7 +244,7 @@ AC_ARG_WITH(htmldir, [  --with-htmldir=DIR      install path for html files],
 AC_DEFINE_UNQUOTED(GQ_HELPDIR, "$readmedir", [Location of documentation files])
 AC_DEFINE_UNQUOTED(GQ_HTMLDIR, "$htmldir", [Location of html documentation])
 
-AC_PATH_PROG(GNOME_DOC_TOOL, gnome-doc-tool)
+AC_PATH_PROG(GNOME_DOC_TOOL, yelp-build)
 
 AC_SUBST(readmedir)
 AC_SUBST(htmldir)
@@ -366,6 +368,31 @@ AM_CONDITIONAL(HAVE_TIFF, [test "x$HAVE_TIFF" = xyes])
 AC_SUBST(TIFF_CFLAGS)
 AC_SUBST(TIFF_LIBS)
 
+#  libraw support
+# ----------------------------------------------------------------------
+
+AC_ARG_ENABLE([raw],
+  AC_HELP_STRING([--disable-raw], [disable LibRaw support]),
+    [libraw=$enableval], [libraw=auto])
+
+if test "x${libraw}" != "xno"; then
+  PKG_CHECK_MODULES(RAW, [libraw >= 0.20],
+    [
+      HAVE_RAW=yes
+      AC_DEFINE(HAVE_RAW, 1, [define to enable libraw support])
+    ],
+    [
+      HAVE_RAW=no
+      AC_MSG_WARN([$RAW_PKG_ERRORS])
+    ])
+else
+  HAVE_RAW=disabled
+fi
+
+AM_CONDITIONAL(HAVE_RAW, [test "x$HAVE_RAW" = xyes])
+AC_SUBST(RAW_CFLAGS)
+AC_SUBST(RAW_LIBS)
+
 #  libffmpegthumbnailer support
 # ----------------------------------------------------------------------
 
@@ -523,22 +550,29 @@ AC_ARG_ENABLE([lua],
     [liblua=$enableval], [liblua=auto])
 
 if test "x${liblua}" != "xno"; then
-  PKG_CHECK_MODULES(LUA, lua5.1 >= 5.1,
+  PKG_CHECK_MODULES(LUA, lua5.3 >= 5.3,
     [
       HAVE_LUA=yes
       AC_DEFINE(HAVE_LUA, 1, [define to enable lua support])
     ],
     [
-      PKG_CHECK_MODULES(LUA, lua >= 5.1,
-        [
-          HAVE_LUA=yes
-          AC_DEFINE(HAVE_LUA, 1, [define to enable lua support])
-        ],
-        [
-           HAVE_LUA=no
-           AC_MSG_WARN([$LUA_PKG_ERRORS])
-        ])
-    ])
+     PKG_CHECK_MODULES(LUA, lua5.1 >= 5.1,
+       [
+        HAVE_LUA=yes
+        AC_DEFINE(HAVE_LUA, 1, [define to enable lua support])
+       ],
+       [
+        PKG_CHECK_MODULES(LUA, lua >= 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
@@ -601,11 +635,101 @@ AM_CONDITIONAL(HAVE_HEIF, [test "x$HAVE_HEIF" = xyes])
 AC_SUBST(HEIF_CFLAGS)
 AC_SUBST(HEIF_LIBS)
 
+#  WebP support
+# ----------------------------------------------------------------------
+
+AC_ARG_ENABLE([webp],
+  AC_HELP_STRING([--disable-webp], [disable webp support]),
+    [libwebp=$enableval], [libwebp=auto])
+
+if test "x${libwebp}" != "xno"; then
+  PKG_CHECK_MODULES(WEBP, libwebp >= 0.6.1,
+    [
+      HAVE_WEBP=yes
+      AC_DEFINE(HAVE_WEBP, 1, [define to enable webp support])
+    ],
+    [
+      HAVE_WEBP=no
+      AC_MSG_WARN([$WEBP_PKG_ERRORS])
+    ])
+else
+    HAVE_WEBP=disabled
+fi
+
+AM_CONDITIONAL(HAVE_WEBP, [test "x$HAVE_WEBP" = xyes])
+AC_SUBST(WEBP_CFLAGS)
+AC_SUBST(WEBP_LIBS)
+
+#  J2K support
+# ----------------------------------------------------------------------
+
+AC_ARG_ENABLE([j2k],
+  AC_HELP_STRING([--disable-j2k], [disable j2k support]),
+    [libopenjp2=$enableval], [libopenjp2=auto])
+
+if test "x${libopenjp2}" != "xno"; then
+  PKG_CHECK_MODULES(J2K, libopenjp2 >= 2.3.0,
+    [
+      HAVE_J2K=yes
+      AC_DEFINE(HAVE_J2K, 1, [define to enable j2k support])
+    ],
+    [
+      HAVE_J2K=no
+      AC_MSG_WARN([$J2K_PKG_ERRORS])
+    ])
+else
+    HAVE_J2K=disabled
+fi
+
+AM_CONDITIONAL(HAVE_J2K, [test "x$HAVE_J2K" = xyes])
+AC_SUBST(J2K_CFLAGS)
+AC_SUBST(J2K_LIBS)
+
+#  DjVu support
+# ----------------------------------------------------------------------
+
+AC_ARG_ENABLE([djvu],
+  AC_HELP_STRING([--disable-djvu], [disable djvu support]),
+    [libdjvulibre=$enableval], [libdjvulibre=auto])
+
+if test "x${libdjvulibre}" != "xno"; then
+  PKG_CHECK_MODULES(DJVU, ddjvuapi >= 3.5.27,
+    [
+      HAVE_DJVU=yes
+      AC_DEFINE(HAVE_DJVU, 1, [define to enable DjVu support])
+    ],
+    [
+      HAVE_DJVU=no
+      AC_MSG_WARN([$DJVU_PKG_ERRORS])
+    ])
+else
+    HAVE_DJVU=disabled
+fi
+
+AM_CONDITIONAL(HAVE_DJVU, [test "x$HAVE_DJVU" = xyes])
+AC_SUBST(DJVU_CFLAGS)
+AC_SUBST(DJVU_LIBS)
+
 #  Markdown support
 # ----------------------------------------------------------------------
 
 AM_CONDITIONAL(HAVE_MARKDOWN, [ "$(command -v markdown)" ])
 
+# _NL_TIME_FIRST_WEEKDAY support
+# note that it is an enum and not a define
+# ----------------------------------------------------------------------
+
+AC_MSG_CHECKING([for _NL_TIME_FIRST_WEEKDAY])
+AC_TRY_LINK([#include <langinfo.h>], [
+char c;
+c = *((unsigned char *)  nl_langinfo(_NL_TIME_FIRST_WEEKDAY));
+], nl_ok=yes, nl_ok=no)
+AC_MSG_RESULT($nl_ok)
+if test "$nl_ok" = "yes"; then
+  AC_DEFINE([HAVE__NL_TIME_FIRST_WEEKDAY], [1],
+      [Define if _NL_TIME_FIRST_WEEKDAY is available])
+fi
+
 # ----------------------------------------------------------------------
 
 AH_TOP([
@@ -655,6 +779,7 @@ AC_CONFIG_FILES([
     plugins/camera-import/Makefile
     plugins/image-crop/Makefile
     plugins/random-image/Makefile
+    plugins/lens/Makefile
     geeqie.spec
 ])
 
@@ -684,7 +809,7 @@ Flags:
   Gtk:           $GTK_CFLAGS
   Glib:          $GLIB_CFLAGS
   Thread:        $GTHREAD_LIBS
-  Others:       $JPEG_LIBS $TIFF_LIBS $LCMS_LIBS $EXIV2_LIBS $CLUTTER_LIBS $CLUTTER_GTK_LIBS $LIBCHAMPLAIN_LIBS $LIBCHAMPLAIN_GTK_LIBS $LUA_LIBS
+  Others:       $JPEG_LIBS $TIFF_LIBS $LCMS_LIBS $EXIV2_LIBS $CLUTTER_LIBS $CLUTTER_GTK_LIBS $LIBCHAMPLAIN_LIBS $LIBCHAMPLAIN_GTK_LIBS $LUA_LIBS $RAW_LIBS
 
 Localization:
   NLS support:   $USE_NLS
@@ -706,7 +831,11 @@ Support:
   Lua:          $HAVE_LUA
   FFmpegthumbnailer:   $HAVE_FFMPEGTHUMBNAILER
   Pdf:          $HAVE_PDF
-  Heif:                 $HAVE_HEIF
+  HEIF:                 $HAVE_HEIF
+  WebP:                 $HAVE_WEBP
+  DjVu:                 $HAVE_DJVU
+  J2K:          $HAVE_J2K
+  LibRaw:        $HAVE_RAW
 
 Documentation:
   Doxygen:       $DX_DOXYGEN