File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / sudo / m4 / ax_func_getaddrinfo.m4
Revision 1.1: download - view: text, annotated - select for diffs - revision graph
Sun Jun 15 16:12:54 2014 UTC (10 years, 1 month ago) by misho
CVS tags: MAIN, HEAD
Initial revision

    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>