From 3_0:
authorVolker Lendecke <vlendec@samba.org>
Mon, 3 Nov 2003 18:11:46 +0000 (18:11 +0000)
committerVolker Lendecke <vlendec@samba.org>
Mon, 3 Nov 2003 18:11:46 +0000 (18:11 +0000)
AC_CHECK_MEMBER seems to have problems for some versions of autoconf, at least
autoconf-2.53 on SLES8 does not correctly find the keyblock.

Volker
(This used to be commit f6cff956c441eec73360f71bbb4dd06f4f1ee897)

source3/configure.in

index 4d1db6f4981f1d181cdf2c5fd8db6ff41ec75114..66c3ac171e63b1298e6a5eb355f81d8dab2ff778 100644 (file)
@@ -2664,15 +2664,29 @@ if test x"$with_ads_support" != x"no"; then
                [Whether in-memory keytabs are supported])
   fi
 
-  AC_CHECK_MEMBER(krb5_keytab_entry.key,
-       AC_DEFINE(HAVE_KRB5_KEYTAB_ENTRY_KEY, 1, 
-               [Whether krb5_keytab_entry has key member]), [],
-               [#include <krb5.h>])
-
-  AC_CHECK_MEMBER(krb5_keytab_entry.keyblock,
-       AC_DEFINE(HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK, 1, 
-               [Whether krb5_keytab_entry has keyblock member]), [],
-               [#include <krb5.h>])
+  AC_CACHE_CHECK([for key in krb5_keytab_entry],
+                 samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEY,[
+    AC_TRY_COMPILE([#include <krb5.h>],
+      [krb5_keytab_entry entry; entry.key = NULL;],
+      samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEY=yes,
+      samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEY=no)])
+
+  if test x"$samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEY" = x"yes"; then
+    AC_DEFINE(HAVE_KRB5_KEYTAB_ENTRY_KEY,1,
+              [Whether krb5_keytab_entry has key member])
+  fi
+
+  AC_CACHE_CHECK([for keyblock in krb5_keytab_entry],
+                 samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK,[
+    AC_TRY_COMPILE([#include <krb5.h>],
+      [krb5_keytab_entry entry; entry.keyblock.keytype = 0;],
+      samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK=yes,
+      samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK=no)])
+
+  if test x"$samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK" = x"yes"; then
+    AC_DEFINE(HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK,1,
+              [Whether krb5_keytab_entry has keyblock member])
+  fi
 
   if test x"$ac_cv_lib_ext_krb5_krb5_mk_req_extended" = x"yes"; then
     AC_DEFINE(HAVE_KRB5,1,[Whether to have KRB5 support])