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. --- ChangeLog | 6 ++++++ configure.ac | 21 ++++++++++++++------- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4de8e87e..7db88dad 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +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. + 2007-05-10 Paul Jakma * configure.ac: Add back check for inet_aton, which got dropped 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