[build] configure needs to check for struct icmphdr for IRDP

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.
This commit is contained in:
Paul Jakma 2007-06-22 16:14:42 +00:00
parent 8454b05606
commit 11770e1086
2 changed files with 20 additions and 7 deletions

View file

@ -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

View file

@ -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])