1*8585484eSchristosdnl ###################################################################### 2*8585484eSchristosdnl Common IPv6 detection for NTP configure.ac files 3*8585484eSchristosAC_DEFUN([NTP_IPV6], [ 4*8585484eSchristos 5*8585484eSchristosAC_CACHE_CHECK( 6*8585484eSchristos [for struct sockaddr_storage], 7*8585484eSchristos [ntp_cv_sockaddr_storage], 8*8585484eSchristos [AC_COMPILE_IFELSE( 9*8585484eSchristos [AC_LANG_PROGRAM( 10*8585484eSchristos [[ 11*8585484eSchristos #ifdef HAVE_SYS_TYPES_H 12*8585484eSchristos # include <sys/types.h> 13*8585484eSchristos #endif 14*8585484eSchristos #ifdef HAVE_SYS_SOCKET_H 15*8585484eSchristos # include <sys/socket.h> 16*8585484eSchristos #endif 17*8585484eSchristos #ifdef HAVE_NETINET_IN_H 18*8585484eSchristos # include <netinet/in.h> 19*8585484eSchristos #endif 20*8585484eSchristos ]], 21*8585484eSchristos [[ 22*8585484eSchristos struct sockaddr_storage n; 23*8585484eSchristos ]] 24*8585484eSchristos )], 25*8585484eSchristos [ntp_cv_sockaddr_storage=yes], 26*8585484eSchristos [ntp_cv_sockaddr_storage=no] 27*8585484eSchristos )] 28*8585484eSchristos) 29*8585484eSchristoscase "$ntp_cv_sockaddr_storage" in 30*8585484eSchristos yes) 31*8585484eSchristos AC_DEFINE([HAVE_STRUCT_SOCKADDR_STORAGE], [1], 32*8585484eSchristos [Does a system header define struct sockaddr_storage?]) 33*8585484eSchristos AC_CACHE_CHECK( 34*8585484eSchristos [for sockaddr_storage.__ss_family], 35*8585484eSchristos [ntp_cv_have___ss_family], 36*8585484eSchristos [AC_COMPILE_IFELSE( 37*8585484eSchristos [AC_LANG_PROGRAM( 38*8585484eSchristos [[ 39*8585484eSchristos #ifdef HAVE_SYS_TYPES_H 40*8585484eSchristos # include <sys/types.h> 41*8585484eSchristos #endif 42*8585484eSchristos #ifdef HAVE_SYS_SOCKET_H 43*8585484eSchristos # include <sys/socket.h> 44*8585484eSchristos #endif 45*8585484eSchristos #ifdef HAVE_NETINET_IN_H 46*8585484eSchristos # include <netinet/in.h> 47*8585484eSchristos #endif 48*8585484eSchristos ]], 49*8585484eSchristos [[ 50*8585484eSchristos struct sockaddr_storage s; 51*8585484eSchristos s.__ss_family = 1; 52*8585484eSchristos ]] 53*8585484eSchristos )], 54*8585484eSchristos [ntp_cv_have___ss_family=yes], 55*8585484eSchristos [ntp_cv_have___ss_family=no] 56*8585484eSchristos )] 57*8585484eSchristos ) 58*8585484eSchristos case "$ntp_cv_have___ss_family" in 59*8585484eSchristos yes) 60*8585484eSchristos AC_DEFINE([HAVE___SS_FAMILY_IN_SS], [1], 61*8585484eSchristos [Does struct sockaddr_storage have __ss_family?]) 62*8585484eSchristos esac 63*8585484eSchristos AH_VERBATIM( 64*8585484eSchristos [HAVE___SS_FAMILY_IN_SS_VERBATIM], 65*8585484eSchristos [ 66*8585484eSchristos /* Handle sockaddr_storage.__ss_family */ 67*8585484eSchristos #ifdef HAVE___SS_FAMILY_IN_SS 68*8585484eSchristos # define ss_family __ss_family 69*8585484eSchristos #endif /* HAVE___SS_FAMILY_IN_SS */ 70*8585484eSchristos ] 71*8585484eSchristos ) 72*8585484eSchristosesac 73*8585484eSchristos 74*8585484eSchristos 75*8585484eSchristos# 76*8585484eSchristos# Look for in_port_t. 77*8585484eSchristos# 78*8585484eSchristosAC_CACHE_CHECK( 79*8585484eSchristos [for in_port_t], 80*8585484eSchristos [isc_cv_have_in_port_t], 81*8585484eSchristos [AC_COMPILE_IFELSE( 82*8585484eSchristos [AC_LANG_PROGRAM( 83*8585484eSchristos [[ 84*8585484eSchristos #include <sys/types.h> 85*8585484eSchristos #include <netinet/in.h> 86*8585484eSchristos ]], 87*8585484eSchristos [[ 88*8585484eSchristos in_port_t port = 25; 89*8585484eSchristos return (0); 90*8585484eSchristos ]] 91*8585484eSchristos )], 92*8585484eSchristos [isc_cv_have_in_port_t=yes], 93*8585484eSchristos [isc_cv_have_in_port_t=no] 94*8585484eSchristos )] 95*8585484eSchristos) 96*8585484eSchristoscase "$isc_cv_have_in_port_t" in 97*8585484eSchristos no) 98*8585484eSchristos AC_DEFINE([ISC_PLATFORM_NEEDPORTT], [1], 99*8585484eSchristos [Declare in_port_t?]) 100*8585484eSchristosesac 101*8585484eSchristos 102*8585484eSchristosAC_CACHE_CHECK( 103*8585484eSchristos [type of socklen arg for getsockname()], 104*8585484eSchristos [ntp_cv_getsockname_socklen_type], 105*8585484eSchristos [ 106*8585484eSchristos getsockname_socklen_type_found=no 107*8585484eSchristos for getsockname_arg2 in 'struct sockaddr *' 'void *'; do 108*8585484eSchristos for ntp_cv_getsockname_socklen_type in 'socklen_t' 'size_t' 'unsigned int' 'int'; do 109*8585484eSchristos AC_COMPILE_IFELSE( 110*8585484eSchristos [AC_LANG_PROGRAM( 111*8585484eSchristos [[ 112*8585484eSchristos #ifdef HAVE_SYS_TYPES_H 113*8585484eSchristos # include <sys/types.h> 114*8585484eSchristos #endif 115*8585484eSchristos #ifdef HAVE_SYS_SOCKET_H 116*8585484eSchristos # include <sys/socket.h> 117*8585484eSchristos #endif 118*8585484eSchristos ]], [[ 119*8585484eSchristos extern 120*8585484eSchristos getsockname(int, $getsockname_arg2, 121*8585484eSchristos $ntp_cv_getsockname_socklen_type *); 122*8585484eSchristos ]] 123*8585484eSchristos )], 124*8585484eSchristos [getsockname_socklen_type_found=yes ; break 2], 125*8585484eSchristos [] 126*8585484eSchristos ) 127*8585484eSchristos done 128*8585484eSchristos done 129*8585484eSchristos case "$getsockname_socklen_type_found" in 130*8585484eSchristos no) 131*8585484eSchristos ntp_cv_getsockname_socklen_type='socklen_t' 132*8585484eSchristos esac 133*8585484eSchristos AS_UNSET([getsockname_arg2]) 134*8585484eSchristos AS_UNSET([getsockname_socklen_type_found]) 135*8585484eSchristos ] 136*8585484eSchristos) 137*8585484eSchristosAC_DEFINE_UNQUOTED([GETSOCKNAME_SOCKLEN_TYPE], 138*8585484eSchristos [$ntp_cv_getsockname_socklen_type], 139*8585484eSchristos [What is getsockname()'s socklen type?]) 140*8585484eSchristos 141*8585484eSchristosAC_CACHE_CHECK( 142*8585484eSchristos [struct sockaddr for sa_len], 143*8585484eSchristos [isc_cv_platform_havesalen], 144*8585484eSchristos [AC_COMPILE_IFELSE( 145*8585484eSchristos [AC_LANG_PROGRAM( 146*8585484eSchristos [[ 147*8585484eSchristos #include <sys/types.h> 148*8585484eSchristos #include <sys/socket.h> 149*8585484eSchristos ]], 150*8585484eSchristos [[ 151*8585484eSchristos extern struct sockaddr *ps; 152*8585484eSchristos return ps->sa_len; 153*8585484eSchristos ]] 154*8585484eSchristos )], 155*8585484eSchristos [isc_cv_platform_havesalen=yes], 156*8585484eSchristos [isc_cv_platform_havesalen=no] 157*8585484eSchristos )] 158*8585484eSchristos) 159*8585484eSchristoscase "$isc_cv_platform_havesalen" in 160*8585484eSchristos yes) 161*8585484eSchristos AC_DEFINE([ISC_PLATFORM_HAVESALEN], [1], 162*8585484eSchristos [struct sockaddr has sa_len?]) 163*8585484eSchristosesac 164*8585484eSchristos 165*8585484eSchristosAC_ARG_ENABLE( 166*8585484eSchristos [ipv6], 167*8585484eSchristos [AS_HELP_STRING( 168*8585484eSchristos [--enable-ipv6], 169*8585484eSchristos [s use IPv6?] 170*8585484eSchristos )] 171*8585484eSchristos) 172*8585484eSchristos 173*8585484eSchristoscase "$enable_ipv6" in 174*8585484eSchristos yes|''|autodetect) 175*8585484eSchristos case "$host" in 176*8585484eSchristos powerpc-ibm-aix4*) 177*8585484eSchristos ;; 178*8585484eSchristos *) 179*8585484eSchristos AC_DEFINE([WANT_IPV6], [1], [configure --enable-ipv6]) 180*8585484eSchristos ;; 181*8585484eSchristos esac 182*8585484eSchristos ;; 183*8585484eSchristos no) 184*8585484eSchristos ;; 185*8585484eSchristosesac 186*8585484eSchristos 187*8585484eSchristos 188*8585484eSchristosdnl [Bug 1984] ntp/libisc fails to compile on OS X 10.7 (Lion) 189*8585484eSchristoscase "$host" in 190*8585484eSchristos *-*-darwin*) 191*8585484eSchristos AC_DEFINE([__APPLE_USE_RFC_3542], [1], [Are we _special_?]) 192*8585484eSchristosesac 193*8585484eSchristos 194*8585484eSchristos 195*8585484eSchristosAC_CACHE_CHECK( 196*8585484eSchristos [for IPv6 structures], 197*8585484eSchristos [isc_cv_found_ipv6], 198*8585484eSchristos [AC_COMPILE_IFELSE( 199*8585484eSchristos [AC_LANG_PROGRAM( 200*8585484eSchristos [[ 201*8585484eSchristos #include <sys/types.h> 202*8585484eSchristos #include <sys/socket.h> 203*8585484eSchristos #include <netinet/in.h> 204*8585484eSchristos ]], 205*8585484eSchristos [[ 206*8585484eSchristos struct sockaddr_in6 sin6; 207*8585484eSchristos ]] 208*8585484eSchristos )], 209*8585484eSchristos [isc_cv_found_ipv6=yes], 210*8585484eSchristos [isc_cv_found_ipv6=no] 211*8585484eSchristos )] 212*8585484eSchristos) 213*8585484eSchristos 214*8585484eSchristos# 215*8585484eSchristos# See whether IPv6 support is provided via a Kame add-on. 216*8585484eSchristos# This is done before other IPv6 linking tests so LIBS is properly set. 217*8585484eSchristos# 218*8585484eSchristosAC_MSG_CHECKING([for Kame IPv6 support]) 219*8585484eSchristosAC_ARG_WITH( 220*8585484eSchristos [kame], 221*8585484eSchristos [AS_HELP_STRING( 222*8585484eSchristos [--with-kame], 223*8585484eSchristos [- =/usr/local/v6] 224*8585484eSchristos )], 225*8585484eSchristos [use_kame="$withval"], 226*8585484eSchristos [use_kame="no"] 227*8585484eSchristos) 228*8585484eSchristoscase "$use_kame" in 229*8585484eSchristos no) 230*8585484eSchristos ;; 231*8585484eSchristos yes) 232*8585484eSchristos kame_path=/usr/local/v6 233*8585484eSchristos ;; 234*8585484eSchristos *) 235*8585484eSchristos kame_path="$use_kame" 236*8585484eSchristos ;; 237*8585484eSchristosesac 238*8585484eSchristoscase "$use_kame" in 239*8585484eSchristos no) 240*8585484eSchristos AC_MSG_RESULT([no]) 241*8585484eSchristos ;; 242*8585484eSchristos *) 243*8585484eSchristos if test -f $kame_path/lib/libinet6.a; then 244*8585484eSchristos AC_MSG_RESULT([$kame_path/lib/libinet6.a]) 245*8585484eSchristos LIBS="-L$kame_path/lib -linet6 $LIBS" 246*8585484eSchristos else 247*8585484eSchristos AC_MSG_ERROR([$kame_path/lib/libinet6.a not found. 248*8585484eSchristos 249*8585484eSchristosPlease choose the proper path with the following command: 250*8585484eSchristos 251*8585484eSchristos configure --with-kame=PATH 252*8585484eSchristos]) 253*8585484eSchristos fi 254*8585484eSchristos ;; 255*8585484eSchristosesac 256*8585484eSchristos 257*8585484eSchristos# 258*8585484eSchristos# Whether netinet6/in6.h is needed has to be defined in isc/platform.h. 259*8585484eSchristos# Including it on Kame-using platforms is very bad, though, because 260*8585484eSchristos# Kame uses #error against direct inclusion. So include it on only 261*8585484eSchristos# the platform that is otherwise broken without it -- BSD/OS 4.0 through 4.1. 262*8585484eSchristos# This is done before the in6_pktinfo check because that's what 263*8585484eSchristos# netinet6/in6.h is needed for. 264*8585484eSchristos# 265*8585484eSchristoscase "$host" in 266*8585484eSchristos *-bsdi4.[[01]]*) 267*8585484eSchristos AC_DEFINE([ISC_PLATFORM_NEEDNETINET6IN6H], [1], 268*8585484eSchristos [Do we need netinet6/in6.h?]) 269*8585484eSchristos isc_netinet6in6_hack="#include <netinet6/in6.h>" 270*8585484eSchristos ;; 271*8585484eSchristos *) 272*8585484eSchristos isc_netinet6in6_hack="" 273*8585484eSchristos ;; 274*8585484eSchristosesac 275*8585484eSchristos 276*8585484eSchristos# 277*8585484eSchristos# This is similar to the netinet6/in6.h issue. 278*8585484eSchristos# 279*8585484eSchristoscase "$host" in 280*8585484eSchristos *-sco-sysv*uw*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*) 281*8585484eSchristos AC_DEFINE([ISC_PLATFORM_FIXIN6ISADDR], [1], 282*8585484eSchristos [Do we need to fix in6isaddr?]) 283*8585484eSchristos isc_netinetin6_hack="#include <netinet/in6.h>" 284*8585484eSchristos ;; 285*8585484eSchristos *) 286*8585484eSchristos isc_netinetin6_hack="" 287*8585484eSchristos ;; 288*8585484eSchristosesac 289*8585484eSchristos 290*8585484eSchristos 291*8585484eSchristoscase "$isc_cv_found_ipv6" in 292*8585484eSchristos yes) 293*8585484eSchristos AC_DEFINE([ISC_PLATFORM_HAVEIPV6], [1], [have IPv6?]) 294*8585484eSchristos AC_CACHE_CHECK( 295*8585484eSchristos [for in6_pktinfo], 296*8585484eSchristos [isc_cv_have_in6_pktinfo], 297*8585484eSchristos [AC_COMPILE_IFELSE( 298*8585484eSchristos [AC_LANG_PROGRAM( 299*8585484eSchristos [[ 300*8585484eSchristos #include <sys/types.h> 301*8585484eSchristos #include <sys/socket.h> 302*8585484eSchristos #include <netinet/in.h> 303*8585484eSchristos $isc_netinetin6_hack 304*8585484eSchristos $isc_netinet6in6_hack 305*8585484eSchristos ]], 306*8585484eSchristos [[ 307*8585484eSchristos struct in6_pktinfo xyzzy; 308*8585484eSchristos ]] 309*8585484eSchristos )], 310*8585484eSchristos [isc_cv_have_in6_pktinfo=yes], 311*8585484eSchristos [isc_cv_have_in6_pktinfo=no] 312*8585484eSchristos )] 313*8585484eSchristos ) 314*8585484eSchristos case "$isc_cv_have_in6_pktinfo" in 315*8585484eSchristos yes) 316*8585484eSchristos AC_DEFINE([ISC_PLATFORM_HAVEIN6PKTINFO], [1], 317*8585484eSchristos [have struct in6_pktinfo?]) 318*8585484eSchristos esac 319*8585484eSchristos 320*8585484eSchristos 321*8585484eSchristos # HMS: Use HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID instead? 322*8585484eSchristos AC_CACHE_CHECK( 323*8585484eSchristos [for sockaddr_in6.sin6_scope_id], 324*8585484eSchristos [isc_cv_have_sin6_scope_id], 325*8585484eSchristos [AC_COMPILE_IFELSE( 326*8585484eSchristos [AC_LANG_PROGRAM( 327*8585484eSchristos [[ 328*8585484eSchristos #include <sys/types.h> 329*8585484eSchristos #include <sys/socket.h> 330*8585484eSchristos #include <netinet/in.h> 331*8585484eSchristos $isc_netinetin6_hack 332*8585484eSchristos $isc_netinet6in6_hack 333*8585484eSchristos ]], 334*8585484eSchristos [[ 335*8585484eSchristos struct sockaddr_in6 xyzzy; 336*8585484eSchristos xyzzy.sin6_scope_id = 0; 337*8585484eSchristos ]] 338*8585484eSchristos )], 339*8585484eSchristos [isc_cv_have_sin6_scope_id=yes], 340*8585484eSchristos [isc_cv_have_sin6_scope_id=no] 341*8585484eSchristos )] 342*8585484eSchristos ) 343*8585484eSchristos 344*8585484eSchristos case "$isc_cv_have_sin6_scope_id" in 345*8585484eSchristos yes) 346*8585484eSchristos AC_DEFINE([ISC_PLATFORM_HAVESCOPEID], [1], [sin6_scope_id?]) 347*8585484eSchristos esac 348*8585484eSchristosesac 349*8585484eSchristos 350*8585484eSchristos 351*8585484eSchristos# We need this check run even without isc_cv_found_ipv6=yes 352*8585484eSchristos 353*8585484eSchristosAC_CACHE_CHECK( 354*8585484eSchristos [for in6addr_any], 355*8585484eSchristos [isc_cv_in6addr_any_links], 356*8585484eSchristos [ 357*8585484eSchristos SAVED_LIBS="$LIBS" 358*8585484eSchristos LIBS="$LDADD_LIBNTP $LIBS" 359*8585484eSchristos AC_LINK_IFELSE( 360*8585484eSchristos [AC_LANG_PROGRAM( 361*8585484eSchristos AC_INCLUDES_DEFAULT [[ 362*8585484eSchristos #include <sys/socket.h> 363*8585484eSchristos #include <netinet/in.h> 364*8585484eSchristos $isc_netinetin6_hack 365*8585484eSchristos $isc_netinet6in6_hack 366*8585484eSchristos ]], 367*8585484eSchristos [[ 368*8585484eSchristos printf("%x", in6addr_any.s6_addr[15]); 369*8585484eSchristos ]] 370*8585484eSchristos )], 371*8585484eSchristos [isc_cv_in6addr_any_links=yes], 372*8585484eSchristos [isc_cv_in6addr_any_links=no] 373*8585484eSchristos ) 374*8585484eSchristos LIBS="$SAVED_LIBS" 375*8585484eSchristos AS_UNSET([SAVED_LIBS]) 376*8585484eSchristos ] 377*8585484eSchristos) 378*8585484eSchristos 379*8585484eSchristoscase "$isc_cv_in6addr_any_links" in 380*8585484eSchristos no) 381*8585484eSchristos AC_DEFINE([ISC_PLATFORM_NEEDIN6ADDRANY], [1], [missing in6addr_any?]) 382*8585484eSchristosesac 383*8585484eSchristos 384*8585484eSchristos 385*8585484eSchristosAC_CACHE_CHECK( 386*8585484eSchristos [for struct if_laddrconf], 387*8585484eSchristos [isc_cv_struct_if_laddrconf], 388*8585484eSchristos [AC_COMPILE_IFELSE( 389*8585484eSchristos [AC_LANG_PROGRAM( 390*8585484eSchristos [[ 391*8585484eSchristos #include <sys/types.h> 392*8585484eSchristos #include <net/if6.h> 393*8585484eSchristos ]], 394*8585484eSchristos [[ 395*8585484eSchristos struct if_laddrconf a; 396*8585484eSchristos ]] 397*8585484eSchristos )], 398*8585484eSchristos [isc_cv_struct_if_laddrconf=yes], 399*8585484eSchristos [isc_cv_struct_if_laddrconf=no] 400*8585484eSchristos )] 401*8585484eSchristos) 402*8585484eSchristos 403*8585484eSchristoscase "$isc_cv_struct_if_laddrconf" in 404*8585484eSchristos yes) 405*8585484eSchristos AC_DEFINE([ISC_PLATFORM_HAVEIF_LADDRCONF], [1], 406*8585484eSchristos [have struct if_laddrconf?]) 407*8585484eSchristosesac 408*8585484eSchristos 409*8585484eSchristosAC_CACHE_CHECK( 410*8585484eSchristos [for struct if_laddrreq], 411*8585484eSchristos isc_cv_struct_if_laddrreq, 412*8585484eSchristos [AC_COMPILE_IFELSE( 413*8585484eSchristos [AC_LANG_PROGRAM( 414*8585484eSchristos [[ 415*8585484eSchristos #include <sys/types.h> 416*8585484eSchristos #include <net/if6.h> 417*8585484eSchristos ]], 418*8585484eSchristos [[ 419*8585484eSchristos struct if_laddrreq a; 420*8585484eSchristos ]] 421*8585484eSchristos )], 422*8585484eSchristos [isc_cv_struct_if_laddrreq=yes], 423*8585484eSchristos [isc_cv_struct_if_laddrreq=no] 424*8585484eSchristos )] 425*8585484eSchristos) 426*8585484eSchristos 427*8585484eSchristoscase "$isc_cv_struct_if_laddrreq" in 428*8585484eSchristos yes) 429*8585484eSchristos AC_DEFINE([ISC_PLATFORM_HAVEIF_LADDRREQ], [1], 430*8585484eSchristos [have struct if_laddrreq?]) 431*8585484eSchristosesac 432*8585484eSchristos 433*8585484eSchristosAC_CACHE_CHECK( 434*8585484eSchristos [for multicast IP support], 435*8585484eSchristos [ntp_cv_multicast], 436*8585484eSchristos [ 437*8585484eSchristos ntp_cv_multicast=no 438*8585484eSchristos case "$host" in 439*8585484eSchristos i386-sequent-sysv4) 440*8585484eSchristos ;; 441*8585484eSchristos *) 442*8585484eSchristos AC_COMPILE_IFELSE( 443*8585484eSchristos [AC_LANG_PROGRAM( 444*8585484eSchristos [[ 445*8585484eSchristos #ifdef HAVE_NETINET_IN_H 446*8585484eSchristos # include <netinet/in.h> 447*8585484eSchristos #endif 448*8585484eSchristos ]], 449*8585484eSchristos [[ 450*8585484eSchristos struct ip_mreq ipmr; 451*8585484eSchristos ipmr.imr_interface.s_addr = 0; 452*8585484eSchristos ]] 453*8585484eSchristos )], 454*8585484eSchristos [ntp_cv_multicast=yes], 455*8585484eSchristos [] 456*8585484eSchristos ) 457*8585484eSchristos ;; 458*8585484eSchristos esac 459*8585484eSchristos ] 460*8585484eSchristos) 461*8585484eSchristoscase "$ntp_cv_multicast" in 462*8585484eSchristos yes) 463*8585484eSchristos AC_DEFINE([MCAST], [1], [Does the target support multicast IP?]) 464*8585484eSchristos AC_CACHE_CHECK( 465*8585484eSchristos [arg type needed for setsockopt() IP*_MULTICAST_LOOP], 466*8585484eSchristos [ntp_cv_typeof_ip_multicast_loop], 467*8585484eSchristos [ 468*8585484eSchristos case "$host" in 469*8585484eSchristos *-*-netbsd*|*-*-*linux*) 470*8585484eSchristos ntp_cv_typeof_ip_multicast_loop=u_int 471*8585484eSchristos ;; 472*8585484eSchristos *) 473*8585484eSchristos ntp_cv_typeof_ip_multicast_loop=u_char 474*8585484eSchristos ;; 475*8585484eSchristos esac 476*8585484eSchristos ] 477*8585484eSchristos ) 478*8585484eSchristos AC_DEFINE_UNQUOTED([TYPEOF_IP_MULTICAST_LOOP], 479*8585484eSchristos [$ntp_cv_typeof_ip_multicast_loop], 480*8585484eSchristos [What type to use for setsockopt]) 481*8585484eSchristosesac 482*8585484eSchristos 483*8585484eSchristosAC_ARG_ENABLE( 484*8585484eSchristos [getifaddrs], 485*8585484eSchristos [AS_HELP_STRING( 486*8585484eSchristos [--enable-getifaddrs], 487*8585484eSchristos [+ Enable the use of getifaddrs() [[yes|no]].] 488*8585484eSchristos )], 489*8585484eSchristos [want_getifaddrs="$enableval"], 490*8585484eSchristos [want_getifaddrs="yes"] 491*8585484eSchristos) 492*8585484eSchristos 493*8585484eSchristoscase $want_getifaddrs in 494*8585484eSchristos glibc) 495*8585484eSchristos AC_MSG_WARN([--enable-getifaddrs=glibc is no longer required]) 496*8585484eSchristosesac 497*8585484eSchristoscase $want_getifaddrs in 498*8585484eSchristos no) 499*8585484eSchristos ;; 500*8585484eSchristos *) 501*8585484eSchristos SAVED_LIBS="$LIBS" 502*8585484eSchristos LIBS="$LDADD_LIBNTP $LIBS" 503*8585484eSchristos AC_CHECK_FUNCS([getifaddrs]) 504*8585484eSchristos LIBS="$SAVED_LIBS" 505*8585484eSchristos AS_UNSET([SAVED_LIBS]) 506*8585484eSchristos ;; 507*8585484eSchristosesac 508*8585484eSchristos 509*8585484eSchristos# 510*8585484eSchristos# Check for if_nametoindex() for IPv6 scoped addresses support 511*8585484eSchristos# 512*8585484eSchristoscase "$host" in 513*8585484eSchristos *-hp-hpux*) 514*8585484eSchristos AC_SEARCH_LIBS([if_nametoindex], [ipv6]) 515*8585484eSchristosesac 516*8585484eSchristosSAVED_LIBS="$LIBS" 517*8585484eSchristosLIBS="$LDADD_LIBNTP $LIBS" 518*8585484eSchristosAC_CHECK_FUNCS([if_nametoindex]) 519*8585484eSchristosLIBS="$SAVED_LIBS" 520*8585484eSchristosAS_UNSET([SAVED_LIBS]) 521*8585484eSchristoscase "$ac_cv_func_if_nametoindex" in 522*8585484eSchristos yes) 523*8585484eSchristos AC_DEFINE([ISC_PLATFORM_HAVEIFNAMETOINDEX], [1], 524*8585484eSchristos [ISC: do we have if_nametoindex()?]) 525*8585484eSchristosesac 526*8585484eSchristos 527*8585484eSchristos])dnl 528*8585484eSchristosdnl ====================================================================== 529