secur32: Check that the GnuTLS header is recent enough for schannel.

Francois Gouget fgouget at free.fr
Fri Oct 24 04:24:58 CDT 2008


---
 configure    |   55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 configure.ac |   12 ++++++++++--
 2 files changed, 64 insertions(+), 3 deletions(-)

diff --git a/configure b/configure
index 18f36df..987a466 100755
--- a/configure
+++ b/configure
@@ -12881,7 +12881,58 @@ echo "${ECHO_T}$ac_cv_header_gnutls_gnutls_h" >&6; }
 
 fi
 if test $ac_cv_header_gnutls_gnutls_h = yes; then
-  { echo "$as_me:$LINENO: checking for -lgnutls" >&5
+  { echo "$as_me:$LINENO: checking for up-to-date GnuTLS version" >&5
+echo $ECHO_N "checking for up-to-date GnuTLS version... $ECHO_C" >&6; }
+if test "${wine_cv_gnutls_header_version_OK+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <gnutls/gnutls.h>
+int
+main ()
+{
+ typeof(gnutls_transport_set_errno) *pfunc;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  wine_cv_gnutls_header_version_OK="yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	wine_cv_gnutls_header_version_OK="no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $wine_cv_gnutls_header_version_OK" >&5
+echo "${ECHO_T}$wine_cv_gnutls_header_version_OK" >&6; }
+         if test "$wine_cv_gnutls_header_version_OK" = "yes"
+         then
+             { echo "$as_me:$LINENO: checking for -lgnutls" >&5
 echo $ECHO_N "checking for -lgnutls... $ECHO_C" >&6; }
 if test "${ac_cv_lib_soname_gnutls+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -12960,6 +13011,8 @@ _ACEOF
 
 fi
 
+         fi
+
 fi
 
 
diff --git a/configure.ac b/configure.ac
index 85f9f83..59efaf7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -922,8 +922,16 @@ then
     ac_gnutls_cflags="`$PKG_CONFIG --cflags gnutls 2>/dev/null`"
     CPPFLAGS="$CPPFLAGS $ac_gnutls_cflags"
     AC_CHECK_HEADER(gnutls/gnutls.h,
-        [WINE_CHECK_SONAME(gnutls,gnutls_global_init,
-            [AC_SUBST(GNUTLSINCL,"$ac_gnutls_cflags")],,[$ac_gnutls_libs])])
+        [AC_CACHE_CHECK([for up-to-date GnuTLS version], wine_cv_gnutls_header_version_OK,
+             AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <gnutls/gnutls.h>]], [[ typeof(gnutls_transport_set_errno) *pfunc;]])],
+                 [wine_cv_gnutls_header_version_OK="yes"],
+                 [wine_cv_gnutls_header_version_OK="no"]))
+         if test "$wine_cv_gnutls_header_version_OK" = "yes"
+         then
+             WINE_CHECK_SONAME(gnutls,gnutls_global_init,
+                 [AC_SUBST(GNUTLSINCL,"$ac_gnutls_cflags")],,[$ac_gnutls_libs])
+         fi
+        ])
     CPPFLAGS="$ac_save_CPPFLAGS"
 fi
 WINE_NOTICE_WITH(gnutls,[test "x$ac_cv_lib_soname_gnutls" = "x"],
-- 
1.5.6.5



More information about the wine-patches mailing list