Annotation of embedaddon/sudo/m4/ax_func_getaddrinfo.m4, revision 1.1
1.1 ! misho 1: #
! 2: # SYNOPSIS
! 3: #
! 4: # AX_FUNC_GETADDRINFO
! 5: #
! 6: # DESCRIPTION
! 7: #
! 8: # Checks for the getaddrinfo function in the standard C library,
! 9: # as well as the socket and inet libraries, if they are present.
! 10: # If extra libraries are required, they are added to LIBS.
! 11: # If no getaddrinfo function is found, it is added to LIBOBJS.
! 12: # Note: Tru64 UNIX contains two versions of getaddrinfo and we must
! 13: # include netdb.h to get the proper definition.
! 14: #
! 15: # LICENSE
! 16: #
! 17: # Placed in the public domain by Todd C. Miller on November 20, 2013.
! 18: #
! 19:
! 20: AC_DEFUN([AX_FUNC_GETADDRINFO],
! 21: [AC_MSG_CHECKING(for getaddrinfo)
! 22: AC_CACHE_VAL(ax_cv_func_getaddrinfo,
! 23: [AC_LINK_IFELSE([AC_LANG_SOURCE([[#include <sys/types.h>
! 24: #include <sys/socket.h>
! 25: #include <netdb.h>
! 26: int main() { return getaddrinfo(0, 0, 0, 0); }]])], [ax_cv_func_getaddrinfo=yes], [ax_cv_func_getaddrinfo=no])])
! 27: AC_MSG_RESULT([$ax_cv_func_getaddrinfo])
! 28: if test X"$ax_cv_func_getaddrinfo" = X"yes"; then
! 29: AC_DEFINE(HAVE_GETADDRINFO, 1, [Define to 1 if you have the `getaddrinfo' function.])
! 30: else
! 31: # Not found in libc, check libsocket and libinet
! 32: _found=no
! 33: for _libs in "-lsocket" "-linet" "-lsocket -lnsl"; do
! 34: _cv="ax_cv_lib_getaddrinfo`echo \"$_libs\"|sed -e 's/-l/_/g' -e 's/ *//g'`"
! 35: AC_MSG_CHECKING([for getaddrinfo in $_libs])
! 36: AC_CACHE_VAL([$_cv], [
! 37: _nlibs=
! 38: for _l in $_libs; do
! 39: case "$LIBS" in
! 40: *"$_l"*) ;;
! 41: *) _nlibs="$_nlibs $_l";;
! 42: esac
! 43: done
! 44: _libs="${_nlibs# }"
! 45: if test -z "$_libs"; then
! 46: # No new libs to check
! 47: eval $_cv=no
! 48: else
! 49: AX_FUNC_GETADDRINFO_OLIBS="$LIBS"
! 50: LIBS="$LIBS $_libs"
! 51: AC_LINK_IFELSE([AC_LANG_SOURCE([[#include <sys/types.h>
! 52: #include <sys/socket.h>
! 53: #include <netdb.h>
! 54: int main() { return getaddrinfo(0, 0, 0, 0); }]])], [eval $_cv=yes], [eval $_cv=no])
! 55: LIBS="$AX_FUNC_GETADDRINFO_OLIBS"
! 56: fi
! 57: ])
! 58: if eval test \$$_cv = "yes"; then
! 59: AC_MSG_RESULT([yes])
! 60: AC_DEFINE(HAVE_GETADDRINFO)
! 61: test -n "$_libs" && LIBS="$LIBS $_libs"
! 62: break
! 63: fi
! 64: AC_MSG_RESULT([no])
! 65: done
! 66: if eval test \$$_cv != "yes"; then
! 67: AC_LIBOBJ(getaddrinfo)
! 68: fi
! 69: fi
! 70: ])
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>