svn commit: samba r19244 - in branches/SAMBA_3_0/source: . lib/replace

metze at samba.org metze at samba.org
Wed Oct 11 13:31:01 GMT 2006


Author: metze
Date: 2006-10-11 13:31:00 +0000 (Wed, 11 Oct 2006)
New Revision: 19244

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19244

Log:
fix the build on systems with broken krb5
we need to make sure

HAVE_GSSAPI

HAVE_KRB5_H
HAVE_GSSAPI_H
HAVE_GSSAPI_GSSAPI_GENERIC_H
HAVE_GSSAPI_GSSAPI_H

are not in config.h

this adds 2 new macros to libreplace
AC_REMOVE_DEFINE(), AC_REMOVE_INCLUDE()

metze
Modified:
   branches/SAMBA_3_0/source/configure.in
   branches/SAMBA_3_0/source/lib/replace/libreplace_macros.m4


Changeset:
Modified: branches/SAMBA_3_0/source/configure.in
===================================================================
--- branches/SAMBA_3_0/source/configure.in	2006-10-11 12:29:04 UTC (rev 19243)
+++ branches/SAMBA_3_0/source/configure.in	2006-10-11 13:31:00 UTC (rev 19244)
@@ -3400,6 +3400,7 @@
 use_ads=no
 if test x"$with_ads_support" != x"no"; then
   use_ads=yes
+  have_gssapi=no
   ac_save_LIBS=$LIBS
 
   # now check for gssapi headers.  This is also done here to allow for
@@ -3417,8 +3418,7 @@
   AC_CHECK_LIB_EXT(roken, KRB5_LIBS, roken_getaddrinfo_hostspec)
 
   # Heimdal checks. On static Heimdal gssapi must be linked before krb5.
-  AC_CHECK_LIB_EXT(gssapi, KRB5_LIBS, gss_display_status,[],[],
-				AC_DEFINE(HAVE_GSSAPI,1,[Whether GSSAPI is available]))
+  AC_CHECK_LIB_EXT(gssapi, KRB5_LIBS, gss_display_status,[],[],have_gssapi=yes)
 
   ########################################################
   # now see if we can find the krb5 libs in standard paths
@@ -3428,8 +3428,7 @@
 
   ########################################################
   # now see if we can find the gssapi libs in standard paths
-  AC_CHECK_LIB_EXT(gssapi_krb5, KRB5_LIBS,gss_display_status,[],[],
-	    AC_DEFINE(HAVE_GSSAPI,1,[Whether GSSAPI is available]))
+  AC_CHECK_LIB_EXT(gssapi_krb5, KRB5_LIBS,gss_display_status,[],[],have_gssapi=yes)
 
   AC_CHECK_FUNC_EXT(krb5_set_real_time, $KRB5_LIBS)
   AC_CHECK_FUNC_EXT(krb5_set_default_in_tkt_etypes, $KRB5_LIBS)
@@ -3841,14 +3840,21 @@
   fi
 
   if test x"$use_ads" = x"yes"; then
+    AC_DEFINE(WITH_ADS,1,[Whether to include Active Directory support])
     AC_DEFINE(HAVE_KRB5,1,[Whether to have KRB5 support])
-    AC_DEFINE(WITH_ADS,1,[Whether to include Active Directory support])
+    if test x"$have_gssapi" = x"yes"; then
+      AC_DEFINE(HAVE_GSSAPI,1,[Whether GSSAPI is available])
+    fi
   else
     if test x"$with_ads_support" = x"yes"; then
 	AC_MSG_ERROR(krb5 libs don't have all features required for Active Directory support)
     else
 	AC_MSG_WARN(krb5 libs don't have all features required for Active Directory support)
     fi
+    AC_REMOVE_DEFINE(HAVE_KRB5_H)
+    AC_REMOVE_DEFINE(HAVE_GSSAPI_H)
+    AC_REMOVE_DEFINE(HAVE_GSSAPI_GSSAPI_GENERIC_H)
+    AC_REMOVE_DEFINE(HAVE_GSSAPI_GSSAPI_H)
     KRB5_LIBS=""
     with_ads_support=no 
   fi

Modified: branches/SAMBA_3_0/source/lib/replace/libreplace_macros.m4
===================================================================
--- branches/SAMBA_3_0/source/lib/replace/libreplace_macros.m4	2006-10-11 12:29:04 UTC (rev 19243)
+++ branches/SAMBA_3_0/source/lib/replace/libreplace_macros.m4	2006-10-11 13:31:00 UTC (rev 19244)
@@ -264,6 +264,24 @@
 EOF
 ])
 
+dnl remove an #include
+dnl AC_REMOVE_INCLUDE(VARIABLE)
+define(AC_REMOVE_INCLUDE,
+[
+grep -v '[#include] $1' confdefs.h >confdefs.h.tmp
+cat confdefs.h.tmp > confdefs.h
+rm confdefs.h.tmp
+])
+
+dnl remove an #define
+dnl AC_REMOVE_DEFINE(VARIABLE)
+define(AC_REMOVE_DEFINE,
+[
+grep -v '[#define] $1 ' confdefs.h |grep -v '[#define] $1[$]'>confdefs.h.tmp
+cat confdefs.h.tmp > confdefs.h
+rm confdefs.h.tmp
+])
+
 dnl AS_HELP_STRING is not available in autoconf 2.57, and AC_HELP_STRING is deprecated
 dnl in autoconf 2.59, so define AS_HELP_STRING to be AC_HELP_STRING unless it is already
 dnl defined.



More information about the samba-cvs mailing list