* configure.in, types.hin: Change search for struct rpcent yet
authorTom Yu <tlyu@mit.edu>
Thu, 8 Aug 1996 19:47:13 +0000 (19:47 +0000)
committerTom Yu <tlyu@mit.edu>
Thu, 8 Aug 1996 19:47:13 +0000 (19:47 +0000)
again, this time compile-checking both netdb.h and
rpc/netdb.h and taking action appropriately.  See the
comments in configure.in for details.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@8916 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/rpc/ChangeLog
src/lib/rpc/configure.in
src/lib/rpc/netdb.h

index de8dae378986c0fc5dd193b10d56e60933c3e6f0..55897e8a0d90a424280f1803e683657c1e9f97f4 100644 (file)
@@ -1,3 +1,10 @@
+Thu Aug  8 15:30:01 1996  Tom Yu  <tlyu@voltage-multiplier.mit.edu>
+
+       * configure.in, types.hin: Change search for struct rpcent yet
+               again, this time compile-checking both netdb.h and
+               rpc/netdb.h and taking action appropriately.  See the
+               comments in configure.in for details.
+
 Mon Aug  5 16:46:48 1996  Tom Yu  <tlyu@voltage-multiplier.mit.edu>
 
        * Makefile.in (CFLAGS): Change DEBUG_GSSAPI to 0 to avoid printing
index 97199f8471478889f27ff34d04832640ff954383..7fe2f069a79f445ec1e64d7ab1442744675766ad 100644 (file)
@@ -4,14 +4,38 @@ AC_PROG_ARCHIVE
 AC_PROG_ARCHIVE_ADD
 AC_PROG_RANLIB
 AC_PROG_INSTALL
+
+### Check where struct rpcent is declared.
+#
+# This is necessary to determine:
+# 1. If /usr/include/netdb.h declares struct rpcent
+# 2. If /usr/include/rpc/netdb.h declares struct rpcent
+#
+# We have our own rpc/netdb.h, and if /usr/include/netdb.h includes
+# rpc/netdb.h, then nastiness could happen.
+#
+# Logic: If /usr/include/netdb.h declares struct rpcent, then check
+# rpc/netdb.h.  If /usr/include/rpc/netdb.h declares struct rpcent,
+# then define STRUCT_RPCENT_IN_RPC_NETDB_H, otherwise do not.  If
+# neither netdb.h nor rpc/netdb.h declares struct rpcent, then define
+# STRUCT_RPCENT_IN_RPC_NETDB_H anyway.
+#
+AC_MSG_CHECKING([where struct rpcent is declared])
 AC_TRY_COMPILE([#include <netdb.h>],
 [struct rpcent e;
 char c = e.r_name[0];
 int i = e.r_number;],
-[AC_CHECK_HEADER(rpc/netdb.h, rpcent_define='',
-       [rpcent_define='#define STRUCT_RPCENT_ALREADY_PROVIDED'])],
-[rpcent_define=''])
+[AC_TRY_COMPILE([#include <rpc/netdb.h>],
+[struct rpcent e;
+char c = e.r_name[0];
+int i = e.r_number;],
+[AC_MSG_RESULT([rpc/netdb.h])
+rpcent_define='#define STRUCT_RPCENT_IN_RPC_NETDB_H'],
+[AC_MSG_RESULT([netdb.h])])],
+[AC_MSG_RESULT([nowhere])
+rpcent_define='#define STRUCT_RPCENT_IN_RPC_NETDB_H'])
 AC_SUBST(rpcent_define)
+
 AC_CHECK_SIZEOF(int)
 SIZEOF_INT=$ac_cv_sizeof_int
 AC_SUBST(SIZEOF_INT)
index 628efc2de4b793a727a800b5ad7333c0013ab1e0..60f5fab5457a0b6946d9ec2a917f528208b20c0a 100644 (file)
@@ -38,7 +38,7 @@ which uses the rpcent routines must use this header file, or something
 compatible (which most <netdb.h> are) --marc */
 
 /* Really belongs in <netdb.h> */
-#ifndef STRUCT_RPCENT_ALREADY_PROVIDED
+#ifdef STRUCT_RPCENT_IN_RPC_NETDB_H
 struct rpcent {
       char    *r_name;        /* name of server for this rpc program */
       char    **r_aliases;    /* alias list */