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>