diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rwxr-xr-x | configure.ac | 21 |
2 files changed, 20 insertions, 7 deletions
@@ -1,3 +1,9 @@ +2007-06-22 Paul Jakma <paul.jakma@sun.com> + + * 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 <paul.jakma@sun.com> * 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 <arpa/inet.h> #endif +/* Required for IDRP */ +#if HAVE_NETINET_IP_ICMP_H +# include <netinet/ip_icmp.h> +#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]) |