Detection based on gnutls_session doesn't work because GnuTLS 2.x.y comes with a compat.h that defines gnutls_session to gnutls_session_t. Instead detect this based on LIBGNUTLS_VERSION_MAJOR. --- configure.ac | 22 +++++++++++++++------- 1 files changed, 15 insertions(+), 7 deletions(-) diff --git a/configure.ac b/configure.ac index c8d291b..6a20366 100644 --- a/configure.ac +++ b/configure.ac @@ -834,17 +834,25 @@ fi AC_SUBST([GNUTLS_CFLAGS]) AC_SUBST([GNUTLS_LIBS]) -dnl Old versions of GnuTLS uses types like 'gnutls_session' instead -dnl of 'gnutls_session_t'. Try to detect this type if defined so -dnl that we can offer backwards compatibility. +dnl Detect GnuTLS 1.x.y and enable backwards compatibility macros if found. old_cflags="$CFLAGS" old_libs="$LIBS" CFLAGS="$CFLAGS $GNUTLS_CFLAGS" LIBS="$LIBS $GNUTLS_LIBS" -AC_CHECK_TYPE([gnutls_session], - AC_DEFINE([GNUTLS_1_0_COMPAT],[], - [enable GnuTLS 1.0 compatibility macros]),, - [#include <gnutls/gnutls.h>]) +AC_MSG_CHECKING([whether GnuTLS 1.0 compatibility macros are required]) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <gnutls/gnutls.h>]], + [[ + #if LIBGNUTLS_VERSION_MAJOR < 2 + # error gnutls 1.x.y detected + #endif + ]])], + [have_gnutlsv1=no], + [have_gnutlsv1=yes]) +if test "x$have_gnutlsv1" = xyes; then + AC_DEFINE_UNQUOTED([GNUTLS_1_0_COMPAT], 1, + [enable GnuTLS 1.0 compatibility macros]) +fi +AC_MSG_RESULT([$have_gnutlsv1]) CFLAGS="$old_cflags" LIBS="$old_libs" -- 1.7.4.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list