From 11770e10861ccb684b608396c798aea9da05a1a2 Mon Sep 17 00:00:00 2001 From: Paul Jakma Date: Fri, 22 Jun 2007 16:14:42 +0000 Subject: [build] configure needs to check for struct icmphdr for IRDP 2007-06-22 Paul Jakma * configure.ac: IRDP also depends on struct icmphdr, enabling only on in_pktinfo breaks when an OS acquires pktinfo, as Solaris NV has. Reported by Jim Carlson. --- configure.ac | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index f66336ca..1c50ef24 100755 --- a/configure.ac +++ b/configure.ac @@ -418,7 +418,7 @@ m4_define([QUAGGA_INCLUDES], AC_CHECK_HEADERS([sys/un.h net/if.h netinet/in_systm.h netinet/in_var.h \ net/if_dl.h net/if_var.h net/netopt.h net/route.h \ - inet/nd.h arpa/inet.h \ + inet/nd.h arpa/inet.h netinet/ip_icmp.h \ fcntl.h stddef.h sys/ioctl.h syslog.h wchar.h wctype.h \ sys/sysctl.h sys/sockio.h kvm.h sys/conf.h], [], [], QUAGGA_INCLUDES) @@ -462,6 +462,10 @@ QUAGGA_INCLUDES #if HAVE_ARPA_INET_H # include #endif +/* Required for IDRP */ +#if HAVE_NETINET_IP_ICMP_H +# include +#endif ])dnl dnl V6 headers are checked below, after we check for v6 @@ -1204,8 +1208,7 @@ AC_CHECK_TYPES([struct sockaddr, struct sockaddr_in, socklen_t, struct ifaliasreq, struct if6_aliasreq, struct in6_aliasreq, struct nd_opt_adv_interval, struct rt_addrinfo, - struct nd_opt_homeagent_info, struct nd_opt_adv_interval, - struct in_pktinfo], + struct nd_opt_homeagent_info, struct nd_opt_adv_interval], [], [], QUAGGA_INCLUDES) AC_CHECK_MEMBERS([struct sockaddr.sa_len, @@ -1216,12 +1219,16 @@ AC_CHECK_MEMBERS([struct sockaddr.sa_len, [], [], QUAGGA_INCLUDES) dnl --------------------------- -dnl pktinfo checks +dnl IRDP/pktinfo/icmphdr checks dnl --------------------------- AC_CHECK_TYPES([struct in_pktinfo], - [if test "${enable_irdp}" != "no"; then - AC_DEFINE(HAVE_IRDP,, IRDP) - fi], + [AC_CHECK_TYPES([struct icmphdr], + [if test "${enable_irdp}" != "no"; then + AC_DEFINE(HAVE_IRDP,, IRDP) + fi], + [if test "${enable_irdp}" = "yes"; then + AC_MSG_ERROR(['IRDP requires in_pktinfo at the moment!']) + fi], [QUAGGA_INCLUDES])], [if test "${enable_irdp}" = "yes"; then AC_MSG_ERROR(['IRDP requires in_pktinfo at the moment!']) fi], [QUAGGA_INCLUDES]) -- cgit v1.2.1