summaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
authorajs <ajs>2005-01-04 16:24:43 +0000
committerajs <ajs>2005-01-04 16:24:43 +0000
commitd80d9214ab402131b79b9b3e5395130d906f7c30 (patch)
tree7690c1a4ce527adb9ae5192beb31d9bf1cd91dd9 /configure.ac
parente101dfaa723ba5e3ea1b3702de4f11ddf477424d (diff)
downloadquagga-d80d9214ab402131b79b9b3e5395130d906f7c30.tar.bz2
quagga-d80d9214ab402131b79b9b3e5395130d906f7c30.tar.xz
2005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* configure.ac: Added test for broken CMSG_FIRSTHDR macro (relevant for Solaris 8 and unpatched Solaris 9, don't know whether other platforms are affected). * zebra.h: Define ZCMSG_FIRSTHDR appropriately based on whether config.h indicates HAVE_BROKEN_CMSG_FIRSTHDR (as determined by the configure test program). * sockopt.c: (getsockopt_cmsg_data) Use ZCMSG_FIRSTHDR instead of CMSG_FIRSTHDR. * rtadv.c: (rtadv_recv_packet,rtadv_send_packet) Use ZCMSG_FIRSTHDR instead of CMSG_FIRSTHDR. * ripd.c: (rip_recvmsg) Use ZCMSG_FIRSTHDR instead of CMSG_FIRSTHDR. * ripngd.c: (ripng_recv_packet) Use ZCMSG_FIRSTHDR instead of CMSG_FIRSTHDR.
Diffstat (limited to 'configure.ac')
-rwxr-xr-xconfigure.ac25
1 files changed, 25 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 6294eb06..4cad8282 100755
--- a/configure.ac
+++ b/configure.ac
@@ -494,6 +494,31 @@ AC_SUBST(RT_METHOD)
AC_SUBST(KERNEL_METHOD)
AC_SUBST(OTHER_METHOD)
+dnl ------------------------------------
+dnl check for broken CMSG_FIRSTHDR macro
+dnl ------------------------------------
+AC_TRY_RUN([
+#ifdef SUNOS_5
+#define _XPG4_2
+#define __EXTENSIONS__
+#endif
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+
+main()
+{
+ struct msghdr msg;
+ char buf[4];
+
+ msg.msg_control = buf;
+ msg.msg_controllen = 0;
+
+ if (CMSG_FIRSTHDR(&msg) != NULL)
+ exit(0);
+ exit (1);
+}],[AC_DEFINE(HAVE_BROKEN_CMSG_FIRSTHDR,,Broken CMSG_FIRSTHDR)])
+
dnl ------------------------------
dnl check kernel route read method
dnl ------------------------------