build-sys: only use AM_PATH_LIBGCRYPT macro if it exists
authorOlof Johansson <olofjn@axis.com>
Thu, 17 Sep 2015 08:42:55 +0000 (10:42 +0200)
committerOlof Johansson <olofjn@axis.com>
Thu, 24 Sep 2015 12:30:30 +0000 (14:30 +0200)
If gcrypt's m4 macro files aren't installed, with this change, gcrypt
will be disabled --- unless gcrypt support was explicitly requested by
passing --enable-gcrypt to configure, in which case it will fail.
Without this change, autoconf would fail either way with not being able
to resolve AM_PATH_LIBGCRYPT.

configure.ac

index 999f9f8..2505c62 100644 (file)
@@ -677,12 +677,21 @@ AC_ARG_ENABLE([gcrypt],
                 [have_gcrypt=auto])
 
 if test "x${have_gcrypt}" != xno ; then
-        AM_PATH_LIBGCRYPT(
-                [1.4.5],
-                [have_gcrypt=yes],
-                [if test "x$have_gcrypt" = xyes ; then
-                        AC_MSG_ERROR([*** GCRYPT headers not found.])
-                fi])
+        m4_define([AM_PATH_LIBGCRYPT_FAIL],
+                [{ test "x$have_gcrypt" != xyes || AC_MSG_ERROR([*** GCRYPT headers not found.]); }]
+        )
+        m4_ifdef([AM_PATH_LIBGCRYPT], [AM_PATH_LIBGCRYPT(
+                        [1.4.5],
+                        [have_gcrypt=yes],
+                        dnl  If we have the gcrypt m4 macros, but don't have
+                        dnl  gcrypt, throw an error if gcrypt is explicitly
+                        dnl  requested.
+                        [AM_PATH_LIBGCRYPT_FAIL]
+                )],
+                dnl  If we don't have the gcrypt m4 macros, but build with
+                dnl  gcrypt explicitly requested, throw an error.
+                [AM_PATH_LIBGCRYPT_FAIL]
+        )
 
         if test "x$have_gcrypt" = xyes ; then
                 GCRYPT_LIBS="$LIBGCRYPT_LIBS"