X-Git-Url: http://geeqie.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=configure.ac;h=bbd30fd2cc92036450ff6210cc069113a7b02b08;hb=8552b6786d67b5712bc5cd45830cdbd48e18769b;hp=bcb40be8b7046520b4e3cfb17747558a227f405e;hpb=15879423f33d692141608ab67ee1ff718909820f;p=geeqie.git diff --git a/configure.ac b/configure.ac index bcb40be8..bbd30fd2 100644 --- a/configure.ac +++ b/configure.ac @@ -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://www.geeqie.org/). -dnl Copyright (C) 2008 - 2016 The Geeqie Team +dnl This file is a part of Geeqie project (https://www.geeqie.org/). +dnl Copyright (C) 2008 - 2018 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,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([./version.sh]), m4_newline), [geeqie@freelists.org], [], [https://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,56 @@ 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) + +# libgspell support +# ---------------------------------------------------------------------- + +AC_ARG_ENABLE([spell], + AC_HELP_STRING([--disable-spell], [disable libgspell support]), + [libgspell=$enableval], [libgspell=auto]) + +if test "x${libgspell}" != "xno" -a "x${gtk3}" != "xno"; then + PKG_CHECK_MODULES(SPELL, [gspell-1 >= 1.6], + [ + HAVE_SPELL=yes + AC_DEFINE(HAVE_SPELL, 1, [define to enable libgspell support]) + ], + [ + HAVE_SPELL=no + AC_MSG_WARN([$SPELL_PKG_ERRORS]) + ]) +else + HAVE_SPELL=disabled +fi + +AM_CONDITIONAL(HAVE_SPELL, [test "x$HAVE_SPELL" = xyes]) +AC_SUBST(SPELL_CFLAGS) +AC_SUBST(SPELL_LIBS) + # libffmpegthumbnailer support # ---------------------------------------------------------------------- @@ -523,15 +575,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]) ], [ - 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 @@ -569,10 +635,175 @@ AM_CONDITIONAL(HAVE_PDF, [test "x$HAVE_PDF" = xyes]) AC_SUBST(PDF_CFLAGS) AC_SUBST(PDF_LIBS) +# Heif support +# ---------------------------------------------------------------------- + +AC_ARG_ENABLE([heif], + AC_HELP_STRING([--disable-heif], [disable heif support]), + [libheif=$enableval], [libheif=auto]) + +if test "x${libheif}" != "xno"; then + PKG_CHECK_MODULES(HEIF, libheif >= 1.3.2, + [ + HAVE_HEIF=yes + AC_DEFINE(HAVE_HEIF, 1, [define to enable heif support]) + ], + [ + HAVE_HEIF=no + AC_MSG_WARN([$HEIF_PKG_ERRORS]) + ]) +else + HAVE_HEIF=disabled +fi + +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) + +# Libarchive support +# ---------------------------------------------------------------------- + +AC_ARG_ENABLE([archive], + AC_HELP_STRING([--disable-archive], [disable archive support]), + [libarchive=$enableval], [libarchive=auto]) + +if test "x${libarchive}" != "xno"; then + PKG_CHECK_MODULES(ARCHIVE, libarchive >= 3.4.0, + [ + HAVE_ARCHIVE=yes + AC_DEFINE(HAVE_ARCHIVE, 1, [define to enable archive support]) + ], + [ + HAVE_ARCHIVE=no + AC_MSG_WARN([$ARCHIVE_PKG_ERRORS]) + ]) +else + HAVE_ARCHIVE=disabled +fi + +AM_CONDITIONAL(HAVE_ARCHIVE, [test "x$HAVE_ARCHIVE" = xyes]) +AC_SUBST(ARCHIVE_CFLAGS) +AC_SUBST(ARCHIVE_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) + +# JPEG XL support +# ---------------------------------------------------------------------- + +AC_ARG_ENABLE([jpegxl], + AC_HELP_STRING([--disable-jpegxl], [disable jpeg xl support]), + [libjxl=$enableval], [libjxl=auto]) + +if test "x${libjxl}" != "xno"; then + PKG_CHECK_MODULES(JPEGXL, libjxl >= 0.3.7, + [ + HAVE_JPEGXL=yes + AC_DEFINE(HAVE_JPEGXL, 1, [define to enable JPEG XL support]) + ], + [ + HAVE_JPEGXL=no + AC_MSG_WARN([$JPEGXL_PKG_ERRORS]) + ]) +else + HAVE_JPEGXL=disabled +fi + +AM_CONDITIONAL(HAVE_JPEGXL, [test "x$HAVE_JPEGXL" = xyes]) +AC_SUBST(JPEGXL_CFLAGS) +AC_SUBST(JPEGXL_LIBS) + # Markdown support # ---------------------------------------------------------------------- -AM_CONDITIONAL(HAVE_MARKDOWN, [ "$(command -v markdown)" ]) +AM_CONDITIONAL(HAVE_PANDOC, [ "$(command -v pandoc)" ]) + +# _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 ], [ +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 # ---------------------------------------------------------------------- @@ -583,7 +814,7 @@ AH_TOP([ */ /* - * This file is a part of Geeqie project (http://www.geeqie.org/). + * This file is a part of Geeqie project (https://www.geeqie.org/). * Copyright (C) 2008 - 2016 The Geeqie Team * * This program is free software; you can redistribute it and/or modify @@ -616,13 +847,13 @@ AC_CONFIG_FILES([ plugins/Makefile plugins/symlink/Makefile plugins/rotate/Makefile - plugins/ufraw/Makefile - plugins/import/Makefile plugins/geocode-parameters/Makefile plugins/export-jpeg/Makefile plugins/tethered-photography/Makefile plugins/camera-import/Makefile plugins/image-crop/Makefile + plugins/random-image/Makefile + plugins/lens/Makefile geeqie.spec ]) @@ -652,7 +883,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 $JPEGXL_LIBS Localization: NLS support: $USE_NLS @@ -674,6 +905,14 @@ Support: Lua: $HAVE_LUA FFmpegthumbnailer: $HAVE_FFMPEGTHUMBNAILER Pdf: $HAVE_PDF + HEIF: $HAVE_HEIF + WebP: $HAVE_WEBP + DjVu: $HAVE_DJVU + J2K: $HAVE_J2K + LibRaw: $HAVE_RAW + Libjxl: $HAVE_JPEGXL + Libarchive: $HAVE_ARCHIVE + Spelling $HAVE_SPELL Documentation: Doxygen: $DX_DOXYGEN