Annotation of embedaddon/curl/m4/curl-functions.m4, revision 1.1

1.1     ! misho       1: #***************************************************************************
        !             2: #                                  _   _ ____  _
        !             3: #  Project                     ___| | | |  _ \| |
        !             4: #                             / __| | | | |_) | |
        !             5: #                            | (__| |_| |  _ <| |___
        !             6: #                             \___|\___/|_| \_\_____|
        !             7: #
        !             8: # Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
        !             9: #
        !            10: # This software is licensed as described in the file COPYING, which
        !            11: # you should have received as part of this distribution. The terms
        !            12: # are also available at https://curl.haxx.se/docs/copyright.html.
        !            13: #
        !            14: # You may opt to use, copy, modify, merge, publish, distribute and/or sell
        !            15: # copies of the Software, and permit persons to whom the Software is
        !            16: # furnished to do so, under the terms of the COPYING file.
        !            17: #
        !            18: # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
        !            19: # KIND, either express or implied.
        !            20: #
        !            21: #***************************************************************************
        !            22: 
        !            23: # File version for 'aclocal' use. Keep it a single number.
        !            24: # serial 73
        !            25: 
        !            26: 
        !            27: dnl CURL_INCLUDES_ARPA_INET
        !            28: dnl -------------------------------------------------
        !            29: dnl Set up variable with list of headers that must be
        !            30: dnl included when arpa/inet.h is to be included.
        !            31: 
        !            32: AC_DEFUN([CURL_INCLUDES_ARPA_INET], [
        !            33: curl_includes_arpa_inet="\
        !            34: /* includes start */
        !            35: #ifdef HAVE_SYS_TYPES_H
        !            36: #  include <sys/types.h>
        !            37: #endif
        !            38: #ifdef HAVE_SYS_SOCKET_H
        !            39: #  include <sys/socket.h>
        !            40: #endif
        !            41: #ifdef HAVE_NETINET_IN_H
        !            42: #  include <netinet/in.h>
        !            43: #endif
        !            44: #ifdef HAVE_ARPA_INET_H
        !            45: #  include <arpa/inet.h>
        !            46: #endif
        !            47: #ifdef HAVE_WINSOCK2_H
        !            48: #include <winsock2.h>
        !            49: #include <ws2tcpip.h>
        !            50: #endif
        !            51: /* includes end */"
        !            52:   AC_CHECK_HEADERS(
        !            53:     sys/types.h sys/socket.h netinet/in.h arpa/inet.h,
        !            54:     [], [], [$curl_includes_arpa_inet])
        !            55: ])
        !            56: 
        !            57: 
        !            58: dnl CURL_INCLUDES_FCNTL
        !            59: dnl -------------------------------------------------
        !            60: dnl Set up variable with list of headers that must be
        !            61: dnl included when fcntl.h is to be included.
        !            62: 
        !            63: AC_DEFUN([CURL_INCLUDES_FCNTL], [
        !            64: curl_includes_fcntl="\
        !            65: /* includes start */
        !            66: #ifdef HAVE_SYS_TYPES_H
        !            67: #  include <sys/types.h>
        !            68: #endif
        !            69: #ifdef HAVE_UNISTD_H
        !            70: #  include <unistd.h>
        !            71: #endif
        !            72: #ifdef HAVE_FCNTL_H
        !            73: #  include <fcntl.h>
        !            74: #endif
        !            75: /* includes end */"
        !            76:   AC_CHECK_HEADERS(
        !            77:     sys/types.h unistd.h fcntl.h,
        !            78:     [], [], [$curl_includes_fcntl])
        !            79: ])
        !            80: 
        !            81: 
        !            82: dnl CURL_INCLUDES_IFADDRS
        !            83: dnl -------------------------------------------------
        !            84: dnl Set up variable with list of headers that must be
        !            85: dnl included when ifaddrs.h is to be included.
        !            86: 
        !            87: AC_DEFUN([CURL_INCLUDES_IFADDRS], [
        !            88: curl_includes_ifaddrs="\
        !            89: /* includes start */
        !            90: #ifdef HAVE_SYS_TYPES_H
        !            91: #  include <sys/types.h>
        !            92: #endif
        !            93: #ifdef HAVE_SYS_SOCKET_H
        !            94: #  include <sys/socket.h>
        !            95: #endif
        !            96: #ifdef HAVE_NETINET_IN_H
        !            97: #  include <netinet/in.h>
        !            98: #endif
        !            99: #ifdef HAVE_IFADDRS_H
        !           100: #  include <ifaddrs.h>
        !           101: #endif
        !           102: /* includes end */"
        !           103:   AC_CHECK_HEADERS(
        !           104:     sys/types.h sys/socket.h netinet/in.h ifaddrs.h,
        !           105:     [], [], [$curl_includes_ifaddrs])
        !           106: ])
        !           107: 
        !           108: 
        !           109: dnl CURL_INCLUDES_INTTYPES
        !           110: dnl -------------------------------------------------
        !           111: dnl Set up variable with list of headers that must be
        !           112: dnl included when inttypes.h is to be included.
        !           113: 
        !           114: AC_DEFUN([CURL_INCLUDES_INTTYPES], [
        !           115: curl_includes_inttypes="\
        !           116: /* includes start */
        !           117: #ifdef HAVE_SYS_TYPES_H
        !           118: # include <sys/types.h>
        !           119: #endif
        !           120: #ifdef HAVE_STDINT_H
        !           121: # include <stdint.h>
        !           122: #endif
        !           123: #ifdef HAVE_INTTYPES_H
        !           124: # include <inttypes.h>
        !           125: #endif
        !           126: /* includes end */"
        !           127:   case $host_os in
        !           128:     irix*)
        !           129:       ac_cv_header_stdint_h="no"
        !           130:       ;;
        !           131:   esac
        !           132:   AC_CHECK_HEADERS(
        !           133:     sys/types.h stdint.h inttypes.h,
        !           134:     [], [], [$curl_includes_inttypes])
        !           135: ])
        !           136: 
        !           137: 
        !           138: dnl CURL_INCLUDES_LIBGEN
        !           139: dnl -------------------------------------------------
        !           140: dnl Set up variable with list of headers that must be
        !           141: dnl included when libgen.h is to be included.
        !           142: 
        !           143: AC_DEFUN([CURL_INCLUDES_LIBGEN], [
        !           144: curl_includes_libgen="\
        !           145: /* includes start */
        !           146: #ifdef HAVE_SYS_TYPES_H
        !           147: #  include <sys/types.h>
        !           148: #endif
        !           149: #ifdef HAVE_LIBGEN_H
        !           150: #  include <libgen.h>
        !           151: #endif
        !           152: /* includes end */"
        !           153:   AC_CHECK_HEADERS(
        !           154:     sys/types.h libgen.h,
        !           155:     [], [], [$curl_includes_libgen])
        !           156: ])
        !           157: 
        !           158: 
        !           159: dnl CURL_INCLUDES_NETDB
        !           160: dnl -------------------------------------------------
        !           161: dnl Set up variable with list of headers that must be
        !           162: dnl included when netdb.h is to be included.
        !           163: 
        !           164: AC_DEFUN([CURL_INCLUDES_NETDB], [
        !           165: curl_includes_netdb="\
        !           166: /* includes start */
        !           167: #ifdef HAVE_SYS_TYPES_H
        !           168: #  include <sys/types.h>
        !           169: #endif
        !           170: #ifdef HAVE_NETDB_H
        !           171: #  include <netdb.h>
        !           172: #endif
        !           173: /* includes end */"
        !           174:   AC_CHECK_HEADERS(
        !           175:     sys/types.h netdb.h,
        !           176:     [], [], [$curl_includes_netdb])
        !           177: ])
        !           178: 
        !           179: 
        !           180: dnl CURL_INCLUDES_POLL
        !           181: dnl -------------------------------------------------
        !           182: dnl Set up variable with list of headers that must be
        !           183: dnl included when poll.h is to be included.
        !           184: 
        !           185: AC_DEFUN([CURL_INCLUDES_POLL], [
        !           186: curl_includes_poll="\
        !           187: /* includes start */
        !           188: #ifdef HAVE_SYS_TYPES_H
        !           189: #  include <sys/types.h>
        !           190: #endif
        !           191: #ifdef HAVE_POLL_H
        !           192: #  include <poll.h>
        !           193: #endif
        !           194: #ifdef HAVE_SYS_POLL_H
        !           195: #  include <sys/poll.h>
        !           196: #endif
        !           197: /* includes end */"
        !           198:   AC_CHECK_HEADERS(
        !           199:     sys/types.h poll.h sys/poll.h,
        !           200:     [], [], [$curl_includes_poll])
        !           201: ])
        !           202: 
        !           203: 
        !           204: dnl CURL_INCLUDES_SETJMP
        !           205: dnl -------------------------------------------------
        !           206: dnl Set up variable with list of headers that must be
        !           207: dnl included when setjmp.h is to be included.
        !           208: 
        !           209: AC_DEFUN([CURL_INCLUDES_SETJMP], [
        !           210: curl_includes_setjmp="\
        !           211: /* includes start */
        !           212: #ifdef HAVE_SYS_TYPES_H
        !           213: #  include <sys/types.h>
        !           214: #endif
        !           215: #ifdef HAVE_SETJMP_H
        !           216: #  include <setjmp.h>
        !           217: #endif
        !           218: /* includes end */"
        !           219:   AC_CHECK_HEADERS(
        !           220:     sys/types.h setjmp.h,
        !           221:     [], [], [$curl_includes_setjmp])
        !           222: ])
        !           223: 
        !           224: 
        !           225: dnl CURL_INCLUDES_SIGNAL
        !           226: dnl -------------------------------------------------
        !           227: dnl Set up variable with list of headers that must be
        !           228: dnl included when signal.h is to be included.
        !           229: 
        !           230: AC_DEFUN([CURL_INCLUDES_SIGNAL], [
        !           231: curl_includes_signal="\
        !           232: /* includes start */
        !           233: #ifdef HAVE_SYS_TYPES_H
        !           234: #  include <sys/types.h>
        !           235: #endif
        !           236: #ifdef HAVE_SIGNAL_H
        !           237: #  include <signal.h>
        !           238: #endif
        !           239: /* includes end */"
        !           240:   AC_CHECK_HEADERS(
        !           241:     sys/types.h signal.h,
        !           242:     [], [], [$curl_includes_signal])
        !           243: ])
        !           244: 
        !           245: 
        !           246: dnl CURL_INCLUDES_SOCKET
        !           247: dnl -------------------------------------------------
        !           248: dnl Set up variable with list of headers that must be
        !           249: dnl included when socket.h is to be included.
        !           250: 
        !           251: AC_DEFUN([CURL_INCLUDES_SOCKET], [
        !           252: curl_includes_socket="\
        !           253: /* includes start */
        !           254: #ifdef HAVE_SYS_TYPES_H
        !           255: #  include <sys/types.h>
        !           256: #endif
        !           257: #ifdef HAVE_SOCKET_H
        !           258: #  include <socket.h>
        !           259: #endif
        !           260: /* includes end */"
        !           261:   AC_CHECK_HEADERS(
        !           262:     sys/types.h socket.h,
        !           263:     [], [], [$curl_includes_socket])
        !           264: ])
        !           265: 
        !           266: 
        !           267: dnl CURL_INCLUDES_STDIO
        !           268: dnl -------------------------------------------------
        !           269: dnl Set up variable with list of headers that must be
        !           270: dnl included when stdio.h is to be included.
        !           271: 
        !           272: AC_DEFUN([CURL_INCLUDES_STDIO], [
        !           273: curl_includes_stdio="\
        !           274: /* includes start */
        !           275: #ifdef HAVE_SYS_TYPES_H
        !           276: #  include <sys/types.h>
        !           277: #endif
        !           278: #ifdef HAVE_STDIO_H
        !           279: #  include <stdio.h>
        !           280: #endif
        !           281: /* includes end */"
        !           282:   AC_CHECK_HEADERS(
        !           283:     sys/types.h stdio.h,
        !           284:     [], [], [$curl_includes_stdio])
        !           285: ])
        !           286: 
        !           287: 
        !           288: dnl CURL_INCLUDES_STDLIB
        !           289: dnl -------------------------------------------------
        !           290: dnl Set up variable with list of headers that must be
        !           291: dnl included when stdlib.h is to be included.
        !           292: 
        !           293: AC_DEFUN([CURL_INCLUDES_STDLIB], [
        !           294: curl_includes_stdlib="\
        !           295: /* includes start */
        !           296: #ifdef HAVE_SYS_TYPES_H
        !           297: #  include <sys/types.h>
        !           298: #endif
        !           299: #ifdef HAVE_STDLIB_H
        !           300: #  include <stdlib.h>
        !           301: #endif
        !           302: /* includes end */"
        !           303:   AC_CHECK_HEADERS(
        !           304:     sys/types.h stdlib.h,
        !           305:     [], [], [$curl_includes_stdlib])
        !           306: ])
        !           307: 
        !           308: 
        !           309: dnl CURL_INCLUDES_STRING
        !           310: dnl -------------------------------------------------
        !           311: dnl Set up variable with list of headers that must be
        !           312: dnl included when string(s).h is to be included.
        !           313: 
        !           314: AC_DEFUN([CURL_INCLUDES_STRING], [
        !           315: curl_includes_string="\
        !           316: /* includes start */
        !           317: #ifdef HAVE_SYS_TYPES_H
        !           318: #  include <sys/types.h>
        !           319: #endif
        !           320: #ifdef HAVE_STRING_H
        !           321: #  include <string.h>
        !           322: #endif
        !           323: #ifdef HAVE_STRINGS_H
        !           324: #  include <strings.h>
        !           325: #endif
        !           326: /* includes end */"
        !           327:   AC_CHECK_HEADERS(
        !           328:     sys/types.h string.h strings.h,
        !           329:     [], [], [$curl_includes_string])
        !           330: ])
        !           331: 
        !           332: 
        !           333: dnl CURL_INCLUDES_STROPTS
        !           334: dnl -------------------------------------------------
        !           335: dnl Set up variable with list of headers that must be
        !           336: dnl included when stropts.h is to be included.
        !           337: 
        !           338: AC_DEFUN([CURL_INCLUDES_STROPTS], [
        !           339: curl_includes_stropts="\
        !           340: /* includes start */
        !           341: #ifdef HAVE_SYS_TYPES_H
        !           342: #  include <sys/types.h>
        !           343: #endif
        !           344: #ifdef HAVE_UNISTD_H
        !           345: #  include <unistd.h>
        !           346: #endif
        !           347: #ifdef HAVE_SYS_SOCKET_H
        !           348: #  include <sys/socket.h>
        !           349: #endif
        !           350: #ifdef HAVE_SYS_IOCTL_H
        !           351: #  include <sys/ioctl.h>
        !           352: #endif
        !           353: #ifdef HAVE_STROPTS_H
        !           354: #  include <stropts.h>
        !           355: #endif
        !           356: /* includes end */"
        !           357:   AC_CHECK_HEADERS(
        !           358:     sys/types.h unistd.h sys/socket.h sys/ioctl.h stropts.h,
        !           359:     [], [], [$curl_includes_stropts])
        !           360: ])
        !           361: 
        !           362: 
        !           363: dnl CURL_INCLUDES_SYS_SOCKET
        !           364: dnl -------------------------------------------------
        !           365: dnl Set up variable with list of headers that must be
        !           366: dnl included when sys/socket.h is to be included.
        !           367: 
        !           368: AC_DEFUN([CURL_INCLUDES_SYS_SOCKET], [
        !           369: curl_includes_sys_socket="\
        !           370: /* includes start */
        !           371: #ifdef HAVE_SYS_TYPES_H
        !           372: #  include <sys/types.h>
        !           373: #endif
        !           374: #ifdef HAVE_SYS_SOCKET_H
        !           375: #  include <sys/socket.h>
        !           376: #endif
        !           377: /* includes end */"
        !           378:   AC_CHECK_HEADERS(
        !           379:     sys/types.h sys/socket.h,
        !           380:     [], [], [$curl_includes_sys_socket])
        !           381: ])
        !           382: 
        !           383: 
        !           384: dnl CURL_INCLUDES_SYS_TYPES
        !           385: dnl -------------------------------------------------
        !           386: dnl Set up variable with list of headers that must be
        !           387: dnl included when sys/types.h is to be included.
        !           388: 
        !           389: AC_DEFUN([CURL_INCLUDES_SYS_TYPES], [
        !           390: curl_includes_sys_types="\
        !           391: /* includes start */
        !           392: #ifdef HAVE_SYS_TYPES_H
        !           393: #  include <sys/types.h>
        !           394: #endif
        !           395: /* includes end */"
        !           396:   AC_CHECK_HEADERS(
        !           397:     sys/types.h,
        !           398:     [], [], [$curl_includes_sys_types])
        !           399: ])
        !           400: 
        !           401: 
        !           402: dnl CURL_INCLUDES_SYS_UIO
        !           403: dnl -------------------------------------------------
        !           404: dnl Set up variable with list of headers that must be
        !           405: dnl included when sys/uio.h is to be included.
        !           406: 
        !           407: AC_DEFUN([CURL_INCLUDES_SYS_UIO], [
        !           408: curl_includes_sys_uio="\
        !           409: /* includes start */
        !           410: #ifdef HAVE_SYS_TYPES_H
        !           411: #  include <sys/types.h>
        !           412: #endif
        !           413: #ifdef HAVE_SYS_UIO_H
        !           414: #  include <sys/uio.h>
        !           415: #endif
        !           416: /* includes end */"
        !           417:   AC_CHECK_HEADERS(
        !           418:     sys/types.h sys/uio.h,
        !           419:     [], [], [$curl_includes_sys_uio])
        !           420: ])
        !           421: 
        !           422: 
        !           423: dnl CURL_INCLUDES_SYS_XATTR
        !           424: dnl -------------------------------------------------
        !           425: dnl Set up variable with list of headers that must be
        !           426: dnl included when sys/xattr.h is to be included.
        !           427: 
        !           428: AC_DEFUN([CURL_INCLUDES_SYS_XATTR], [
        !           429: curl_includes_sys_xattr="\
        !           430: /* includes start */
        !           431: #ifdef HAVE_SYS_TYPES_H
        !           432: #  include <sys/types.h>
        !           433: #endif
        !           434: #ifdef HAVE_SYS_XATTR_H
        !           435: #  include <sys/xattr.h>
        !           436: #endif
        !           437: /* includes end */"
        !           438:   AC_CHECK_HEADERS(
        !           439:     sys/types.h sys/xattr.h,
        !           440:     [], [], [$curl_includes_sys_xattr])
        !           441: ])
        !           442: 
        !           443: dnl CURL_INCLUDES_TIME
        !           444: dnl -------------------------------------------------
        !           445: dnl Set up variable with list of headers that must be
        !           446: dnl included when time.h is to be included.
        !           447: 
        !           448: AC_DEFUN([CURL_INCLUDES_TIME], [
        !           449: AC_REQUIRE([AC_HEADER_TIME])dnl
        !           450: curl_includes_time="\
        !           451: /* includes start */
        !           452: #ifdef HAVE_SYS_TYPES_H
        !           453: #  include <sys/types.h>
        !           454: #endif
        !           455: #ifdef HAVE_SYS_TIME_H
        !           456: #  include <sys/time.h>
        !           457: #  ifdef TIME_WITH_SYS_TIME
        !           458: #    include <time.h>
        !           459: #  endif
        !           460: #else
        !           461: #  ifdef HAVE_TIME_H
        !           462: #    include <time.h>
        !           463: #  endif
        !           464: #endif
        !           465: /* includes end */"
        !           466:   AC_CHECK_HEADERS(
        !           467:     sys/types.h sys/time.h time.h,
        !           468:     [], [], [$curl_includes_time])
        !           469: ])
        !           470: 
        !           471: 
        !           472: dnl CURL_INCLUDES_UNISTD
        !           473: dnl -------------------------------------------------
        !           474: dnl Set up variable with list of headers that must be
        !           475: dnl included when unistd.h is to be included.
        !           476: 
        !           477: AC_DEFUN([CURL_INCLUDES_UNISTD], [
        !           478: curl_includes_unistd="\
        !           479: /* includes start */
        !           480: #ifdef HAVE_SYS_TYPES_H
        !           481: #  include <sys/types.h>
        !           482: #endif
        !           483: #ifdef HAVE_UNISTD_H
        !           484: #  include <unistd.h>
        !           485: #endif
        !           486: /* includes end */"
        !           487:   AC_CHECK_HEADERS(
        !           488:     sys/types.h unistd.h,
        !           489:     [], [], [$curl_includes_unistd])
        !           490: ])
        !           491: 
        !           492: 
        !           493: dnl CURL_INCLUDES_WINSOCK2
        !           494: dnl -------------------------------------------------
        !           495: dnl Set up variable with list of headers that must be
        !           496: dnl included when winsock(2).h is to be included.
        !           497: 
        !           498: AC_DEFUN([CURL_INCLUDES_WINSOCK2], [
        !           499: curl_includes_winsock2="\
        !           500: /* includes start */
        !           501: #ifdef HAVE_WINDOWS_H
        !           502: #  ifndef WIN32_LEAN_AND_MEAN
        !           503: #    define WIN32_LEAN_AND_MEAN
        !           504: #  endif
        !           505: #  include <windows.h>
        !           506: #  ifdef HAVE_WINSOCK2_H
        !           507: #    include <winsock2.h>
        !           508: #  else
        !           509: #    ifdef HAVE_WINSOCK_H
        !           510: #      include <winsock.h>
        !           511: #    endif
        !           512: #  endif
        !           513: #endif
        !           514: /* includes end */"
        !           515:   CURL_CHECK_HEADER_WINDOWS
        !           516:   CURL_CHECK_HEADER_WINSOCK
        !           517:   CURL_CHECK_HEADER_WINSOCK2
        !           518: ])
        !           519: 
        !           520: 
        !           521: dnl CURL_INCLUDES_WS2TCPIP
        !           522: dnl -------------------------------------------------
        !           523: dnl Set up variable with list of headers that must be
        !           524: dnl included when ws2tcpip.h is to be included.
        !           525: 
        !           526: AC_DEFUN([CURL_INCLUDES_WS2TCPIP], [
        !           527: curl_includes_ws2tcpip="\
        !           528: /* includes start */
        !           529: #ifdef HAVE_WINDOWS_H
        !           530: #  ifndef WIN32_LEAN_AND_MEAN
        !           531: #    define WIN32_LEAN_AND_MEAN
        !           532: #  endif
        !           533: #  include <windows.h>
        !           534: #  ifdef HAVE_WINSOCK2_H
        !           535: #    include <winsock2.h>
        !           536: #    ifdef HAVE_WS2TCPIP_H
        !           537: #       include <ws2tcpip.h>
        !           538: #    endif
        !           539: #  endif
        !           540: #endif
        !           541: /* includes end */"
        !           542:   CURL_CHECK_HEADER_WINDOWS
        !           543:   CURL_CHECK_HEADER_WINSOCK2
        !           544:   CURL_CHECK_HEADER_WS2TCPIP
        !           545: ])
        !           546: 
        !           547: 
        !           548: dnl CURL_INCLUDES_BSDSOCKET
        !           549: dnl -------------------------------------------------
        !           550: dnl Set up variable with list of headers that must be
        !           551: dnl included when bsdsocket.h is to be included.
        !           552: 
        !           553: AC_DEFUN([CURL_INCLUDES_BSDSOCKET], [
        !           554: curl_includes_bsdsocket="\
        !           555: /* includes start */
        !           556: #ifdef HAVE_PROTO_BSDSOCKET_H
        !           557: #  include <proto/bsdsocket.h>
        !           558:   struct Library *SocketBase = NULL;
        !           559: #endif
        !           560: /* includes end */"
        !           561:   AC_CHECK_HEADERS(
        !           562:     proto/bsdsocket.h,
        !           563:     [], [], [      $curl_includes_bsdsocket])
        !           564: ])
        !           565: 
        !           566: dnl CURL_INCLUDES_NETIF
        !           567: dnl -------------------------------------------------
        !           568: dnl Set up variable with list of headers that must be
        !           569: dnl included when net/if.h is to be included.
        !           570: 
        !           571: AC_DEFUN([CURL_INCLUDES_NETIF], [
        !           572: curl_includes_netif="\
        !           573: /* includes start */
        !           574: #ifdef HAVE_NET_IF_H
        !           575: #  include <net/if.h>
        !           576: #endif
        !           577: /* includes end */"
        !           578:   AC_CHECK_HEADERS(
        !           579:     net/if.h,
        !           580:     [], [], [$curl_includes_netif])
        !           581: ])
        !           582: 
        !           583: 
        !           584: dnl CURL_PREPROCESS_CALLCONV
        !           585: dnl -------------------------------------------------
        !           586: dnl Set up variable with a preprocessor block which
        !           587: dnl defines function calling convention.
        !           588: 
        !           589: AC_DEFUN([CURL_PREPROCESS_CALLCONV], [
        !           590: curl_preprocess_callconv="\
        !           591: /* preprocess start */
        !           592: #ifdef HAVE_WINDOWS_H
        !           593: #  define FUNCALLCONV __stdcall
        !           594: #else
        !           595: #  define FUNCALLCONV
        !           596: #endif
        !           597: /* preprocess end */"
        !           598: ])
        !           599: 
        !           600: 
        !           601: dnl CURL_CHECK_FUNC_ALARM
        !           602: dnl -------------------------------------------------
        !           603: dnl Verify if alarm is available, prototyped, and
        !           604: dnl can be compiled. If all of these are true, and
        !           605: dnl usage has not been previously disallowed with
        !           606: dnl shell variable curl_disallow_alarm, then
        !           607: dnl HAVE_ALARM will be defined.
        !           608: 
        !           609: AC_DEFUN([CURL_CHECK_FUNC_ALARM], [
        !           610:   AC_REQUIRE([CURL_INCLUDES_UNISTD])dnl
        !           611:   #
        !           612:   tst_links_alarm="unknown"
        !           613:   tst_proto_alarm="unknown"
        !           614:   tst_compi_alarm="unknown"
        !           615:   tst_allow_alarm="unknown"
        !           616:   #
        !           617:   AC_MSG_CHECKING([if alarm can be linked])
        !           618:   AC_LINK_IFELSE([
        !           619:     AC_LANG_FUNC_LINK_TRY([alarm])
        !           620:   ],[
        !           621:     AC_MSG_RESULT([yes])
        !           622:     tst_links_alarm="yes"
        !           623:   ],[
        !           624:     AC_MSG_RESULT([no])
        !           625:     tst_links_alarm="no"
        !           626:   ])
        !           627:   #
        !           628:   if test "$tst_links_alarm" = "yes"; then
        !           629:     AC_MSG_CHECKING([if alarm is prototyped])
        !           630:     AC_EGREP_CPP([alarm],[
        !           631:       $curl_includes_unistd
        !           632:     ],[
        !           633:       AC_MSG_RESULT([yes])
        !           634:       tst_proto_alarm="yes"
        !           635:     ],[
        !           636:       AC_MSG_RESULT([no])
        !           637:       tst_proto_alarm="no"
        !           638:     ])
        !           639:   fi
        !           640:   #
        !           641:   if test "$tst_proto_alarm" = "yes"; then
        !           642:     AC_MSG_CHECKING([if alarm is compilable])
        !           643:     AC_COMPILE_IFELSE([
        !           644:       AC_LANG_PROGRAM([[
        !           645:         $curl_includes_unistd
        !           646:       ]],[[
        !           647:         if(0 != alarm(0))
        !           648:           return 1;
        !           649:       ]])
        !           650:     ],[
        !           651:       AC_MSG_RESULT([yes])
        !           652:       tst_compi_alarm="yes"
        !           653:     ],[
        !           654:       AC_MSG_RESULT([no])
        !           655:       tst_compi_alarm="no"
        !           656:     ])
        !           657:   fi
        !           658:   #
        !           659:   if test "$tst_compi_alarm" = "yes"; then
        !           660:     AC_MSG_CHECKING([if alarm usage allowed])
        !           661:     if test "x$curl_disallow_alarm" != "xyes"; then
        !           662:       AC_MSG_RESULT([yes])
        !           663:       tst_allow_alarm="yes"
        !           664:     else
        !           665:       AC_MSG_RESULT([no])
        !           666:       tst_allow_alarm="no"
        !           667:     fi
        !           668:   fi
        !           669:   #
        !           670:   AC_MSG_CHECKING([if alarm might be used])
        !           671:   if test "$tst_links_alarm" = "yes" &&
        !           672:      test "$tst_proto_alarm" = "yes" &&
        !           673:      test "$tst_compi_alarm" = "yes" &&
        !           674:      test "$tst_allow_alarm" = "yes"; then
        !           675:     AC_MSG_RESULT([yes])
        !           676:     AC_DEFINE_UNQUOTED(HAVE_ALARM, 1,
        !           677:       [Define to 1 if you have the alarm function.])
        !           678:     curl_cv_func_alarm="yes"
        !           679:   else
        !           680:     AC_MSG_RESULT([no])
        !           681:     curl_cv_func_alarm="no"
        !           682:   fi
        !           683: ])
        !           684: 
        !           685: 
        !           686: dnl CURL_CHECK_FUNC_BASENAME
        !           687: dnl -------------------------------------------------
        !           688: dnl Verify if basename is available, prototyped, and
        !           689: dnl can be compiled. If all of these are true, and
        !           690: dnl usage has not been previously disallowed with
        !           691: dnl shell variable curl_disallow_basename, then
        !           692: dnl HAVE_BASENAME will be defined.
        !           693: 
        !           694: AC_DEFUN([CURL_CHECK_FUNC_BASENAME], [
        !           695:   AC_REQUIRE([CURL_INCLUDES_STRING])dnl
        !           696:   AC_REQUIRE([CURL_INCLUDES_LIBGEN])dnl
        !           697:   AC_REQUIRE([CURL_INCLUDES_UNISTD])dnl
        !           698:   #
        !           699:   tst_links_basename="unknown"
        !           700:   tst_proto_basename="unknown"
        !           701:   tst_compi_basename="unknown"
        !           702:   tst_allow_basename="unknown"
        !           703:   #
        !           704:   AC_MSG_CHECKING([if basename can be linked])
        !           705:   AC_LINK_IFELSE([
        !           706:     AC_LANG_FUNC_LINK_TRY([basename])
        !           707:   ],[
        !           708:     AC_MSG_RESULT([yes])
        !           709:     tst_links_basename="yes"
        !           710:   ],[
        !           711:     AC_MSG_RESULT([no])
        !           712:     tst_links_basename="no"
        !           713:   ])
        !           714:   #
        !           715:   if test "$tst_links_basename" = "yes"; then
        !           716:     AC_MSG_CHECKING([if basename is prototyped])
        !           717:     AC_EGREP_CPP([basename],[
        !           718:       $curl_includes_string
        !           719:       $curl_includes_libgen
        !           720:       $curl_includes_unistd
        !           721:     ],[
        !           722:       AC_MSG_RESULT([yes])
        !           723:       tst_proto_basename="yes"
        !           724:     ],[
        !           725:       AC_MSG_RESULT([no])
        !           726:       tst_proto_basename="no"
        !           727:     ])
        !           728:   fi
        !           729:   #
        !           730:   if test "$tst_proto_basename" = "yes"; then
        !           731:     AC_MSG_CHECKING([if basename is compilable])
        !           732:     AC_COMPILE_IFELSE([
        !           733:       AC_LANG_PROGRAM([[
        !           734:         $curl_includes_string
        !           735:         $curl_includes_libgen
        !           736:         $curl_includes_unistd
        !           737:       ]],[[
        !           738:         if(0 != basename(0))
        !           739:           return 1;
        !           740:       ]])
        !           741:     ],[
        !           742:       AC_MSG_RESULT([yes])
        !           743:       tst_compi_basename="yes"
        !           744:     ],[
        !           745:       AC_MSG_RESULT([no])
        !           746:       tst_compi_basename="no"
        !           747:     ])
        !           748:   fi
        !           749:   #
        !           750:   if test "$tst_compi_basename" = "yes"; then
        !           751:     AC_MSG_CHECKING([if basename usage allowed])
        !           752:     if test "x$curl_disallow_basename" != "xyes"; then
        !           753:       AC_MSG_RESULT([yes])
        !           754:       tst_allow_basename="yes"
        !           755:     else
        !           756:       AC_MSG_RESULT([no])
        !           757:       tst_allow_basename="no"
        !           758:     fi
        !           759:   fi
        !           760:   #
        !           761:   AC_MSG_CHECKING([if basename might be used])
        !           762:   if test "$tst_links_basename" = "yes" &&
        !           763:      test "$tst_proto_basename" = "yes" &&
        !           764:      test "$tst_compi_basename" = "yes" &&
        !           765:      test "$tst_allow_basename" = "yes"; then
        !           766:     AC_MSG_RESULT([yes])
        !           767:     AC_DEFINE_UNQUOTED(HAVE_BASENAME, 1,
        !           768:       [Define to 1 if you have the basename function.])
        !           769:     curl_cv_func_basename="yes"
        !           770:   else
        !           771:     AC_MSG_RESULT([no])
        !           772:     curl_cv_func_basename="no"
        !           773:   fi
        !           774: ])
        !           775: 
        !           776: 
        !           777: dnl CURL_CHECK_FUNC_CLOSESOCKET
        !           778: dnl -------------------------------------------------
        !           779: dnl Verify if closesocket is available, prototyped, and
        !           780: dnl can be compiled. If all of these are true, and
        !           781: dnl usage has not been previously disallowed with
        !           782: dnl shell variable curl_disallow_closesocket, then
        !           783: dnl HAVE_CLOSESOCKET will be defined.
        !           784: 
        !           785: AC_DEFUN([CURL_CHECK_FUNC_CLOSESOCKET], [
        !           786:   AC_REQUIRE([CURL_INCLUDES_WINSOCK2])dnl
        !           787:   AC_REQUIRE([CURL_INCLUDES_SOCKET])dnl
        !           788:   #
        !           789:   tst_links_closesocket="unknown"
        !           790:   tst_proto_closesocket="unknown"
        !           791:   tst_compi_closesocket="unknown"
        !           792:   tst_allow_closesocket="unknown"
        !           793:   #
        !           794:   AC_MSG_CHECKING([if closesocket can be linked])
        !           795:   AC_LINK_IFELSE([
        !           796:     AC_LANG_PROGRAM([[
        !           797:       $curl_includes_winsock2
        !           798:       $curl_includes_bsdsocket
        !           799:       $curl_includes_socket
        !           800:     ]],[[
        !           801:       if(0 != closesocket(0))
        !           802:         return 1;
        !           803:     ]])
        !           804:   ],[
        !           805:     AC_MSG_RESULT([yes])
        !           806:     tst_links_closesocket="yes"
        !           807:   ],[
        !           808:     AC_MSG_RESULT([no])
        !           809:     tst_links_closesocket="no"
        !           810:   ])
        !           811:   #
        !           812:   if test "$tst_links_closesocket" = "yes"; then
        !           813:     AC_MSG_CHECKING([if closesocket is prototyped])
        !           814:     AC_EGREP_CPP([closesocket],[
        !           815:       $curl_includes_winsock2
        !           816:       $curl_includes_bsdsocket
        !           817:       $curl_includes_socket
        !           818:     ],[
        !           819:       AC_MSG_RESULT([yes])
        !           820:       tst_proto_closesocket="yes"
        !           821:     ],[
        !           822:       AC_MSG_RESULT([no])
        !           823:       tst_proto_closesocket="no"
        !           824:     ])
        !           825:   fi
        !           826:   #
        !           827:   if test "$tst_proto_closesocket" = "yes"; then
        !           828:     AC_MSG_CHECKING([if closesocket is compilable])
        !           829:     AC_COMPILE_IFELSE([
        !           830:       AC_LANG_PROGRAM([[
        !           831:         $curl_includes_winsock2
        !           832:       $curl_includes_bsdsocket
        !           833:         $curl_includes_socket
        !           834:       ]],[[
        !           835:         if(0 != closesocket(0))
        !           836:           return 1;
        !           837:       ]])
        !           838:     ],[
        !           839:       AC_MSG_RESULT([yes])
        !           840:       tst_compi_closesocket="yes"
        !           841:     ],[
        !           842:       AC_MSG_RESULT([no])
        !           843:       tst_compi_closesocket="no"
        !           844:     ])
        !           845:   fi
        !           846:   #
        !           847:   if test "$tst_compi_closesocket" = "yes"; then
        !           848:     AC_MSG_CHECKING([if closesocket usage allowed])
        !           849:     if test "x$curl_disallow_closesocket" != "xyes"; then
        !           850:       AC_MSG_RESULT([yes])
        !           851:       tst_allow_closesocket="yes"
        !           852:     else
        !           853:       AC_MSG_RESULT([no])
        !           854:       tst_allow_closesocket="no"
        !           855:     fi
        !           856:   fi
        !           857:   #
        !           858:   AC_MSG_CHECKING([if closesocket might be used])
        !           859:   if test "$tst_links_closesocket" = "yes" &&
        !           860:      test "$tst_proto_closesocket" = "yes" &&
        !           861:      test "$tst_compi_closesocket" = "yes" &&
        !           862:      test "$tst_allow_closesocket" = "yes"; then
        !           863:     AC_MSG_RESULT([yes])
        !           864:     AC_DEFINE_UNQUOTED(HAVE_CLOSESOCKET, 1,
        !           865:       [Define to 1 if you have the closesocket function.])
        !           866:     curl_cv_func_closesocket="yes"
        !           867:   else
        !           868:     AC_MSG_RESULT([no])
        !           869:     curl_cv_func_closesocket="no"
        !           870:   fi
        !           871: ])
        !           872: 
        !           873: 
        !           874: dnl CURL_CHECK_FUNC_CLOSESOCKET_CAMEL
        !           875: dnl -------------------------------------------------
        !           876: dnl Verify if CloseSocket is available, prototyped, and
        !           877: dnl can be compiled. If all of these are true, and
        !           878: dnl usage has not been previously disallowed with
        !           879: dnl shell variable curl_disallow_closesocket_camel,
        !           880: dnl then HAVE_CLOSESOCKET_CAMEL will be defined.
        !           881: 
        !           882: AC_DEFUN([CURL_CHECK_FUNC_CLOSESOCKET_CAMEL], [
        !           883:   AC_REQUIRE([CURL_INCLUDES_SYS_SOCKET])dnl
        !           884:   #
        !           885:   tst_links_closesocket_camel="unknown"
        !           886:   tst_proto_closesocket_camel="unknown"
        !           887:   tst_compi_closesocket_camel="unknown"
        !           888:   tst_allow_closesocket_camel="unknown"
        !           889:   #
        !           890:   AC_MSG_CHECKING([if CloseSocket can be linked])
        !           891:   AC_LINK_IFELSE([
        !           892:     AC_LANG_PROGRAM([[
        !           893:       $curl_includes_sys_socket
        !           894:     ]],[[
        !           895:       if(0 != CloseSocket(0))
        !           896:         return 1;
        !           897:     ]])
        !           898:   ],[
        !           899:     AC_MSG_RESULT([yes])
        !           900:     tst_links_closesocket_camel="yes"
        !           901:   ],[
        !           902:     AC_MSG_RESULT([no])
        !           903:     tst_links_closesocket_camel="no"
        !           904:   ])
        !           905:   #
        !           906:   if test "$tst_links_closesocket_camel" = "yes"; then
        !           907:     AC_MSG_CHECKING([if CloseSocket is prototyped])
        !           908:     AC_EGREP_CPP([CloseSocket],[
        !           909:       $curl_includes_sys_socket
        !           910:     ],[
        !           911:       AC_MSG_RESULT([yes])
        !           912:       tst_proto_closesocket_camel="yes"
        !           913:     ],[
        !           914:       AC_MSG_RESULT([no])
        !           915:       tst_proto_closesocket_camel="no"
        !           916:     ])
        !           917:   fi
        !           918:   #
        !           919:   if test "$tst_proto_closesocket_camel" = "yes"; then
        !           920:     AC_MSG_CHECKING([if CloseSocket is compilable])
        !           921:     AC_COMPILE_IFELSE([
        !           922:       AC_LANG_PROGRAM([[
        !           923:         $curl_includes_sys_socket
        !           924:       ]],[[
        !           925:         if(0 != CloseSocket(0))
        !           926:           return 1;
        !           927:       ]])
        !           928:     ],[
        !           929:       AC_MSG_RESULT([yes])
        !           930:       tst_compi_closesocket_camel="yes"
        !           931:     ],[
        !           932:       AC_MSG_RESULT([no])
        !           933:       tst_compi_closesocket_camel="no"
        !           934:     ])
        !           935:   fi
        !           936:   #
        !           937:   if test "$tst_compi_closesocket_camel" = "yes"; then
        !           938:     AC_MSG_CHECKING([if CloseSocket usage allowed])
        !           939:     if test "x$curl_disallow_closesocket_camel" != "xyes"; then
        !           940:       AC_MSG_RESULT([yes])
        !           941:       tst_allow_closesocket_camel="yes"
        !           942:     else
        !           943:       AC_MSG_RESULT([no])
        !           944:       tst_allow_closesocket_camel="no"
        !           945:     fi
        !           946:   fi
        !           947:   #
        !           948:   AC_MSG_CHECKING([if CloseSocket might be used])
        !           949:   if test "$tst_links_closesocket_camel" = "yes" &&
        !           950:      test "$tst_proto_closesocket_camel" = "yes" &&
        !           951:      test "$tst_compi_closesocket_camel" = "yes" &&
        !           952:      test "$tst_allow_closesocket_camel" = "yes"; then
        !           953:     AC_MSG_RESULT([yes])
        !           954:     AC_DEFINE_UNQUOTED(HAVE_CLOSESOCKET_CAMEL, 1,
        !           955:       [Define to 1 if you have the CloseSocket camel case function.])
        !           956:     curl_cv_func_closesocket_camel="yes"
        !           957:   else
        !           958:     AC_MSG_RESULT([no])
        !           959:     curl_cv_func_closesocket_camel="no"
        !           960:   fi
        !           961: ])
        !           962: 
        !           963: 
        !           964: dnl CURL_CHECK_FUNC_CONNECT
        !           965: dnl -------------------------------------------------
        !           966: dnl Verify if connect is available, prototyped, and
        !           967: dnl can be compiled. If all of these are true, and
        !           968: dnl usage has not been previously disallowed with
        !           969: dnl shell variable curl_disallow_connect, then
        !           970: dnl HAVE_CONNECT will be defined.
        !           971: 
        !           972: AC_DEFUN([CURL_CHECK_FUNC_CONNECT], [
        !           973:   AC_REQUIRE([CURL_INCLUDES_WINSOCK2])dnl
        !           974:   AC_REQUIRE([CURL_INCLUDES_SYS_SOCKET])dnl
        !           975:   AC_REQUIRE([CURL_INCLUDES_SOCKET])dnl
        !           976:   #
        !           977:   tst_links_connect="unknown"
        !           978:   tst_proto_connect="unknown"
        !           979:   tst_compi_connect="unknown"
        !           980:   tst_allow_connect="unknown"
        !           981:   #
        !           982:   AC_MSG_CHECKING([if connect can be linked])
        !           983:   AC_LINK_IFELSE([
        !           984:     AC_LANG_PROGRAM([[
        !           985:       $curl_includes_winsock2
        !           986:       $curl_includes_bsdsocket
        !           987:       $curl_includes_sys_socket
        !           988:       $curl_includes_socket
        !           989:     ]],[[
        !           990:       if(0 != connect(0, 0, 0))
        !           991:         return 1;
        !           992:     ]])
        !           993:   ],[
        !           994:     AC_MSG_RESULT([yes])
        !           995:     tst_links_connect="yes"
        !           996:   ],[
        !           997:     AC_MSG_RESULT([no])
        !           998:     tst_links_connect="no"
        !           999:   ])
        !          1000:   #
        !          1001:   if test "$tst_links_connect" = "yes"; then
        !          1002:     AC_MSG_CHECKING([if connect is prototyped])
        !          1003:     AC_EGREP_CPP([connect],[
        !          1004:       $curl_includes_winsock2
        !          1005:       $curl_includes_bsdsocket
        !          1006:       $curl_includes_sys_socket
        !          1007:       $curl_includes_socket
        !          1008:     ],[
        !          1009:       AC_MSG_RESULT([yes])
        !          1010:       tst_proto_connect="yes"
        !          1011:     ],[
        !          1012:       AC_MSG_RESULT([no])
        !          1013:       tst_proto_connect="no"
        !          1014:     ])
        !          1015:   fi
        !          1016:   #
        !          1017:   if test "$tst_proto_connect" = "yes"; then
        !          1018:     AC_MSG_CHECKING([if connect is compilable])
        !          1019:     AC_COMPILE_IFELSE([
        !          1020:       AC_LANG_PROGRAM([[
        !          1021:         $curl_includes_winsock2
        !          1022:       $curl_includes_bsdsocket
        !          1023:         $curl_includes_sys_socket
        !          1024:         $curl_includes_socket
        !          1025:       ]],[[
        !          1026:         if(0 != connect(0, 0, 0))
        !          1027:           return 1;
        !          1028:       ]])
        !          1029:     ],[
        !          1030:       AC_MSG_RESULT([yes])
        !          1031:       tst_compi_connect="yes"
        !          1032:     ],[
        !          1033:       AC_MSG_RESULT([no])
        !          1034:       tst_compi_connect="no"
        !          1035:     ])
        !          1036:   fi
        !          1037:   #
        !          1038:   if test "$tst_compi_connect" = "yes"; then
        !          1039:     AC_MSG_CHECKING([if connect usage allowed])
        !          1040:     if test "x$curl_disallow_connect" != "xyes"; then
        !          1041:       AC_MSG_RESULT([yes])
        !          1042:       tst_allow_connect="yes"
        !          1043:     else
        !          1044:       AC_MSG_RESULT([no])
        !          1045:       tst_allow_connect="no"
        !          1046:     fi
        !          1047:   fi
        !          1048:   #
        !          1049:   AC_MSG_CHECKING([if connect might be used])
        !          1050:   if test "$tst_links_connect" = "yes" &&
        !          1051:      test "$tst_proto_connect" = "yes" &&
        !          1052:      test "$tst_compi_connect" = "yes" &&
        !          1053:      test "$tst_allow_connect" = "yes"; then
        !          1054:     AC_MSG_RESULT([yes])
        !          1055:     AC_DEFINE_UNQUOTED(HAVE_CONNECT, 1,
        !          1056:       [Define to 1 if you have the connect function.])
        !          1057:     curl_cv_func_connect="yes"
        !          1058:   else
        !          1059:     AC_MSG_RESULT([no])
        !          1060:     curl_cv_func_connect="no"
        !          1061:   fi
        !          1062: ])
        !          1063: 
        !          1064: 
        !          1065: dnl CURL_CHECK_FUNC_FCNTL
        !          1066: dnl -------------------------------------------------
        !          1067: dnl Verify if fcntl is available, prototyped, and
        !          1068: dnl can be compiled. If all of these are true, and
        !          1069: dnl usage has not been previously disallowed with
        !          1070: dnl shell variable curl_disallow_fcntl, then
        !          1071: dnl HAVE_FCNTL will be defined.
        !          1072: 
        !          1073: AC_DEFUN([CURL_CHECK_FUNC_FCNTL], [
        !          1074:   AC_REQUIRE([CURL_INCLUDES_FCNTL])dnl
        !          1075:   #
        !          1076:   tst_links_fcntl="unknown"
        !          1077:   tst_proto_fcntl="unknown"
        !          1078:   tst_compi_fcntl="unknown"
        !          1079:   tst_allow_fcntl="unknown"
        !          1080:   #
        !          1081:   AC_MSG_CHECKING([if fcntl can be linked])
        !          1082:   AC_LINK_IFELSE([
        !          1083:     AC_LANG_FUNC_LINK_TRY([fcntl])
        !          1084:   ],[
        !          1085:     AC_MSG_RESULT([yes])
        !          1086:     tst_links_fcntl="yes"
        !          1087:   ],[
        !          1088:     AC_MSG_RESULT([no])
        !          1089:     tst_links_fcntl="no"
        !          1090:   ])
        !          1091:   #
        !          1092:   if test "$tst_links_fcntl" = "yes"; then
        !          1093:     AC_MSG_CHECKING([if fcntl is prototyped])
        !          1094:     AC_EGREP_CPP([fcntl],[
        !          1095:       $curl_includes_fcntl
        !          1096:     ],[
        !          1097:       AC_MSG_RESULT([yes])
        !          1098:       tst_proto_fcntl="yes"
        !          1099:     ],[
        !          1100:       AC_MSG_RESULT([no])
        !          1101:       tst_proto_fcntl="no"
        !          1102:     ])
        !          1103:   fi
        !          1104:   #
        !          1105:   if test "$tst_proto_fcntl" = "yes"; then
        !          1106:     AC_MSG_CHECKING([if fcntl is compilable])
        !          1107:     AC_COMPILE_IFELSE([
        !          1108:       AC_LANG_PROGRAM([[
        !          1109:         $curl_includes_fcntl
        !          1110:       ]],[[
        !          1111:         if(0 != fcntl(0, 0, 0))
        !          1112:           return 1;
        !          1113:       ]])
        !          1114:     ],[
        !          1115:       AC_MSG_RESULT([yes])
        !          1116:       tst_compi_fcntl="yes"
        !          1117:     ],[
        !          1118:       AC_MSG_RESULT([no])
        !          1119:       tst_compi_fcntl="no"
        !          1120:     ])
        !          1121:   fi
        !          1122:   #
        !          1123:   if test "$tst_compi_fcntl" = "yes"; then
        !          1124:     AC_MSG_CHECKING([if fcntl usage allowed])
        !          1125:     if test "x$curl_disallow_fcntl" != "xyes"; then
        !          1126:       AC_MSG_RESULT([yes])
        !          1127:       tst_allow_fcntl="yes"
        !          1128:     else
        !          1129:       AC_MSG_RESULT([no])
        !          1130:       tst_allow_fcntl="no"
        !          1131:     fi
        !          1132:   fi
        !          1133:   #
        !          1134:   AC_MSG_CHECKING([if fcntl might be used])
        !          1135:   if test "$tst_links_fcntl" = "yes" &&
        !          1136:      test "$tst_proto_fcntl" = "yes" &&
        !          1137:      test "$tst_compi_fcntl" = "yes" &&
        !          1138:      test "$tst_allow_fcntl" = "yes"; then
        !          1139:     AC_MSG_RESULT([yes])
        !          1140:     AC_DEFINE_UNQUOTED(HAVE_FCNTL, 1,
        !          1141:       [Define to 1 if you have the fcntl function.])
        !          1142:     curl_cv_func_fcntl="yes"
        !          1143:     CURL_CHECK_FUNC_FCNTL_O_NONBLOCK
        !          1144:   else
        !          1145:     AC_MSG_RESULT([no])
        !          1146:     curl_cv_func_fcntl="no"
        !          1147:   fi
        !          1148: ])
        !          1149: 
        !          1150: 
        !          1151: dnl CURL_CHECK_FUNC_FCNTL_O_NONBLOCK
        !          1152: dnl -------------------------------------------------
        !          1153: dnl Verify if fcntl with status flag O_NONBLOCK is
        !          1154: dnl available, can be compiled, and seems to work. If
        !          1155: dnl all of these are true, then HAVE_FCNTL_O_NONBLOCK
        !          1156: dnl will be defined.
        !          1157: 
        !          1158: AC_DEFUN([CURL_CHECK_FUNC_FCNTL_O_NONBLOCK], [
        !          1159:   #
        !          1160:   tst_compi_fcntl_o_nonblock="unknown"
        !          1161:   tst_allow_fcntl_o_nonblock="unknown"
        !          1162:   #
        !          1163:   case $host_os in
        !          1164:     sunos4* | aix3* | beos*)
        !          1165:       dnl O_NONBLOCK does not work on these platforms
        !          1166:       curl_disallow_fcntl_o_nonblock="yes"
        !          1167:       ;;
        !          1168:   esac
        !          1169:   #
        !          1170:   if test "$curl_cv_func_fcntl" = "yes"; then
        !          1171:     AC_MSG_CHECKING([if fcntl O_NONBLOCK is compilable])
        !          1172:     AC_COMPILE_IFELSE([
        !          1173:       AC_LANG_PROGRAM([[
        !          1174:         $curl_includes_fcntl
        !          1175:       ]],[[
        !          1176:         int flags = 0;
        !          1177:         if(0 != fcntl(0, F_SETFL, flags | O_NONBLOCK))
        !          1178:           return 1;
        !          1179:       ]])
        !          1180:     ],[
        !          1181:       AC_MSG_RESULT([yes])
        !          1182:       tst_compi_fcntl_o_nonblock="yes"
        !          1183:     ],[
        !          1184:       AC_MSG_RESULT([no])
        !          1185:       tst_compi_fcntl_o_nonblock="no"
        !          1186:     ])
        !          1187:   fi
        !          1188:   #
        !          1189:   if test "$tst_compi_fcntl_o_nonblock" = "yes"; then
        !          1190:     AC_MSG_CHECKING([if fcntl O_NONBLOCK usage allowed])
        !          1191:     if test "x$curl_disallow_fcntl_o_nonblock" != "xyes"; then
        !          1192:       AC_MSG_RESULT([yes])
        !          1193:       tst_allow_fcntl_o_nonblock="yes"
        !          1194:     else
        !          1195:       AC_MSG_RESULT([no])
        !          1196:       tst_allow_fcntl_o_nonblock="no"
        !          1197:     fi
        !          1198:   fi
        !          1199:   #
        !          1200:   AC_MSG_CHECKING([if fcntl O_NONBLOCK might be used])
        !          1201:   if test "$tst_compi_fcntl_o_nonblock" = "yes" &&
        !          1202:      test "$tst_allow_fcntl_o_nonblock" = "yes"; then
        !          1203:     AC_MSG_RESULT([yes])
        !          1204:     AC_DEFINE_UNQUOTED(HAVE_FCNTL_O_NONBLOCK, 1,
        !          1205:       [Define to 1 if you have a working fcntl O_NONBLOCK function.])
        !          1206:     curl_cv_func_fcntl_o_nonblock="yes"
        !          1207:   else
        !          1208:     AC_MSG_RESULT([no])
        !          1209:     curl_cv_func_fcntl_o_nonblock="no"
        !          1210:   fi
        !          1211: ])
        !          1212: 
        !          1213: dnl CURL_CHECK_FUNC_FGETXATTR
        !          1214: dnl -------------------------------------------------
        !          1215: dnl Verify if fgetxattr is available, prototyped, and
        !          1216: dnl can be compiled. If all of these are true, and
        !          1217: dnl usage has not been previously disallowed with
        !          1218: dnl shell variable curl_disallow_fgetxattr, then
        !          1219: dnl HAVE_FGETXATTR will be defined.
        !          1220: 
        !          1221: AC_DEFUN([CURL_CHECK_FUNC_FGETXATTR], [
        !          1222:   AC_REQUIRE([CURL_INCLUDES_SYS_XATTR])dnl
        !          1223:   #
        !          1224:   tst_links_fgetxattr="unknown"
        !          1225:   tst_proto_fgetxattr="unknown"
        !          1226:   tst_compi_fgetxattr="unknown"
        !          1227:   tst_allow_fgetxattr="unknown"
        !          1228:   tst_nargs_fgetxattr="unknown"
        !          1229:   #
        !          1230:   AC_MSG_CHECKING([if fgetxattr can be linked])
        !          1231:   AC_LINK_IFELSE([
        !          1232:     AC_LANG_FUNC_LINK_TRY([fgetxattr])
        !          1233:   ],[
        !          1234:     AC_MSG_RESULT([yes])
        !          1235:     tst_links_fgetxattr="yes"
        !          1236:   ],[
        !          1237:     AC_MSG_RESULT([no])
        !          1238:     tst_links_fgetxattr="no"
        !          1239:   ])
        !          1240:   #
        !          1241:   if test "$tst_links_fgetxattr" = "yes"; then
        !          1242:     AC_MSG_CHECKING([if fgetxattr is prototyped])
        !          1243:     AC_EGREP_CPP([fgetxattr],[
        !          1244:       $curl_includes_sys_xattr
        !          1245:     ],[
        !          1246:       AC_MSG_RESULT([yes])
        !          1247:       tst_proto_fgetxattr="yes"
        !          1248:     ],[
        !          1249:       AC_MSG_RESULT([no])
        !          1250:       tst_proto_fgetxattr="no"
        !          1251:     ])
        !          1252:   fi
        !          1253:   #
        !          1254:   if test "$tst_proto_fgetxattr" = "yes"; then
        !          1255:     if test "$tst_nargs_fgetxattr" = "unknown"; then
        !          1256:       AC_MSG_CHECKING([if fgetxattr takes 4 args.])
        !          1257:       AC_COMPILE_IFELSE([
        !          1258:         AC_LANG_PROGRAM([[
        !          1259:           $curl_includes_sys_xattr
        !          1260:         ]],[[
        !          1261:           if(0 != fgetxattr(0, 0, 0, 0))
        !          1262:             return 1;
        !          1263:         ]])
        !          1264:       ],[
        !          1265:         AC_MSG_RESULT([yes])
        !          1266:         tst_compi_fgetxattr="yes"
        !          1267:         tst_nargs_fgetxattr="4"
        !          1268:       ],[
        !          1269:         AC_MSG_RESULT([no])
        !          1270:         tst_compi_fgetxattr="no"
        !          1271:       ])
        !          1272:     fi
        !          1273:     if test "$tst_nargs_fgetxattr" = "unknown"; then
        !          1274:       AC_MSG_CHECKING([if fgetxattr takes 6 args.])
        !          1275:       AC_COMPILE_IFELSE([
        !          1276:         AC_LANG_PROGRAM([[
        !          1277:           $curl_includes_sys_xattr
        !          1278:         ]],[[
        !          1279:           if(0 != fgetxattr(0, 0, 0, 0, 0, 0))
        !          1280:             return 1;
        !          1281:         ]])
        !          1282:       ],[
        !          1283:         AC_MSG_RESULT([yes])
        !          1284:         tst_compi_fgetxattr="yes"
        !          1285:         tst_nargs_fgetxattr="6"
        !          1286:       ],[
        !          1287:         AC_MSG_RESULT([no])
        !          1288:         tst_compi_fgetxattr="no"
        !          1289:       ])
        !          1290:     fi
        !          1291:     AC_MSG_CHECKING([if fgetxattr is compilable])
        !          1292:     if test "$tst_compi_fgetxattr" = "yes"; then
        !          1293:       AC_MSG_RESULT([yes])
        !          1294:     else
        !          1295:       AC_MSG_RESULT([no])
        !          1296:     fi
        !          1297:   fi
        !          1298:   #
        !          1299:   if test "$tst_compi_fgetxattr" = "yes"; then
        !          1300:     AC_MSG_CHECKING([if fgetxattr usage allowed])
        !          1301:     if test "x$curl_disallow_fgetxattr" != "xyes"; then
        !          1302:       AC_MSG_RESULT([yes])
        !          1303:       tst_allow_fgetxattr="yes"
        !          1304:     else
        !          1305:       AC_MSG_RESULT([no])
        !          1306:       tst_allow_fgetxattr="no"
        !          1307:     fi
        !          1308:   fi
        !          1309:   #
        !          1310:   AC_MSG_CHECKING([if fgetxattr might be used])
        !          1311:   if test "$tst_links_fgetxattr" = "yes" &&
        !          1312:      test "$tst_proto_fgetxattr" = "yes" &&
        !          1313:      test "$tst_compi_fgetxattr" = "yes" &&
        !          1314:      test "$tst_allow_fgetxattr" = "yes"; then
        !          1315:     AC_MSG_RESULT([yes])
        !          1316:     AC_DEFINE_UNQUOTED(HAVE_FGETXATTR, 1,
        !          1317:       [Define to 1 if you have the fgetxattr function.])
        !          1318:     dnl AC_DEFINE_UNQUOTED(FGETXATTR_ARGS, $tst_nargs_fgetxattr,
        !          1319:     dnl   [Specifies the number of arguments to fgetxattr])
        !          1320:     #
        !          1321:     if test "$tst_nargs_fgetxattr" -eq "4"; then
        !          1322:       AC_DEFINE(HAVE_FGETXATTR_4, 1, [fgetxattr() takes 4 args])
        !          1323:     elif test "$tst_nargs_fgetxattr" -eq "6"; then
        !          1324:       AC_DEFINE(HAVE_FGETXATTR_6, 1, [fgetxattr() takes 6 args])
        !          1325:     fi
        !          1326:     #
        !          1327:     curl_cv_func_fgetxattr="yes"
        !          1328:   else
        !          1329:     AC_MSG_RESULT([no])
        !          1330:     curl_cv_func_fgetxattr="no"
        !          1331:   fi
        !          1332: ])
        !          1333: 
        !          1334: 
        !          1335: dnl CURL_CHECK_FUNC_FLISTXATTR
        !          1336: dnl -------------------------------------------------
        !          1337: dnl Verify if flistxattr is available, prototyped, and
        !          1338: dnl can be compiled. If all of these are true, and
        !          1339: dnl usage has not been previously disallowed with
        !          1340: dnl shell variable curl_disallow_flistxattr, then
        !          1341: dnl HAVE_FLISTXATTR will be defined.
        !          1342: 
        !          1343: AC_DEFUN([CURL_CHECK_FUNC_FLISTXATTR], [
        !          1344:   AC_REQUIRE([CURL_INCLUDES_SYS_XATTR])dnl
        !          1345:   #
        !          1346:   tst_links_flistxattr="unknown"
        !          1347:   tst_proto_flistxattr="unknown"
        !          1348:   tst_compi_flistxattr="unknown"
        !          1349:   tst_allow_flistxattr="unknown"
        !          1350:   tst_nargs_flistxattr="unknown"
        !          1351:   #
        !          1352:   AC_MSG_CHECKING([if flistxattr can be linked])
        !          1353:   AC_LINK_IFELSE([
        !          1354:     AC_LANG_FUNC_LINK_TRY([flistxattr])
        !          1355:   ],[
        !          1356:     AC_MSG_RESULT([yes])
        !          1357:     tst_links_flistxattr="yes"
        !          1358:   ],[
        !          1359:     AC_MSG_RESULT([no])
        !          1360:     tst_links_flistxattr="no"
        !          1361:   ])
        !          1362:   #
        !          1363:   if test "$tst_links_flistxattr" = "yes"; then
        !          1364:     AC_MSG_CHECKING([if flistxattr is prototyped])
        !          1365:     AC_EGREP_CPP([flistxattr],[
        !          1366:       $curl_includes_sys_xattr
        !          1367:     ],[
        !          1368:       AC_MSG_RESULT([yes])
        !          1369:       tst_proto_flistxattr="yes"
        !          1370:     ],[
        !          1371:       AC_MSG_RESULT([no])
        !          1372:       tst_proto_flistxattr="no"
        !          1373:     ])
        !          1374:   fi
        !          1375:   #
        !          1376:   if test "$tst_proto_flistxattr" = "yes"; then
        !          1377:     if test "$tst_nargs_flistxattr" = "unknown"; then
        !          1378:       AC_MSG_CHECKING([if flistxattr takes 3 args.])
        !          1379:       AC_COMPILE_IFELSE([
        !          1380:         AC_LANG_PROGRAM([[
        !          1381:           $curl_includes_sys_xattr
        !          1382:         ]],[[
        !          1383:           if(0 != flistxattr(0, 0, 0))
        !          1384:             return 1;
        !          1385:         ]])
        !          1386:       ],[
        !          1387:         AC_MSG_RESULT([yes])
        !          1388:         tst_compi_flistxattr="yes"
        !          1389:         tst_nargs_flistxattr="3"
        !          1390:       ],[
        !          1391:         AC_MSG_RESULT([no])
        !          1392:         tst_compi_flistxattr="no"
        !          1393:       ])
        !          1394:     fi
        !          1395:     if test "$tst_nargs_flistxattr" = "unknown"; then
        !          1396:       AC_MSG_CHECKING([if flistxattr takes 4 args.])
        !          1397:       AC_COMPILE_IFELSE([
        !          1398:         AC_LANG_PROGRAM([[
        !          1399:           $curl_includes_sys_xattr
        !          1400:         ]],[[
        !          1401:           if(0 != flistxattr(0, 0, 0, 0))
        !          1402:             return 1;
        !          1403:         ]])
        !          1404:       ],[
        !          1405:         AC_MSG_RESULT([yes])
        !          1406:         tst_compi_flistxattr="yes"
        !          1407:         tst_nargs_flistxattr="4"
        !          1408:       ],[
        !          1409:         AC_MSG_RESULT([no])
        !          1410:         tst_compi_flistxattr="no"
        !          1411:       ])
        !          1412:     fi
        !          1413:     AC_MSG_CHECKING([if flistxattr is compilable])
        !          1414:     if test "$tst_compi_flistxattr" = "yes"; then
        !          1415:       AC_MSG_RESULT([yes])
        !          1416:     else
        !          1417:       AC_MSG_RESULT([no])
        !          1418:     fi
        !          1419:   fi
        !          1420:   #
        !          1421:   if test "$tst_compi_flistxattr" = "yes"; then
        !          1422:     AC_MSG_CHECKING([if flistxattr usage allowed])
        !          1423:     if test "x$curl_disallow_flistxattr" != "xyes"; then
        !          1424:       AC_MSG_RESULT([yes])
        !          1425:       tst_allow_flistxattr="yes"
        !          1426:     else
        !          1427:       AC_MSG_RESULT([no])
        !          1428:       tst_allow_flistxattr="no"
        !          1429:     fi
        !          1430:   fi
        !          1431:   #
        !          1432:   AC_MSG_CHECKING([if flistxattr might be used])
        !          1433:   if test "$tst_links_flistxattr" = "yes" &&
        !          1434:      test "$tst_proto_flistxattr" = "yes" &&
        !          1435:      test "$tst_compi_flistxattr" = "yes" &&
        !          1436:      test "$tst_allow_flistxattr" = "yes"; then
        !          1437:     AC_MSG_RESULT([yes])
        !          1438:     AC_DEFINE_UNQUOTED(HAVE_FLISTXATTR, 1,
        !          1439:       [Define to 1 if you have the flistxattr function.])
        !          1440:     dnl AC_DEFINE_UNQUOTED(FLISTXATTR_ARGS, $tst_nargs_flistxattr,
        !          1441:     dnl   [Specifies the number of arguments to flistxattr])
        !          1442:     #
        !          1443:     if test "$tst_nargs_flistxattr" -eq "3"; then
        !          1444:       AC_DEFINE(HAVE_FLISTXATTR_3, 1, [flistxattr() takes 3 args])
        !          1445:     elif test "$tst_nargs_flistxattr" -eq "4"; then
        !          1446:       AC_DEFINE(HAVE_FLISTXATTR_4, 1, [flistxattr() takes 4 args])
        !          1447:     fi
        !          1448:     #
        !          1449:     curl_cv_func_flistxattr="yes"
        !          1450:   else
        !          1451:     AC_MSG_RESULT([no])
        !          1452:     curl_cv_func_flistxattr="no"
        !          1453:   fi
        !          1454: ])
        !          1455: 
        !          1456: 
        !          1457: dnl CURL_CHECK_FUNC_FREEADDRINFO
        !          1458: dnl -------------------------------------------------
        !          1459: dnl Verify if freeaddrinfo is available, prototyped,
        !          1460: dnl and can be compiled. If all of these are true,
        !          1461: dnl and usage has not been previously disallowed with
        !          1462: dnl shell variable curl_disallow_freeaddrinfo, then
        !          1463: dnl HAVE_FREEADDRINFO will be defined.
        !          1464: 
        !          1465: AC_DEFUN([CURL_CHECK_FUNC_FREEADDRINFO], [
        !          1466:   AC_REQUIRE([CURL_INCLUDES_WS2TCPIP])dnl
        !          1467:   AC_REQUIRE([CURL_INCLUDES_SYS_SOCKET])dnl
        !          1468:   AC_REQUIRE([CURL_INCLUDES_NETDB])dnl
        !          1469:   #
        !          1470:   tst_links_freeaddrinfo="unknown"
        !          1471:   tst_proto_freeaddrinfo="unknown"
        !          1472:   tst_compi_freeaddrinfo="unknown"
        !          1473:   tst_allow_freeaddrinfo="unknown"
        !          1474:   #
        !          1475:   AC_MSG_CHECKING([if freeaddrinfo can be linked])
        !          1476:   AC_LINK_IFELSE([
        !          1477:     AC_LANG_PROGRAM([[
        !          1478:       $curl_includes_ws2tcpip
        !          1479:       $curl_includes_sys_socket
        !          1480:       $curl_includes_netdb
        !          1481:     ]],[[
        !          1482:       freeaddrinfo(0);
        !          1483:     ]])
        !          1484:   ],[
        !          1485:     AC_MSG_RESULT([yes])
        !          1486:     tst_links_freeaddrinfo="yes"
        !          1487:   ],[
        !          1488:     AC_MSG_RESULT([no])
        !          1489:     tst_links_freeaddrinfo="no"
        !          1490:   ])
        !          1491:   #
        !          1492:   if test "$tst_links_freeaddrinfo" = "yes"; then
        !          1493:     AC_MSG_CHECKING([if freeaddrinfo is prototyped])
        !          1494:     AC_EGREP_CPP([freeaddrinfo],[
        !          1495:       $curl_includes_ws2tcpip
        !          1496:       $curl_includes_sys_socket
        !          1497:       $curl_includes_netdb
        !          1498:     ],[
        !          1499:       AC_MSG_RESULT([yes])
        !          1500:       tst_proto_freeaddrinfo="yes"
        !          1501:     ],[
        !          1502:       AC_MSG_RESULT([no])
        !          1503:       tst_proto_freeaddrinfo="no"
        !          1504:     ])
        !          1505:   fi
        !          1506:   #
        !          1507:   if test "$tst_proto_freeaddrinfo" = "yes"; then
        !          1508:     AC_MSG_CHECKING([if freeaddrinfo is compilable])
        !          1509:     AC_COMPILE_IFELSE([
        !          1510:       AC_LANG_PROGRAM([[
        !          1511:         $curl_includes_ws2tcpip
        !          1512:         $curl_includes_sys_socket
        !          1513:         $curl_includes_netdb
        !          1514:       ]],[[
        !          1515:         freeaddrinfo(0);
        !          1516:       ]])
        !          1517:     ],[
        !          1518:       AC_MSG_RESULT([yes])
        !          1519:       tst_compi_freeaddrinfo="yes"
        !          1520:     ],[
        !          1521:       AC_MSG_RESULT([no])
        !          1522:       tst_compi_freeaddrinfo="no"
        !          1523:     ])
        !          1524:   fi
        !          1525:   #
        !          1526:   if test "$tst_compi_freeaddrinfo" = "yes"; then
        !          1527:     AC_MSG_CHECKING([if freeaddrinfo usage allowed])
        !          1528:     if test "x$curl_disallow_freeaddrinfo" != "xyes"; then
        !          1529:       AC_MSG_RESULT([yes])
        !          1530:       tst_allow_freeaddrinfo="yes"
        !          1531:     else
        !          1532:       AC_MSG_RESULT([no])
        !          1533:       tst_allow_freeaddrinfo="no"
        !          1534:     fi
        !          1535:   fi
        !          1536:   #
        !          1537:   AC_MSG_CHECKING([if freeaddrinfo might be used])
        !          1538:   if test "$tst_links_freeaddrinfo" = "yes" &&
        !          1539:      test "$tst_proto_freeaddrinfo" = "yes" &&
        !          1540:      test "$tst_compi_freeaddrinfo" = "yes" &&
        !          1541:      test "$tst_allow_freeaddrinfo" = "yes"; then
        !          1542:     AC_MSG_RESULT([yes])
        !          1543:     AC_DEFINE_UNQUOTED(HAVE_FREEADDRINFO, 1,
        !          1544:       [Define to 1 if you have the freeaddrinfo function.])
        !          1545:     curl_cv_func_freeaddrinfo="yes"
        !          1546:   else
        !          1547:     AC_MSG_RESULT([no])
        !          1548:     curl_cv_func_freeaddrinfo="no"
        !          1549:   fi
        !          1550: ])
        !          1551: 
        !          1552: 
        !          1553: dnl CURL_CHECK_FUNC_FREEIFADDRS
        !          1554: dnl -------------------------------------------------
        !          1555: dnl Verify if freeifaddrs is available, prototyped, and
        !          1556: dnl can be compiled. If all of these are true, and
        !          1557: dnl usage has not been previously disallowed with
        !          1558: dnl shell variable curl_disallow_freeifaddrs, then
        !          1559: dnl HAVE_FREEIFADDRS will be defined.
        !          1560: 
        !          1561: AC_DEFUN([CURL_CHECK_FUNC_FREEIFADDRS], [
        !          1562:   AC_REQUIRE([CURL_INCLUDES_IFADDRS])dnl
        !          1563:   #
        !          1564:   tst_links_freeifaddrs="unknown"
        !          1565:   tst_proto_freeifaddrs="unknown"
        !          1566:   tst_compi_freeifaddrs="unknown"
        !          1567:   tst_allow_freeifaddrs="unknown"
        !          1568:   #
        !          1569:   AC_MSG_CHECKING([if freeifaddrs can be linked])
        !          1570:   AC_LINK_IFELSE([
        !          1571:     AC_LANG_FUNC_LINK_TRY([freeifaddrs])
        !          1572:   ],[
        !          1573:     AC_MSG_RESULT([yes])
        !          1574:     tst_links_freeifaddrs="yes"
        !          1575:   ],[
        !          1576:     AC_MSG_RESULT([no])
        !          1577:     tst_links_freeifaddrs="no"
        !          1578:   ])
        !          1579:   #
        !          1580:   if test "$tst_links_freeifaddrs" = "yes"; then
        !          1581:     AC_MSG_CHECKING([if freeifaddrs is prototyped])
        !          1582:     AC_EGREP_CPP([freeifaddrs],[
        !          1583:       $curl_includes_ifaddrs
        !          1584:     ],[
        !          1585:       AC_MSG_RESULT([yes])
        !          1586:       tst_proto_freeifaddrs="yes"
        !          1587:     ],[
        !          1588:       AC_MSG_RESULT([no])
        !          1589:       tst_proto_freeifaddrs="no"
        !          1590:     ])
        !          1591:   fi
        !          1592:   #
        !          1593:   if test "$tst_proto_freeifaddrs" = "yes"; then
        !          1594:     AC_MSG_CHECKING([if freeifaddrs is compilable])
        !          1595:     AC_COMPILE_IFELSE([
        !          1596:       AC_LANG_PROGRAM([[
        !          1597:         $curl_includes_ifaddrs
        !          1598:       ]],[[
        !          1599:         freeifaddrs(0);
        !          1600:       ]])
        !          1601:     ],[
        !          1602:       AC_MSG_RESULT([yes])
        !          1603:       tst_compi_freeifaddrs="yes"
        !          1604:     ],[
        !          1605:       AC_MSG_RESULT([no])
        !          1606:       tst_compi_freeifaddrs="no"
        !          1607:     ])
        !          1608:   fi
        !          1609:   #
        !          1610:   if test "$tst_compi_freeifaddrs" = "yes"; then
        !          1611:     AC_MSG_CHECKING([if freeifaddrs usage allowed])
        !          1612:     if test "x$curl_disallow_freeifaddrs" != "xyes"; then
        !          1613:       AC_MSG_RESULT([yes])
        !          1614:       tst_allow_freeifaddrs="yes"
        !          1615:     else
        !          1616:       AC_MSG_RESULT([no])
        !          1617:       tst_allow_freeifaddrs="no"
        !          1618:     fi
        !          1619:   fi
        !          1620:   #
        !          1621:   AC_MSG_CHECKING([if freeifaddrs might be used])
        !          1622:   if test "$tst_links_freeifaddrs" = "yes" &&
        !          1623:      test "$tst_proto_freeifaddrs" = "yes" &&
        !          1624:      test "$tst_compi_freeifaddrs" = "yes" &&
        !          1625:      test "$tst_allow_freeifaddrs" = "yes"; then
        !          1626:     AC_MSG_RESULT([yes])
        !          1627:     AC_DEFINE_UNQUOTED(HAVE_FREEIFADDRS, 1,
        !          1628:       [Define to 1 if you have the freeifaddrs function.])
        !          1629:     curl_cv_func_freeifaddrs="yes"
        !          1630:   else
        !          1631:     AC_MSG_RESULT([no])
        !          1632:     curl_cv_func_freeifaddrs="no"
        !          1633:   fi
        !          1634: ])
        !          1635: 
        !          1636: 
        !          1637: dnl CURL_CHECK_FUNC_FREMOVEXATTR
        !          1638: dnl -------------------------------------------------
        !          1639: dnl Verify if fremovexattr is available, prototyped, and
        !          1640: dnl can be compiled. If all of these are true, and
        !          1641: dnl usage has not been previously disallowed with
        !          1642: dnl shell variable curl_disallow_fremovexattr, then
        !          1643: dnl HAVE_FREMOVEXATTR will be defined.
        !          1644: 
        !          1645: AC_DEFUN([CURL_CHECK_FUNC_FREMOVEXATTR], [
        !          1646:   AC_REQUIRE([CURL_INCLUDES_SYS_XATTR])dnl
        !          1647:   #
        !          1648:   tst_links_fremovexattr="unknown"
        !          1649:   tst_proto_fremovexattr="unknown"
        !          1650:   tst_compi_fremovexattr="unknown"
        !          1651:   tst_allow_fremovexattr="unknown"
        !          1652:   tst_nargs_fremovexattr="unknown"
        !          1653:   #
        !          1654:   AC_MSG_CHECKING([if fremovexattr can be linked])
        !          1655:   AC_LINK_IFELSE([
        !          1656:     AC_LANG_FUNC_LINK_TRY([fremovexattr])
        !          1657:   ],[
        !          1658:     AC_MSG_RESULT([yes])
        !          1659:     tst_links_fremovexattr="yes"
        !          1660:   ],[
        !          1661:     AC_MSG_RESULT([no])
        !          1662:     tst_links_fremovexattr="no"
        !          1663:   ])
        !          1664:   #
        !          1665:   if test "$tst_links_fremovexattr" = "yes"; then
        !          1666:     AC_MSG_CHECKING([if fremovexattr is prototyped])
        !          1667:     AC_EGREP_CPP([fremovexattr],[
        !          1668:       $curl_includes_sys_xattr
        !          1669:     ],[
        !          1670:       AC_MSG_RESULT([yes])
        !          1671:       tst_proto_fremovexattr="yes"
        !          1672:     ],[
        !          1673:       AC_MSG_RESULT([no])
        !          1674:       tst_proto_fremovexattr="no"
        !          1675:     ])
        !          1676:   fi
        !          1677:   #
        !          1678:   if test "$tst_proto_fremovexattr" = "yes"; then
        !          1679:     if test "$tst_nargs_fremovexattr" = "unknown"; then
        !          1680:       AC_MSG_CHECKING([if fremovexattr takes 2 args.])
        !          1681:       AC_COMPILE_IFELSE([
        !          1682:         AC_LANG_PROGRAM([[
        !          1683:           $curl_includes_sys_xattr
        !          1684:         ]],[[
        !          1685:           if(0 != fremovexattr(0, 0))
        !          1686:             return 1;
        !          1687:         ]])
        !          1688:       ],[
        !          1689:         AC_MSG_RESULT([yes])
        !          1690:         tst_compi_fremovexattr="yes"
        !          1691:         tst_nargs_fremovexattr="2"
        !          1692:       ],[
        !          1693:         AC_MSG_RESULT([no])
        !          1694:         tst_compi_fremovexattr="no"
        !          1695:       ])
        !          1696:     fi
        !          1697:     if test "$tst_nargs_fremovexattr" = "unknown"; then
        !          1698:       AC_MSG_CHECKING([if fremovexattr takes 3 args.])
        !          1699:       AC_COMPILE_IFELSE([
        !          1700:         AC_LANG_PROGRAM([[
        !          1701:           $curl_includes_sys_xattr
        !          1702:         ]],[[
        !          1703:           if(0 != fremovexattr(0, 0, 0))
        !          1704:             return 1;
        !          1705:         ]])
        !          1706:       ],[
        !          1707:         AC_MSG_RESULT([yes])
        !          1708:         tst_compi_fremovexattr="yes"
        !          1709:         tst_nargs_fremovexattr="3"
        !          1710:       ],[
        !          1711:         AC_MSG_RESULT([no])
        !          1712:         tst_compi_fremovexattr="no"
        !          1713:       ])
        !          1714:     fi
        !          1715:     AC_MSG_CHECKING([if fremovexattr is compilable])
        !          1716:     if test "$tst_compi_fremovexattr" = "yes"; then
        !          1717:       AC_MSG_RESULT([yes])
        !          1718:     else
        !          1719:       AC_MSG_RESULT([no])
        !          1720:     fi
        !          1721:   fi
        !          1722:   #
        !          1723:   if test "$tst_compi_fremovexattr" = "yes"; then
        !          1724:     AC_MSG_CHECKING([if fremovexattr usage allowed])
        !          1725:     if test "x$curl_disallow_fremovexattr" != "xyes"; then
        !          1726:       AC_MSG_RESULT([yes])
        !          1727:       tst_allow_fremovexattr="yes"
        !          1728:     else
        !          1729:       AC_MSG_RESULT([no])
        !          1730:       tst_allow_fremovexattr="no"
        !          1731:     fi
        !          1732:   fi
        !          1733:   #
        !          1734:   AC_MSG_CHECKING([if fremovexattr might be used])
        !          1735:   if test "$tst_links_fremovexattr" = "yes" &&
        !          1736:      test "$tst_proto_fremovexattr" = "yes" &&
        !          1737:      test "$tst_compi_fremovexattr" = "yes" &&
        !          1738:      test "$tst_allow_fremovexattr" = "yes"; then
        !          1739:     AC_MSG_RESULT([yes])
        !          1740:     AC_DEFINE_UNQUOTED(HAVE_FREMOVEXATTR, 1,
        !          1741:       [Define to 1 if you have the fremovexattr function.])
        !          1742:     dnl AC_DEFINE_UNQUOTED(FREMOVEXATTR_ARGS, $tst_nargs_fremovexattr,
        !          1743:     dnl   [Specifies the number of arguments to fremovexattr])
        !          1744:     #
        !          1745:     if test "$tst_nargs_fremovexattr" -eq "2"; then
        !          1746:       AC_DEFINE(HAVE_FREMOVEXATTR_2, 1, [fremovexattr() takes 2 args])
        !          1747:     elif test "$tst_nargs_fremovexattr" -eq "3"; then
        !          1748:       AC_DEFINE(HAVE_FREMOVEXATTR_3, 1, [fremovexattr() takes 3 args])
        !          1749:     fi
        !          1750:     #
        !          1751:     curl_cv_func_fremovexattr="yes"
        !          1752:   else
        !          1753:     AC_MSG_RESULT([no])
        !          1754:     curl_cv_func_fremovexattr="no"
        !          1755:   fi
        !          1756: ])
        !          1757: 
        !          1758: 
        !          1759: dnl CURL_CHECK_FUNC_FSETXATTR
        !          1760: dnl -------------------------------------------------
        !          1761: dnl Verify if fsetxattr is available, prototyped, and
        !          1762: dnl can be compiled. If all of these are true, and
        !          1763: dnl usage has not been previously disallowed with
        !          1764: dnl shell variable curl_disallow_fsetxattr, then
        !          1765: dnl HAVE_FSETXATTR will be defined.
        !          1766: 
        !          1767: AC_DEFUN([CURL_CHECK_FUNC_FSETXATTR], [
        !          1768:   AC_REQUIRE([CURL_INCLUDES_SYS_XATTR])dnl
        !          1769:   #
        !          1770:   tst_links_fsetxattr="unknown"
        !          1771:   tst_proto_fsetxattr="unknown"
        !          1772:   tst_compi_fsetxattr="unknown"
        !          1773:   tst_allow_fsetxattr="unknown"
        !          1774:   tst_nargs_fsetxattr="unknown"
        !          1775:   #
        !          1776:   AC_MSG_CHECKING([if fsetxattr can be linked])
        !          1777:   AC_LINK_IFELSE([
        !          1778:     AC_LANG_FUNC_LINK_TRY([fsetxattr])
        !          1779:   ],[
        !          1780:     AC_MSG_RESULT([yes])
        !          1781:     tst_links_fsetxattr="yes"
        !          1782:   ],[
        !          1783:     AC_MSG_RESULT([no])
        !          1784:     tst_links_fsetxattr="no"
        !          1785:   ])
        !          1786:   #
        !          1787:   if test "$tst_links_fsetxattr" = "yes"; then
        !          1788:     AC_MSG_CHECKING([if fsetxattr is prototyped])
        !          1789:     AC_EGREP_CPP([fsetxattr],[
        !          1790:       $curl_includes_sys_xattr
        !          1791:     ],[
        !          1792:       AC_MSG_RESULT([yes])
        !          1793:       tst_proto_fsetxattr="yes"
        !          1794:     ],[
        !          1795:       AC_MSG_RESULT([no])
        !          1796:       tst_proto_fsetxattr="no"
        !          1797:     ])
        !          1798:   fi
        !          1799:   #
        !          1800:   if test "$tst_proto_fsetxattr" = "yes"; then
        !          1801:     if test "$tst_nargs_fsetxattr" = "unknown"; then
        !          1802:       AC_MSG_CHECKING([if fsetxattr takes 5 args.])
        !          1803:       AC_COMPILE_IFELSE([
        !          1804:         AC_LANG_PROGRAM([[
        !          1805:           $curl_includes_sys_xattr
        !          1806:         ]],[[
        !          1807:           if(0 != fsetxattr(0, 0, 0, 0, 0))
        !          1808:             return 1;
        !          1809:         ]])
        !          1810:       ],[
        !          1811:         AC_MSG_RESULT([yes])
        !          1812:         tst_compi_fsetxattr="yes"
        !          1813:         tst_nargs_fsetxattr="5"
        !          1814:       ],[
        !          1815:         AC_MSG_RESULT([no])
        !          1816:         tst_compi_fsetxattr="no"
        !          1817:       ])
        !          1818:     fi
        !          1819:     if test "$tst_nargs_fsetxattr" = "unknown"; then
        !          1820:       AC_MSG_CHECKING([if fsetxattr takes 6 args.])
        !          1821:       AC_COMPILE_IFELSE([
        !          1822:         AC_LANG_PROGRAM([[
        !          1823:           $curl_includes_sys_xattr
        !          1824:         ]],[[
        !          1825:           if(0 != fsetxattr(0, 0, 0, 0, 0, 0))
        !          1826:             return 1;
        !          1827:         ]])
        !          1828:       ],[
        !          1829:         AC_MSG_RESULT([yes])
        !          1830:         tst_compi_fsetxattr="yes"
        !          1831:         tst_nargs_fsetxattr="6"
        !          1832:       ],[
        !          1833:         AC_MSG_RESULT([no])
        !          1834:         tst_compi_fsetxattr="no"
        !          1835:       ])
        !          1836:     fi
        !          1837:     AC_MSG_CHECKING([if fsetxattr is compilable])
        !          1838:     if test "$tst_compi_fsetxattr" = "yes"; then
        !          1839:       AC_MSG_RESULT([yes])
        !          1840:     else
        !          1841:       AC_MSG_RESULT([no])
        !          1842:     fi
        !          1843:   fi
        !          1844:   #
        !          1845:   if test "$tst_compi_fsetxattr" = "yes"; then
        !          1846:     AC_MSG_CHECKING([if fsetxattr usage allowed])
        !          1847:     if test "x$curl_disallow_fsetxattr" != "xyes"; then
        !          1848:       AC_MSG_RESULT([yes])
        !          1849:       tst_allow_fsetxattr="yes"
        !          1850:     else
        !          1851:       AC_MSG_RESULT([no])
        !          1852:       tst_allow_fsetxattr="no"
        !          1853:     fi
        !          1854:   fi
        !          1855:   #
        !          1856:   AC_MSG_CHECKING([if fsetxattr might be used])
        !          1857:   if test "$tst_links_fsetxattr" = "yes" &&
        !          1858:      test "$tst_proto_fsetxattr" = "yes" &&
        !          1859:      test "$tst_compi_fsetxattr" = "yes" &&
        !          1860:      test "$tst_allow_fsetxattr" = "yes"; then
        !          1861:     AC_MSG_RESULT([yes])
        !          1862:     AC_DEFINE_UNQUOTED(HAVE_FSETXATTR, 1,
        !          1863:       [Define to 1 if you have the fsetxattr function.])
        !          1864:     dnl AC_DEFINE_UNQUOTED(FSETXATTR_ARGS, $tst_nargs_fsetxattr,
        !          1865:     dnl   [Specifies the number of arguments to fsetxattr])
        !          1866:     #
        !          1867:     if test "$tst_nargs_fsetxattr" -eq "5"; then
        !          1868:       AC_DEFINE(HAVE_FSETXATTR_5, 1, [fsetxattr() takes 5 args])
        !          1869:     elif test "$tst_nargs_fsetxattr" -eq "6"; then
        !          1870:       AC_DEFINE(HAVE_FSETXATTR_6, 1, [fsetxattr() takes 6 args])
        !          1871:     fi
        !          1872:     #
        !          1873:     curl_cv_func_fsetxattr="yes"
        !          1874:   else
        !          1875:     AC_MSG_RESULT([no])
        !          1876:     curl_cv_func_fsetxattr="no"
        !          1877:   fi
        !          1878: ])
        !          1879: 
        !          1880: 
        !          1881: dnl CURL_CHECK_FUNC_FTRUNCATE
        !          1882: dnl -------------------------------------------------
        !          1883: dnl Verify if ftruncate is available, prototyped, and
        !          1884: dnl can be compiled. If all of these are true, and
        !          1885: dnl usage has not been previously disallowed with
        !          1886: dnl shell variable curl_disallow_ftruncate, then
        !          1887: dnl HAVE_FTRUNCATE will be defined.
        !          1888: 
        !          1889: AC_DEFUN([CURL_CHECK_FUNC_FTRUNCATE], [
        !          1890:   AC_REQUIRE([CURL_INCLUDES_UNISTD])dnl
        !          1891:   #
        !          1892:   tst_links_ftruncate="unknown"
        !          1893:   tst_proto_ftruncate="unknown"
        !          1894:   tst_compi_ftruncate="unknown"
        !          1895:   tst_allow_ftruncate="unknown"
        !          1896:   #
        !          1897:   AC_MSG_CHECKING([if ftruncate can be linked])
        !          1898:   AC_LINK_IFELSE([
        !          1899:     AC_LANG_FUNC_LINK_TRY([ftruncate])
        !          1900:   ],[
        !          1901:     AC_MSG_RESULT([yes])
        !          1902:     tst_links_ftruncate="yes"
        !          1903:   ],[
        !          1904:     AC_MSG_RESULT([no])
        !          1905:     tst_links_ftruncate="no"
        !          1906:   ])
        !          1907:   #
        !          1908:   if test "$tst_links_ftruncate" = "yes"; then
        !          1909:     AC_MSG_CHECKING([if ftruncate is prototyped])
        !          1910:     AC_EGREP_CPP([ftruncate],[
        !          1911:       $curl_includes_unistd
        !          1912:     ],[
        !          1913:       AC_MSG_RESULT([yes])
        !          1914:       tst_proto_ftruncate="yes"
        !          1915:     ],[
        !          1916:       AC_MSG_RESULT([no])
        !          1917:       tst_proto_ftruncate="no"
        !          1918:     ])
        !          1919:   fi
        !          1920:   #
        !          1921:   if test "$tst_proto_ftruncate" = "yes"; then
        !          1922:     AC_MSG_CHECKING([if ftruncate is compilable])
        !          1923:     AC_COMPILE_IFELSE([
        !          1924:       AC_LANG_PROGRAM([[
        !          1925:         $curl_includes_unistd
        !          1926:       ]],[[
        !          1927:         if(0 != ftruncate(0, 0))
        !          1928:           return 1;
        !          1929:       ]])
        !          1930:     ],[
        !          1931:       AC_MSG_RESULT([yes])
        !          1932:       tst_compi_ftruncate="yes"
        !          1933:     ],[
        !          1934:       AC_MSG_RESULT([no])
        !          1935:       tst_compi_ftruncate="no"
        !          1936:     ])
        !          1937:   fi
        !          1938:   #
        !          1939:   if test "$tst_compi_ftruncate" = "yes"; then
        !          1940:     AC_MSG_CHECKING([if ftruncate usage allowed])
        !          1941:     if test "x$curl_disallow_ftruncate" != "xyes"; then
        !          1942:       AC_MSG_RESULT([yes])
        !          1943:       tst_allow_ftruncate="yes"
        !          1944:     else
        !          1945:       AC_MSG_RESULT([no])
        !          1946:       tst_allow_ftruncate="no"
        !          1947:     fi
        !          1948:   fi
        !          1949:   #
        !          1950:   AC_MSG_CHECKING([if ftruncate might be used])
        !          1951:   if test "$tst_links_ftruncate" = "yes" &&
        !          1952:      test "$tst_proto_ftruncate" = "yes" &&
        !          1953:      test "$tst_compi_ftruncate" = "yes" &&
        !          1954:      test "$tst_allow_ftruncate" = "yes"; then
        !          1955:     AC_MSG_RESULT([yes])
        !          1956:     AC_DEFINE_UNQUOTED(HAVE_FTRUNCATE, 1,
        !          1957:       [Define to 1 if you have the ftruncate function.])
        !          1958:     curl_cv_func_ftruncate="yes"
        !          1959:   else
        !          1960:     AC_MSG_RESULT([no])
        !          1961:     curl_cv_func_ftruncate="no"
        !          1962:   fi
        !          1963: ])
        !          1964: 
        !          1965: 
        !          1966: dnl CURL_CHECK_FUNC_GETADDRINFO
        !          1967: dnl -------------------------------------------------
        !          1968: dnl Verify if getaddrinfo is available, prototyped, can
        !          1969: dnl be compiled and seems to work. If all of these are
        !          1970: dnl true, and usage has not been previously disallowed
        !          1971: dnl with shell variable curl_disallow_getaddrinfo, then
        !          1972: dnl HAVE_GETADDRINFO will be defined. Additionally when
        !          1973: dnl HAVE_GETADDRINFO gets defined this will also attempt
        !          1974: dnl to find out if getaddrinfo happens to be threadsafe,
        !          1975: dnl defining HAVE_GETADDRINFO_THREADSAFE when true.
        !          1976: 
        !          1977: AC_DEFUN([CURL_CHECK_FUNC_GETADDRINFO], [
        !          1978:   AC_REQUIRE([CURL_INCLUDES_WS2TCPIP])dnl
        !          1979:   AC_REQUIRE([CURL_INCLUDES_STDLIB])dnl
        !          1980:   AC_REQUIRE([CURL_INCLUDES_STRING])dnl
        !          1981:   AC_REQUIRE([CURL_INCLUDES_SYS_SOCKET])dnl
        !          1982:   AC_REQUIRE([CURL_INCLUDES_NETDB])dnl
        !          1983:   AC_REQUIRE([CURL_CHECK_NATIVE_WINDOWS])dnl
        !          1984:   #
        !          1985:   tst_links_getaddrinfo="unknown"
        !          1986:   tst_proto_getaddrinfo="unknown"
        !          1987:   tst_compi_getaddrinfo="unknown"
        !          1988:   tst_works_getaddrinfo="unknown"
        !          1989:   tst_allow_getaddrinfo="unknown"
        !          1990:   tst_tsafe_getaddrinfo="unknown"
        !          1991:   #
        !          1992:   AC_MSG_CHECKING([if getaddrinfo can be linked])
        !          1993:   AC_LINK_IFELSE([
        !          1994:     AC_LANG_PROGRAM([[
        !          1995:       $curl_includes_ws2tcpip
        !          1996:       $curl_includes_sys_socket
        !          1997:       $curl_includes_netdb
        !          1998:     ]],[[
        !          1999:       if(0 != getaddrinfo(0, 0, 0, 0))
        !          2000:         return 1;
        !          2001:     ]])
        !          2002:   ],[
        !          2003:     AC_MSG_RESULT([yes])
        !          2004:     tst_links_getaddrinfo="yes"
        !          2005:   ],[
        !          2006:     AC_MSG_RESULT([no])
        !          2007:     tst_links_getaddrinfo="no"
        !          2008:   ])
        !          2009:   #
        !          2010:   if test "$tst_links_getaddrinfo" = "yes"; then
        !          2011:     AC_MSG_CHECKING([if getaddrinfo is prototyped])
        !          2012:     AC_EGREP_CPP([getaddrinfo],[
        !          2013:       $curl_includes_ws2tcpip
        !          2014:       $curl_includes_sys_socket
        !          2015:       $curl_includes_netdb
        !          2016:     ],[
        !          2017:       AC_MSG_RESULT([yes])
        !          2018:       tst_proto_getaddrinfo="yes"
        !          2019:     ],[
        !          2020:       AC_MSG_RESULT([no])
        !          2021:       tst_proto_getaddrinfo="no"
        !          2022:     ])
        !          2023:   fi
        !          2024:   #
        !          2025:   if test "$tst_proto_getaddrinfo" = "yes"; then
        !          2026:     AC_MSG_CHECKING([if getaddrinfo is compilable])
        !          2027:     AC_COMPILE_IFELSE([
        !          2028:       AC_LANG_PROGRAM([[
        !          2029:         $curl_includes_ws2tcpip
        !          2030:         $curl_includes_sys_socket
        !          2031:         $curl_includes_netdb
        !          2032:       ]],[[
        !          2033:         if(0 != getaddrinfo(0, 0, 0, 0))
        !          2034:           return 1;
        !          2035:       ]])
        !          2036:     ],[
        !          2037:       AC_MSG_RESULT([yes])
        !          2038:       tst_compi_getaddrinfo="yes"
        !          2039:     ],[
        !          2040:       AC_MSG_RESULT([no])
        !          2041:       tst_compi_getaddrinfo="no"
        !          2042:     ])
        !          2043:   fi
        !          2044:   #
        !          2045:   dnl only do runtime verification when not cross-compiling
        !          2046:   if test "x$cross_compiling" != "xyes" &&
        !          2047:     test "$tst_compi_getaddrinfo" = "yes"; then
        !          2048:     AC_MSG_CHECKING([if getaddrinfo seems to work])
        !          2049:     CURL_RUN_IFELSE([
        !          2050:       AC_LANG_PROGRAM([[
        !          2051:         $curl_includes_ws2tcpip
        !          2052:         $curl_includes_stdlib
        !          2053:         $curl_includes_string
        !          2054:         $curl_includes_sys_socket
        !          2055:         $curl_includes_netdb
        !          2056:       ]],[[
        !          2057:         struct addrinfo hints;
        !          2058:         struct addrinfo *ai = 0;
        !          2059:         int error;
        !          2060: 
        !          2061:         #ifdef HAVE_WINSOCK2_H
        !          2062:         WSADATA wsa;
        !          2063:         if (WSAStartup(MAKEWORD(2,2), &wsa))
        !          2064:                 exit(2);
        !          2065:         #endif
        !          2066: 
        !          2067:         memset(&hints, 0, sizeof(hints));
        !          2068:         hints.ai_flags = AI_NUMERICHOST;
        !          2069:         hints.ai_family = AF_UNSPEC;
        !          2070:         hints.ai_socktype = SOCK_STREAM;
        !          2071:         error = getaddrinfo("127.0.0.1", 0, &hints, &ai);
        !          2072:         if(error || !ai)
        !          2073:           exit(1); /* fail */
        !          2074:         else
        !          2075:           exit(0);
        !          2076:       ]])
        !          2077:     ],[
        !          2078:       AC_MSG_RESULT([yes])
        !          2079:       tst_works_getaddrinfo="yes"
        !          2080:     ],[
        !          2081:       AC_MSG_RESULT([no])
        !          2082:       tst_works_getaddrinfo="no"
        !          2083:     ])
        !          2084:   fi
        !          2085:   #
        !          2086:   if test "$tst_compi_getaddrinfo" = "yes" &&
        !          2087:     test "$tst_works_getaddrinfo" != "no"; then
        !          2088:     AC_MSG_CHECKING([if getaddrinfo usage allowed])
        !          2089:     if test "x$curl_disallow_getaddrinfo" != "xyes"; then
        !          2090:       AC_MSG_RESULT([yes])
        !          2091:       tst_allow_getaddrinfo="yes"
        !          2092:     else
        !          2093:       AC_MSG_RESULT([no])
        !          2094:       tst_allow_getaddrinfo="no"
        !          2095:     fi
        !          2096:   fi
        !          2097:   #
        !          2098:   AC_MSG_CHECKING([if getaddrinfo might be used])
        !          2099:   if test "$tst_links_getaddrinfo" = "yes" &&
        !          2100:      test "$tst_proto_getaddrinfo" = "yes" &&
        !          2101:      test "$tst_compi_getaddrinfo" = "yes" &&
        !          2102:      test "$tst_allow_getaddrinfo" = "yes" &&
        !          2103:      test "$tst_works_getaddrinfo" != "no"; then
        !          2104:     AC_MSG_RESULT([yes])
        !          2105:     AC_DEFINE_UNQUOTED(HAVE_GETADDRINFO, 1,
        !          2106:       [Define to 1 if you have a working getaddrinfo function.])
        !          2107:     curl_cv_func_getaddrinfo="yes"
        !          2108:   else
        !          2109:     AC_MSG_RESULT([no])
        !          2110:     curl_cv_func_getaddrinfo="no"
        !          2111:     curl_cv_func_getaddrinfo_threadsafe="no"
        !          2112:   fi
        !          2113:   #
        !          2114:   if test "$curl_cv_func_getaddrinfo" = "yes"; then
        !          2115:     AC_MSG_CHECKING([if getaddrinfo is threadsafe])
        !          2116:     case $host_os in
        !          2117:       aix[[1234]].* | aix5.[[01]].*)
        !          2118:         dnl aix 5.1 and older
        !          2119:         tst_tsafe_getaddrinfo="no"
        !          2120:         ;;
        !          2121:       aix*)
        !          2122:         dnl aix 5.2 and newer
        !          2123:         tst_tsafe_getaddrinfo="yes"
        !          2124:         ;;
        !          2125:       darwin[[12345]].*)
        !          2126:         dnl darwin 5.0 and mac os x 10.1.X and older
        !          2127:         tst_tsafe_getaddrinfo="no"
        !          2128:         ;;
        !          2129:       darwin*)
        !          2130:         dnl darwin 6.0 and mac os x 10.2.X and newer
        !          2131:         tst_tsafe_getaddrinfo="yes"
        !          2132:         ;;
        !          2133:       freebsd[[1234]].* | freebsd5.[[1234]]*)
        !          2134:         dnl freebsd 5.4 and older
        !          2135:         tst_tsafe_getaddrinfo="no"
        !          2136:         ;;
        !          2137:       freebsd*)
        !          2138:         dnl freebsd 5.5 and newer
        !          2139:         tst_tsafe_getaddrinfo="yes"
        !          2140:         ;;
        !          2141:       hpux[[123456789]].* | hpux10.* | hpux11.0* | hpux11.10*)
        !          2142:         dnl hpux 11.10 and older
        !          2143:         tst_tsafe_getaddrinfo="no"
        !          2144:         ;;
        !          2145:       hpux*)
        !          2146:         dnl hpux 11.11 and newer
        !          2147:         tst_tsafe_getaddrinfo="yes"
        !          2148:         ;;
        !          2149:       netbsd[[123]].*)
        !          2150:         dnl netbsd 3.X and older
        !          2151:         tst_tsafe_getaddrinfo="no"
        !          2152:         ;;
        !          2153:       netbsd*)
        !          2154:         dnl netbsd 4.X and newer
        !          2155:         tst_tsafe_getaddrinfo="yes"
        !          2156:         ;;
        !          2157:       *bsd*)
        !          2158:         dnl All other bsd's
        !          2159:         tst_tsafe_getaddrinfo="no"
        !          2160:         ;;
        !          2161:       solaris2*)
        !          2162:         dnl solaris which have it
        !          2163:         tst_tsafe_getaddrinfo="yes"
        !          2164:         ;;
        !          2165:     esac
        !          2166:     if test "$tst_tsafe_getaddrinfo" = "unknown" &&
        !          2167:        test "$curl_cv_native_windows" = "yes"; then
        !          2168:       tst_tsafe_getaddrinfo="yes"
        !          2169:     fi
        !          2170:     if test "$tst_tsafe_getaddrinfo" = "unknown"; then
        !          2171:       CURL_CHECK_DEF_CC([h_errno], [
        !          2172:         $curl_includes_sys_socket
        !          2173:         $curl_includes_netdb
        !          2174:         ], [silent])
        !          2175:       if test "$curl_cv_have_def_h_errno" = "yes"; then
        !          2176:         tst_h_errno_macro="yes"
        !          2177:       else
        !          2178:         tst_h_errno_macro="no"
        !          2179:       fi
        !          2180:       AC_COMPILE_IFELSE([
        !          2181:         AC_LANG_PROGRAM([[
        !          2182:           $curl_includes_sys_socket
        !          2183:           $curl_includes_netdb
        !          2184:         ]],[[
        !          2185:           h_errno = 2;
        !          2186:           if(0 != h_errno)
        !          2187:             return 1;
        !          2188:         ]])
        !          2189:       ],[
        !          2190:         tst_h_errno_modifiable_lvalue="yes"
        !          2191:       ],[
        !          2192:         tst_h_errno_modifiable_lvalue="no"
        !          2193:       ])
        !          2194:       AC_COMPILE_IFELSE([
        !          2195:         AC_LANG_PROGRAM([[
        !          2196:         ]],[[
        !          2197: #if defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200809L)
        !          2198:           return 0;
        !          2199: #elif defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 700)
        !          2200:           return 0;
        !          2201: #else
        !          2202:           force compilation error
        !          2203: #endif
        !          2204:         ]])
        !          2205:       ],[
        !          2206:         tst_h_errno_sbs_issue_7="yes"
        !          2207:       ],[
        !          2208:         tst_h_errno_sbs_issue_7="no"
        !          2209:       ])
        !          2210:       if test "$tst_h_errno_macro" = "no" &&
        !          2211:          test "$tst_h_errno_modifiable_lvalue" = "no" &&
        !          2212:          test "$tst_h_errno_sbs_issue_7" = "no"; then
        !          2213:         tst_tsafe_getaddrinfo="no"
        !          2214:       else
        !          2215:         tst_tsafe_getaddrinfo="yes"
        !          2216:       fi
        !          2217:     fi
        !          2218:     AC_MSG_RESULT([$tst_tsafe_getaddrinfo])
        !          2219:     if test "$tst_tsafe_getaddrinfo" = "yes"; then
        !          2220:       AC_DEFINE_UNQUOTED(HAVE_GETADDRINFO_THREADSAFE, 1,
        !          2221:         [Define to 1 if the getaddrinfo function is threadsafe.])
        !          2222:       curl_cv_func_getaddrinfo_threadsafe="yes"
        !          2223:     else
        !          2224:       curl_cv_func_getaddrinfo_threadsafe="no"
        !          2225:     fi
        !          2226:   fi
        !          2227: ])
        !          2228: 
        !          2229: 
        !          2230: dnl CURL_CHECK_FUNC_GETHOSTBYADDR
        !          2231: dnl -------------------------------------------------
        !          2232: dnl Verify if gethostbyaddr is available, prototyped,
        !          2233: dnl and can be compiled. If all of these are true,
        !          2234: dnl and usage has not been previously disallowed with
        !          2235: dnl shell variable curl_disallow_gethostbyaddr, then
        !          2236: dnl HAVE_GETHOSTBYADDR will be defined.
        !          2237: 
        !          2238: AC_DEFUN([CURL_CHECK_FUNC_GETHOSTBYADDR], [
        !          2239:   AC_REQUIRE([CURL_INCLUDES_WINSOCK2])dnl
        !          2240:   AC_REQUIRE([CURL_INCLUDES_NETDB])dnl
        !          2241:   #
        !          2242:   tst_links_gethostbyaddr="unknown"
        !          2243:   tst_proto_gethostbyaddr="unknown"
        !          2244:   tst_compi_gethostbyaddr="unknown"
        !          2245:   tst_allow_gethostbyaddr="unknown"
        !          2246:   #
        !          2247:   AC_MSG_CHECKING([if gethostbyaddr can be linked])
        !          2248:   AC_LINK_IFELSE([
        !          2249:     AC_LANG_PROGRAM([[
        !          2250:       $curl_includes_winsock2
        !          2251:       $curl_includes_bsdsocket
        !          2252:       $curl_includes_netdb
        !          2253:     ]],[[
        !          2254:       if(0 != gethostbyaddr(0, 0, 0))
        !          2255:         return 1;
        !          2256:     ]])
        !          2257:   ],[
        !          2258:     AC_MSG_RESULT([yes])
        !          2259:     tst_links_gethostbyaddr="yes"
        !          2260:   ],[
        !          2261:     AC_MSG_RESULT([no])
        !          2262:     tst_links_gethostbyaddr="no"
        !          2263:   ])
        !          2264:   #
        !          2265:   if test "$tst_links_gethostbyaddr" = "yes"; then
        !          2266:     AC_MSG_CHECKING([if gethostbyaddr is prototyped])
        !          2267:     AC_EGREP_CPP([gethostbyaddr],[
        !          2268:       $curl_includes_winsock2
        !          2269:       $curl_includes_bsdsocket
        !          2270:       $curl_includes_netdb
        !          2271:     ],[
        !          2272:       AC_MSG_RESULT([yes])
        !          2273:       tst_proto_gethostbyaddr="yes"
        !          2274:     ],[
        !          2275:       AC_MSG_RESULT([no])
        !          2276:       tst_proto_gethostbyaddr="no"
        !          2277:     ])
        !          2278:   fi
        !          2279:   #
        !          2280:   if test "$tst_proto_gethostbyaddr" = "yes"; then
        !          2281:     AC_MSG_CHECKING([if gethostbyaddr is compilable])
        !          2282:     AC_COMPILE_IFELSE([
        !          2283:       AC_LANG_PROGRAM([[
        !          2284:         $curl_includes_winsock2
        !          2285:       $curl_includes_bsdsocket
        !          2286:         $curl_includes_netdb
        !          2287:       ]],[[
        !          2288:         if(0 != gethostbyaddr(0, 0, 0))
        !          2289:           return 1;
        !          2290:       ]])
        !          2291:     ],[
        !          2292:       AC_MSG_RESULT([yes])
        !          2293:       tst_compi_gethostbyaddr="yes"
        !          2294:     ],[
        !          2295:       AC_MSG_RESULT([no])
        !          2296:       tst_compi_gethostbyaddr="no"
        !          2297:     ])
        !          2298:   fi
        !          2299:   #
        !          2300:   if test "$tst_compi_gethostbyaddr" = "yes"; then
        !          2301:     AC_MSG_CHECKING([if gethostbyaddr usage allowed])
        !          2302:     if test "x$curl_disallow_gethostbyaddr" != "xyes"; then
        !          2303:       AC_MSG_RESULT([yes])
        !          2304:       tst_allow_gethostbyaddr="yes"
        !          2305:     else
        !          2306:       AC_MSG_RESULT([no])
        !          2307:       tst_allow_gethostbyaddr="no"
        !          2308:     fi
        !          2309:   fi
        !          2310:   #
        !          2311:   AC_MSG_CHECKING([if gethostbyaddr might be used])
        !          2312:   if test "$tst_links_gethostbyaddr" = "yes" &&
        !          2313:      test "$tst_proto_gethostbyaddr" = "yes" &&
        !          2314:      test "$tst_compi_gethostbyaddr" = "yes" &&
        !          2315:      test "$tst_allow_gethostbyaddr" = "yes"; then
        !          2316:     AC_MSG_RESULT([yes])
        !          2317:     AC_DEFINE_UNQUOTED(HAVE_GETHOSTBYADDR, 1,
        !          2318:       [Define to 1 if you have the gethostbyaddr function.])
        !          2319:     curl_cv_func_gethostbyaddr="yes"
        !          2320:   else
        !          2321:     AC_MSG_RESULT([no])
        !          2322:     curl_cv_func_gethostbyaddr="no"
        !          2323:   fi
        !          2324: ])
        !          2325: 
        !          2326: dnl CURL_CHECK_FUNC_GAI_STRERROR
        !          2327: dnl -------------------------------------------------
        !          2328: dnl Verify if gai_strerror is available, prototyped,
        !          2329: dnl and can be compiled. If all of these are true,
        !          2330: dnl and usage has not been previously disallowed with
        !          2331: dnl shell variable curl_disallow_gai_strerror, then
        !          2332: dnl HAVE_GAI_STRERROR will be defined.
        !          2333: 
        !          2334: AC_DEFUN([CURL_CHECK_FUNC_GAI_STRERROR], [
        !          2335:   AC_REQUIRE([CURL_INCLUDES_WINSOCK2])dnl
        !          2336:   AC_REQUIRE([CURL_INCLUDES_NETDB])dnl
        !          2337:   #
        !          2338:   tst_links_gai_strerror="unknown"
        !          2339:   tst_proto_gai_strerror="unknown"
        !          2340:   tst_compi_gai_strerror="unknown"
        !          2341:   tst_allow_gai_strerror="unknown"
        !          2342:   #
        !          2343:   AC_MSG_CHECKING([if gai_strerror can be linked])
        !          2344:   AC_LINK_IFELSE([
        !          2345:     AC_LANG_PROGRAM([[
        !          2346:       $curl_includes_winsock2
        !          2347:       $curl_includes_bsdsocket
        !          2348:       $curl_includes_netdb
        !          2349:     ]],[[
        !          2350:       if(0 != gai_strerror(0))
        !          2351:         return 1;
        !          2352:     ]])
        !          2353:   ],[
        !          2354:     AC_MSG_RESULT([yes])
        !          2355:     tst_links_gai_strerror="yes"
        !          2356:   ],[
        !          2357:     AC_MSG_RESULT([no])
        !          2358:     tst_links_gai_strerror="no"
        !          2359:   ])
        !          2360:   #
        !          2361:   if test "$tst_links_gai_strerror" = "yes"; then
        !          2362:     AC_MSG_CHECKING([if gai_strerror is prototyped])
        !          2363:     AC_EGREP_CPP([gai_strerror],[
        !          2364:       $curl_includes_winsock2
        !          2365:       $curl_includes_bsdsocket
        !          2366:       $curl_includes_netdb
        !          2367:     ],[
        !          2368:       AC_MSG_RESULT([yes])
        !          2369:       tst_proto_gai_strerror="yes"
        !          2370:     ],[
        !          2371:       AC_MSG_RESULT([no])
        !          2372:       tst_proto_gai_strerror="no"
        !          2373:     ])
        !          2374:   fi
        !          2375:   #
        !          2376:   if test "$tst_proto_gai_strerror" = "yes"; then
        !          2377:     AC_MSG_CHECKING([if gai_strerror is compilable])
        !          2378:     AC_COMPILE_IFELSE([
        !          2379:       AC_LANG_PROGRAM([[
        !          2380:         $curl_includes_winsock2
        !          2381:       $curl_includes_bsdsocket
        !          2382:         $curl_includes_netdb
        !          2383:       ]],[[
        !          2384:         if(0 != gai_strerror(0))
        !          2385:           return 1;
        !          2386:       ]])
        !          2387:     ],[
        !          2388:       AC_MSG_RESULT([yes])
        !          2389:       tst_compi_gai_strerror="yes"
        !          2390:     ],[
        !          2391:       AC_MSG_RESULT([no])
        !          2392:       tst_compi_gai_strerror="no"
        !          2393:     ])
        !          2394:   fi
        !          2395:   #
        !          2396:   if test "$tst_compi_gai_strerror" = "yes"; then
        !          2397:     AC_MSG_CHECKING([if gai_strerror usage allowed])
        !          2398:     if test "x$curl_disallow_gai_strerror" != "xyes"; then
        !          2399:       AC_MSG_RESULT([yes])
        !          2400:       tst_allow_gai_strerror="yes"
        !          2401:     else
        !          2402:       AC_MSG_RESULT([no])
        !          2403:       tst_allow_gai_strerror="no"
        !          2404:     fi
        !          2405:   fi
        !          2406:   #
        !          2407:   AC_MSG_CHECKING([if gai_strerror might be used])
        !          2408:   if test "$tst_links_gai_strerror" = "yes" &&
        !          2409:      test "$tst_proto_gai_strerror" = "yes" &&
        !          2410:      test "$tst_compi_gai_strerror" = "yes" &&
        !          2411:      test "$tst_allow_gai_strerror" = "yes"; then
        !          2412:     AC_MSG_RESULT([yes])
        !          2413:     AC_DEFINE_UNQUOTED(HAVE_GAI_STRERROR, 1,
        !          2414:       [Define to 1 if you have the gai_strerror function.])
        !          2415:     curl_cv_func_gai_strerror="yes"
        !          2416:   else
        !          2417:     AC_MSG_RESULT([no])
        !          2418:     curl_cv_func_gai_strerror="no"
        !          2419:   fi
        !          2420: ])
        !          2421: 
        !          2422: 
        !          2423: dnl CURL_CHECK_FUNC_GETHOSTBYADDR_R
        !          2424: dnl -------------------------------------------------
        !          2425: dnl Verify if gethostbyaddr_r is available, prototyped,
        !          2426: dnl and can be compiled. If all of these are true, and
        !          2427: dnl usage has not been previously disallowed with
        !          2428: dnl shell variable curl_disallow_gethostbyaddr_r, then
        !          2429: dnl HAVE_GETHOSTBYADDR_R will be defined.
        !          2430: 
        !          2431: AC_DEFUN([CURL_CHECK_FUNC_GETHOSTBYADDR_R], [
        !          2432:   AC_REQUIRE([CURL_INCLUDES_NETDB])dnl
        !          2433:   #
        !          2434:   tst_links_gethostbyaddr_r="unknown"
        !          2435:   tst_proto_gethostbyaddr_r="unknown"
        !          2436:   tst_compi_gethostbyaddr_r="unknown"
        !          2437:   tst_allow_gethostbyaddr_r="unknown"
        !          2438:   tst_nargs_gethostbyaddr_r="unknown"
        !          2439:   #
        !          2440:   AC_MSG_CHECKING([if gethostbyaddr_r can be linked])
        !          2441:   AC_LINK_IFELSE([
        !          2442:     AC_LANG_FUNC_LINK_TRY([gethostbyaddr_r])
        !          2443:   ],[
        !          2444:     AC_MSG_RESULT([yes])
        !          2445:     tst_links_gethostbyaddr_r="yes"
        !          2446:   ],[
        !          2447:     AC_MSG_RESULT([no])
        !          2448:     tst_links_gethostbyaddr_r="no"
        !          2449:   ])
        !          2450:   #
        !          2451:   if test "$tst_links_gethostbyaddr_r" = "yes"; then
        !          2452:     AC_MSG_CHECKING([if gethostbyaddr_r is prototyped])
        !          2453:     AC_EGREP_CPP([gethostbyaddr_r],[
        !          2454:       $curl_includes_netdb
        !          2455:     ],[
        !          2456:       AC_MSG_RESULT([yes])
        !          2457:       tst_proto_gethostbyaddr_r="yes"
        !          2458:     ],[
        !          2459:       AC_MSG_RESULT([no])
        !          2460:       tst_proto_gethostbyaddr_r="no"
        !          2461:     ])
        !          2462:   fi
        !          2463:   #
        !          2464:   if test "$tst_proto_gethostbyaddr_r" = "yes"; then
        !          2465:     if test "$tst_nargs_gethostbyaddr_r" = "unknown"; then
        !          2466:       AC_MSG_CHECKING([if gethostbyaddr_r takes 5 args.])
        !          2467:       AC_COMPILE_IFELSE([
        !          2468:         AC_LANG_PROGRAM([[
        !          2469:           $curl_includes_netdb
        !          2470:         ]],[[
        !          2471:           if(0 != gethostbyaddr_r(0, 0, 0, 0, 0))
        !          2472:             return 1;
        !          2473:         ]])
        !          2474:       ],[
        !          2475:         AC_MSG_RESULT([yes])
        !          2476:         tst_compi_gethostbyaddr_r="yes"
        !          2477:         tst_nargs_gethostbyaddr_r="5"
        !          2478:       ],[
        !          2479:         AC_MSG_RESULT([no])
        !          2480:         tst_compi_gethostbyaddr_r="no"
        !          2481:       ])
        !          2482:     fi
        !          2483:     if test "$tst_nargs_gethostbyaddr_r" = "unknown"; then
        !          2484:       AC_MSG_CHECKING([if gethostbyaddr_r takes 7 args.])
        !          2485:       AC_COMPILE_IFELSE([
        !          2486:         AC_LANG_PROGRAM([[
        !          2487:           $curl_includes_netdb
        !          2488:         ]],[[
        !          2489:           if(0 != gethostbyaddr_r(0, 0, 0, 0, 0, 0, 0))
        !          2490:             return 1;
        !          2491:         ]])
        !          2492:       ],[
        !          2493:         AC_MSG_RESULT([yes])
        !          2494:         tst_compi_gethostbyaddr_r="yes"
        !          2495:         tst_nargs_gethostbyaddr_r="7"
        !          2496:       ],[
        !          2497:         AC_MSG_RESULT([no])
        !          2498:         tst_compi_gethostbyaddr_r="no"
        !          2499:       ])
        !          2500:     fi
        !          2501:     if test "$tst_nargs_gethostbyaddr_r" = "unknown"; then
        !          2502:       AC_MSG_CHECKING([if gethostbyaddr_r takes 8 args.])
        !          2503:       AC_COMPILE_IFELSE([
        !          2504:         AC_LANG_PROGRAM([[
        !          2505:           $curl_includes_netdb
        !          2506:         ]],[[
        !          2507:           if(0 != gethostbyaddr_r(0, 0, 0, 0, 0, 0, 0, 0))
        !          2508:             return 1;
        !          2509:         ]])
        !          2510:       ],[
        !          2511:         AC_MSG_RESULT([yes])
        !          2512:         tst_compi_gethostbyaddr_r="yes"
        !          2513:         tst_nargs_gethostbyaddr_r="8"
        !          2514:       ],[
        !          2515:         AC_MSG_RESULT([no])
        !          2516:         tst_compi_gethostbyaddr_r="no"
        !          2517:       ])
        !          2518:     fi
        !          2519:     AC_MSG_CHECKING([if gethostbyaddr_r is compilable])
        !          2520:     if test "$tst_compi_gethostbyaddr_r" = "yes"; then
        !          2521:       AC_MSG_RESULT([yes])
        !          2522:     else
        !          2523:       AC_MSG_RESULT([no])
        !          2524:     fi
        !          2525:   fi
        !          2526:   #
        !          2527:   if test "$tst_compi_gethostbyaddr_r" = "yes"; then
        !          2528:     AC_MSG_CHECKING([if gethostbyaddr_r usage allowed])
        !          2529:     if test "x$curl_disallow_gethostbyaddr_r" != "xyes"; then
        !          2530:       AC_MSG_RESULT([yes])
        !          2531:       tst_allow_gethostbyaddr_r="yes"
        !          2532:     else
        !          2533:       AC_MSG_RESULT([no])
        !          2534:       tst_allow_gethostbyaddr_r="no"
        !          2535:     fi
        !          2536:   fi
        !          2537:   #
        !          2538:   AC_MSG_CHECKING([if gethostbyaddr_r might be used])
        !          2539:   if test "$tst_links_gethostbyaddr_r" = "yes" &&
        !          2540:      test "$tst_proto_gethostbyaddr_r" = "yes" &&
        !          2541:      test "$tst_compi_gethostbyaddr_r" = "yes" &&
        !          2542:      test "$tst_allow_gethostbyaddr_r" = "yes"; then
        !          2543:     AC_MSG_RESULT([yes])
        !          2544:     AC_DEFINE_UNQUOTED(HAVE_GETHOSTBYADDR_R, 1,
        !          2545:       [Define to 1 if you have the gethostbyaddr_r function.])
        !          2546:     dnl AC_DEFINE_UNQUOTED(GETHOSTBYADDR_R_ARGS, $tst_nargs_gethostbyaddr_r,
        !          2547:     dnl   [Specifies the number of arguments to gethostbyaddr_r])
        !          2548:     #
        !          2549:     if test "$tst_nargs_gethostbyaddr_r" -eq "5"; then
        !          2550:       AC_DEFINE(HAVE_GETHOSTBYADDR_R_5, 1, [gethostbyaddr_r() takes 5 args])
        !          2551:     elif test "$tst_nargs_gethostbyaddr_r" -eq "7"; then
        !          2552:       AC_DEFINE(HAVE_GETHOSTBYADDR_R_7, 1, [gethostbyaddr_r() takes 7 args])
        !          2553:     elif test "$tst_nargs_gethostbyaddr_r" -eq "8"; then
        !          2554:       AC_DEFINE(HAVE_GETHOSTBYADDR_R_8, 1, [gethostbyaddr_r() takes 8 args])
        !          2555:     fi
        !          2556:     #
        !          2557:     curl_cv_func_gethostbyaddr_r="yes"
        !          2558:   else
        !          2559:     AC_MSG_RESULT([no])
        !          2560:     curl_cv_func_gethostbyaddr_r="no"
        !          2561:   fi
        !          2562: ])
        !          2563: 
        !          2564: 
        !          2565: dnl CURL_CHECK_FUNC_GETHOSTBYNAME
        !          2566: dnl -------------------------------------------------
        !          2567: dnl Verify if gethostbyname is available, prototyped,
        !          2568: dnl and can be compiled. If all of these are true,
        !          2569: dnl and usage has not been previously disallowed with
        !          2570: dnl shell variable curl_disallow_gethostbyname, then
        !          2571: dnl HAVE_GETHOSTBYNAME will be defined.
        !          2572: 
        !          2573: AC_DEFUN([CURL_CHECK_FUNC_GETHOSTBYNAME], [
        !          2574:   AC_REQUIRE([CURL_INCLUDES_WINSOCK2])dnl
        !          2575:   AC_REQUIRE([CURL_INCLUDES_NETDB])dnl
        !          2576:   #
        !          2577:   tst_links_gethostbyname="unknown"
        !          2578:   tst_proto_gethostbyname="unknown"
        !          2579:   tst_compi_gethostbyname="unknown"
        !          2580:   tst_allow_gethostbyname="unknown"
        !          2581:   #
        !          2582:   AC_MSG_CHECKING([if gethostbyname can be linked])
        !          2583:   AC_LINK_IFELSE([
        !          2584:     AC_LANG_PROGRAM([[
        !          2585:       $curl_includes_winsock2
        !          2586:       $curl_includes_bsdsocket
        !          2587:       $curl_includes_netdb
        !          2588:     ]],[[
        !          2589:       if(0 != gethostbyname(0))
        !          2590:         return 1;
        !          2591:     ]])
        !          2592:   ],[
        !          2593:     AC_MSG_RESULT([yes])
        !          2594:     tst_links_gethostbyname="yes"
        !          2595:   ],[
        !          2596:     AC_MSG_RESULT([no])
        !          2597:     tst_links_gethostbyname="no"
        !          2598:   ])
        !          2599:   #
        !          2600:   if test "$tst_links_gethostbyname" = "yes"; then
        !          2601:     AC_MSG_CHECKING([if gethostbyname is prototyped])
        !          2602:     AC_EGREP_CPP([gethostbyname],[
        !          2603:       $curl_includes_winsock2
        !          2604:       $curl_includes_bsdsocket
        !          2605:       $curl_includes_netdb
        !          2606:     ],[
        !          2607:       AC_MSG_RESULT([yes])
        !          2608:       tst_proto_gethostbyname="yes"
        !          2609:     ],[
        !          2610:       AC_MSG_RESULT([no])
        !          2611:       tst_proto_gethostbyname="no"
        !          2612:     ])
        !          2613:   fi
        !          2614:   #
        !          2615:   if test "$tst_proto_gethostbyname" = "yes"; then
        !          2616:     AC_MSG_CHECKING([if gethostbyname is compilable])
        !          2617:     AC_COMPILE_IFELSE([
        !          2618:       AC_LANG_PROGRAM([[
        !          2619:         $curl_includes_winsock2
        !          2620:       $curl_includes_bsdsocket
        !          2621:         $curl_includes_netdb
        !          2622:       ]],[[
        !          2623:         if(0 != gethostbyname(0))
        !          2624:           return 1;
        !          2625:       ]])
        !          2626:     ],[
        !          2627:       AC_MSG_RESULT([yes])
        !          2628:       tst_compi_gethostbyname="yes"
        !          2629:     ],[
        !          2630:       AC_MSG_RESULT([no])
        !          2631:       tst_compi_gethostbyname="no"
        !          2632:     ])
        !          2633:   fi
        !          2634:   #
        !          2635:   if test "$tst_compi_gethostbyname" = "yes"; then
        !          2636:     AC_MSG_CHECKING([if gethostbyname usage allowed])
        !          2637:     if test "x$curl_disallow_gethostbyname" != "xyes"; then
        !          2638:       AC_MSG_RESULT([yes])
        !          2639:       tst_allow_gethostbyname="yes"
        !          2640:     else
        !          2641:       AC_MSG_RESULT([no])
        !          2642:       tst_allow_gethostbyname="no"
        !          2643:     fi
        !          2644:   fi
        !          2645:   #
        !          2646:   AC_MSG_CHECKING([if gethostbyname might be used])
        !          2647:   if test "$tst_links_gethostbyname" = "yes" &&
        !          2648:      test "$tst_proto_gethostbyname" = "yes" &&
        !          2649:      test "$tst_compi_gethostbyname" = "yes" &&
        !          2650:      test "$tst_allow_gethostbyname" = "yes"; then
        !          2651:     AC_MSG_RESULT([yes])
        !          2652:     AC_DEFINE_UNQUOTED(HAVE_GETHOSTBYNAME, 1,
        !          2653:       [Define to 1 if you have the gethostbyname function.])
        !          2654:     curl_cv_func_gethostbyname="yes"
        !          2655:   else
        !          2656:     AC_MSG_RESULT([no])
        !          2657:     curl_cv_func_gethostbyname="no"
        !          2658:   fi
        !          2659: ])
        !          2660: 
        !          2661: 
        !          2662: dnl CURL_CHECK_FUNC_GETHOSTBYNAME_R
        !          2663: dnl -------------------------------------------------
        !          2664: dnl Verify if gethostbyname_r is available, prototyped,
        !          2665: dnl and can be compiled. If all of these are true, and
        !          2666: dnl usage has not been previously disallowed with
        !          2667: dnl shell variable curl_disallow_gethostbyname_r, then
        !          2668: dnl HAVE_GETHOSTBYNAME_R will be defined.
        !          2669: 
        !          2670: AC_DEFUN([CURL_CHECK_FUNC_GETHOSTBYNAME_R], [
        !          2671:   AC_REQUIRE([CURL_INCLUDES_NETDB])dnl
        !          2672:   #
        !          2673:   tst_links_gethostbyname_r="unknown"
        !          2674:   tst_proto_gethostbyname_r="unknown"
        !          2675:   tst_compi_gethostbyname_r="unknown"
        !          2676:   tst_allow_gethostbyname_r="unknown"
        !          2677:   tst_nargs_gethostbyname_r="unknown"
        !          2678:   #
        !          2679:   AC_MSG_CHECKING([if gethostbyname_r can be linked])
        !          2680:   AC_LINK_IFELSE([
        !          2681:     AC_LANG_FUNC_LINK_TRY([gethostbyname_r])
        !          2682:   ],[
        !          2683:     AC_MSG_RESULT([yes])
        !          2684:     tst_links_gethostbyname_r="yes"
        !          2685:   ],[
        !          2686:     AC_MSG_RESULT([no])
        !          2687:     tst_links_gethostbyname_r="no"
        !          2688:   ])
        !          2689:   #
        !          2690:   if test "$tst_links_gethostbyname_r" = "yes"; then
        !          2691:     AC_MSG_CHECKING([if gethostbyname_r is prototyped])
        !          2692:     AC_EGREP_CPP([gethostbyname_r],[
        !          2693:       $curl_includes_netdb
        !          2694:     ],[
        !          2695:       AC_MSG_RESULT([yes])
        !          2696:       tst_proto_gethostbyname_r="yes"
        !          2697:     ],[
        !          2698:       AC_MSG_RESULT([no])
        !          2699:       tst_proto_gethostbyname_r="no"
        !          2700:     ])
        !          2701:   fi
        !          2702:   #
        !          2703:   if test "$tst_proto_gethostbyname_r" = "yes"; then
        !          2704:     if test "$tst_nargs_gethostbyname_r" = "unknown"; then
        !          2705:       AC_MSG_CHECKING([if gethostbyname_r takes 3 args.])
        !          2706:       AC_COMPILE_IFELSE([
        !          2707:         AC_LANG_PROGRAM([[
        !          2708:           $curl_includes_netdb
        !          2709:         ]],[[
        !          2710:           if(0 != gethostbyname_r(0, 0, 0))
        !          2711:             return 1;
        !          2712:         ]])
        !          2713:       ],[
        !          2714:         AC_MSG_RESULT([yes])
        !          2715:         tst_compi_gethostbyname_r="yes"
        !          2716:         tst_nargs_gethostbyname_r="3"
        !          2717:       ],[
        !          2718:         AC_MSG_RESULT([no])
        !          2719:         tst_compi_gethostbyname_r="no"
        !          2720:       ])
        !          2721:     fi
        !          2722:     if test "$tst_nargs_gethostbyname_r" = "unknown"; then
        !          2723:       AC_MSG_CHECKING([if gethostbyname_r takes 5 args.])
        !          2724:       AC_COMPILE_IFELSE([
        !          2725:         AC_LANG_PROGRAM([[
        !          2726:           $curl_includes_netdb
        !          2727:         ]],[[
        !          2728:           if(0 != gethostbyname_r(0, 0, 0, 0, 0))
        !          2729:             return 1;
        !          2730:         ]])
        !          2731:       ],[
        !          2732:         AC_MSG_RESULT([yes])
        !          2733:         tst_compi_gethostbyname_r="yes"
        !          2734:         tst_nargs_gethostbyname_r="5"
        !          2735:       ],[
        !          2736:         AC_MSG_RESULT([no])
        !          2737:         tst_compi_gethostbyname_r="no"
        !          2738:       ])
        !          2739:     fi
        !          2740:     if test "$tst_nargs_gethostbyname_r" = "unknown"; then
        !          2741:       AC_MSG_CHECKING([if gethostbyname_r takes 6 args.])
        !          2742:       AC_COMPILE_IFELSE([
        !          2743:         AC_LANG_PROGRAM([[
        !          2744:           $curl_includes_netdb
        !          2745:         ]],[[
        !          2746:           if(0 != gethostbyname_r(0, 0, 0, 0, 0, 0))
        !          2747:             return 1;
        !          2748:         ]])
        !          2749:       ],[
        !          2750:         AC_MSG_RESULT([yes])
        !          2751:         tst_compi_gethostbyname_r="yes"
        !          2752:         tst_nargs_gethostbyname_r="6"
        !          2753:       ],[
        !          2754:         AC_MSG_RESULT([no])
        !          2755:         tst_compi_gethostbyname_r="no"
        !          2756:       ])
        !          2757:     fi
        !          2758:     AC_MSG_CHECKING([if gethostbyname_r is compilable])
        !          2759:     if test "$tst_compi_gethostbyname_r" = "yes"; then
        !          2760:       AC_MSG_RESULT([yes])
        !          2761:     else
        !          2762:       AC_MSG_RESULT([no])
        !          2763:     fi
        !          2764:   fi
        !          2765:   #
        !          2766:   if test "$tst_compi_gethostbyname_r" = "yes"; then
        !          2767:     AC_MSG_CHECKING([if gethostbyname_r usage allowed])
        !          2768:     if test "x$curl_disallow_gethostbyname_r" != "xyes"; then
        !          2769:       AC_MSG_RESULT([yes])
        !          2770:       tst_allow_gethostbyname_r="yes"
        !          2771:     else
        !          2772:       AC_MSG_RESULT([no])
        !          2773:       tst_allow_gethostbyname_r="no"
        !          2774:     fi
        !          2775:   fi
        !          2776:   #
        !          2777:   AC_MSG_CHECKING([if gethostbyname_r might be used])
        !          2778:   if test "$tst_links_gethostbyname_r" = "yes" &&
        !          2779:      test "$tst_proto_gethostbyname_r" = "yes" &&
        !          2780:      test "$tst_compi_gethostbyname_r" = "yes" &&
        !          2781:      test "$tst_allow_gethostbyname_r" = "yes"; then
        !          2782:     AC_MSG_RESULT([yes])
        !          2783:     AC_DEFINE_UNQUOTED(HAVE_GETHOSTBYNAME_R, 1,
        !          2784:       [Define to 1 if you have the gethostbyname_r function.])
        !          2785:     dnl AC_DEFINE_UNQUOTED(GETHOSTBYNAME_R_ARGS, $tst_nargs_gethostbyname_r,
        !          2786:     dnl   [Specifies the number of arguments to gethostbyname_r])
        !          2787:     #
        !          2788:     if test "$tst_nargs_gethostbyname_r" -eq "3"; then
        !          2789:       AC_DEFINE(HAVE_GETHOSTBYNAME_R_3, 1, [gethostbyname_r() takes 3 args])
        !          2790:     elif test "$tst_nargs_gethostbyname_r" -eq "5"; then
        !          2791:       AC_DEFINE(HAVE_GETHOSTBYNAME_R_5, 1, [gethostbyname_r() takes 5 args])
        !          2792:     elif test "$tst_nargs_gethostbyname_r" -eq "6"; then
        !          2793:       AC_DEFINE(HAVE_GETHOSTBYNAME_R_6, 1, [gethostbyname_r() takes 6 args])
        !          2794:     fi
        !          2795:     #
        !          2796:     curl_cv_func_gethostbyname_r="yes"
        !          2797:   else
        !          2798:     AC_MSG_RESULT([no])
        !          2799:     curl_cv_func_gethostbyname_r="no"
        !          2800:   fi
        !          2801: ])
        !          2802: 
        !          2803: 
        !          2804: dnl CURL_CHECK_FUNC_GETHOSTNAME
        !          2805: dnl -------------------------------------------------
        !          2806: dnl Verify if gethostname is available, prototyped, and
        !          2807: dnl can be compiled. If all of these are true, and
        !          2808: dnl usage has not been previously disallowed with
        !          2809: dnl shell variable curl_disallow_gethostname, then
        !          2810: dnl HAVE_GETHOSTNAME will be defined.
        !          2811: 
        !          2812: AC_DEFUN([CURL_CHECK_FUNC_GETHOSTNAME], [
        !          2813:   AC_REQUIRE([CURL_INCLUDES_WINSOCK2])dnl
        !          2814:   AC_REQUIRE([CURL_INCLUDES_UNISTD])dnl
        !          2815:   AC_REQUIRE([CURL_PREPROCESS_CALLCONV])dnl
        !          2816:   AC_REQUIRE([CURL_INCLUDES_BSDSOCKET])dnl
        !          2817:   #
        !          2818:   tst_links_gethostname="unknown"
        !          2819:   tst_proto_gethostname="unknown"
        !          2820:   tst_compi_gethostname="unknown"
        !          2821:   tst_allow_gethostname="unknown"
        !          2822:   #
        !          2823:   AC_MSG_CHECKING([if gethostname can be linked])
        !          2824:   AC_LINK_IFELSE([
        !          2825:     AC_LANG_PROGRAM([[
        !          2826:       $curl_includes_winsock2
        !          2827:       $curl_includes_bsdsocket
        !          2828:       $curl_includes_unistd
        !          2829:     ]],[[
        !          2830:       if(0 != gethostname(0, 0))
        !          2831:         return 1;
        !          2832:     ]])
        !          2833:   ],[
        !          2834:     AC_MSG_RESULT([yes])
        !          2835:     tst_links_gethostname="yes"
        !          2836:   ],[
        !          2837:     AC_MSG_RESULT([no])
        !          2838:     tst_links_gethostname="no"
        !          2839:   ])
        !          2840:   #
        !          2841:   if test "$tst_links_gethostname" = "yes"; then
        !          2842:     AC_MSG_CHECKING([if gethostname is prototyped])
        !          2843:     AC_EGREP_CPP([gethostname],[
        !          2844:       $curl_includes_winsock2
        !          2845:       $curl_includes_bsdsocket
        !          2846:       $curl_includes_unistd
        !          2847:     ],[
        !          2848:       AC_MSG_RESULT([yes])
        !          2849:       tst_proto_gethostname="yes"
        !          2850:     ],[
        !          2851:       AC_MSG_RESULT([no])
        !          2852:       tst_proto_gethostname="no"
        !          2853:     ])
        !          2854:   fi
        !          2855:   #
        !          2856:   if test "$tst_proto_gethostname" = "yes"; then
        !          2857:     AC_MSG_CHECKING([if gethostname is compilable])
        !          2858:     AC_COMPILE_IFELSE([
        !          2859:       AC_LANG_PROGRAM([[
        !          2860:         $curl_includes_winsock2
        !          2861:       $curl_includes_bsdsocket
        !          2862:         $curl_includes_unistd
        !          2863:       ]],[[
        !          2864:         if(0 != gethostname(0, 0))
        !          2865:           return 1;
        !          2866:       ]])
        !          2867:     ],[
        !          2868:       AC_MSG_RESULT([yes])
        !          2869:       tst_compi_gethostname="yes"
        !          2870:     ],[
        !          2871:       AC_MSG_RESULT([no])
        !          2872:       tst_compi_gethostname="no"
        !          2873:     ])
        !          2874:   fi
        !          2875:   #
        !          2876:   if test "$tst_compi_gethostname" = "yes"; then
        !          2877:     AC_MSG_CHECKING([for gethostname arg 2 data type])
        !          2878:     tst_gethostname_type_arg2="unknown"
        !          2879:     for tst_arg1 in 'char *' 'unsigned char *' 'void *'; do
        !          2880:       for tst_arg2 in 'int' 'unsigned int' 'size_t'; do
        !          2881:         if test "$tst_gethostname_type_arg2" = "unknown"; then
        !          2882:           AC_COMPILE_IFELSE([
        !          2883:             AC_LANG_PROGRAM([[
        !          2884:               $curl_includes_winsock2
        !          2885:       $curl_includes_bsdsocket
        !          2886:               $curl_includes_unistd
        !          2887:               $curl_preprocess_callconv
        !          2888:               extern int FUNCALLCONV gethostname($tst_arg1, $tst_arg2);
        !          2889:             ]],[[
        !          2890:               if(0 != gethostname(0, 0))
        !          2891:                 return 1;
        !          2892:             ]])
        !          2893:           ],[
        !          2894:             tst_gethostname_type_arg2="$tst_arg2"
        !          2895:           ])
        !          2896:         fi
        !          2897:       done
        !          2898:     done
        !          2899:     AC_MSG_RESULT([$tst_gethostname_type_arg2])
        !          2900:     if test "$tst_gethostname_type_arg2" != "unknown"; then
        !          2901:       AC_DEFINE_UNQUOTED(GETHOSTNAME_TYPE_ARG2, $tst_gethostname_type_arg2,
        !          2902:         [Define to the type of arg 2 for gethostname.])
        !          2903:     fi
        !          2904:   fi
        !          2905:   #
        !          2906:   if test "$tst_compi_gethostname" = "yes"; then
        !          2907:     AC_MSG_CHECKING([if gethostname usage allowed])
        !          2908:     if test "x$curl_disallow_gethostname" != "xyes"; then
        !          2909:       AC_MSG_RESULT([yes])
        !          2910:       tst_allow_gethostname="yes"
        !          2911:     else
        !          2912:       AC_MSG_RESULT([no])
        !          2913:       tst_allow_gethostname="no"
        !          2914:     fi
        !          2915:   fi
        !          2916:   #
        !          2917:   AC_MSG_CHECKING([if gethostname might be used])
        !          2918:   if test "$tst_links_gethostname" = "yes" &&
        !          2919:      test "$tst_proto_gethostname" = "yes" &&
        !          2920:      test "$tst_compi_gethostname" = "yes" &&
        !          2921:      test "$tst_allow_gethostname" = "yes"; then
        !          2922:     AC_MSG_RESULT([yes])
        !          2923:     AC_DEFINE_UNQUOTED(HAVE_GETHOSTNAME, 1,
        !          2924:       [Define to 1 if you have the gethostname function.])
        !          2925:     curl_cv_func_gethostname="yes"
        !          2926:   else
        !          2927:     AC_MSG_RESULT([no])
        !          2928:     curl_cv_func_gethostname="no"
        !          2929:   fi
        !          2930: ])
        !          2931: 
        !          2932: dnl CURL_CHECK_FUNC_GETPEERNAME
        !          2933: dnl -------------------------------------------------
        !          2934: dnl Verify if getpeername is available, prototyped, and
        !          2935: dnl can be compiled. If all of these are true, and
        !          2936: dnl usage has not been previously disallowed with
        !          2937: dnl shell variable curl_disallow_getpeername, then
        !          2938: dnl HAVE_GETPEERNAME will be defined.
        !          2939: 
        !          2940: AC_DEFUN([CURL_CHECK_FUNC_GETPEERNAME], [
        !          2941:   AC_REQUIRE([CURL_INCLUDES_WINSOCK2])dnl
        !          2942:   AC_REQUIRE([CURL_INCLUDES_UNISTD])dnl
        !          2943:   AC_REQUIRE([CURL_PREPROCESS_CALLCONV])dnl
        !          2944:   AC_REQUIRE([CURL_INCLUDES_BSDSOCKET])dnl
        !          2945:   #
        !          2946:   tst_links_getpeername="unknown"
        !          2947:   tst_proto_getpeername="unknown"
        !          2948:   tst_compi_getpeername="unknown"
        !          2949:   tst_allow_getpeername="unknown"
        !          2950:   #
        !          2951:   AC_MSG_CHECKING([if getpeername can be linked])
        !          2952:   AC_LINK_IFELSE([
        !          2953:     AC_LANG_PROGRAM([[
        !          2954:       $curl_includes_winsock2
        !          2955:       $curl_includes_bsdsocket
        !          2956:       $curl_includes_sys_socket
        !          2957:     ]],[[
        !          2958:       if(0 != getpeername(0, (void *)0, (void *)0))
        !          2959:         return 1;
        !          2960:     ]])
        !          2961:   ],[
        !          2962:     AC_MSG_RESULT([yes])
        !          2963:     tst_links_getpeername="yes"
        !          2964:   ],[
        !          2965:     AC_MSG_RESULT([no])
        !          2966:     tst_links_getpeername="no"
        !          2967:   ])
        !          2968:   #
        !          2969:   if test "$tst_links_getpeername" = "yes"; then
        !          2970:     AC_MSG_CHECKING([if getpeername is prototyped])
        !          2971:     AC_EGREP_CPP([getpeername],[
        !          2972:       $curl_includes_winsock2
        !          2973:       $curl_includes_bsdsocket
        !          2974:       $curl_includes_sys_socket
        !          2975:     ],[
        !          2976:       AC_MSG_RESULT([yes])
        !          2977:       tst_proto_getpeername="yes"
        !          2978:     ],[
        !          2979:       AC_MSG_RESULT([no])
        !          2980:       tst_proto_getpeername="no"
        !          2981:     ])
        !          2982:   fi
        !          2983:   #
        !          2984:   if test "$tst_proto_getpeername" = "yes"; then
        !          2985:     AC_MSG_CHECKING([if getpeername is compilable])
        !          2986:     AC_COMPILE_IFELSE([
        !          2987:       AC_LANG_PROGRAM([[
        !          2988:         $curl_includes_winsock2
        !          2989:         $curl_includes_bsdsocket
        !          2990:         $curl_includes_sys_socket
        !          2991:       ]],[[
        !          2992:         if(0 != getpeername(0, (void *)0, (void *)0))
        !          2993:           return 1;
        !          2994:       ]])
        !          2995:     ],[
        !          2996:       AC_MSG_RESULT([yes])
        !          2997:       tst_compi_getpeername="yes"
        !          2998:     ],[
        !          2999:       AC_MSG_RESULT([no])
        !          3000:       tst_compi_getpeername="no"
        !          3001:     ])
        !          3002:   fi
        !          3003:   #
        !          3004:   if test "$tst_compi_getpeername" = "yes"; then
        !          3005:     AC_MSG_CHECKING([if getpeername usage allowed])
        !          3006:     if test "x$curl_disallow_getpeername" != "xyes"; then
        !          3007:       AC_MSG_RESULT([yes])
        !          3008:       tst_allow_getpeername="yes"
        !          3009:     else
        !          3010:       AC_MSG_RESULT([no])
        !          3011:       tst_allow_getpeername="no"
        !          3012:     fi
        !          3013:   fi
        !          3014:   #
        !          3015:   AC_MSG_CHECKING([if getpeername might be used])
        !          3016:   if test "$tst_links_getpeername" = "yes" &&
        !          3017:      test "$tst_proto_getpeername" = "yes" &&
        !          3018:      test "$tst_compi_getpeername" = "yes" &&
        !          3019:      test "$tst_allow_getpeername" = "yes"; then
        !          3020:     AC_MSG_RESULT([yes])
        !          3021:     AC_DEFINE_UNQUOTED(HAVE_GETPEERNAME, 1,
        !          3022:       [Define to 1 if you have the getpeername function.])
        !          3023:     curl_cv_func_getpeername="yes"
        !          3024:   else
        !          3025:     AC_MSG_RESULT([no])
        !          3026:     curl_cv_func_getpeername="no"
        !          3027:   fi
        !          3028: ])
        !          3029: 
        !          3030: dnl CURL_CHECK_FUNC_GETSOCKNAME
        !          3031: dnl -------------------------------------------------
        !          3032: dnl Verify if getsockname is available, prototyped, and
        !          3033: dnl can be compiled. If all of these are true, and
        !          3034: dnl usage has not been previously disallowed with
        !          3035: dnl shell variable curl_disallow_getsockname, then
        !          3036: dnl HAVE_GETSOCKNAME will be defined.
        !          3037: 
        !          3038: AC_DEFUN([CURL_CHECK_FUNC_GETSOCKNAME], [
        !          3039:   AC_REQUIRE([CURL_INCLUDES_WINSOCK2])dnl
        !          3040:   AC_REQUIRE([CURL_INCLUDES_UNISTD])dnl
        !          3041:   AC_REQUIRE([CURL_PREPROCESS_CALLCONV])dnl
        !          3042:   AC_REQUIRE([CURL_INCLUDES_BSDSOCKET])dnl
        !          3043:   #
        !          3044:   tst_links_getsockname="unknown"
        !          3045:   tst_proto_getsockname="unknown"
        !          3046:   tst_compi_getsockname="unknown"
        !          3047:   tst_allow_getsockname="unknown"
        !          3048:   #
        !          3049:   AC_MSG_CHECKING([if getsockname can be linked])
        !          3050:   AC_LINK_IFELSE([
        !          3051:     AC_LANG_PROGRAM([[
        !          3052:       $curl_includes_winsock2
        !          3053:       $curl_includes_bsdsocket
        !          3054:       $curl_includes_sys_socket
        !          3055:     ]],[[
        !          3056:       if(0 != getsockname(0, (void *)0, (void *)0))
        !          3057:         return 1;
        !          3058:     ]])
        !          3059:   ],[
        !          3060:     AC_MSG_RESULT([yes])
        !          3061:     tst_links_getsockname="yes"
        !          3062:   ],[
        !          3063:     AC_MSG_RESULT([no])
        !          3064:     tst_links_getsockname="no"
        !          3065:   ])
        !          3066:   #
        !          3067:   if test "$tst_links_getsockname" = "yes"; then
        !          3068:     AC_MSG_CHECKING([if getsockname is prototyped])
        !          3069:     AC_EGREP_CPP([getsockname],[
        !          3070:       $curl_includes_winsock2
        !          3071:       $curl_includes_bsdsocket
        !          3072:       $curl_includes_sys_socket
        !          3073:     ],[
        !          3074:       AC_MSG_RESULT([yes])
        !          3075:       tst_proto_getsockname="yes"
        !          3076:     ],[
        !          3077:       AC_MSG_RESULT([no])
        !          3078:       tst_proto_getsockname="no"
        !          3079:     ])
        !          3080:   fi
        !          3081:   #
        !          3082:   if test "$tst_proto_getsockname" = "yes"; then
        !          3083:     AC_MSG_CHECKING([if getsockname is compilable])
        !          3084:     AC_COMPILE_IFELSE([
        !          3085:       AC_LANG_PROGRAM([[
        !          3086:         $curl_includes_winsock2
        !          3087:         $curl_includes_bsdsocket
        !          3088:         $curl_includes_sys_socket
        !          3089:       ]],[[
        !          3090:         if(0 != getsockname(0, (void *)0, (void *)0))
        !          3091:           return 1;
        !          3092:       ]])
        !          3093:     ],[
        !          3094:       AC_MSG_RESULT([yes])
        !          3095:       tst_compi_getsockname="yes"
        !          3096:     ],[
        !          3097:       AC_MSG_RESULT([no])
        !          3098:       tst_compi_getsockname="no"
        !          3099:     ])
        !          3100:   fi
        !          3101:   #
        !          3102:   if test "$tst_compi_getsockname" = "yes"; then
        !          3103:     AC_MSG_CHECKING([if getsockname usage allowed])
        !          3104:     if test "x$curl_disallow_getsockname" != "xyes"; then
        !          3105:       AC_MSG_RESULT([yes])
        !          3106:       tst_allow_getsockname="yes"
        !          3107:     else
        !          3108:       AC_MSG_RESULT([no])
        !          3109:       tst_allow_getsockname="no"
        !          3110:     fi
        !          3111:   fi
        !          3112:   #
        !          3113:   AC_MSG_CHECKING([if getsockname might be used])
        !          3114:   if test "$tst_links_getsockname" = "yes" &&
        !          3115:      test "$tst_proto_getsockname" = "yes" &&
        !          3116:      test "$tst_compi_getsockname" = "yes" &&
        !          3117:      test "$tst_allow_getsockname" = "yes"; then
        !          3118:     AC_MSG_RESULT([yes])
        !          3119:     AC_DEFINE_UNQUOTED(HAVE_GETSOCKNAME, 1,
        !          3120:       [Define to 1 if you have the getsockname function.])
        !          3121:     curl_cv_func_getsockname="yes"
        !          3122:   else
        !          3123:     AC_MSG_RESULT([no])
        !          3124:     curl_cv_func_getsockname="no"
        !          3125:   fi
        !          3126: ])
        !          3127: 
        !          3128: dnl CURL_CHECK_FUNC_IF_NAMETOINDEX
        !          3129: dnl -------------------------------------------------
        !          3130: dnl Verify if if_nametoindex is available, prototyped, and
        !          3131: dnl can be compiled. If all of these are true, and
        !          3132: dnl usage has not been previously disallowed with
        !          3133: dnl shell variable curl_disallow_if_nametoindex, then
        !          3134: dnl HAVE_IF_NAMETOINDEX will be defined.
        !          3135: 
        !          3136: AC_DEFUN([CURL_CHECK_FUNC_IF_NAMETOINDEX], [
        !          3137:   AC_REQUIRE([CURL_INCLUDES_WINSOCK2])dnl
        !          3138:   AC_REQUIRE([CURL_INCLUDES_NETIF])dnl
        !          3139:   AC_REQUIRE([CURL_PREPROCESS_CALLCONV])dnl
        !          3140:   #
        !          3141:   tst_links_if_nametoindex="unknown"
        !          3142:   tst_proto_if_nametoindex="unknown"
        !          3143:   tst_compi_if_nametoindex="unknown"
        !          3144:   tst_allow_if_nametoindex="unknown"
        !          3145:   #
        !          3146:   AC_MSG_CHECKING([if if_nametoindex can be linked])
        !          3147:   AC_LINK_IFELSE([
        !          3148:     AC_LANG_PROGRAM([[
        !          3149:       $curl_includes_winsock2
        !          3150:       $curl_includes_bsdsocket
        !          3151:       #include <net/if.h>
        !          3152:     ]],[[
        !          3153:       if(0 != if_nametoindex(""))
        !          3154:         return 1;
        !          3155:     ]])
        !          3156:   ],[
        !          3157:     AC_MSG_RESULT([yes])
        !          3158:     tst_links_if_nametoindex="yes"
        !          3159:   ],[
        !          3160:     AC_MSG_RESULT([no])
        !          3161:     tst_links_if_nametoindex="no"
        !          3162:   ])
        !          3163:   #
        !          3164:   if test "$tst_links_if_nametoindex" = "yes"; then
        !          3165:     AC_MSG_CHECKING([if if_nametoindex is prototyped])
        !          3166:     AC_EGREP_CPP([if_nametoindex],[
        !          3167:       $curl_includes_winsock2
        !          3168:       $curl_includes_netif
        !          3169:     ],[
        !          3170:       AC_MSG_RESULT([yes])
        !          3171:       tst_proto_if_nametoindex="yes"
        !          3172:     ],[
        !          3173:       AC_MSG_RESULT([no])
        !          3174:       tst_proto_if_nametoindex="no"
        !          3175:     ])
        !          3176:   fi
        !          3177:   #
        !          3178:   if test "$tst_proto_if_nametoindex" = "yes"; then
        !          3179:     AC_MSG_CHECKING([if if_nametoindex is compilable])
        !          3180:     AC_COMPILE_IFELSE([
        !          3181:       AC_LANG_PROGRAM([[
        !          3182:         $curl_includes_winsock2
        !          3183:         $curl_includes_netif
        !          3184:       ]],[[
        !          3185:         if(0 != if_nametoindex(""))
        !          3186:           return 1;
        !          3187:       ]])
        !          3188:     ],[
        !          3189:       AC_MSG_RESULT([yes])
        !          3190:       tst_compi_if_nametoindex="yes"
        !          3191:     ],[
        !          3192:       AC_MSG_RESULT([no])
        !          3193:       tst_compi_if_nametoindex="no"
        !          3194:     ])
        !          3195:   fi
        !          3196:   #
        !          3197:   if test "$tst_compi_if_nametoindex" = "yes"; then
        !          3198:     AC_MSG_CHECKING([if if_nametoindex usage allowed])
        !          3199:     if test "x$curl_disallow_if_nametoindex" != "xyes"; then
        !          3200:       AC_MSG_RESULT([yes])
        !          3201:       tst_allow_if_nametoindex="yes"
        !          3202:     else
        !          3203:       AC_MSG_RESULT([no])
        !          3204:       tst_allow_if_nametoindex="no"
        !          3205:     fi
        !          3206:   fi
        !          3207:   #
        !          3208:   AC_MSG_CHECKING([if if_nametoindex might be used])
        !          3209:   if test "$tst_links_if_nametoindex" = "yes" &&
        !          3210:      test "$tst_proto_if_nametoindex" = "yes" &&
        !          3211:      test "$tst_compi_if_nametoindex" = "yes" &&
        !          3212:      test "$tst_allow_if_nametoindex" = "yes"; then
        !          3213:     AC_MSG_RESULT([yes])
        !          3214:     AC_DEFINE_UNQUOTED(HAVE_IF_NAMETOINDEX, 1,
        !          3215:       [Define to 1 if you have the if_nametoindex function.])
        !          3216:     curl_cv_func_if_nametoindex="yes"
        !          3217:   else
        !          3218:     AC_MSG_RESULT([no])
        !          3219:     curl_cv_func_if_nametoindex="no"
        !          3220:   fi
        !          3221: ])
        !          3222: 
        !          3223: 
        !          3224: dnl CURL_CHECK_FUNC_GETIFADDRS
        !          3225: dnl -------------------------------------------------
        !          3226: dnl Verify if getifaddrs is available, prototyped, can
        !          3227: dnl be compiled and seems to work. If all of these are
        !          3228: dnl true, and usage has not been previously disallowed
        !          3229: dnl with shell variable curl_disallow_getifaddrs, then
        !          3230: dnl HAVE_GETIFADDRS will be defined.
        !          3231: 
        !          3232: AC_DEFUN([CURL_CHECK_FUNC_GETIFADDRS], [
        !          3233:   AC_REQUIRE([CURL_INCLUDES_STDLIB])dnl
        !          3234:   AC_REQUIRE([CURL_INCLUDES_IFADDRS])dnl
        !          3235:   #
        !          3236:   tst_links_getifaddrs="unknown"
        !          3237:   tst_proto_getifaddrs="unknown"
        !          3238:   tst_compi_getifaddrs="unknown"
        !          3239:   tst_works_getifaddrs="unknown"
        !          3240:   tst_allow_getifaddrs="unknown"
        !          3241:   #
        !          3242:   AC_MSG_CHECKING([if getifaddrs can be linked])
        !          3243:   AC_LINK_IFELSE([
        !          3244:     AC_LANG_FUNC_LINK_TRY([getifaddrs])
        !          3245:   ],[
        !          3246:     AC_MSG_RESULT([yes])
        !          3247:     tst_links_getifaddrs="yes"
        !          3248:   ],[
        !          3249:     AC_MSG_RESULT([no])
        !          3250:     tst_links_getifaddrs="no"
        !          3251:   ])
        !          3252:   #
        !          3253:   if test "$tst_links_getifaddrs" = "yes"; then
        !          3254:     AC_MSG_CHECKING([if getifaddrs is prototyped])
        !          3255:     AC_EGREP_CPP([getifaddrs],[
        !          3256:       $curl_includes_ifaddrs
        !          3257:     ],[
        !          3258:       AC_MSG_RESULT([yes])
        !          3259:       tst_proto_getifaddrs="yes"
        !          3260:     ],[
        !          3261:       AC_MSG_RESULT([no])
        !          3262:       tst_proto_getifaddrs="no"
        !          3263:     ])
        !          3264:   fi
        !          3265:   #
        !          3266:   if test "$tst_proto_getifaddrs" = "yes"; then
        !          3267:     AC_MSG_CHECKING([if getifaddrs is compilable])
        !          3268:     AC_COMPILE_IFELSE([
        !          3269:       AC_LANG_PROGRAM([[
        !          3270:         $curl_includes_ifaddrs
        !          3271:       ]],[[
        !          3272:         if(0 != getifaddrs(0))
        !          3273:           return 1;
        !          3274:       ]])
        !          3275:     ],[
        !          3276:       AC_MSG_RESULT([yes])
        !          3277:       tst_compi_getifaddrs="yes"
        !          3278:     ],[
        !          3279:       AC_MSG_RESULT([no])
        !          3280:       tst_compi_getifaddrs="no"
        !          3281:     ])
        !          3282:   fi
        !          3283:   #
        !          3284:   dnl only do runtime verification when not cross-compiling
        !          3285:   if test "x$cross_compiling" != "xyes" &&
        !          3286:     test "$tst_compi_getifaddrs" = "yes"; then
        !          3287:     AC_MSG_CHECKING([if getifaddrs seems to work])
        !          3288:     CURL_RUN_IFELSE([
        !          3289:       AC_LANG_PROGRAM([[
        !          3290:         $curl_includes_stdlib
        !          3291:         $curl_includes_ifaddrs
        !          3292:       ]],[[
        !          3293:         struct ifaddrs *ifa = 0;
        !          3294:         int error;
        !          3295: 
        !          3296:         error = getifaddrs(&ifa);
        !          3297:         if(error || !ifa)
        !          3298:           exit(1); /* fail */
        !          3299:         else
        !          3300:           exit(0);
        !          3301:       ]])
        !          3302:     ],[
        !          3303:       AC_MSG_RESULT([yes])
        !          3304:       tst_works_getifaddrs="yes"
        !          3305:     ],[
        !          3306:       AC_MSG_RESULT([no])
        !          3307:       tst_works_getifaddrs="no"
        !          3308:     ])
        !          3309:   fi
        !          3310:   #
        !          3311:   if test "$tst_compi_getifaddrs" = "yes" &&
        !          3312:     test "$tst_works_getifaddrs" != "no"; then
        !          3313:     AC_MSG_CHECKING([if getifaddrs usage allowed])
        !          3314:     if test "x$curl_disallow_getifaddrs" != "xyes"; then
        !          3315:       AC_MSG_RESULT([yes])
        !          3316:       tst_allow_getifaddrs="yes"
        !          3317:     else
        !          3318:       AC_MSG_RESULT([no])
        !          3319:       tst_allow_getifaddrs="no"
        !          3320:     fi
        !          3321:   fi
        !          3322:   #
        !          3323:   AC_MSG_CHECKING([if getifaddrs might be used])
        !          3324:   if test "$tst_links_getifaddrs" = "yes" &&
        !          3325:      test "$tst_proto_getifaddrs" = "yes" &&
        !          3326:      test "$tst_compi_getifaddrs" = "yes" &&
        !          3327:      test "$tst_allow_getifaddrs" = "yes" &&
        !          3328:      test "$tst_works_getifaddrs" != "no"; then
        !          3329:     AC_MSG_RESULT([yes])
        !          3330:     AC_DEFINE_UNQUOTED(HAVE_GETIFADDRS, 1,
        !          3331:       [Define to 1 if you have a working getifaddrs function.])
        !          3332:     curl_cv_func_getifaddrs="yes"
        !          3333:   else
        !          3334:     AC_MSG_RESULT([no])
        !          3335:     curl_cv_func_getifaddrs="no"
        !          3336:   fi
        !          3337: ])
        !          3338: 
        !          3339: 
        !          3340: dnl CURL_CHECK_FUNC_GETSERVBYPORT_R
        !          3341: dnl -------------------------------------------------
        !          3342: dnl Verify if getservbyport_r is available, prototyped,
        !          3343: dnl and can be compiled. If all of these are true, and
        !          3344: dnl usage has not been previously disallowed with
        !          3345: dnl shell variable curl_disallow_getservbyport_r, then
        !          3346: dnl HAVE_GETSERVBYPORT_R will be defined.
        !          3347: 
        !          3348: AC_DEFUN([CURL_CHECK_FUNC_GETSERVBYPORT_R], [
        !          3349:   AC_REQUIRE([CURL_INCLUDES_NETDB])dnl
        !          3350:   #
        !          3351:   tst_links_getservbyport_r="unknown"
        !          3352:   tst_proto_getservbyport_r="unknown"
        !          3353:   tst_compi_getservbyport_r="unknown"
        !          3354:   tst_allow_getservbyport_r="unknown"
        !          3355:   tst_nargs_getservbyport_r="unknown"
        !          3356:   #
        !          3357:   AC_MSG_CHECKING([if getservbyport_r can be linked])
        !          3358:   AC_LINK_IFELSE([
        !          3359:     AC_LANG_FUNC_LINK_TRY([getservbyport_r])
        !          3360:   ],[
        !          3361:     AC_MSG_RESULT([yes])
        !          3362:     tst_links_getservbyport_r="yes"
        !          3363:   ],[
        !          3364:     AC_MSG_RESULT([no])
        !          3365:     tst_links_getservbyport_r="no"
        !          3366:   ])
        !          3367:   #
        !          3368:   if test "$tst_links_getservbyport_r" = "yes"; then
        !          3369:     AC_MSG_CHECKING([if getservbyport_r is prototyped])
        !          3370:     AC_EGREP_CPP([getservbyport_r],[
        !          3371:       $curl_includes_netdb
        !          3372:     ],[
        !          3373:       AC_MSG_RESULT([yes])
        !          3374:       tst_proto_getservbyport_r="yes"
        !          3375:     ],[
        !          3376:       AC_MSG_RESULT([no])
        !          3377:       tst_proto_getservbyport_r="no"
        !          3378:     ])
        !          3379:   fi
        !          3380:   #
        !          3381:   if test "$tst_proto_getservbyport_r" = "yes"; then
        !          3382:     if test "$tst_nargs_getservbyport_r" = "unknown"; then
        !          3383:       AC_MSG_CHECKING([if getservbyport_r takes 4 args.])
        !          3384:       AC_COMPILE_IFELSE([
        !          3385:         AC_LANG_PROGRAM([[
        !          3386:           $curl_includes_netdb
        !          3387:         ]],[[
        !          3388:           if(0 != getservbyport_r(0, 0, 0, 0))
        !          3389:             return 1;
        !          3390:         ]])
        !          3391:       ],[
        !          3392:         AC_MSG_RESULT([yes])
        !          3393:         tst_compi_getservbyport_r="yes"
        !          3394:         tst_nargs_getservbyport_r="4"
        !          3395:       ],[
        !          3396:         AC_MSG_RESULT([no])
        !          3397:         tst_compi_getservbyport_r="no"
        !          3398:       ])
        !          3399:     fi
        !          3400:     if test "$tst_nargs_getservbyport_r" = "unknown"; then
        !          3401:       AC_MSG_CHECKING([if getservbyport_r takes 5 args.])
        !          3402:       AC_COMPILE_IFELSE([
        !          3403:         AC_LANG_PROGRAM([[
        !          3404:           $curl_includes_netdb
        !          3405:         ]],[[
        !          3406:           if(0 != getservbyport_r(0, 0, 0, 0, 0))
        !          3407:             return 1;
        !          3408:         ]])
        !          3409:       ],[
        !          3410:         AC_MSG_RESULT([yes])
        !          3411:         tst_compi_getservbyport_r="yes"
        !          3412:         tst_nargs_getservbyport_r="5"
        !          3413:       ],[
        !          3414:         AC_MSG_RESULT([no])
        !          3415:         tst_compi_getservbyport_r="no"
        !          3416:       ])
        !          3417:     fi
        !          3418:     if test "$tst_nargs_getservbyport_r" = "unknown"; then
        !          3419:       AC_MSG_CHECKING([if getservbyport_r takes 6 args.])
        !          3420:       AC_COMPILE_IFELSE([
        !          3421:         AC_LANG_PROGRAM([[
        !          3422:           $curl_includes_netdb
        !          3423:         ]],[[
        !          3424:           if(0 != getservbyport_r(0, 0, 0, 0, 0, 0))
        !          3425:             return 1;
        !          3426:         ]])
        !          3427:       ],[
        !          3428:         AC_MSG_RESULT([yes])
        !          3429:         tst_compi_getservbyport_r="yes"
        !          3430:         tst_nargs_getservbyport_r="6"
        !          3431:       ],[
        !          3432:         AC_MSG_RESULT([no])
        !          3433:         tst_compi_getservbyport_r="no"
        !          3434:       ])
        !          3435:     fi
        !          3436:     AC_MSG_CHECKING([if getservbyport_r is compilable])
        !          3437:     if test "$tst_compi_getservbyport_r" = "yes"; then
        !          3438:       AC_MSG_RESULT([yes])
        !          3439:     else
        !          3440:       AC_MSG_RESULT([no])
        !          3441:     fi
        !          3442:   fi
        !          3443:   #
        !          3444:   if test "$tst_compi_getservbyport_r" = "yes"; then
        !          3445:     AC_MSG_CHECKING([if getservbyport_r usage allowed])
        !          3446:     if test "x$curl_disallow_getservbyport_r" != "xyes"; then
        !          3447:       AC_MSG_RESULT([yes])
        !          3448:       tst_allow_getservbyport_r="yes"
        !          3449:     else
        !          3450:       AC_MSG_RESULT([no])
        !          3451:       tst_allow_getservbyport_r="no"
        !          3452:     fi
        !          3453:   fi
        !          3454:   #
        !          3455:   AC_MSG_CHECKING([if getservbyport_r might be used])
        !          3456:   if test "$tst_links_getservbyport_r" = "yes" &&
        !          3457:      test "$tst_proto_getservbyport_r" = "yes" &&
        !          3458:      test "$tst_compi_getservbyport_r" = "yes" &&
        !          3459:      test "$tst_allow_getservbyport_r" = "yes"; then
        !          3460:     AC_MSG_RESULT([yes])
        !          3461:     AC_DEFINE_UNQUOTED(HAVE_GETSERVBYPORT_R, 1,
        !          3462:       [Define to 1 if you have the getservbyport_r function.])
        !          3463:     AC_DEFINE_UNQUOTED(GETSERVBYPORT_R_ARGS, $tst_nargs_getservbyport_r,
        !          3464:       [Specifies the number of arguments to getservbyport_r])
        !          3465:     if test "$tst_nargs_getservbyport_r" -eq "4"; then
        !          3466:       AC_DEFINE(GETSERVBYPORT_R_BUFSIZE, sizeof(struct servent_data),
        !          3467:         [Specifies the size of the buffer to pass to getservbyport_r])
        !          3468:     else
        !          3469:       AC_DEFINE(GETSERVBYPORT_R_BUFSIZE, 4096,
        !          3470:         [Specifies the size of the buffer to pass to getservbyport_r])
        !          3471:     fi
        !          3472:     curl_cv_func_getservbyport_r="yes"
        !          3473:   else
        !          3474:     AC_MSG_RESULT([no])
        !          3475:     curl_cv_func_getservbyport_r="no"
        !          3476:   fi
        !          3477: ])
        !          3478: 
        !          3479: 
        !          3480: dnl CURL_CHECK_FUNC_GETXATTR
        !          3481: dnl -------------------------------------------------
        !          3482: dnl Verify if getxattr is available, prototyped, and
        !          3483: dnl can be compiled. If all of these are true, and
        !          3484: dnl usage has not been previously disallowed with
        !          3485: dnl shell variable curl_disallow_getxattr, then
        !          3486: dnl HAVE_GETXATTR will be defined.
        !          3487: 
        !          3488: AC_DEFUN([CURL_CHECK_FUNC_GETXATTR], [
        !          3489:   AC_REQUIRE([CURL_INCLUDES_SYS_XATTR])dnl
        !          3490:   #
        !          3491:   tst_links_getxattr="unknown"
        !          3492:   tst_proto_getxattr="unknown"
        !          3493:   tst_compi_getxattr="unknown"
        !          3494:   tst_allow_getxattr="unknown"
        !          3495:   tst_nargs_getxattr="unknown"
        !          3496:   #
        !          3497:   AC_MSG_CHECKING([if getxattr can be linked])
        !          3498:   AC_LINK_IFELSE([
        !          3499:     AC_LANG_FUNC_LINK_TRY([getxattr])
        !          3500:   ],[
        !          3501:     AC_MSG_RESULT([yes])
        !          3502:     tst_links_getxattr="yes"
        !          3503:   ],[
        !          3504:     AC_MSG_RESULT([no])
        !          3505:     tst_links_getxattr="no"
        !          3506:   ])
        !          3507:   #
        !          3508:   if test "$tst_links_getxattr" = "yes"; then
        !          3509:     AC_MSG_CHECKING([if getxattr is prototyped])
        !          3510:     AC_EGREP_CPP([getxattr],[
        !          3511:       $curl_includes_sys_xattr
        !          3512:     ],[
        !          3513:       AC_MSG_RESULT([yes])
        !          3514:       tst_proto_getxattr="yes"
        !          3515:     ],[
        !          3516:       AC_MSG_RESULT([no])
        !          3517:       tst_proto_getxattr="no"
        !          3518:     ])
        !          3519:   fi
        !          3520:   #
        !          3521:   if test "$tst_proto_getxattr" = "yes"; then
        !          3522:     if test "$tst_nargs_getxattr" = "unknown"; then
        !          3523:       AC_MSG_CHECKING([if getxattr takes 4 args.])
        !          3524:       AC_COMPILE_IFELSE([
        !          3525:         AC_LANG_PROGRAM([[
        !          3526:           $curl_includes_sys_xattr
        !          3527:         ]],[[
        !          3528:           if(0 != getxattr(0, 0, 0, 0))
        !          3529:             return 1;
        !          3530:         ]])
        !          3531:       ],[
        !          3532:         AC_MSG_RESULT([yes])
        !          3533:         tst_compi_getxattr="yes"
        !          3534:         tst_nargs_getxattr="4"
        !          3535:       ],[
        !          3536:         AC_MSG_RESULT([no])
        !          3537:         tst_compi_getxattr="no"
        !          3538:       ])
        !          3539:     fi
        !          3540:     if test "$tst_nargs_getxattr" = "unknown"; then
        !          3541:       AC_MSG_CHECKING([if getxattr takes 6 args.])
        !          3542:       AC_COMPILE_IFELSE([
        !          3543:         AC_LANG_PROGRAM([[
        !          3544:           $curl_includes_sys_xattr
        !          3545:         ]],[[
        !          3546:           if(0 != getxattr(0, 0, 0, 0, 0, 0))
        !          3547:             return 1;
        !          3548:         ]])
        !          3549:       ],[
        !          3550:         AC_MSG_RESULT([yes])
        !          3551:         tst_compi_getxattr="yes"
        !          3552:         tst_nargs_getxattr="6"
        !          3553:       ],[
        !          3554:         AC_MSG_RESULT([no])
        !          3555:         tst_compi_getxattr="no"
        !          3556:       ])
        !          3557:     fi
        !          3558:     AC_MSG_CHECKING([if getxattr is compilable])
        !          3559:     if test "$tst_compi_getxattr" = "yes"; then
        !          3560:       AC_MSG_RESULT([yes])
        !          3561:     else
        !          3562:       AC_MSG_RESULT([no])
        !          3563:     fi
        !          3564:   fi
        !          3565:   #
        !          3566:   if test "$tst_compi_getxattr" = "yes"; then
        !          3567:     AC_MSG_CHECKING([if getxattr usage allowed])
        !          3568:     if test "x$curl_disallow_getxattr" != "xyes"; then
        !          3569:       AC_MSG_RESULT([yes])
        !          3570:       tst_allow_getxattr="yes"
        !          3571:     else
        !          3572:       AC_MSG_RESULT([no])
        !          3573:       tst_allow_getxattr="no"
        !          3574:     fi
        !          3575:   fi
        !          3576:   #
        !          3577:   AC_MSG_CHECKING([if getxattr might be used])
        !          3578:   if test "$tst_links_getxattr" = "yes" &&
        !          3579:      test "$tst_proto_getxattr" = "yes" &&
        !          3580:      test "$tst_compi_getxattr" = "yes" &&
        !          3581:      test "$tst_allow_getxattr" = "yes"; then
        !          3582:     AC_MSG_RESULT([yes])
        !          3583:     AC_DEFINE_UNQUOTED(HAVE_GETXATTR, 1,
        !          3584:       [Define to 1 if you have the getxattr function.])
        !          3585:     dnl AC_DEFINE_UNQUOTED(GETXATTR_ARGS, $tst_nargs_getxattr,
        !          3586:     dnl   [Specifies the number of arguments to getxattr])
        !          3587:     #
        !          3588:     if test "$tst_nargs_getxattr" -eq "4"; then
        !          3589:       AC_DEFINE(HAVE_GETXATTR_4, 1, [getxattr() takes 4 args])
        !          3590:     elif test "$tst_nargs_getxattr" -eq "6"; then
        !          3591:       AC_DEFINE(HAVE_GETXATTR_6, 1, [getxattr() takes 6 args])
        !          3592:     fi
        !          3593:     #
        !          3594:     curl_cv_func_getxattr="yes"
        !          3595:   else
        !          3596:     AC_MSG_RESULT([no])
        !          3597:     curl_cv_func_getxattr="no"
        !          3598:   fi
        !          3599: ])
        !          3600: 
        !          3601: 
        !          3602: dnl CURL_CHECK_FUNC_GMTIME_R
        !          3603: dnl -------------------------------------------------
        !          3604: dnl Verify if gmtime_r is available, prototyped, can
        !          3605: dnl be compiled and seems to work. If all of these are
        !          3606: dnl true, and usage has not been previously disallowed
        !          3607: dnl with shell variable curl_disallow_gmtime_r, then
        !          3608: dnl HAVE_GMTIME_R will be defined.
        !          3609: 
        !          3610: AC_DEFUN([CURL_CHECK_FUNC_GMTIME_R], [
        !          3611:   AC_REQUIRE([CURL_INCLUDES_STDLIB])dnl
        !          3612:   AC_REQUIRE([CURL_INCLUDES_TIME])dnl
        !          3613:   #
        !          3614:   tst_links_gmtime_r="unknown"
        !          3615:   tst_proto_gmtime_r="unknown"
        !          3616:   tst_compi_gmtime_r="unknown"
        !          3617:   tst_works_gmtime_r="unknown"
        !          3618:   tst_allow_gmtime_r="unknown"
        !          3619:   #
        !          3620:   AC_MSG_CHECKING([if gmtime_r can be linked])
        !          3621:   AC_LINK_IFELSE([
        !          3622:     AC_LANG_FUNC_LINK_TRY([gmtime_r])
        !          3623:   ],[
        !          3624:     AC_MSG_RESULT([yes])
        !          3625:     tst_links_gmtime_r="yes"
        !          3626:   ],[
        !          3627:     AC_MSG_RESULT([no])
        !          3628:     tst_links_gmtime_r="no"
        !          3629:   ])
        !          3630:   #
        !          3631:   if test "$tst_links_gmtime_r" = "yes"; then
        !          3632:     AC_MSG_CHECKING([if gmtime_r is prototyped])
        !          3633:     AC_EGREP_CPP([gmtime_r],[
        !          3634:       $curl_includes_time
        !          3635:     ],[
        !          3636:       AC_MSG_RESULT([yes])
        !          3637:       tst_proto_gmtime_r="yes"
        !          3638:     ],[
        !          3639:       AC_MSG_RESULT([no])
        !          3640:       tst_proto_gmtime_r="no"
        !          3641:     ])
        !          3642:   fi
        !          3643:   #
        !          3644:   if test "$tst_proto_gmtime_r" = "yes"; then
        !          3645:     AC_MSG_CHECKING([if gmtime_r is compilable])
        !          3646:     AC_COMPILE_IFELSE([
        !          3647:       AC_LANG_PROGRAM([[
        !          3648:         $curl_includes_time
        !          3649:       ]],[[
        !          3650:         if(0 != gmtime_r(0, 0))
        !          3651:           return 1;
        !          3652:       ]])
        !          3653:     ],[
        !          3654:       AC_MSG_RESULT([yes])
        !          3655:       tst_compi_gmtime_r="yes"
        !          3656:     ],[
        !          3657:       AC_MSG_RESULT([no])
        !          3658:       tst_compi_gmtime_r="no"
        !          3659:     ])
        !          3660:   fi
        !          3661:   #
        !          3662:   dnl only do runtime verification when not cross-compiling
        !          3663:   if test "x$cross_compiling" != "xyes" &&
        !          3664:     test "$tst_compi_gmtime_r" = "yes"; then
        !          3665:     AC_MSG_CHECKING([if gmtime_r seems to work])
        !          3666:     CURL_RUN_IFELSE([
        !          3667:       AC_LANG_PROGRAM([[
        !          3668:         $curl_includes_stdlib
        !          3669:         $curl_includes_time
        !          3670:       ]],[[
        !          3671:         time_t local = 1170352587;
        !          3672:         struct tm *gmt = 0;
        !          3673:         struct tm result;
        !          3674:         gmt = gmtime_r(&local, &result);
        !          3675:         if(gmt)
        !          3676:           exit(0);
        !          3677:         else
        !          3678:           exit(1);
        !          3679:       ]])
        !          3680:     ],[
        !          3681:       AC_MSG_RESULT([yes])
        !          3682:       tst_works_gmtime_r="yes"
        !          3683:     ],[
        !          3684:       AC_MSG_RESULT([no])
        !          3685:       tst_works_gmtime_r="no"
        !          3686:     ])
        !          3687:   fi
        !          3688:   #
        !          3689:   if test "$tst_compi_gmtime_r" = "yes" &&
        !          3690:     test "$tst_works_gmtime_r" != "no"; then
        !          3691:     AC_MSG_CHECKING([if gmtime_r usage allowed])
        !          3692:     if test "x$curl_disallow_gmtime_r" != "xyes"; then
        !          3693:       AC_MSG_RESULT([yes])
        !          3694:       tst_allow_gmtime_r="yes"
        !          3695:     else
        !          3696:       AC_MSG_RESULT([no])
        !          3697:       tst_allow_gmtime_r="no"
        !          3698:     fi
        !          3699:   fi
        !          3700:   #
        !          3701:   AC_MSG_CHECKING([if gmtime_r might be used])
        !          3702:   if test "$tst_links_gmtime_r" = "yes" &&
        !          3703:      test "$tst_proto_gmtime_r" = "yes" &&
        !          3704:      test "$tst_compi_gmtime_r" = "yes" &&
        !          3705:      test "$tst_allow_gmtime_r" = "yes" &&
        !          3706:      test "$tst_works_gmtime_r" != "no"; then
        !          3707:     AC_MSG_RESULT([yes])
        !          3708:     AC_DEFINE_UNQUOTED(HAVE_GMTIME_R, 1,
        !          3709:       [Define to 1 if you have a working gmtime_r function.])
        !          3710:     curl_cv_func_gmtime_r="yes"
        !          3711:   else
        !          3712:     AC_MSG_RESULT([no])
        !          3713:     curl_cv_func_gmtime_r="no"
        !          3714:   fi
        !          3715: ])
        !          3716: 
        !          3717: 
        !          3718: dnl CURL_CHECK_FUNC_INET_NTOA_R
        !          3719: dnl -------------------------------------------------
        !          3720: dnl Verify if inet_ntoa_r is available, prototyped,
        !          3721: dnl and can be compiled. If all of these are true, and
        !          3722: dnl usage has not been previously disallowed with
        !          3723: dnl shell variable curl_disallow_inet_ntoa_r, then
        !          3724: dnl HAVE_INET_NTOA_R will be defined.
        !          3725: 
        !          3726: AC_DEFUN([CURL_CHECK_FUNC_INET_NTOA_R], [
        !          3727:   AC_REQUIRE([CURL_INCLUDES_ARPA_INET])dnl
        !          3728:   #
        !          3729:   tst_links_inet_ntoa_r="unknown"
        !          3730:   tst_proto_inet_ntoa_r="unknown"
        !          3731:   tst_compi_inet_ntoa_r="unknown"
        !          3732:   tst_allow_inet_ntoa_r="unknown"
        !          3733:   tst_nargs_inet_ntoa_r="unknown"
        !          3734:   #
        !          3735:   AC_MSG_CHECKING([if inet_ntoa_r can be linked])
        !          3736:   AC_LINK_IFELSE([
        !          3737:     AC_LANG_FUNC_LINK_TRY([inet_ntoa_r])
        !          3738:   ],[
        !          3739:     AC_MSG_RESULT([yes])
        !          3740:     tst_links_inet_ntoa_r="yes"
        !          3741:   ],[
        !          3742:     AC_MSG_RESULT([no])
        !          3743:     tst_links_inet_ntoa_r="no"
        !          3744:   ])
        !          3745:   #
        !          3746:   if test "$tst_links_inet_ntoa_r" = "yes"; then
        !          3747:     AC_MSG_CHECKING([if inet_ntoa_r is prototyped])
        !          3748:     AC_EGREP_CPP([inet_ntoa_r],[
        !          3749:       $curl_includes_arpa_inet
        !          3750:     ],[
        !          3751:       AC_MSG_RESULT([yes])
        !          3752:       tst_proto_inet_ntoa_r="yes"
        !          3753:     ],[
        !          3754:       AC_MSG_RESULT([no])
        !          3755:       tst_proto_inet_ntoa_r="no"
        !          3756:     ])
        !          3757:   fi
        !          3758:   #
        !          3759:   if test "$tst_proto_inet_ntoa_r" = "yes"; then
        !          3760:     if test "$tst_nargs_inet_ntoa_r" = "unknown"; then
        !          3761:       AC_MSG_CHECKING([if inet_ntoa_r takes 2 args.])
        !          3762:       AC_COMPILE_IFELSE([
        !          3763:         AC_LANG_PROGRAM([[
        !          3764:           $curl_includes_arpa_inet
        !          3765:         ]],[[
        !          3766:           struct in_addr addr;
        !          3767:           if(0 != inet_ntoa_r(addr, 0))
        !          3768:             return 1;
        !          3769:         ]])
        !          3770:       ],[
        !          3771:         AC_MSG_RESULT([yes])
        !          3772:         tst_compi_inet_ntoa_r="yes"
        !          3773:         tst_nargs_inet_ntoa_r="2"
        !          3774:       ],[
        !          3775:         AC_MSG_RESULT([no])
        !          3776:         tst_compi_inet_ntoa_r="no"
        !          3777:       ])
        !          3778:     fi
        !          3779:     if test "$tst_nargs_inet_ntoa_r" = "unknown"; then
        !          3780:       AC_MSG_CHECKING([if inet_ntoa_r takes 3 args.])
        !          3781:       AC_COMPILE_IFELSE([
        !          3782:         AC_LANG_PROGRAM([[
        !          3783:           $curl_includes_arpa_inet
        !          3784:         ]],[[
        !          3785:           struct in_addr addr;
        !          3786:           if(0 != inet_ntoa_r(addr, 0, 0))
        !          3787:             return 1;
        !          3788:         ]])
        !          3789:       ],[
        !          3790:         AC_MSG_RESULT([yes])
        !          3791:         tst_compi_inet_ntoa_r="yes"
        !          3792:         tst_nargs_inet_ntoa_r="3"
        !          3793:       ],[
        !          3794:         AC_MSG_RESULT([no])
        !          3795:         tst_compi_inet_ntoa_r="no"
        !          3796:       ])
        !          3797:     fi
        !          3798:     AC_MSG_CHECKING([if inet_ntoa_r is compilable])
        !          3799:     if test "$tst_compi_inet_ntoa_r" = "yes"; then
        !          3800:       AC_MSG_RESULT([yes])
        !          3801:     else
        !          3802:       AC_MSG_RESULT([no])
        !          3803:     fi
        !          3804:   fi
        !          3805:   #
        !          3806:   if test "$tst_compi_inet_ntoa_r" = "yes"; then
        !          3807:     AC_MSG_CHECKING([if inet_ntoa_r usage allowed])
        !          3808:     if test "x$curl_disallow_inet_ntoa_r" != "xyes"; then
        !          3809:       AC_MSG_RESULT([yes])
        !          3810:       tst_allow_inet_ntoa_r="yes"
        !          3811:     else
        !          3812:       AC_MSG_RESULT([no])
        !          3813:       tst_allow_inet_ntoa_r="no"
        !          3814:     fi
        !          3815:   fi
        !          3816:   #
        !          3817:   AC_MSG_CHECKING([if inet_ntoa_r might be used])
        !          3818:   if test "$tst_links_inet_ntoa_r" = "yes" &&
        !          3819:      test "$tst_proto_inet_ntoa_r" = "yes" &&
        !          3820:      test "$tst_compi_inet_ntoa_r" = "yes" &&
        !          3821:      test "$tst_allow_inet_ntoa_r" = "yes"; then
        !          3822:     AC_MSG_RESULT([yes])
        !          3823:     AC_DEFINE_UNQUOTED(HAVE_INET_NTOA_R, 1,
        !          3824:       [Define to 1 if you have the inet_ntoa_r function.])
        !          3825:     dnl AC_DEFINE_UNQUOTED(INET_NTOA_R_ARGS, $tst_nargs_inet_ntoa_r,
        !          3826:     dnl   [Specifies the number of arguments to inet_ntoa_r])
        !          3827:     #
        !          3828:     if test "$tst_nargs_inet_ntoa_r" -eq "2"; then
        !          3829:       AC_DEFINE(HAVE_INET_NTOA_R_2, 1, [inet_ntoa_r() takes 2 args])
        !          3830:     elif test "$tst_nargs_inet_ntoa_r" -eq "3"; then
        !          3831:       AC_DEFINE(HAVE_INET_NTOA_R_3, 1, [inet_ntoa_r() takes 3 args])
        !          3832:     fi
        !          3833:     #
        !          3834:     curl_cv_func_inet_ntoa_r="yes"
        !          3835:   else
        !          3836:     AC_MSG_RESULT([no])
        !          3837:     curl_cv_func_inet_ntoa_r="no"
        !          3838:   fi
        !          3839: ])
        !          3840: 
        !          3841: 
        !          3842: dnl CURL_CHECK_FUNC_INET_NTOP
        !          3843: dnl -------------------------------------------------
        !          3844: dnl Verify if inet_ntop is available, prototyped, can
        !          3845: dnl be compiled and seems to work. If all of these are
        !          3846: dnl true, and usage has not been previously disallowed
        !          3847: dnl with shell variable curl_disallow_inet_ntop, then
        !          3848: dnl HAVE_INET_NTOP will be defined.
        !          3849: 
        !          3850: AC_DEFUN([CURL_CHECK_FUNC_INET_NTOP], [
        !          3851:   AC_REQUIRE([CURL_INCLUDES_STDLIB])dnl
        !          3852:   AC_REQUIRE([CURL_INCLUDES_ARPA_INET])dnl
        !          3853:   AC_REQUIRE([CURL_INCLUDES_STRING])dnl
        !          3854:   #
        !          3855:   tst_links_inet_ntop="unknown"
        !          3856:   tst_proto_inet_ntop="unknown"
        !          3857:   tst_compi_inet_ntop="unknown"
        !          3858:   tst_works_inet_ntop="unknown"
        !          3859:   tst_allow_inet_ntop="unknown"
        !          3860:   #
        !          3861:   AC_MSG_CHECKING([if inet_ntop can be linked])
        !          3862:   AC_LINK_IFELSE([
        !          3863:     AC_LANG_FUNC_LINK_TRY([inet_ntop])
        !          3864:   ],[
        !          3865:     AC_MSG_RESULT([yes])
        !          3866:     tst_links_inet_ntop="yes"
        !          3867:   ],[
        !          3868:     AC_MSG_RESULT([no])
        !          3869:     tst_links_inet_ntop="no"
        !          3870:   ])
        !          3871:   #
        !          3872:   if test "$tst_links_inet_ntop" = "yes"; then
        !          3873:     AC_MSG_CHECKING([if inet_ntop is prototyped])
        !          3874:     AC_EGREP_CPP([inet_ntop],[
        !          3875:       $curl_includes_arpa_inet
        !          3876:     ],[
        !          3877:       AC_MSG_RESULT([yes])
        !          3878:       tst_proto_inet_ntop="yes"
        !          3879:     ],[
        !          3880:       AC_MSG_RESULT([no])
        !          3881:       tst_proto_inet_ntop="no"
        !          3882:     ])
        !          3883:   fi
        !          3884:   #
        !          3885:   if test "$tst_proto_inet_ntop" = "yes"; then
        !          3886:     AC_MSG_CHECKING([if inet_ntop is compilable])
        !          3887:     AC_COMPILE_IFELSE([
        !          3888:       AC_LANG_PROGRAM([[
        !          3889:         $curl_includes_arpa_inet
        !          3890:       ]],[[
        !          3891:         if(0 != inet_ntop(0, 0, 0, 0))
        !          3892:           return 1;
        !          3893:       ]])
        !          3894:     ],[
        !          3895:       AC_MSG_RESULT([yes])
        !          3896:       tst_compi_inet_ntop="yes"
        !          3897:     ],[
        !          3898:       AC_MSG_RESULT([no])
        !          3899:       tst_compi_inet_ntop="no"
        !          3900:     ])
        !          3901:   fi
        !          3902:   #
        !          3903:   dnl only do runtime verification when not cross-compiling
        !          3904:   if test "x$cross_compiling" != "xyes" &&
        !          3905:     test "$tst_compi_inet_ntop" = "yes"; then
        !          3906:     AC_MSG_CHECKING([if inet_ntop seems to work])
        !          3907:     CURL_RUN_IFELSE([
        !          3908:       AC_LANG_PROGRAM([[
        !          3909:         $curl_includes_stdlib
        !          3910:         $curl_includes_arpa_inet
        !          3911:         $curl_includes_string
        !          3912:       ]],[[
        !          3913:         char ipv6res[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")];
        !          3914:         char ipv4res[sizeof "255.255.255.255"];
        !          3915:         unsigned char ipv6a[26];
        !          3916:         unsigned char ipv4a[5];
        !          3917:         char *ipv6ptr = 0;
        !          3918:         char *ipv4ptr = 0;
        !          3919:         /* - */
        !          3920:         ipv4res[0] = '\0';
        !          3921:         ipv4a[0] = 0xc0;
        !          3922:         ipv4a[1] = 0xa8;
        !          3923:         ipv4a[2] = 0x64;
        !          3924:         ipv4a[3] = 0x01;
        !          3925:         ipv4a[4] = 0x01;
        !          3926:         /* - */
        !          3927:         ipv4ptr = inet_ntop(AF_INET, ipv4a, ipv4res, sizeof(ipv4res));
        !          3928:         if(!ipv4ptr)
        !          3929:           exit(1); /* fail */
        !          3930:         if(ipv4ptr != ipv4res)
        !          3931:           exit(1); /* fail */
        !          3932:         if(!ipv4ptr[0])
        !          3933:           exit(1); /* fail */
        !          3934:         if(memcmp(ipv4res, "192.168.100.1", 13) != 0)
        !          3935:           exit(1); /* fail */
        !          3936:         /* - */
        !          3937:         ipv6res[0] = '\0';
        !          3938:         memset(ipv6a, 0, sizeof(ipv6a));
        !          3939:         ipv6a[0] = 0xfe;
        !          3940:         ipv6a[1] = 0x80;
        !          3941:         ipv6a[8] = 0x02;
        !          3942:         ipv6a[9] = 0x14;
        !          3943:         ipv6a[10] = 0x4f;
        !          3944:         ipv6a[11] = 0xff;
        !          3945:         ipv6a[12] = 0xfe;
        !          3946:         ipv6a[13] = 0x0b;
        !          3947:         ipv6a[14] = 0x76;
        !          3948:         ipv6a[15] = 0xc8;
        !          3949:         ipv6a[25] = 0x01;
        !          3950:         /* - */
        !          3951:         ipv6ptr = inet_ntop(AF_INET6, ipv6a, ipv6res, sizeof(ipv6res));
        !          3952:         if(!ipv6ptr)
        !          3953:           exit(1); /* fail */
        !          3954:         if(ipv6ptr != ipv6res)
        !          3955:           exit(1); /* fail */
        !          3956:         if(!ipv6ptr[0])
        !          3957:           exit(1); /* fail */
        !          3958:         if(memcmp(ipv6res, "fe80::214:4fff:fe0b:76c8", 24) != 0)
        !          3959:           exit(1); /* fail */
        !          3960:         /* - */
        !          3961:         exit(0);
        !          3962:       ]])
        !          3963:     ],[
        !          3964:       AC_MSG_RESULT([yes])
        !          3965:       tst_works_inet_ntop="yes"
        !          3966:     ],[
        !          3967:       AC_MSG_RESULT([no])
        !          3968:       tst_works_inet_ntop="no"
        !          3969:     ])
        !          3970:   fi
        !          3971:   #
        !          3972:   if test "$tst_compi_inet_ntop" = "yes" &&
        !          3973:     test "$tst_works_inet_ntop" != "no"; then
        !          3974:     AC_MSG_CHECKING([if inet_ntop usage allowed])
        !          3975:     if test "x$curl_disallow_inet_ntop" != "xyes"; then
        !          3976:       AC_MSG_RESULT([yes])
        !          3977:       tst_allow_inet_ntop="yes"
        !          3978:     else
        !          3979:       AC_MSG_RESULT([no])
        !          3980:       tst_allow_inet_ntop="no"
        !          3981:     fi
        !          3982:   fi
        !          3983:   #
        !          3984:   AC_MSG_CHECKING([if inet_ntop might be used])
        !          3985:   if test "$tst_links_inet_ntop" = "yes" &&
        !          3986:      test "$tst_proto_inet_ntop" = "yes" &&
        !          3987:      test "$tst_compi_inet_ntop" = "yes" &&
        !          3988:      test "$tst_allow_inet_ntop" = "yes" &&
        !          3989:      test "$tst_works_inet_ntop" != "no"; then
        !          3990:     AC_MSG_RESULT([yes])
        !          3991:     AC_DEFINE_UNQUOTED(HAVE_INET_NTOP, 1,
        !          3992:       [Define to 1 if you have a IPv6 capable working inet_ntop function.])
        !          3993:     curl_cv_func_inet_ntop="yes"
        !          3994:   else
        !          3995:     AC_MSG_RESULT([no])
        !          3996:     curl_cv_func_inet_ntop="no"
        !          3997:   fi
        !          3998: ])
        !          3999: 
        !          4000: 
        !          4001: dnl CURL_CHECK_FUNC_INET_PTON
        !          4002: dnl -------------------------------------------------
        !          4003: dnl Verify if inet_pton is available, prototyped, can
        !          4004: dnl be compiled and seems to work. If all of these are
        !          4005: dnl true, and usage has not been previously disallowed
        !          4006: dnl with shell variable curl_disallow_inet_pton, then
        !          4007: dnl HAVE_INET_PTON will be defined.
        !          4008: 
        !          4009: AC_DEFUN([CURL_CHECK_FUNC_INET_PTON], [
        !          4010:   AC_REQUIRE([CURL_INCLUDES_STDLIB])dnl
        !          4011:   AC_REQUIRE([CURL_INCLUDES_ARPA_INET])dnl
        !          4012:   AC_REQUIRE([CURL_INCLUDES_STRING])dnl
        !          4013:   #
        !          4014:   tst_links_inet_pton="unknown"
        !          4015:   tst_proto_inet_pton="unknown"
        !          4016:   tst_compi_inet_pton="unknown"
        !          4017:   tst_works_inet_pton="unknown"
        !          4018:   tst_allow_inet_pton="unknown"
        !          4019:   #
        !          4020:   AC_MSG_CHECKING([if inet_pton can be linked])
        !          4021:   AC_LINK_IFELSE([
        !          4022:     AC_LANG_FUNC_LINK_TRY([inet_pton])
        !          4023:   ],[
        !          4024:     AC_MSG_RESULT([yes])
        !          4025:     tst_links_inet_pton="yes"
        !          4026:   ],[
        !          4027:     AC_MSG_RESULT([no])
        !          4028:     tst_links_inet_pton="no"
        !          4029:   ])
        !          4030:   #
        !          4031:   if test "$tst_links_inet_pton" = "yes"; then
        !          4032:     AC_MSG_CHECKING([if inet_pton is prototyped])
        !          4033:     AC_EGREP_CPP([inet_pton],[
        !          4034:       $curl_includes_arpa_inet
        !          4035:     ],[
        !          4036:       AC_MSG_RESULT([yes])
        !          4037:       tst_proto_inet_pton="yes"
        !          4038:     ],[
        !          4039:       AC_MSG_RESULT([no])
        !          4040:       tst_proto_inet_pton="no"
        !          4041:     ])
        !          4042:   fi
        !          4043:   #
        !          4044:   if test "$tst_proto_inet_pton" = "yes"; then
        !          4045:     AC_MSG_CHECKING([if inet_pton is compilable])
        !          4046:     AC_COMPILE_IFELSE([
        !          4047:       AC_LANG_PROGRAM([[
        !          4048:         $curl_includes_arpa_inet
        !          4049:       ]],[[
        !          4050:         if(0 != inet_pton(0, 0, 0))
        !          4051:           return 1;
        !          4052:       ]])
        !          4053:     ],[
        !          4054:       AC_MSG_RESULT([yes])
        !          4055:       tst_compi_inet_pton="yes"
        !          4056:     ],[
        !          4057:       AC_MSG_RESULT([no])
        !          4058:       tst_compi_inet_pton="no"
        !          4059:     ])
        !          4060:   fi
        !          4061:   #
        !          4062:   dnl only do runtime verification when not cross-compiling
        !          4063:   if test "x$cross_compiling" != "xyes" &&
        !          4064:     test "$tst_compi_inet_pton" = "yes"; then
        !          4065:     AC_MSG_CHECKING([if inet_pton seems to work])
        !          4066:     CURL_RUN_IFELSE([
        !          4067:       AC_LANG_PROGRAM([[
        !          4068:         $curl_includes_stdlib
        !          4069:         $curl_includes_arpa_inet
        !          4070:         $curl_includes_string
        !          4071:       ]],[[
        !          4072:         unsigned char ipv6a[16+1];
        !          4073:         unsigned char ipv4a[4+1];
        !          4074:         const char *ipv6src = "fe80::214:4fff:fe0b:76c8";
        !          4075:         const char *ipv4src = "192.168.100.1";
        !          4076:         /* - */
        !          4077:         memset(ipv4a, 1, sizeof(ipv4a));
        !          4078:         if(1 != inet_pton(AF_INET, ipv4src, ipv4a))
        !          4079:           exit(1); /* fail */
        !          4080:         /* - */
        !          4081:         if( (ipv4a[0] != 0xc0) ||
        !          4082:             (ipv4a[1] != 0xa8) ||
        !          4083:             (ipv4a[2] != 0x64) ||
        !          4084:             (ipv4a[3] != 0x01) ||
        !          4085:             (ipv4a[4] != 0x01) )
        !          4086:           exit(1); /* fail */
        !          4087:         /* - */
        !          4088:         memset(ipv6a, 1, sizeof(ipv6a));
        !          4089:         if(1 != inet_pton(AF_INET6, ipv6src, ipv6a))
        !          4090:           exit(1); /* fail */
        !          4091:         /* - */
        !          4092:         if( (ipv6a[0]  != 0xfe) ||
        !          4093:             (ipv6a[1]  != 0x80) ||
        !          4094:             (ipv6a[8]  != 0x02) ||
        !          4095:             (ipv6a[9]  != 0x14) ||
        !          4096:             (ipv6a[10] != 0x4f) ||
        !          4097:             (ipv6a[11] != 0xff) ||
        !          4098:             (ipv6a[12] != 0xfe) ||
        !          4099:             (ipv6a[13] != 0x0b) ||
        !          4100:             (ipv6a[14] != 0x76) ||
        !          4101:             (ipv6a[15] != 0xc8) ||
        !          4102:             (ipv6a[16] != 0x01) )
        !          4103:           exit(1); /* fail */
        !          4104:         /* - */
        !          4105:         if( (ipv6a[2]  != 0x0) ||
        !          4106:             (ipv6a[3]  != 0x0) ||
        !          4107:             (ipv6a[4]  != 0x0) ||
        !          4108:             (ipv6a[5]  != 0x0) ||
        !          4109:             (ipv6a[6]  != 0x0) ||
        !          4110:             (ipv6a[7]  != 0x0) )
        !          4111:           exit(1); /* fail */
        !          4112:         /* - */
        !          4113:         exit(0);
        !          4114:       ]])
        !          4115:     ],[
        !          4116:       AC_MSG_RESULT([yes])
        !          4117:       tst_works_inet_pton="yes"
        !          4118:     ],[
        !          4119:       AC_MSG_RESULT([no])
        !          4120:       tst_works_inet_pton="no"
        !          4121:     ])
        !          4122:   fi
        !          4123:   #
        !          4124:   if test "$tst_compi_inet_pton" = "yes" &&
        !          4125:     test "$tst_works_inet_pton" != "no"; then
        !          4126:     AC_MSG_CHECKING([if inet_pton usage allowed])
        !          4127:     if test "x$curl_disallow_inet_pton" != "xyes"; then
        !          4128:       AC_MSG_RESULT([yes])
        !          4129:       tst_allow_inet_pton="yes"
        !          4130:     else
        !          4131:       AC_MSG_RESULT([no])
        !          4132:       tst_allow_inet_pton="no"
        !          4133:     fi
        !          4134:   fi
        !          4135:   #
        !          4136:   AC_MSG_CHECKING([if inet_pton might be used])
        !          4137:   if test "$tst_links_inet_pton" = "yes" &&
        !          4138:      test "$tst_proto_inet_pton" = "yes" &&
        !          4139:      test "$tst_compi_inet_pton" = "yes" &&
        !          4140:      test "$tst_allow_inet_pton" = "yes" &&
        !          4141:      test "$tst_works_inet_pton" != "no"; then
        !          4142:     AC_MSG_RESULT([yes])
        !          4143:     AC_DEFINE_UNQUOTED(HAVE_INET_PTON, 1,
        !          4144:       [Define to 1 if you have a IPv6 capable working inet_pton function.])
        !          4145:     curl_cv_func_inet_pton="yes"
        !          4146:   else
        !          4147:     AC_MSG_RESULT([no])
        !          4148:     curl_cv_func_inet_pton="no"
        !          4149:   fi
        !          4150: ])
        !          4151: 
        !          4152: 
        !          4153: dnl CURL_CHECK_FUNC_IOCTL
        !          4154: dnl -------------------------------------------------
        !          4155: dnl Verify if ioctl is available, prototyped, and
        !          4156: dnl can be compiled. If all of these are true, and
        !          4157: dnl usage has not been previously disallowed with
        !          4158: dnl shell variable curl_disallow_ioctl, then
        !          4159: dnl HAVE_IOCTL will be defined.
        !          4160: 
        !          4161: AC_DEFUN([CURL_CHECK_FUNC_IOCTL], [
        !          4162:   AC_REQUIRE([CURL_INCLUDES_STROPTS])dnl
        !          4163:   #
        !          4164:   tst_links_ioctl="unknown"
        !          4165:   tst_proto_ioctl="unknown"
        !          4166:   tst_compi_ioctl="unknown"
        !          4167:   tst_allow_ioctl="unknown"
        !          4168:   #
        !          4169:   AC_MSG_CHECKING([if ioctl can be linked])
        !          4170:   AC_LINK_IFELSE([
        !          4171:     AC_LANG_FUNC_LINK_TRY([ioctl])
        !          4172:   ],[
        !          4173:     AC_MSG_RESULT([yes])
        !          4174:     tst_links_ioctl="yes"
        !          4175:   ],[
        !          4176:     AC_MSG_RESULT([no])
        !          4177:     tst_links_ioctl="no"
        !          4178:   ])
        !          4179:   #
        !          4180:   if test "$tst_links_ioctl" = "yes"; then
        !          4181:     AC_MSG_CHECKING([if ioctl is prototyped])
        !          4182:     AC_EGREP_CPP([ioctl],[
        !          4183:       $curl_includes_stropts
        !          4184:     ],[
        !          4185:       AC_MSG_RESULT([yes])
        !          4186:       tst_proto_ioctl="yes"
        !          4187:     ],[
        !          4188:       AC_MSG_RESULT([no])
        !          4189:       tst_proto_ioctl="no"
        !          4190:     ])
        !          4191:   fi
        !          4192:   #
        !          4193:   if test "$tst_proto_ioctl" = "yes"; then
        !          4194:     AC_MSG_CHECKING([if ioctl is compilable])
        !          4195:     AC_COMPILE_IFELSE([
        !          4196:       AC_LANG_PROGRAM([[
        !          4197:         $curl_includes_stropts
        !          4198:       ]],[[
        !          4199:         if(0 != ioctl(0, 0, 0))
        !          4200:           return 1;
        !          4201:       ]])
        !          4202:     ],[
        !          4203:       AC_MSG_RESULT([yes])
        !          4204:       tst_compi_ioctl="yes"
        !          4205:     ],[
        !          4206:       AC_MSG_RESULT([no])
        !          4207:       tst_compi_ioctl="no"
        !          4208:     ])
        !          4209:   fi
        !          4210:   #
        !          4211:   if test "$tst_compi_ioctl" = "yes"; then
        !          4212:     AC_MSG_CHECKING([if ioctl usage allowed])
        !          4213:     if test "x$curl_disallow_ioctl" != "xyes"; then
        !          4214:       AC_MSG_RESULT([yes])
        !          4215:       tst_allow_ioctl="yes"
        !          4216:     else
        !          4217:       AC_MSG_RESULT([no])
        !          4218:       tst_allow_ioctl="no"
        !          4219:     fi
        !          4220:   fi
        !          4221:   #
        !          4222:   AC_MSG_CHECKING([if ioctl might be used])
        !          4223:   if test "$tst_links_ioctl" = "yes" &&
        !          4224:      test "$tst_proto_ioctl" = "yes" &&
        !          4225:      test "$tst_compi_ioctl" = "yes" &&
        !          4226:      test "$tst_allow_ioctl" = "yes"; then
        !          4227:     AC_MSG_RESULT([yes])
        !          4228:     AC_DEFINE_UNQUOTED(HAVE_IOCTL, 1,
        !          4229:       [Define to 1 if you have the ioctl function.])
        !          4230:     curl_cv_func_ioctl="yes"
        !          4231:     CURL_CHECK_FUNC_IOCTL_FIONBIO
        !          4232:     CURL_CHECK_FUNC_IOCTL_SIOCGIFADDR
        !          4233:   else
        !          4234:     AC_MSG_RESULT([no])
        !          4235:     curl_cv_func_ioctl="no"
        !          4236:   fi
        !          4237: ])
        !          4238: 
        !          4239: 
        !          4240: dnl CURL_CHECK_FUNC_IOCTL_FIONBIO
        !          4241: dnl -------------------------------------------------
        !          4242: dnl Verify if ioctl with the FIONBIO command is
        !          4243: dnl available, can be compiled, and seems to work. If
        !          4244: dnl all of these are true, then HAVE_IOCTL_FIONBIO
        !          4245: dnl will be defined.
        !          4246: 
        !          4247: AC_DEFUN([CURL_CHECK_FUNC_IOCTL_FIONBIO], [
        !          4248:   #
        !          4249:   tst_compi_ioctl_fionbio="unknown"
        !          4250:   tst_allow_ioctl_fionbio="unknown"
        !          4251:   #
        !          4252:   if test "$curl_cv_func_ioctl" = "yes"; then
        !          4253:     AC_MSG_CHECKING([if ioctl FIONBIO is compilable])
        !          4254:     AC_COMPILE_IFELSE([
        !          4255:       AC_LANG_PROGRAM([[
        !          4256:         $curl_includes_stropts
        !          4257:       ]],[[
        !          4258:         int flags = 0;
        !          4259:         if(0 != ioctl(0, FIONBIO, &flags))
        !          4260:           return 1;
        !          4261:       ]])
        !          4262:     ],[
        !          4263:       AC_MSG_RESULT([yes])
        !          4264:       tst_compi_ioctl_fionbio="yes"
        !          4265:     ],[
        !          4266:       AC_MSG_RESULT([no])
        !          4267:       tst_compi_ioctl_fionbio="no"
        !          4268:     ])
        !          4269:   fi
        !          4270:   #
        !          4271:   if test "$tst_compi_ioctl_fionbio" = "yes"; then
        !          4272:     AC_MSG_CHECKING([if ioctl FIONBIO usage allowed])
        !          4273:     if test "x$curl_disallow_ioctl_fionbio" != "xyes"; then
        !          4274:       AC_MSG_RESULT([yes])
        !          4275:       tst_allow_ioctl_fionbio="yes"
        !          4276:     else
        !          4277:       AC_MSG_RESULT([no])
        !          4278:       tst_allow_ioctl_fionbio="no"
        !          4279:     fi
        !          4280:   fi
        !          4281:   #
        !          4282:   AC_MSG_CHECKING([if ioctl FIONBIO might be used])
        !          4283:   if test "$tst_compi_ioctl_fionbio" = "yes" &&
        !          4284:      test "$tst_allow_ioctl_fionbio" = "yes"; then
        !          4285:     AC_MSG_RESULT([yes])
        !          4286:     AC_DEFINE_UNQUOTED(HAVE_IOCTL_FIONBIO, 1,
        !          4287:       [Define to 1 if you have a working ioctl FIONBIO function.])
        !          4288:     curl_cv_func_ioctl_fionbio="yes"
        !          4289:   else
        !          4290:     AC_MSG_RESULT([no])
        !          4291:     curl_cv_func_ioctl_fionbio="no"
        !          4292:   fi
        !          4293: ])
        !          4294: 
        !          4295: 
        !          4296: dnl CURL_CHECK_FUNC_IOCTL_SIOCGIFADDR
        !          4297: dnl -------------------------------------------------
        !          4298: dnl Verify if ioctl with the SIOCGIFADDR command is available,
        !          4299: dnl struct ifreq is defined, they can be compiled, and seem to
        !          4300: dnl work. If all of these are true, then HAVE_IOCTL_SIOCGIFADDR
        !          4301: dnl will be defined.
        !          4302: 
        !          4303: AC_DEFUN([CURL_CHECK_FUNC_IOCTL_SIOCGIFADDR], [
        !          4304:   #
        !          4305:   tst_compi_ioctl_siocgifaddr="unknown"
        !          4306:   tst_allow_ioctl_siocgifaddr="unknown"
        !          4307:   #
        !          4308:   if test "$curl_cv_func_ioctl" = "yes"; then
        !          4309:     AC_MSG_CHECKING([if ioctl SIOCGIFADDR is compilable])
        !          4310:     AC_COMPILE_IFELSE([
        !          4311:       AC_LANG_PROGRAM([[
        !          4312:         $curl_includes_stropts
        !          4313:         #include <net/if.h>
        !          4314:       ]],[[
        !          4315:         struct ifreq ifr;
        !          4316:         if(0 != ioctl(0, SIOCGIFADDR, &ifr))
        !          4317:           return 1;
        !          4318:       ]])
        !          4319:     ],[
        !          4320:       AC_MSG_RESULT([yes])
        !          4321:       tst_compi_ioctl_siocgifaddr="yes"
        !          4322:     ],[
        !          4323:       AC_MSG_RESULT([no])
        !          4324:       tst_compi_ioctl_siocgifaddr="no"
        !          4325:     ])
        !          4326:   fi
        !          4327:   #
        !          4328:   if test "$tst_compi_ioctl_siocgifaddr" = "yes"; then
        !          4329:     AC_MSG_CHECKING([if ioctl SIOCGIFADDR usage allowed])
        !          4330:     if test "x$curl_disallow_ioctl_siocgifaddr" != "xyes"; then
        !          4331:       AC_MSG_RESULT([yes])
        !          4332:       tst_allow_ioctl_siocgifaddr="yes"
        !          4333:     else
        !          4334:       AC_MSG_RESULT([no])
        !          4335:       tst_allow_ioctl_siocgifaddr="no"
        !          4336:     fi
        !          4337:   fi
        !          4338:   #
        !          4339:   AC_MSG_CHECKING([if ioctl SIOCGIFADDR might be used])
        !          4340:   if test "$tst_compi_ioctl_siocgifaddr" = "yes" &&
        !          4341:      test "$tst_allow_ioctl_siocgifaddr" = "yes"; then
        !          4342:     AC_MSG_RESULT([yes])
        !          4343:     AC_DEFINE_UNQUOTED(HAVE_IOCTL_SIOCGIFADDR, 1,
        !          4344:       [Define to 1 if you have a working ioctl SIOCGIFADDR function.])
        !          4345:     curl_cv_func_ioctl_siocgifaddr="yes"
        !          4346:   else
        !          4347:     AC_MSG_RESULT([no])
        !          4348:     curl_cv_func_ioctl_siocgifaddr="no"
        !          4349:   fi
        !          4350: ])
        !          4351: 
        !          4352: 
        !          4353: dnl CURL_CHECK_FUNC_IOCTLSOCKET
        !          4354: dnl -------------------------------------------------
        !          4355: dnl Verify if ioctlsocket is available, prototyped, and
        !          4356: dnl can be compiled. If all of these are true, and
        !          4357: dnl usage has not been previously disallowed with
        !          4358: dnl shell variable curl_disallow_ioctlsocket, then
        !          4359: dnl HAVE_IOCTLSOCKET will be defined.
        !          4360: 
        !          4361: AC_DEFUN([CURL_CHECK_FUNC_IOCTLSOCKET], [
        !          4362:   AC_REQUIRE([CURL_INCLUDES_WINSOCK2])dnl
        !          4363:   #
        !          4364:   tst_links_ioctlsocket="unknown"
        !          4365:   tst_proto_ioctlsocket="unknown"
        !          4366:   tst_compi_ioctlsocket="unknown"
        !          4367:   tst_allow_ioctlsocket="unknown"
        !          4368:   #
        !          4369:   AC_MSG_CHECKING([if ioctlsocket can be linked])
        !          4370:   AC_LINK_IFELSE([
        !          4371:     AC_LANG_PROGRAM([[
        !          4372:       $curl_includes_winsock2
        !          4373:       $curl_includes_bsdsocket
        !          4374:     ]],[[
        !          4375:       if(0 != ioctlsocket(0, 0, 0))
        !          4376:         return 1;
        !          4377:     ]])
        !          4378:   ],[
        !          4379:     AC_MSG_RESULT([yes])
        !          4380:     tst_links_ioctlsocket="yes"
        !          4381:   ],[
        !          4382:     AC_MSG_RESULT([no])
        !          4383:     tst_links_ioctlsocket="no"
        !          4384:   ])
        !          4385:   #
        !          4386:   if test "$tst_links_ioctlsocket" = "yes"; then
        !          4387:     AC_MSG_CHECKING([if ioctlsocket is prototyped])
        !          4388:     AC_EGREP_CPP([ioctlsocket],[
        !          4389:       $curl_includes_winsock2
        !          4390:       $curl_includes_bsdsocket
        !          4391:     ],[
        !          4392:       AC_MSG_RESULT([yes])
        !          4393:       tst_proto_ioctlsocket="yes"
        !          4394:     ],[
        !          4395:       AC_MSG_RESULT([no])
        !          4396:       tst_proto_ioctlsocket="no"
        !          4397:     ])
        !          4398:   fi
        !          4399:   #
        !          4400:   if test "$tst_proto_ioctlsocket" = "yes"; then
        !          4401:     AC_MSG_CHECKING([if ioctlsocket is compilable])
        !          4402:     AC_COMPILE_IFELSE([
        !          4403:       AC_LANG_PROGRAM([[
        !          4404:         $curl_includes_winsock2
        !          4405:       $curl_includes_bsdsocket
        !          4406:       ]],[[
        !          4407:         if(0 != ioctlsocket(0, 0, 0))
        !          4408:           return 1;
        !          4409:       ]])
        !          4410:     ],[
        !          4411:       AC_MSG_RESULT([yes])
        !          4412:       tst_compi_ioctlsocket="yes"
        !          4413:     ],[
        !          4414:       AC_MSG_RESULT([no])
        !          4415:       tst_compi_ioctlsocket="no"
        !          4416:     ])
        !          4417:   fi
        !          4418:   #
        !          4419:   if test "$tst_compi_ioctlsocket" = "yes"; then
        !          4420:     AC_MSG_CHECKING([if ioctlsocket usage allowed])
        !          4421:     if test "x$curl_disallow_ioctlsocket" != "xyes"; then
        !          4422:       AC_MSG_RESULT([yes])
        !          4423:       tst_allow_ioctlsocket="yes"
        !          4424:     else
        !          4425:       AC_MSG_RESULT([no])
        !          4426:       tst_allow_ioctlsocket="no"
        !          4427:     fi
        !          4428:   fi
        !          4429:   #
        !          4430:   AC_MSG_CHECKING([if ioctlsocket might be used])
        !          4431:   if test "$tst_links_ioctlsocket" = "yes" &&
        !          4432:      test "$tst_proto_ioctlsocket" = "yes" &&
        !          4433:      test "$tst_compi_ioctlsocket" = "yes" &&
        !          4434:      test "$tst_allow_ioctlsocket" = "yes"; then
        !          4435:     AC_MSG_RESULT([yes])
        !          4436:     AC_DEFINE_UNQUOTED(HAVE_IOCTLSOCKET, 1,
        !          4437:       [Define to 1 if you have the ioctlsocket function.])
        !          4438:     curl_cv_func_ioctlsocket="yes"
        !          4439:     CURL_CHECK_FUNC_IOCTLSOCKET_FIONBIO
        !          4440:   else
        !          4441:     AC_MSG_RESULT([no])
        !          4442:     curl_cv_func_ioctlsocket="no"
        !          4443:   fi
        !          4444: ])
        !          4445: 
        !          4446: 
        !          4447: dnl CURL_CHECK_FUNC_IOCTLSOCKET_FIONBIO
        !          4448: dnl -------------------------------------------------
        !          4449: dnl Verify if ioctlsocket with the FIONBIO command is
        !          4450: dnl available, can be compiled, and seems to work. If
        !          4451: dnl all of these are true, then HAVE_IOCTLSOCKET_FIONBIO
        !          4452: dnl will be defined.
        !          4453: 
        !          4454: AC_DEFUN([CURL_CHECK_FUNC_IOCTLSOCKET_FIONBIO], [
        !          4455:   #
        !          4456:   tst_compi_ioctlsocket_fionbio="unknown"
        !          4457:   tst_allow_ioctlsocket_fionbio="unknown"
        !          4458:   #
        !          4459:   if test "$curl_cv_func_ioctlsocket" = "yes"; then
        !          4460:     AC_MSG_CHECKING([if ioctlsocket FIONBIO is compilable])
        !          4461:     AC_COMPILE_IFELSE([
        !          4462:       AC_LANG_PROGRAM([[
        !          4463:         $curl_includes_winsock2
        !          4464:       $curl_includes_bsdsocket
        !          4465:       ]],[[
        !          4466:         int flags = 0;
        !          4467:         if(0 != ioctlsocket(0, FIONBIO, &flags))
        !          4468:           return 1;
        !          4469:       ]])
        !          4470:     ],[
        !          4471:       AC_MSG_RESULT([yes])
        !          4472:       tst_compi_ioctlsocket_fionbio="yes"
        !          4473:     ],[
        !          4474:       AC_MSG_RESULT([no])
        !          4475:       tst_compi_ioctlsocket_fionbio="no"
        !          4476:     ])
        !          4477:   fi
        !          4478:   #
        !          4479:   if test "$tst_compi_ioctlsocket_fionbio" = "yes"; then
        !          4480:     AC_MSG_CHECKING([if ioctlsocket FIONBIO usage allowed])
        !          4481:     if test "x$curl_disallow_ioctlsocket_fionbio" != "xyes"; then
        !          4482:       AC_MSG_RESULT([yes])
        !          4483:       tst_allow_ioctlsocket_fionbio="yes"
        !          4484:     else
        !          4485:       AC_MSG_RESULT([no])
        !          4486:       tst_allow_ioctlsocket_fionbio="no"
        !          4487:     fi
        !          4488:   fi
        !          4489:   #
        !          4490:   AC_MSG_CHECKING([if ioctlsocket FIONBIO might be used])
        !          4491:   if test "$tst_compi_ioctlsocket_fionbio" = "yes" &&
        !          4492:      test "$tst_allow_ioctlsocket_fionbio" = "yes"; then
        !          4493:     AC_MSG_RESULT([yes])
        !          4494:     AC_DEFINE_UNQUOTED(HAVE_IOCTLSOCKET_FIONBIO, 1,
        !          4495:       [Define to 1 if you have a working ioctlsocket FIONBIO function.])
        !          4496:     curl_cv_func_ioctlsocket_fionbio="yes"
        !          4497:   else
        !          4498:     AC_MSG_RESULT([no])
        !          4499:     curl_cv_func_ioctlsocket_fionbio="no"
        !          4500:   fi
        !          4501: ])
        !          4502: 
        !          4503: 
        !          4504: dnl CURL_CHECK_FUNC_IOCTLSOCKET_CAMEL
        !          4505: dnl -------------------------------------------------
        !          4506: dnl Verify if IoctlSocket is available, prototyped, and
        !          4507: dnl can be compiled. If all of these are true, and
        !          4508: dnl usage has not been previously disallowed with
        !          4509: dnl shell variable curl_disallow_ioctlsocket_camel,
        !          4510: dnl then HAVE_IOCTLSOCKET_CAMEL will be defined.
        !          4511: 
        !          4512: AC_DEFUN([CURL_CHECK_FUNC_IOCTLSOCKET_CAMEL], [
        !          4513:   AC_REQUIRE([CURL_INCLUDES_STROPTS])dnl
        !          4514:   #
        !          4515:   tst_links_ioctlsocket_camel="unknown"
        !          4516:   tst_proto_ioctlsocket_camel="unknown"
        !          4517:   tst_compi_ioctlsocket_camel="unknown"
        !          4518:   tst_allow_ioctlsocket_camel="unknown"
        !          4519:   #
        !          4520:   AC_MSG_CHECKING([if IoctlSocket can be linked])
        !          4521:   AC_LINK_IFELSE([
        !          4522:     AC_LANG_FUNC_LINK_TRY([IoctlSocket])
        !          4523:   ],[
        !          4524:     AC_MSG_RESULT([yes])
        !          4525:     tst_links_ioctlsocket_camel="yes"
        !          4526:   ],[
        !          4527:     AC_MSG_RESULT([no])
        !          4528:     tst_links_ioctlsocket_camel="no"
        !          4529:   ])
        !          4530:   #
        !          4531:   if test "$tst_links_ioctlsocket_camel" = "yes"; then
        !          4532:     AC_MSG_CHECKING([if IoctlSocket is prototyped])
        !          4533:     AC_EGREP_CPP([IoctlSocket],[
        !          4534:       $curl_includes_stropts
        !          4535:     ],[
        !          4536:       AC_MSG_RESULT([yes])
        !          4537:       tst_proto_ioctlsocket_camel="yes"
        !          4538:     ],[
        !          4539:       AC_MSG_RESULT([no])
        !          4540:       tst_proto_ioctlsocket_camel="no"
        !          4541:     ])
        !          4542:   fi
        !          4543:   #
        !          4544:   if test "$tst_proto_ioctlsocket_camel" = "yes"; then
        !          4545:     AC_MSG_CHECKING([if IoctlSocket is compilable])
        !          4546:     AC_COMPILE_IFELSE([
        !          4547:       AC_LANG_PROGRAM([[
        !          4548:         $curl_includes_stropts
        !          4549:       ]],[[
        !          4550:         if(0 != IoctlSocket(0, 0, 0))
        !          4551:           return 1;
        !          4552:       ]])
        !          4553:     ],[
        !          4554:       AC_MSG_RESULT([yes])
        !          4555:       tst_compi_ioctlsocket_camel="yes"
        !          4556:     ],[
        !          4557:       AC_MSG_RESULT([no])
        !          4558:       tst_compi_ioctlsocket_camel="no"
        !          4559:     ])
        !          4560:   fi
        !          4561:   #
        !          4562:   if test "$tst_compi_ioctlsocket_camel" = "yes"; then
        !          4563:     AC_MSG_CHECKING([if IoctlSocket usage allowed])
        !          4564:     if test "x$curl_disallow_ioctlsocket_camel" != "xyes"; then
        !          4565:       AC_MSG_RESULT([yes])
        !          4566:       tst_allow_ioctlsocket_camel="yes"
        !          4567:     else
        !          4568:       AC_MSG_RESULT([no])
        !          4569:       tst_allow_ioctlsocket_camel="no"
        !          4570:     fi
        !          4571:   fi
        !          4572:   #
        !          4573:   AC_MSG_CHECKING([if IoctlSocket might be used])
        !          4574:   if test "$tst_links_ioctlsocket_camel" = "yes" &&
        !          4575:      test "$tst_proto_ioctlsocket_camel" = "yes" &&
        !          4576:      test "$tst_compi_ioctlsocket_camel" = "yes" &&
        !          4577:      test "$tst_allow_ioctlsocket_camel" = "yes"; then
        !          4578:     AC_MSG_RESULT([yes])
        !          4579:     AC_DEFINE_UNQUOTED(HAVE_IOCTLSOCKET_CAMEL, 1,
        !          4580:       [Define to 1 if you have the IoctlSocket camel case function.])
        !          4581:     curl_cv_func_ioctlsocket_camel="yes"
        !          4582:     CURL_CHECK_FUNC_IOCTLSOCKET_CAMEL_FIONBIO
        !          4583:   else
        !          4584:     AC_MSG_RESULT([no])
        !          4585:     curl_cv_func_ioctlsocket_camel="no"
        !          4586:   fi
        !          4587: ])
        !          4588: 
        !          4589: 
        !          4590: dnl CURL_CHECK_FUNC_IOCTLSOCKET_CAMEL_FIONBIO
        !          4591: dnl -------------------------------------------------
        !          4592: dnl Verify if IoctlSocket with FIONBIO command is available,
        !          4593: dnl can be compiled, and seems to work. If all of these are
        !          4594: dnl true, then HAVE_IOCTLSOCKET_CAMEL_FIONBIO will be defined.
        !          4595: 
        !          4596: AC_DEFUN([CURL_CHECK_FUNC_IOCTLSOCKET_CAMEL_FIONBIO], [
        !          4597:   #
        !          4598:   tst_compi_ioctlsocket_camel_fionbio="unknown"
        !          4599:   tst_allow_ioctlsocket_camel_fionbio="unknown"
        !          4600:   #
        !          4601:   if test "$curl_cv_func_ioctlsocket_camel" = "yes"; then
        !          4602:     AC_MSG_CHECKING([if IoctlSocket FIONBIO is compilable])
        !          4603:     AC_COMPILE_IFELSE([
        !          4604:       AC_LANG_PROGRAM([[
        !          4605:         $curl_includes_stropts
        !          4606:       ]],[[
        !          4607:         long flags = 0;
        !          4608:         if(0 != ioctlsocket(0, FIONBIO, &flags))
        !          4609:           return 1;
        !          4610:       ]])
        !          4611:     ],[
        !          4612:       AC_MSG_RESULT([yes])
        !          4613:       tst_compi_ioctlsocket_camel_fionbio="yes"
        !          4614:     ],[
        !          4615:       AC_MSG_RESULT([no])
        !          4616:       tst_compi_ioctlsocket_camel_fionbio="no"
        !          4617:     ])
        !          4618:   fi
        !          4619:   #
        !          4620:   if test "$tst_compi_ioctlsocket_camel_fionbio" = "yes"; then
        !          4621:     AC_MSG_CHECKING([if IoctlSocket FIONBIO usage allowed])
        !          4622:     if test "x$curl_disallow_ioctlsocket_camel_fionbio" != "xyes"; then
        !          4623:       AC_MSG_RESULT([yes])
        !          4624:       tst_allow_ioctlsocket_camel_fionbio="yes"
        !          4625:     else
        !          4626:       AC_MSG_RESULT([no])
        !          4627:       tst_allow_ioctlsocket_camel_fionbio="no"
        !          4628:     fi
        !          4629:   fi
        !          4630:   #
        !          4631:   AC_MSG_CHECKING([if IoctlSocket FIONBIO might be used])
        !          4632:   if test "$tst_compi_ioctlsocket_camel_fionbio" = "yes" &&
        !          4633:      test "$tst_allow_ioctlsocket_camel_fionbio" = "yes"; then
        !          4634:     AC_MSG_RESULT([yes])
        !          4635:     AC_DEFINE_UNQUOTED(HAVE_IOCTLSOCKET_CAMEL_FIONBIO, 1,
        !          4636:       [Define to 1 if you have a working IoctlSocket camel case FIONBIO function.])
        !          4637:     curl_cv_func_ioctlsocket_camel_fionbio="yes"
        !          4638:   else
        !          4639:     AC_MSG_RESULT([no])
        !          4640:     curl_cv_func_ioctlsocket_camel_fionbio="no"
        !          4641:   fi
        !          4642: ])
        !          4643: 
        !          4644: 
        !          4645: dnl CURL_CHECK_FUNC_LISTXATTR
        !          4646: dnl -------------------------------------------------
        !          4647: dnl Verify if listxattr is available, prototyped, and
        !          4648: dnl can be compiled. If all of these are true, and
        !          4649: dnl usage has not been previously disallowed with
        !          4650: dnl shell variable curl_disallow_listxattr, then
        !          4651: dnl HAVE_LISTXATTR will be defined.
        !          4652: 
        !          4653: AC_DEFUN([CURL_CHECK_FUNC_LISTXATTR], [
        !          4654:   AC_REQUIRE([CURL_INCLUDES_SYS_XATTR])dnl
        !          4655:   #
        !          4656:   tst_links_listxattr="unknown"
        !          4657:   tst_proto_listxattr="unknown"
        !          4658:   tst_compi_listxattr="unknown"
        !          4659:   tst_allow_listxattr="unknown"
        !          4660:   tst_nargs_listxattr="unknown"
        !          4661:   #
        !          4662:   AC_MSG_CHECKING([if listxattr can be linked])
        !          4663:   AC_LINK_IFELSE([
        !          4664:     AC_LANG_FUNC_LINK_TRY([listxattr])
        !          4665:   ],[
        !          4666:     AC_MSG_RESULT([yes])
        !          4667:     tst_links_listxattr="yes"
        !          4668:   ],[
        !          4669:     AC_MSG_RESULT([no])
        !          4670:     tst_links_listxattr="no"
        !          4671:   ])
        !          4672:   #
        !          4673:   if test "$tst_links_listxattr" = "yes"; then
        !          4674:     AC_MSG_CHECKING([if listxattr is prototyped])
        !          4675:     AC_EGREP_CPP([listxattr],[
        !          4676:       $curl_includes_sys_xattr
        !          4677:     ],[
        !          4678:       AC_MSG_RESULT([yes])
        !          4679:       tst_proto_listxattr="yes"
        !          4680:     ],[
        !          4681:       AC_MSG_RESULT([no])
        !          4682:       tst_proto_listxattr="no"
        !          4683:     ])
        !          4684:   fi
        !          4685:   #
        !          4686:   if test "$tst_proto_listxattr" = "yes"; then
        !          4687:     if test "$tst_nargs_listxattr" = "unknown"; then
        !          4688:       AC_MSG_CHECKING([if listxattr takes 3 args.])
        !          4689:       AC_COMPILE_IFELSE([
        !          4690:         AC_LANG_PROGRAM([[
        !          4691:           $curl_includes_sys_xattr
        !          4692:         ]],[[
        !          4693:           if(0 != listxattr(0, 0, 0))
        !          4694:             return 1;
        !          4695:         ]])
        !          4696:       ],[
        !          4697:         AC_MSG_RESULT([yes])
        !          4698:         tst_compi_listxattr="yes"
        !          4699:         tst_nargs_listxattr="3"
        !          4700:       ],[
        !          4701:         AC_MSG_RESULT([no])
        !          4702:         tst_compi_listxattr="no"
        !          4703:       ])
        !          4704:     fi
        !          4705:     if test "$tst_nargs_listxattr" = "unknown"; then
        !          4706:       AC_MSG_CHECKING([if listxattr takes 4 args.])
        !          4707:       AC_COMPILE_IFELSE([
        !          4708:         AC_LANG_PROGRAM([[
        !          4709:           $curl_includes_sys_xattr
        !          4710:         ]],[[
        !          4711:           if(0 != listxattr(0, 0, 0, 0))
        !          4712:             return 1;
        !          4713:         ]])
        !          4714:       ],[
        !          4715:         AC_MSG_RESULT([yes])
        !          4716:         tst_compi_listxattr="yes"
        !          4717:         tst_nargs_listxattr="4"
        !          4718:       ],[
        !          4719:         AC_MSG_RESULT([no])
        !          4720:         tst_compi_listxattr="no"
        !          4721:       ])
        !          4722:     fi
        !          4723:     AC_MSG_CHECKING([if listxattr is compilable])
        !          4724:     if test "$tst_compi_listxattr" = "yes"; then
        !          4725:       AC_MSG_RESULT([yes])
        !          4726:     else
        !          4727:       AC_MSG_RESULT([no])
        !          4728:     fi
        !          4729:   fi
        !          4730:   #
        !          4731:   if test "$tst_compi_listxattr" = "yes"; then
        !          4732:     AC_MSG_CHECKING([if listxattr usage allowed])
        !          4733:     if test "x$curl_disallow_listxattr" != "xyes"; then
        !          4734:       AC_MSG_RESULT([yes])
        !          4735:       tst_allow_listxattr="yes"
        !          4736:     else
        !          4737:       AC_MSG_RESULT([no])
        !          4738:       tst_allow_listxattr="no"
        !          4739:     fi
        !          4740:   fi
        !          4741:   #
        !          4742:   AC_MSG_CHECKING([if listxattr might be used])
        !          4743:   if test "$tst_links_listxattr" = "yes" &&
        !          4744:      test "$tst_proto_listxattr" = "yes" &&
        !          4745:      test "$tst_compi_listxattr" = "yes" &&
        !          4746:      test "$tst_allow_listxattr" = "yes"; then
        !          4747:     AC_MSG_RESULT([yes])
        !          4748:     AC_DEFINE_UNQUOTED(HAVE_LISTXATTR, 1,
        !          4749:       [Define to 1 if you have the listxattr function.])
        !          4750:     dnl AC_DEFINE_UNQUOTED(LISTXATTR_ARGS, $tst_nargs_listxattr,
        !          4751:     dnl   [Specifies the number of arguments to listxattr])
        !          4752:     #
        !          4753:     if test "$tst_nargs_listxattr" -eq "3"; then
        !          4754:       AC_DEFINE(HAVE_LISTXATTR_3, 1, [listxattr() takes 3 args])
        !          4755:     elif test "$tst_nargs_listxattr" -eq "4"; then
        !          4756:       AC_DEFINE(HAVE_LISTXATTR_4, 1, [listxattr() takes 4 args])
        !          4757:     fi
        !          4758:     #
        !          4759:     curl_cv_func_listxattr="yes"
        !          4760:   else
        !          4761:     AC_MSG_RESULT([no])
        !          4762:     curl_cv_func_listxattr="no"
        !          4763:   fi
        !          4764: ])
        !          4765: 
        !          4766: 
        !          4767: dnl CURL_CHECK_FUNC_LOCALTIME_R
        !          4768: dnl -------------------------------------------------
        !          4769: dnl Verify if localtime_r is available, prototyped, can
        !          4770: dnl be compiled and seems to work. If all of these are
        !          4771: dnl true, and usage has not been previously disallowed
        !          4772: dnl with shell variable curl_disallow_localtime_r, then
        !          4773: dnl HAVE_LOCALTIME_R will be defined.
        !          4774: 
        !          4775: AC_DEFUN([CURL_CHECK_FUNC_LOCALTIME_R], [
        !          4776:   AC_REQUIRE([CURL_INCLUDES_STDLIB])dnl
        !          4777:   AC_REQUIRE([CURL_INCLUDES_TIME])dnl
        !          4778:   #
        !          4779:   tst_links_localtime_r="unknown"
        !          4780:   tst_proto_localtime_r="unknown"
        !          4781:   tst_compi_localtime_r="unknown"
        !          4782:   tst_works_localtime_r="unknown"
        !          4783:   tst_allow_localtime_r="unknown"
        !          4784:   #
        !          4785:   AC_MSG_CHECKING([if localtime_r can be linked])
        !          4786:   AC_LINK_IFELSE([
        !          4787:     AC_LANG_FUNC_LINK_TRY([localtime_r])
        !          4788:   ],[
        !          4789:     AC_MSG_RESULT([yes])
        !          4790:     tst_links_localtime_r="yes"
        !          4791:   ],[
        !          4792:     AC_MSG_RESULT([no])
        !          4793:     tst_links_localtime_r="no"
        !          4794:   ])
        !          4795:   #
        !          4796:   if test "$tst_links_localtime_r" = "yes"; then
        !          4797:     AC_MSG_CHECKING([if localtime_r is prototyped])
        !          4798:     AC_EGREP_CPP([localtime_r],[
        !          4799:       $curl_includes_time
        !          4800:     ],[
        !          4801:       AC_MSG_RESULT([yes])
        !          4802:       tst_proto_localtime_r="yes"
        !          4803:     ],[
        !          4804:       AC_MSG_RESULT([no])
        !          4805:       tst_proto_localtime_r="no"
        !          4806:     ])
        !          4807:   fi
        !          4808:   #
        !          4809:   if test "$tst_proto_localtime_r" = "yes"; then
        !          4810:     AC_MSG_CHECKING([if localtime_r is compilable])
        !          4811:     AC_COMPILE_IFELSE([
        !          4812:       AC_LANG_PROGRAM([[
        !          4813:         $curl_includes_time
        !          4814:       ]],[[
        !          4815:         if(0 != localtime_r(0, 0))
        !          4816:           return 1;
        !          4817:       ]])
        !          4818:     ],[
        !          4819:       AC_MSG_RESULT([yes])
        !          4820:       tst_compi_localtime_r="yes"
        !          4821:     ],[
        !          4822:       AC_MSG_RESULT([no])
        !          4823:       tst_compi_localtime_r="no"
        !          4824:     ])
        !          4825:   fi
        !          4826:   #
        !          4827:   dnl only do runtime verification when not cross-compiling
        !          4828:   if test "x$cross_compiling" != "xyes" &&
        !          4829:     test "$tst_compi_localtime_r" = "yes"; then
        !          4830:     AC_MSG_CHECKING([if localtime_r seems to work])
        !          4831:     CURL_RUN_IFELSE([
        !          4832:       AC_LANG_PROGRAM([[
        !          4833:         $curl_includes_stdlib
        !          4834:         $curl_includes_time
        !          4835:       ]],[[
        !          4836:         time_t clock = 1170352587;
        !          4837:         struct tm *tmp = 0;
        !          4838:         struct tm result;
        !          4839:         tmp = localtime_r(&clock, &result);
        !          4840:         if(tmp)
        !          4841:           exit(0);
        !          4842:         else
        !          4843:           exit(1);
        !          4844:       ]])
        !          4845:     ],[
        !          4846:       AC_MSG_RESULT([yes])
        !          4847:       tst_works_localtime_r="yes"
        !          4848:     ],[
        !          4849:       AC_MSG_RESULT([no])
        !          4850:       tst_works_localtime_r="no"
        !          4851:     ])
        !          4852:   fi
        !          4853:   #
        !          4854:   if test "$tst_compi_localtime_r" = "yes" &&
        !          4855:     test "$tst_works_localtime_r" != "no"; then
        !          4856:     AC_MSG_CHECKING([if localtime_r usage allowed])
        !          4857:     if test "x$curl_disallow_localtime_r" != "xyes"; then
        !          4858:       AC_MSG_RESULT([yes])
        !          4859:       tst_allow_localtime_r="yes"
        !          4860:     else
        !          4861:       AC_MSG_RESULT([no])
        !          4862:       tst_allow_localtime_r="no"
        !          4863:     fi
        !          4864:   fi
        !          4865:   #
        !          4866:   AC_MSG_CHECKING([if localtime_r might be used])
        !          4867:   if test "$tst_links_localtime_r" = "yes" &&
        !          4868:      test "$tst_proto_localtime_r" = "yes" &&
        !          4869:      test "$tst_compi_localtime_r" = "yes" &&
        !          4870:      test "$tst_allow_localtime_r" = "yes" &&
        !          4871:      test "$tst_works_localtime_r" != "no"; then
        !          4872:     AC_MSG_RESULT([yes])
        !          4873:     AC_DEFINE_UNQUOTED(HAVE_LOCALTIME_R, 1,
        !          4874:       [Define to 1 if you have a working localtime_r function.])
        !          4875:     curl_cv_func_localtime_r="yes"
        !          4876:   else
        !          4877:     AC_MSG_RESULT([no])
        !          4878:     curl_cv_func_localtime_r="no"
        !          4879:   fi
        !          4880: ])
        !          4881: 
        !          4882: 
        !          4883: dnl CURL_CHECK_FUNC_MEMRCHR
        !          4884: dnl -------------------------------------------------
        !          4885: dnl Verify if memrchr is available, prototyped, and
        !          4886: dnl can be compiled. If all of these are true, and
        !          4887: dnl usage has not been previously disallowed with
        !          4888: dnl shell variable curl_disallow_memrchr, then
        !          4889: dnl HAVE_MEMRCHR will be defined.
        !          4890: 
        !          4891: AC_DEFUN([CURL_CHECK_FUNC_MEMRCHR], [
        !          4892:   AC_REQUIRE([CURL_INCLUDES_STRING])dnl
        !          4893:   #
        !          4894:   tst_links_memrchr="unknown"
        !          4895:   tst_macro_memrchr="unknown"
        !          4896:   tst_proto_memrchr="unknown"
        !          4897:   tst_compi_memrchr="unknown"
        !          4898:   tst_allow_memrchr="unknown"
        !          4899:   #
        !          4900:   AC_MSG_CHECKING([if memrchr can be linked])
        !          4901:   AC_LINK_IFELSE([
        !          4902:     AC_LANG_FUNC_LINK_TRY([memrchr])
        !          4903:   ],[
        !          4904:     AC_MSG_RESULT([yes])
        !          4905:     tst_links_memrchr="yes"
        !          4906:   ],[
        !          4907:     AC_MSG_RESULT([no])
        !          4908:     tst_links_memrchr="no"
        !          4909:   ])
        !          4910:   #
        !          4911:   if test "$tst_links_memrchr" = "no"; then
        !          4912:     AC_MSG_CHECKING([if memrchr seems a macro])
        !          4913:     AC_LINK_IFELSE([
        !          4914:       AC_LANG_PROGRAM([[
        !          4915:         $curl_includes_string
        !          4916:       ]],[[
        !          4917:         if(0 != memrchr(0, 0, 0))
        !          4918:           return 1;
        !          4919:       ]])
        !          4920:     ],[
        !          4921:       AC_MSG_RESULT([yes])
        !          4922:       tst_macro_memrchr="yes"
        !          4923:     ],[
        !          4924:       AC_MSG_RESULT([no])
        !          4925:       tst_macro_memrchr="no"
        !          4926:     ])
        !          4927:   fi
        !          4928:   #
        !          4929:   if test "$tst_links_memrchr" = "yes"; then
        !          4930:     AC_MSG_CHECKING([if memrchr is prototyped])
        !          4931:     AC_EGREP_CPP([memrchr],[
        !          4932:       $curl_includes_string
        !          4933:     ],[
        !          4934:       AC_MSG_RESULT([yes])
        !          4935:       tst_proto_memrchr="yes"
        !          4936:     ],[
        !          4937:       AC_MSG_RESULT([no])
        !          4938:       tst_proto_memrchr="no"
        !          4939:     ])
        !          4940:   fi
        !          4941:   #
        !          4942:   if test "$tst_proto_memrchr" = "yes" ||
        !          4943:      test "$tst_macro_memrchr" = "yes"; then
        !          4944:     AC_MSG_CHECKING([if memrchr is compilable])
        !          4945:     AC_COMPILE_IFELSE([
        !          4946:       AC_LANG_PROGRAM([[
        !          4947:         $curl_includes_string
        !          4948:       ]],[[
        !          4949:         if(0 != memrchr(0, 0, 0))
        !          4950:           return 1;
        !          4951:       ]])
        !          4952:     ],[
        !          4953:       AC_MSG_RESULT([yes])
        !          4954:       tst_compi_memrchr="yes"
        !          4955:     ],[
        !          4956:       AC_MSG_RESULT([no])
        !          4957:       tst_compi_memrchr="no"
        !          4958:     ])
        !          4959:   fi
        !          4960:   #
        !          4961:   if test "$tst_compi_memrchr" = "yes"; then
        !          4962:     AC_MSG_CHECKING([if memrchr usage allowed])
        !          4963:     if test "x$curl_disallow_memrchr" != "xyes"; then
        !          4964:       AC_MSG_RESULT([yes])
        !          4965:       tst_allow_memrchr="yes"
        !          4966:     else
        !          4967:       AC_MSG_RESULT([no])
        !          4968:       tst_allow_memrchr="no"
        !          4969:     fi
        !          4970:   fi
        !          4971:   #
        !          4972:   AC_MSG_CHECKING([if memrchr might be used])
        !          4973:   if (test "$tst_proto_memrchr" = "yes" ||
        !          4974:       test "$tst_macro_memrchr" = "yes") &&
        !          4975:      test "$tst_compi_memrchr" = "yes" &&
        !          4976:      test "$tst_allow_memrchr" = "yes"; then
        !          4977:     AC_MSG_RESULT([yes])
        !          4978:     AC_DEFINE_UNQUOTED(HAVE_MEMRCHR, 1,
        !          4979:       [Define to 1 if you have the memrchr function or macro.])
        !          4980:     curl_cv_func_memrchr="yes"
        !          4981:   else
        !          4982:     AC_MSG_RESULT([no])
        !          4983:     curl_cv_func_memrchr="no"
        !          4984:   fi
        !          4985: ])
        !          4986: 
        !          4987: 
        !          4988: dnl CURL_CHECK_FUNC_POLL
        !          4989: dnl -------------------------------------------------
        !          4990: dnl Verify if poll is available, prototyped, can
        !          4991: dnl be compiled and seems to work. If all of these are
        !          4992: dnl true, and usage has not been previously disallowed
        !          4993: dnl with shell variable curl_disallow_poll, then
        !          4994: dnl HAVE_POLL will be defined.
        !          4995: 
        !          4996: AC_DEFUN([CURL_CHECK_FUNC_POLL], [
        !          4997:   AC_REQUIRE([CURL_INCLUDES_STDLIB])dnl
        !          4998:   AC_REQUIRE([CURL_INCLUDES_POLL])dnl
        !          4999:   #
        !          5000:   tst_links_poll="unknown"
        !          5001:   tst_proto_poll="unknown"
        !          5002:   tst_compi_poll="unknown"
        !          5003:   tst_works_poll="unknown"
        !          5004:   tst_allow_poll="unknown"
        !          5005:   #
        !          5006:   case $host_os in
        !          5007:     darwin*|interix*)
        !          5008:       dnl poll() does not work on these platforms
        !          5009:       dnl Interix: "does provide poll(), but the implementing developer must
        !          5010:       dnl have been in a bad mood, because poll() only works on the /proc
        !          5011:       dnl filesystem here"
        !          5012:       dnl macOS: poll() first didn't exist, then was broken until fixed in 10.9
        !          5013:       dnl only to break again in 10.12.
        !          5014:       curl_disallow_poll="yes"
        !          5015:       tst_compi_poll="no"
        !          5016:       ;;
        !          5017:   esac
        !          5018:   #
        !          5019:   AC_MSG_CHECKING([if poll can be linked])
        !          5020:   AC_LINK_IFELSE([
        !          5021:     AC_LANG_PROGRAM([[
        !          5022:       $curl_includes_poll
        !          5023:     ]],[[
        !          5024:       if(0 != poll(0, 0, 0))
        !          5025:         return 1;
        !          5026:     ]])
        !          5027:   ],[
        !          5028:     AC_MSG_RESULT([yes])
        !          5029:     tst_links_poll="yes"
        !          5030:   ],[
        !          5031:     AC_MSG_RESULT([no])
        !          5032:     tst_links_poll="no"
        !          5033:   ])
        !          5034:   #
        !          5035:   if test "$tst_links_poll" = "yes"; then
        !          5036:     AC_MSG_CHECKING([if poll is prototyped])
        !          5037:     AC_EGREP_CPP([poll],[
        !          5038:       $curl_includes_poll
        !          5039:     ],[
        !          5040:       AC_MSG_RESULT([yes])
        !          5041:       tst_proto_poll="yes"
        !          5042:     ],[
        !          5043:       AC_MSG_RESULT([no])
        !          5044:       tst_proto_poll="no"
        !          5045:     ])
        !          5046:   fi
        !          5047:   #
        !          5048:   if test "$tst_proto_poll" = "yes"; then
        !          5049:     AC_MSG_CHECKING([if poll is compilable])
        !          5050:     AC_COMPILE_IFELSE([
        !          5051:       AC_LANG_PROGRAM([[
        !          5052:         $curl_includes_poll
        !          5053:       ]],[[
        !          5054:         if(0 != poll(0, 0, 0))
        !          5055:           return 1;
        !          5056:       ]])
        !          5057:     ],[
        !          5058:       AC_MSG_RESULT([yes])
        !          5059:       tst_compi_poll="yes"
        !          5060:     ],[
        !          5061:       AC_MSG_RESULT([no])
        !          5062:       tst_compi_poll="no"
        !          5063:     ])
        !          5064:   fi
        !          5065:   #
        !          5066:   dnl only do runtime verification when not cross-compiling
        !          5067:   if test "x$cross_compiling" != "xyes" &&
        !          5068:     test "$tst_compi_poll" = "yes"; then
        !          5069:     AC_MSG_CHECKING([if poll seems to work])
        !          5070:     CURL_RUN_IFELSE([
        !          5071:       AC_LANG_PROGRAM([[
        !          5072:         $curl_includes_stdlib
        !          5073:         $curl_includes_poll
        !          5074:         $curl_includes_time
        !          5075:       ]],[[
        !          5076:         /* detect the original poll() breakage */
        !          5077:         if(0 != poll(0, 0, 10))
        !          5078:           exit(1); /* fail */
        !          5079:         else {
        !          5080:           /* detect the 10.12 poll() breakage */
        !          5081:           struct timeval before, after;
        !          5082:           int rc;
        !          5083:           size_t us;
        !          5084: 
        !          5085:           gettimeofday(&before, NULL);
        !          5086:           rc = poll(NULL, 0, 500);
        !          5087:           gettimeofday(&after, NULL);
        !          5088: 
        !          5089:           us = (after.tv_sec - before.tv_sec) * 1000000 +
        !          5090:             (after.tv_usec - before.tv_usec);
        !          5091: 
        !          5092:           if(us < 400000)
        !          5093:             exit(1);
        !          5094:         }
        !          5095:       ]])
        !          5096:     ],[
        !          5097:       AC_MSG_RESULT([yes])
        !          5098:       tst_works_poll="yes"
        !          5099:     ],[
        !          5100:       AC_MSG_RESULT([no])
        !          5101:       tst_works_poll="no"
        !          5102:     ])
        !          5103:   fi
        !          5104:   #
        !          5105:   if test "$tst_compi_poll" = "yes" &&
        !          5106:     test "$tst_works_poll" != "no"; then
        !          5107:     AC_MSG_CHECKING([if poll usage allowed])
        !          5108:     if test "x$curl_disallow_poll" != "xyes"; then
        !          5109:       AC_MSG_RESULT([yes])
        !          5110:       tst_allow_poll="yes"
        !          5111:     else
        !          5112:       AC_MSG_RESULT([no])
        !          5113:       tst_allow_poll="no"
        !          5114:     fi
        !          5115:   fi
        !          5116:   #
        !          5117:   AC_MSG_CHECKING([if poll might be used])
        !          5118:   if test "$tst_links_poll" = "yes" &&
        !          5119:      test "$tst_proto_poll" = "yes" &&
        !          5120:      test "$tst_compi_poll" = "yes" &&
        !          5121:      test "$tst_allow_poll" = "yes" &&
        !          5122:      test "$tst_works_poll" != "no"; then
        !          5123:     AC_MSG_RESULT([yes])
        !          5124:     AC_DEFINE_UNQUOTED(HAVE_POLL, 1,
        !          5125:       [Define to 1 if you have a working poll function.])
        !          5126:     AC_DEFINE_UNQUOTED(HAVE_POLL_FINE, 1,
        !          5127:       [If you have a fine poll])
        !          5128:     curl_cv_func_poll="yes"
        !          5129:   else
        !          5130:     AC_MSG_RESULT([no])
        !          5131:     curl_cv_func_poll="no"
        !          5132:   fi
        !          5133: ])
        !          5134: 
        !          5135: 
        !          5136: dnl CURL_CHECK_FUNC_REMOVEXATTR
        !          5137: dnl -------------------------------------------------
        !          5138: dnl Verify if removexattr is available, prototyped, and
        !          5139: dnl can be compiled. If all of these are true, and
        !          5140: dnl usage has not been previously disallowed with
        !          5141: dnl shell variable curl_disallow_removexattr, then
        !          5142: dnl HAVE_REMOVEXATTR will be defined.
        !          5143: 
        !          5144: AC_DEFUN([CURL_CHECK_FUNC_REMOVEXATTR], [
        !          5145:   AC_REQUIRE([CURL_INCLUDES_SYS_XATTR])dnl
        !          5146:   #
        !          5147:   tst_links_removexattr="unknown"
        !          5148:   tst_proto_removexattr="unknown"
        !          5149:   tst_compi_removexattr="unknown"
        !          5150:   tst_allow_removexattr="unknown"
        !          5151:   tst_nargs_removexattr="unknown"
        !          5152:   #
        !          5153:   AC_MSG_CHECKING([if removexattr can be linked])
        !          5154:   AC_LINK_IFELSE([
        !          5155:     AC_LANG_FUNC_LINK_TRY([removexattr])
        !          5156:   ],[
        !          5157:     AC_MSG_RESULT([yes])
        !          5158:     tst_links_removexattr="yes"
        !          5159:   ],[
        !          5160:     AC_MSG_RESULT([no])
        !          5161:     tst_links_removexattr="no"
        !          5162:   ])
        !          5163:   #
        !          5164:   if test "$tst_links_removexattr" = "yes"; then
        !          5165:     AC_MSG_CHECKING([if removexattr is prototyped])
        !          5166:     AC_EGREP_CPP([removexattr],[
        !          5167:       $curl_includes_sys_xattr
        !          5168:     ],[
        !          5169:       AC_MSG_RESULT([yes])
        !          5170:       tst_proto_removexattr="yes"
        !          5171:     ],[
        !          5172:       AC_MSG_RESULT([no])
        !          5173:       tst_proto_removexattr="no"
        !          5174:     ])
        !          5175:   fi
        !          5176:   #
        !          5177:   if test "$tst_proto_removexattr" = "yes"; then
        !          5178:     if test "$tst_nargs_removexattr" = "unknown"; then
        !          5179:       AC_MSG_CHECKING([if removexattr takes 2 args.])
        !          5180:       AC_COMPILE_IFELSE([
        !          5181:         AC_LANG_PROGRAM([[
        !          5182:           $curl_includes_sys_xattr
        !          5183:         ]],[[
        !          5184:           if(0 != removexattr(0, 0))
        !          5185:             return 1;
        !          5186:         ]])
        !          5187:       ],[
        !          5188:         AC_MSG_RESULT([yes])
        !          5189:         tst_compi_removexattr="yes"
        !          5190:         tst_nargs_removexattr="2"
        !          5191:       ],[
        !          5192:         AC_MSG_RESULT([no])
        !          5193:         tst_compi_removexattr="no"
        !          5194:       ])
        !          5195:     fi
        !          5196:     if test "$tst_nargs_removexattr" = "unknown"; then
        !          5197:       AC_MSG_CHECKING([if removexattr takes 3 args.])
        !          5198:       AC_COMPILE_IFELSE([
        !          5199:         AC_LANG_PROGRAM([[
        !          5200:           $curl_includes_sys_xattr
        !          5201:         ]],[[
        !          5202:           if(0 != removexattr(0, 0, 0))
        !          5203:             return 1;
        !          5204:         ]])
        !          5205:       ],[
        !          5206:         AC_MSG_RESULT([yes])
        !          5207:         tst_compi_removexattr="yes"
        !          5208:         tst_nargs_removexattr="3"
        !          5209:       ],[
        !          5210:         AC_MSG_RESULT([no])
        !          5211:         tst_compi_removexattr="no"
        !          5212:       ])
        !          5213:     fi
        !          5214:     AC_MSG_CHECKING([if removexattr is compilable])
        !          5215:     if test "$tst_compi_removexattr" = "yes"; then
        !          5216:       AC_MSG_RESULT([yes])
        !          5217:     else
        !          5218:       AC_MSG_RESULT([no])
        !          5219:     fi
        !          5220:   fi
        !          5221:   #
        !          5222:   if test "$tst_compi_removexattr" = "yes"; then
        !          5223:     AC_MSG_CHECKING([if removexattr usage allowed])
        !          5224:     if test "x$curl_disallow_removexattr" != "xyes"; then
        !          5225:       AC_MSG_RESULT([yes])
        !          5226:       tst_allow_removexattr="yes"
        !          5227:     else
        !          5228:       AC_MSG_RESULT([no])
        !          5229:       tst_allow_removexattr="no"
        !          5230:     fi
        !          5231:   fi
        !          5232:   #
        !          5233:   AC_MSG_CHECKING([if removexattr might be used])
        !          5234:   if test "$tst_links_removexattr" = "yes" &&
        !          5235:      test "$tst_proto_removexattr" = "yes" &&
        !          5236:      test "$tst_compi_removexattr" = "yes" &&
        !          5237:      test "$tst_allow_removexattr" = "yes"; then
        !          5238:     AC_MSG_RESULT([yes])
        !          5239:     AC_DEFINE_UNQUOTED(HAVE_REMOVEXATTR, 1,
        !          5240:       [Define to 1 if you have the removexattr function.])
        !          5241:     dnl AC_DEFINE_UNQUOTED(REMOVEXATTR_ARGS, $tst_nargs_removexattr,
        !          5242:     dnl   [Specifies the number of arguments to removexattr])
        !          5243:     #
        !          5244:     if test "$tst_nargs_removexattr" -eq "2"; then
        !          5245:       AC_DEFINE(HAVE_REMOVEXATTR_2, 1, [removexattr() takes 2 args])
        !          5246:     elif test "$tst_nargs_removexattr" -eq "3"; then
        !          5247:       AC_DEFINE(HAVE_REMOVEXATTR_3, 1, [removexattr() takes 3 args])
        !          5248:     fi
        !          5249:     #
        !          5250:     curl_cv_func_removexattr="yes"
        !          5251:   else
        !          5252:     AC_MSG_RESULT([no])
        !          5253:     curl_cv_func_removexattr="no"
        !          5254:   fi
        !          5255: ])
        !          5256: 
        !          5257: 
        !          5258: dnl CURL_CHECK_FUNC_SETSOCKOPT
        !          5259: dnl -------------------------------------------------
        !          5260: dnl Verify if setsockopt is available, prototyped, and
        !          5261: dnl can be compiled. If all of these are true, and
        !          5262: dnl usage has not been previously disallowed with
        !          5263: dnl shell variable curl_disallow_setsockopt, then
        !          5264: dnl HAVE_SETSOCKOPT will be defined.
        !          5265: 
        !          5266: AC_DEFUN([CURL_CHECK_FUNC_SETSOCKOPT], [
        !          5267:   AC_REQUIRE([CURL_INCLUDES_WINSOCK2])dnl
        !          5268:   AC_REQUIRE([CURL_INCLUDES_SYS_SOCKET])dnl
        !          5269:   #
        !          5270:   tst_links_setsockopt="unknown"
        !          5271:   tst_proto_setsockopt="unknown"
        !          5272:   tst_compi_setsockopt="unknown"
        !          5273:   tst_allow_setsockopt="unknown"
        !          5274:   #
        !          5275:   AC_MSG_CHECKING([if setsockopt can be linked])
        !          5276:   AC_LINK_IFELSE([
        !          5277:     AC_LANG_PROGRAM([[
        !          5278:       $curl_includes_winsock2
        !          5279:       $curl_includes_bsdsocket
        !          5280:       $curl_includes_sys_socket
        !          5281:     ]],[[
        !          5282:       if(0 != setsockopt(0, 0, 0, 0, 0))
        !          5283:         return 1;
        !          5284:     ]])
        !          5285:   ],[
        !          5286:     AC_MSG_RESULT([yes])
        !          5287:     tst_links_setsockopt="yes"
        !          5288:   ],[
        !          5289:     AC_MSG_RESULT([no])
        !          5290:     tst_links_setsockopt="no"
        !          5291:   ])
        !          5292:   #
        !          5293:   if test "$tst_links_setsockopt" = "yes"; then
        !          5294:     AC_MSG_CHECKING([if setsockopt is prototyped])
        !          5295:     AC_EGREP_CPP([setsockopt],[
        !          5296:       $curl_includes_winsock2
        !          5297:       $curl_includes_bsdsocket
        !          5298:       $curl_includes_sys_socket
        !          5299:     ],[
        !          5300:       AC_MSG_RESULT([yes])
        !          5301:       tst_proto_setsockopt="yes"
        !          5302:     ],[
        !          5303:       AC_MSG_RESULT([no])
        !          5304:       tst_proto_setsockopt="no"
        !          5305:     ])
        !          5306:   fi
        !          5307:   #
        !          5308:   if test "$tst_proto_setsockopt" = "yes"; then
        !          5309:     AC_MSG_CHECKING([if setsockopt is compilable])
        !          5310:     AC_COMPILE_IFELSE([
        !          5311:       AC_LANG_PROGRAM([[
        !          5312:         $curl_includes_winsock2
        !          5313:       $curl_includes_bsdsocket
        !          5314:         $curl_includes_sys_socket
        !          5315:       ]],[[
        !          5316:         if(0 != setsockopt(0, 0, 0, 0, 0))
        !          5317:           return 1;
        !          5318:       ]])
        !          5319:     ],[
        !          5320:       AC_MSG_RESULT([yes])
        !          5321:       tst_compi_setsockopt="yes"
        !          5322:     ],[
        !          5323:       AC_MSG_RESULT([no])
        !          5324:       tst_compi_setsockopt="no"
        !          5325:     ])
        !          5326:   fi
        !          5327:   #
        !          5328:   if test "$tst_compi_setsockopt" = "yes"; then
        !          5329:     AC_MSG_CHECKING([if setsockopt usage allowed])
        !          5330:     if test "x$curl_disallow_setsockopt" != "xyes"; then
        !          5331:       AC_MSG_RESULT([yes])
        !          5332:       tst_allow_setsockopt="yes"
        !          5333:     else
        !          5334:       AC_MSG_RESULT([no])
        !          5335:       tst_allow_setsockopt="no"
        !          5336:     fi
        !          5337:   fi
        !          5338:   #
        !          5339:   AC_MSG_CHECKING([if setsockopt might be used])
        !          5340:   if test "$tst_links_setsockopt" = "yes" &&
        !          5341:      test "$tst_proto_setsockopt" = "yes" &&
        !          5342:      test "$tst_compi_setsockopt" = "yes" &&
        !          5343:      test "$tst_allow_setsockopt" = "yes"; then
        !          5344:     AC_MSG_RESULT([yes])
        !          5345:     AC_DEFINE_UNQUOTED(HAVE_SETSOCKOPT, 1,
        !          5346:       [Define to 1 if you have the setsockopt function.])
        !          5347:     curl_cv_func_setsockopt="yes"
        !          5348:     CURL_CHECK_FUNC_SETSOCKOPT_SO_NONBLOCK
        !          5349:   else
        !          5350:     AC_MSG_RESULT([no])
        !          5351:     curl_cv_func_setsockopt="no"
        !          5352:   fi
        !          5353: ])
        !          5354: 
        !          5355: 
        !          5356: dnl CURL_CHECK_FUNC_SETSOCKOPT_SO_NONBLOCK
        !          5357: dnl -------------------------------------------------
        !          5358: dnl Verify if setsockopt with the SO_NONBLOCK command is
        !          5359: dnl available, can be compiled, and seems to work. If
        !          5360: dnl all of these are true, then HAVE_SETSOCKOPT_SO_NONBLOCK
        !          5361: dnl will be defined.
        !          5362: 
        !          5363: AC_DEFUN([CURL_CHECK_FUNC_SETSOCKOPT_SO_NONBLOCK], [
        !          5364:   #
        !          5365:   tst_compi_setsockopt_so_nonblock="unknown"
        !          5366:   tst_allow_setsockopt_so_nonblock="unknown"
        !          5367:   #
        !          5368:   if test "$curl_cv_func_setsockopt" = "yes"; then
        !          5369:     AC_MSG_CHECKING([if setsockopt SO_NONBLOCK is compilable])
        !          5370:     AC_COMPILE_IFELSE([
        !          5371:       AC_LANG_PROGRAM([[
        !          5372:         $curl_includes_winsock2
        !          5373:       $curl_includes_bsdsocket
        !          5374:         $curl_includes_sys_socket
        !          5375:       ]],[[
        !          5376:         if(0 != setsockopt(0, SOL_SOCKET, SO_NONBLOCK, 0, 0))
        !          5377:           return 1;
        !          5378:       ]])
        !          5379:     ],[
        !          5380:       AC_MSG_RESULT([yes])
        !          5381:       tst_compi_setsockopt_so_nonblock="yes"
        !          5382:     ],[
        !          5383:       AC_MSG_RESULT([no])
        !          5384:       tst_compi_setsockopt_so_nonblock="no"
        !          5385:     ])
        !          5386:   fi
        !          5387:   #
        !          5388:   if test "$tst_compi_setsockopt_so_nonblock" = "yes"; then
        !          5389:     AC_MSG_CHECKING([if setsockopt SO_NONBLOCK usage allowed])
        !          5390:     if test "x$curl_disallow_setsockopt_so_nonblock" != "xyes"; then
        !          5391:       AC_MSG_RESULT([yes])
        !          5392:       tst_allow_setsockopt_so_nonblock="yes"
        !          5393:     else
        !          5394:       AC_MSG_RESULT([no])
        !          5395:       tst_allow_setsockopt_so_nonblock="no"
        !          5396:     fi
        !          5397:   fi
        !          5398:   #
        !          5399:   AC_MSG_CHECKING([if setsockopt SO_NONBLOCK might be used])
        !          5400:   if test "$tst_compi_setsockopt_so_nonblock" = "yes" &&
        !          5401:      test "$tst_allow_setsockopt_so_nonblock" = "yes"; then
        !          5402:     AC_MSG_RESULT([yes])
        !          5403:     AC_DEFINE_UNQUOTED(HAVE_SETSOCKOPT_SO_NONBLOCK, 1,
        !          5404:       [Define to 1 if you have a working setsockopt SO_NONBLOCK function.])
        !          5405:     curl_cv_func_setsockopt_so_nonblock="yes"
        !          5406:   else
        !          5407:     AC_MSG_RESULT([no])
        !          5408:     curl_cv_func_setsockopt_so_nonblock="no"
        !          5409:   fi
        !          5410: ])
        !          5411: 
        !          5412: 
        !          5413: dnl CURL_CHECK_FUNC_SETXATTR
        !          5414: dnl -------------------------------------------------
        !          5415: dnl Verify if setxattr is available, prototyped, and
        !          5416: dnl can be compiled. If all of these are true, and
        !          5417: dnl usage has not been previously disallowed with
        !          5418: dnl shell variable curl_disallow_setxattr, then
        !          5419: dnl HAVE_SETXATTR will be defined.
        !          5420: 
        !          5421: AC_DEFUN([CURL_CHECK_FUNC_SETXATTR], [
        !          5422:   AC_REQUIRE([CURL_INCLUDES_SYS_XATTR])dnl
        !          5423:   #
        !          5424:   tst_links_setxattr="unknown"
        !          5425:   tst_proto_setxattr="unknown"
        !          5426:   tst_compi_setxattr="unknown"
        !          5427:   tst_allow_setxattr="unknown"
        !          5428:   tst_nargs_setxattr="unknown"
        !          5429:   #
        !          5430:   AC_MSG_CHECKING([if setxattr can be linked])
        !          5431:   AC_LINK_IFELSE([
        !          5432:     AC_LANG_FUNC_LINK_TRY([setxattr])
        !          5433:   ],[
        !          5434:     AC_MSG_RESULT([yes])
        !          5435:     tst_links_setxattr="yes"
        !          5436:   ],[
        !          5437:     AC_MSG_RESULT([no])
        !          5438:     tst_links_setxattr="no"
        !          5439:   ])
        !          5440:   #
        !          5441:   if test "$tst_links_setxattr" = "yes"; then
        !          5442:     AC_MSG_CHECKING([if setxattr is prototyped])
        !          5443:     AC_EGREP_CPP([setxattr],[
        !          5444:       $curl_includes_sys_xattr
        !          5445:     ],[
        !          5446:       AC_MSG_RESULT([yes])
        !          5447:       tst_proto_setxattr="yes"
        !          5448:     ],[
        !          5449:       AC_MSG_RESULT([no])
        !          5450:       tst_proto_setxattr="no"
        !          5451:     ])
        !          5452:   fi
        !          5453:   #
        !          5454:   if test "$tst_proto_setxattr" = "yes"; then
        !          5455:     if test "$tst_nargs_setxattr" = "unknown"; then
        !          5456:       AC_MSG_CHECKING([if setxattr takes 5 args.])
        !          5457:       AC_COMPILE_IFELSE([
        !          5458:         AC_LANG_PROGRAM([[
        !          5459:           $curl_includes_sys_xattr
        !          5460:         ]],[[
        !          5461:           if(0 != setxattr(0, 0, 0, 0, 0))
        !          5462:             return 1;
        !          5463:         ]])
        !          5464:       ],[
        !          5465:         AC_MSG_RESULT([yes])
        !          5466:         tst_compi_setxattr="yes"
        !          5467:         tst_nargs_setxattr="5"
        !          5468:       ],[
        !          5469:         AC_MSG_RESULT([no])
        !          5470:         tst_compi_setxattr="no"
        !          5471:       ])
        !          5472:     fi
        !          5473:     if test "$tst_nargs_setxattr" = "unknown"; then
        !          5474:       AC_MSG_CHECKING([if setxattr takes 6 args.])
        !          5475:       AC_COMPILE_IFELSE([
        !          5476:         AC_LANG_PROGRAM([[
        !          5477:           $curl_includes_sys_xattr
        !          5478:         ]],[[
        !          5479:           if(0 != setxattr(0, 0, 0, 0, 0, 0))
        !          5480:             return 1;
        !          5481:         ]])
        !          5482:       ],[
        !          5483:         AC_MSG_RESULT([yes])
        !          5484:         tst_compi_setxattr="yes"
        !          5485:         tst_nargs_setxattr="6"
        !          5486:       ],[
        !          5487:         AC_MSG_RESULT([no])
        !          5488:         tst_compi_setxattr="no"
        !          5489:       ])
        !          5490:     fi
        !          5491:     AC_MSG_CHECKING([if setxattr is compilable])
        !          5492:     if test "$tst_compi_setxattr" = "yes"; then
        !          5493:       AC_MSG_RESULT([yes])
        !          5494:     else
        !          5495:       AC_MSG_RESULT([no])
        !          5496:     fi
        !          5497:   fi
        !          5498:   #
        !          5499:   if test "$tst_compi_setxattr" = "yes"; then
        !          5500:     AC_MSG_CHECKING([if setxattr usage allowed])
        !          5501:     if test "x$curl_disallow_setxattr" != "xyes"; then
        !          5502:       AC_MSG_RESULT([yes])
        !          5503:       tst_allow_setxattr="yes"
        !          5504:     else
        !          5505:       AC_MSG_RESULT([no])
        !          5506:       tst_allow_setxattr="no"
        !          5507:     fi
        !          5508:   fi
        !          5509:   #
        !          5510:   AC_MSG_CHECKING([if setxattr might be used])
        !          5511:   if test "$tst_links_setxattr" = "yes" &&
        !          5512:      test "$tst_proto_setxattr" = "yes" &&
        !          5513:      test "$tst_compi_setxattr" = "yes" &&
        !          5514:      test "$tst_allow_setxattr" = "yes"; then
        !          5515:     AC_MSG_RESULT([yes])
        !          5516:     AC_DEFINE_UNQUOTED(HAVE_SETXATTR, 1,
        !          5517:       [Define to 1 if you have the setxattr function.])
        !          5518:     dnl AC_DEFINE_UNQUOTED(SETXATTR_ARGS, $tst_nargs_setxattr,
        !          5519:     dnl   [Specifies the number of arguments to setxattr])
        !          5520:     #
        !          5521:     if test "$tst_nargs_setxattr" -eq "5"; then
        !          5522:       AC_DEFINE(HAVE_SETXATTR_5, 1, [setxattr() takes 5 args])
        !          5523:     elif test "$tst_nargs_setxattr" -eq "6"; then
        !          5524:       AC_DEFINE(HAVE_SETXATTR_6, 1, [setxattr() takes 6 args])
        !          5525:     fi
        !          5526:     #
        !          5527:     curl_cv_func_setxattr="yes"
        !          5528:   else
        !          5529:     AC_MSG_RESULT([no])
        !          5530:     curl_cv_func_setxattr="no"
        !          5531:   fi
        !          5532: ])
        !          5533: 
        !          5534: 
        !          5535: dnl CURL_CHECK_FUNC_SIGACTION
        !          5536: dnl -------------------------------------------------
        !          5537: dnl Verify if sigaction is available, prototyped, and
        !          5538: dnl can be compiled. If all of these are true, and
        !          5539: dnl usage has not been previously disallowed with
        !          5540: dnl shell variable curl_disallow_sigaction, then
        !          5541: dnl HAVE_SIGACTION will be defined.
        !          5542: 
        !          5543: AC_DEFUN([CURL_CHECK_FUNC_SIGACTION], [
        !          5544:   AC_REQUIRE([CURL_INCLUDES_SIGNAL])dnl
        !          5545:   #
        !          5546:   tst_links_sigaction="unknown"
        !          5547:   tst_proto_sigaction="unknown"
        !          5548:   tst_compi_sigaction="unknown"
        !          5549:   tst_allow_sigaction="unknown"
        !          5550:   #
        !          5551:   AC_MSG_CHECKING([if sigaction can be linked])
        !          5552:   AC_LINK_IFELSE([
        !          5553:     AC_LANG_FUNC_LINK_TRY([sigaction])
        !          5554:   ],[
        !          5555:     AC_MSG_RESULT([yes])
        !          5556:     tst_links_sigaction="yes"
        !          5557:   ],[
        !          5558:     AC_MSG_RESULT([no])
        !          5559:     tst_links_sigaction="no"
        !          5560:   ])
        !          5561:   #
        !          5562:   if test "$tst_links_sigaction" = "yes"; then
        !          5563:     AC_MSG_CHECKING([if sigaction is prototyped])
        !          5564:     AC_EGREP_CPP([sigaction],[
        !          5565:       $curl_includes_signal
        !          5566:     ],[
        !          5567:       AC_MSG_RESULT([yes])
        !          5568:       tst_proto_sigaction="yes"
        !          5569:     ],[
        !          5570:       AC_MSG_RESULT([no])
        !          5571:       tst_proto_sigaction="no"
        !          5572:     ])
        !          5573:   fi
        !          5574:   #
        !          5575:   if test "$tst_proto_sigaction" = "yes"; then
        !          5576:     AC_MSG_CHECKING([if sigaction is compilable])
        !          5577:     AC_COMPILE_IFELSE([
        !          5578:       AC_LANG_PROGRAM([[
        !          5579:         $curl_includes_signal
        !          5580:       ]],[[
        !          5581:         if(0 != sigaction(0, 0, 0))
        !          5582:           return 1;
        !          5583:       ]])
        !          5584:     ],[
        !          5585:       AC_MSG_RESULT([yes])
        !          5586:       tst_compi_sigaction="yes"
        !          5587:     ],[
        !          5588:       AC_MSG_RESULT([no])
        !          5589:       tst_compi_sigaction="no"
        !          5590:     ])
        !          5591:   fi
        !          5592:   #
        !          5593:   if test "$tst_compi_sigaction" = "yes"; then
        !          5594:     AC_MSG_CHECKING([if sigaction usage allowed])
        !          5595:     if test "x$curl_disallow_sigaction" != "xyes"; then
        !          5596:       AC_MSG_RESULT([yes])
        !          5597:       tst_allow_sigaction="yes"
        !          5598:     else
        !          5599:       AC_MSG_RESULT([no])
        !          5600:       tst_allow_sigaction="no"
        !          5601:     fi
        !          5602:   fi
        !          5603:   #
        !          5604:   AC_MSG_CHECKING([if sigaction might be used])
        !          5605:   if test "$tst_links_sigaction" = "yes" &&
        !          5606:      test "$tst_proto_sigaction" = "yes" &&
        !          5607:      test "$tst_compi_sigaction" = "yes" &&
        !          5608:      test "$tst_allow_sigaction" = "yes"; then
        !          5609:     AC_MSG_RESULT([yes])
        !          5610:     AC_DEFINE_UNQUOTED(HAVE_SIGACTION, 1,
        !          5611:       [Define to 1 if you have the sigaction function.])
        !          5612:     curl_cv_func_sigaction="yes"
        !          5613:   else
        !          5614:     AC_MSG_RESULT([no])
        !          5615:     curl_cv_func_sigaction="no"
        !          5616:   fi
        !          5617: ])
        !          5618: 
        !          5619: 
        !          5620: dnl CURL_CHECK_FUNC_SIGINTERRUPT
        !          5621: dnl -------------------------------------------------
        !          5622: dnl Verify if siginterrupt is available, prototyped, and
        !          5623: dnl can be compiled. If all of these are true, and
        !          5624: dnl usage has not been previously disallowed with
        !          5625: dnl shell variable curl_disallow_siginterrupt, then
        !          5626: dnl HAVE_SIGINTERRUPT will be defined.
        !          5627: 
        !          5628: AC_DEFUN([CURL_CHECK_FUNC_SIGINTERRUPT], [
        !          5629:   AC_REQUIRE([CURL_INCLUDES_SIGNAL])dnl
        !          5630:   #
        !          5631:   tst_links_siginterrupt="unknown"
        !          5632:   tst_proto_siginterrupt="unknown"
        !          5633:   tst_compi_siginterrupt="unknown"
        !          5634:   tst_allow_siginterrupt="unknown"
        !          5635:   #
        !          5636:   AC_MSG_CHECKING([if siginterrupt can be linked])
        !          5637:   AC_LINK_IFELSE([
        !          5638:     AC_LANG_FUNC_LINK_TRY([siginterrupt])
        !          5639:   ],[
        !          5640:     AC_MSG_RESULT([yes])
        !          5641:     tst_links_siginterrupt="yes"
        !          5642:   ],[
        !          5643:     AC_MSG_RESULT([no])
        !          5644:     tst_links_siginterrupt="no"
        !          5645:   ])
        !          5646:   #
        !          5647:   if test "$tst_links_siginterrupt" = "yes"; then
        !          5648:     AC_MSG_CHECKING([if siginterrupt is prototyped])
        !          5649:     AC_EGREP_CPP([siginterrupt],[
        !          5650:       $curl_includes_signal
        !          5651:     ],[
        !          5652:       AC_MSG_RESULT([yes])
        !          5653:       tst_proto_siginterrupt="yes"
        !          5654:     ],[
        !          5655:       AC_MSG_RESULT([no])
        !          5656:       tst_proto_siginterrupt="no"
        !          5657:     ])
        !          5658:   fi
        !          5659:   #
        !          5660:   if test "$tst_proto_siginterrupt" = "yes"; then
        !          5661:     AC_MSG_CHECKING([if siginterrupt is compilable])
        !          5662:     AC_COMPILE_IFELSE([
        !          5663:       AC_LANG_PROGRAM([[
        !          5664:         $curl_includes_signal
        !          5665:       ]],[[
        !          5666:         if(0 != siginterrupt(0, 0))
        !          5667:           return 1;
        !          5668:       ]])
        !          5669:     ],[
        !          5670:       AC_MSG_RESULT([yes])
        !          5671:       tst_compi_siginterrupt="yes"
        !          5672:     ],[
        !          5673:       AC_MSG_RESULT([no])
        !          5674:       tst_compi_siginterrupt="no"
        !          5675:     ])
        !          5676:   fi
        !          5677:   #
        !          5678:   if test "$tst_compi_siginterrupt" = "yes"; then
        !          5679:     AC_MSG_CHECKING([if siginterrupt usage allowed])
        !          5680:     if test "x$curl_disallow_siginterrupt" != "xyes"; then
        !          5681:       AC_MSG_RESULT([yes])
        !          5682:       tst_allow_siginterrupt="yes"
        !          5683:     else
        !          5684:       AC_MSG_RESULT([no])
        !          5685:       tst_allow_siginterrupt="no"
        !          5686:     fi
        !          5687:   fi
        !          5688:   #
        !          5689:   AC_MSG_CHECKING([if siginterrupt might be used])
        !          5690:   if test "$tst_links_siginterrupt" = "yes" &&
        !          5691:      test "$tst_proto_siginterrupt" = "yes" &&
        !          5692:      test "$tst_compi_siginterrupt" = "yes" &&
        !          5693:      test "$tst_allow_siginterrupt" = "yes"; then
        !          5694:     AC_MSG_RESULT([yes])
        !          5695:     AC_DEFINE_UNQUOTED(HAVE_SIGINTERRUPT, 1,
        !          5696:       [Define to 1 if you have the siginterrupt function.])
        !          5697:     curl_cv_func_siginterrupt="yes"
        !          5698:   else
        !          5699:     AC_MSG_RESULT([no])
        !          5700:     curl_cv_func_siginterrupt="no"
        !          5701:   fi
        !          5702: ])
        !          5703: 
        !          5704: 
        !          5705: dnl CURL_CHECK_FUNC_SIGNAL
        !          5706: dnl -------------------------------------------------
        !          5707: dnl Verify if signal is available, prototyped, and
        !          5708: dnl can be compiled. If all of these are true, and
        !          5709: dnl usage has not been previously disallowed with
        !          5710: dnl shell variable curl_disallow_signal, then
        !          5711: dnl HAVE_SIGNAL will be defined.
        !          5712: 
        !          5713: AC_DEFUN([CURL_CHECK_FUNC_SIGNAL], [
        !          5714:   AC_REQUIRE([CURL_INCLUDES_SIGNAL])dnl
        !          5715:   #
        !          5716:   tst_links_signal="unknown"
        !          5717:   tst_proto_signal="unknown"
        !          5718:   tst_compi_signal="unknown"
        !          5719:   tst_allow_signal="unknown"
        !          5720:   #
        !          5721:   AC_MSG_CHECKING([if signal can be linked])
        !          5722:   AC_LINK_IFELSE([
        !          5723:     AC_LANG_FUNC_LINK_TRY([signal])
        !          5724:   ],[
        !          5725:     AC_MSG_RESULT([yes])
        !          5726:     tst_links_signal="yes"
        !          5727:   ],[
        !          5728:     AC_MSG_RESULT([no])
        !          5729:     tst_links_signal="no"
        !          5730:   ])
        !          5731:   #
        !          5732:   if test "$tst_links_signal" = "yes"; then
        !          5733:     AC_MSG_CHECKING([if signal is prototyped])
        !          5734:     AC_EGREP_CPP([signal],[
        !          5735:       $curl_includes_signal
        !          5736:     ],[
        !          5737:       AC_MSG_RESULT([yes])
        !          5738:       tst_proto_signal="yes"
        !          5739:     ],[
        !          5740:       AC_MSG_RESULT([no])
        !          5741:       tst_proto_signal="no"
        !          5742:     ])
        !          5743:   fi
        !          5744:   #
        !          5745:   if test "$tst_proto_signal" = "yes"; then
        !          5746:     AC_MSG_CHECKING([if signal is compilable])
        !          5747:     AC_COMPILE_IFELSE([
        !          5748:       AC_LANG_PROGRAM([[
        !          5749:         $curl_includes_signal
        !          5750:       ]],[[
        !          5751:         if(0 != signal(0, 0))
        !          5752:           return 1;
        !          5753:       ]])
        !          5754:     ],[
        !          5755:       AC_MSG_RESULT([yes])
        !          5756:       tst_compi_signal="yes"
        !          5757:     ],[
        !          5758:       AC_MSG_RESULT([no])
        !          5759:       tst_compi_signal="no"
        !          5760:     ])
        !          5761:   fi
        !          5762:   #
        !          5763:   if test "$tst_compi_signal" = "yes"; then
        !          5764:     AC_MSG_CHECKING([if signal usage allowed])
        !          5765:     if test "x$curl_disallow_signal" != "xyes"; then
        !          5766:       AC_MSG_RESULT([yes])
        !          5767:       tst_allow_signal="yes"
        !          5768:     else
        !          5769:       AC_MSG_RESULT([no])
        !          5770:       tst_allow_signal="no"
        !          5771:     fi
        !          5772:   fi
        !          5773:   #
        !          5774:   AC_MSG_CHECKING([if signal might be used])
        !          5775:   if test "$tst_links_signal" = "yes" &&
        !          5776:      test "$tst_proto_signal" = "yes" &&
        !          5777:      test "$tst_compi_signal" = "yes" &&
        !          5778:      test "$tst_allow_signal" = "yes"; then
        !          5779:     AC_MSG_RESULT([yes])
        !          5780:     AC_DEFINE_UNQUOTED(HAVE_SIGNAL, 1,
        !          5781:       [Define to 1 if you have the signal function.])
        !          5782:     curl_cv_func_signal="yes"
        !          5783:   else
        !          5784:     AC_MSG_RESULT([no])
        !          5785:     curl_cv_func_signal="no"
        !          5786:   fi
        !          5787: ])
        !          5788: 
        !          5789: 
        !          5790: dnl CURL_CHECK_FUNC_SIGSETJMP
        !          5791: dnl -------------------------------------------------
        !          5792: dnl Verify if sigsetjmp is available, prototyped, and
        !          5793: dnl can be compiled. If all of these are true, and
        !          5794: dnl usage has not been previously disallowed with
        !          5795: dnl shell variable curl_disallow_sigsetjmp, then
        !          5796: dnl HAVE_SIGSETJMP will be defined.
        !          5797: 
        !          5798: AC_DEFUN([CURL_CHECK_FUNC_SIGSETJMP], [
        !          5799:   AC_REQUIRE([CURL_INCLUDES_SETJMP])dnl
        !          5800:   #
        !          5801:   tst_links_sigsetjmp="unknown"
        !          5802:   tst_macro_sigsetjmp="unknown"
        !          5803:   tst_proto_sigsetjmp="unknown"
        !          5804:   tst_compi_sigsetjmp="unknown"
        !          5805:   tst_allow_sigsetjmp="unknown"
        !          5806:   #
        !          5807:   AC_MSG_CHECKING([if sigsetjmp can be linked])
        !          5808:   AC_LINK_IFELSE([
        !          5809:     AC_LANG_FUNC_LINK_TRY([sigsetjmp])
        !          5810:   ],[
        !          5811:     AC_MSG_RESULT([yes])
        !          5812:     tst_links_sigsetjmp="yes"
        !          5813:   ],[
        !          5814:     AC_MSG_RESULT([no])
        !          5815:     tst_links_sigsetjmp="no"
        !          5816:   ])
        !          5817:   #
        !          5818:   if test "$tst_links_sigsetjmp" = "no"; then
        !          5819:     AC_MSG_CHECKING([if sigsetjmp seems a macro])
        !          5820:     AC_LINK_IFELSE([
        !          5821:       AC_LANG_PROGRAM([[
        !          5822:         $curl_includes_setjmp
        !          5823:       ]],[[
        !          5824:         sigjmp_buf env;
        !          5825:         if(0 != sigsetjmp(env, 0))
        !          5826:           return 1;
        !          5827:       ]])
        !          5828:     ],[
        !          5829:       AC_MSG_RESULT([yes])
        !          5830:       tst_macro_sigsetjmp="yes"
        !          5831:     ],[
        !          5832:       AC_MSG_RESULT([no])
        !          5833:       tst_macro_sigsetjmp="no"
        !          5834:     ])
        !          5835:   fi
        !          5836:   #
        !          5837:   if test "$tst_links_sigsetjmp" = "yes"; then
        !          5838:     AC_MSG_CHECKING([if sigsetjmp is prototyped])
        !          5839:     AC_EGREP_CPP([sigsetjmp],[
        !          5840:       $curl_includes_setjmp
        !          5841:     ],[
        !          5842:       AC_MSG_RESULT([yes])
        !          5843:       tst_proto_sigsetjmp="yes"
        !          5844:     ],[
        !          5845:       AC_MSG_RESULT([no])
        !          5846:       tst_proto_sigsetjmp="no"
        !          5847:     ])
        !          5848:   fi
        !          5849:   #
        !          5850:   if test "$tst_proto_sigsetjmp" = "yes" ||
        !          5851:      test "$tst_macro_sigsetjmp" = "yes"; then
        !          5852:     AC_MSG_CHECKING([if sigsetjmp is compilable])
        !          5853:     AC_COMPILE_IFELSE([
        !          5854:       AC_LANG_PROGRAM([[
        !          5855:         $curl_includes_setjmp
        !          5856:       ]],[[
        !          5857:         sigjmp_buf env;
        !          5858:         if(0 != sigsetjmp(env, 0))
        !          5859:           return 1;
        !          5860:       ]])
        !          5861:     ],[
        !          5862:       AC_MSG_RESULT([yes])
        !          5863:       tst_compi_sigsetjmp="yes"
        !          5864:     ],[
        !          5865:       AC_MSG_RESULT([no])
        !          5866:       tst_compi_sigsetjmp="no"
        !          5867:     ])
        !          5868:   fi
        !          5869:   #
        !          5870:   if test "$tst_compi_sigsetjmp" = "yes"; then
        !          5871:     AC_MSG_CHECKING([if sigsetjmp usage allowed])
        !          5872:     if test "x$curl_disallow_sigsetjmp" != "xyes"; then
        !          5873:       AC_MSG_RESULT([yes])
        !          5874:       tst_allow_sigsetjmp="yes"
        !          5875:     else
        !          5876:       AC_MSG_RESULT([no])
        !          5877:       tst_allow_sigsetjmp="no"
        !          5878:     fi
        !          5879:   fi
        !          5880:   #
        !          5881:   AC_MSG_CHECKING([if sigsetjmp might be used])
        !          5882:   if (test "$tst_proto_sigsetjmp" = "yes" ||
        !          5883:       test "$tst_macro_sigsetjmp" = "yes") &&
        !          5884:      test "$tst_compi_sigsetjmp" = "yes" &&
        !          5885:      test "$tst_allow_sigsetjmp" = "yes"; then
        !          5886:     AC_MSG_RESULT([yes])
        !          5887:     AC_DEFINE_UNQUOTED(HAVE_SIGSETJMP, 1,
        !          5888:       [Define to 1 if you have the sigsetjmp function or macro.])
        !          5889:     curl_cv_func_sigsetjmp="yes"
        !          5890:   else
        !          5891:     AC_MSG_RESULT([no])
        !          5892:     curl_cv_func_sigsetjmp="no"
        !          5893:   fi
        !          5894: ])
        !          5895: 
        !          5896: 
        !          5897: dnl CURL_CHECK_FUNC_SOCKET
        !          5898: dnl -------------------------------------------------
        !          5899: dnl Verify if socket is available, prototyped, and
        !          5900: dnl can be compiled. If all of these are true, and
        !          5901: dnl usage has not been previously disallowed with
        !          5902: dnl shell variable curl_disallow_socket, then
        !          5903: dnl HAVE_SOCKET will be defined.
        !          5904: 
        !          5905: AC_DEFUN([CURL_CHECK_FUNC_SOCKET], [
        !          5906:   AC_REQUIRE([CURL_INCLUDES_WINSOCK2])dnl
        !          5907:   AC_REQUIRE([CURL_INCLUDES_SYS_SOCKET])dnl
        !          5908:   AC_REQUIRE([CURL_INCLUDES_SOCKET])dnl
        !          5909:   #
        !          5910:   tst_links_socket="unknown"
        !          5911:   tst_proto_socket="unknown"
        !          5912:   tst_compi_socket="unknown"
        !          5913:   tst_allow_socket="unknown"
        !          5914:   #
        !          5915:   AC_MSG_CHECKING([if socket can be linked])
        !          5916:   AC_LINK_IFELSE([
        !          5917:     AC_LANG_PROGRAM([[
        !          5918:       $curl_includes_winsock2
        !          5919:       $curl_includes_bsdsocket
        !          5920:       $curl_includes_sys_socket
        !          5921:       $curl_includes_socket
        !          5922:     ]],[[
        !          5923:       if(0 != socket(0, 0, 0))
        !          5924:         return 1;
        !          5925:     ]])
        !          5926:   ],[
        !          5927:     AC_MSG_RESULT([yes])
        !          5928:     tst_links_socket="yes"
        !          5929:   ],[
        !          5930:     AC_MSG_RESULT([no])
        !          5931:     tst_links_socket="no"
        !          5932:   ])
        !          5933:   #
        !          5934:   if test "$tst_links_socket" = "yes"; then
        !          5935:     AC_MSG_CHECKING([if socket is prototyped])
        !          5936:     AC_EGREP_CPP([socket],[
        !          5937:       $curl_includes_winsock2
        !          5938:       $curl_includes_bsdsocket
        !          5939:       $curl_includes_sys_socket
        !          5940:       $curl_includes_socket
        !          5941:     ],[
        !          5942:       AC_MSG_RESULT([yes])
        !          5943:       tst_proto_socket="yes"
        !          5944:     ],[
        !          5945:       AC_MSG_RESULT([no])
        !          5946:       tst_proto_socket="no"
        !          5947:     ])
        !          5948:   fi
        !          5949:   #
        !          5950:   if test "$tst_proto_socket" = "yes"; then
        !          5951:     AC_MSG_CHECKING([if socket is compilable])
        !          5952:     AC_COMPILE_IFELSE([
        !          5953:       AC_LANG_PROGRAM([[
        !          5954:         $curl_includes_winsock2
        !          5955:       $curl_includes_bsdsocket
        !          5956:         $curl_includes_sys_socket
        !          5957:         $curl_includes_socket
        !          5958:       ]],[[
        !          5959:         if(0 != socket(0, 0, 0))
        !          5960:           return 1;
        !          5961:       ]])
        !          5962:     ],[
        !          5963:       AC_MSG_RESULT([yes])
        !          5964:       tst_compi_socket="yes"
        !          5965:     ],[
        !          5966:       AC_MSG_RESULT([no])
        !          5967:       tst_compi_socket="no"
        !          5968:     ])
        !          5969:   fi
        !          5970:   #
        !          5971:   if test "$tst_compi_socket" = "yes"; then
        !          5972:     AC_MSG_CHECKING([if socket usage allowed])
        !          5973:     if test "x$curl_disallow_socket" != "xyes"; then
        !          5974:       AC_MSG_RESULT([yes])
        !          5975:       tst_allow_socket="yes"
        !          5976:     else
        !          5977:       AC_MSG_RESULT([no])
        !          5978:       tst_allow_socket="no"
        !          5979:     fi
        !          5980:   fi
        !          5981:   #
        !          5982:   AC_MSG_CHECKING([if socket might be used])
        !          5983:   if test "$tst_links_socket" = "yes" &&
        !          5984:      test "$tst_proto_socket" = "yes" &&
        !          5985:      test "$tst_compi_socket" = "yes" &&
        !          5986:      test "$tst_allow_socket" = "yes"; then
        !          5987:     AC_MSG_RESULT([yes])
        !          5988:     AC_DEFINE_UNQUOTED(HAVE_SOCKET, 1,
        !          5989:       [Define to 1 if you have the socket function.])
        !          5990:     curl_cv_func_socket="yes"
        !          5991:   else
        !          5992:     AC_MSG_RESULT([no])
        !          5993:     curl_cv_func_socket="no"
        !          5994:   fi
        !          5995: ])
        !          5996: 
        !          5997: 
        !          5998: dnl CURL_CHECK_FUNC_SOCKETPAIR
        !          5999: dnl -------------------------------------------------
        !          6000: dnl Verify if socketpair is available, prototyped, and
        !          6001: dnl can be compiled. If all of these are true, and
        !          6002: dnl usage has not been previously disallowed with
        !          6003: dnl shell variable curl_disallow_socketpair, then
        !          6004: dnl HAVE_SOCKETPAIR will be defined.
        !          6005: 
        !          6006: AC_DEFUN([CURL_CHECK_FUNC_SOCKETPAIR], [
        !          6007:   AC_REQUIRE([CURL_INCLUDES_SYS_SOCKET])dnl
        !          6008:   AC_REQUIRE([CURL_INCLUDES_SOCKET])dnl
        !          6009:   #
        !          6010:   tst_links_socketpair="unknown"
        !          6011:   tst_proto_socketpair="unknown"
        !          6012:   tst_compi_socketpair="unknown"
        !          6013:   tst_allow_socketpair="unknown"
        !          6014:   #
        !          6015:   AC_MSG_CHECKING([if socketpair can be linked])
        !          6016:   AC_LINK_IFELSE([
        !          6017:     AC_LANG_FUNC_LINK_TRY([socketpair])
        !          6018:   ],[
        !          6019:     AC_MSG_RESULT([yes])
        !          6020:     tst_links_socketpair="yes"
        !          6021:   ],[
        !          6022:     AC_MSG_RESULT([no])
        !          6023:     tst_links_socketpair="no"
        !          6024:   ])
        !          6025:   #
        !          6026:   if test "$tst_links_socketpair" = "yes"; then
        !          6027:     AC_MSG_CHECKING([if socketpair is prototyped])
        !          6028:     AC_EGREP_CPP([socketpair],[
        !          6029:       $curl_includes_sys_socket
        !          6030:       $curl_includes_socket
        !          6031:     ],[
        !          6032:       AC_MSG_RESULT([yes])
        !          6033:       tst_proto_socketpair="yes"
        !          6034:     ],[
        !          6035:       AC_MSG_RESULT([no])
        !          6036:       tst_proto_socketpair="no"
        !          6037:     ])
        !          6038:   fi
        !          6039:   #
        !          6040:   if test "$tst_proto_socketpair" = "yes"; then
        !          6041:     AC_MSG_CHECKING([if socketpair is compilable])
        !          6042:     AC_COMPILE_IFELSE([
        !          6043:       AC_LANG_PROGRAM([[
        !          6044:         $curl_includes_sys_socket
        !          6045:         $curl_includes_socket
        !          6046:       ]],[[
        !          6047:         int sv[2];
        !          6048:         if(0 != socketpair(0, 0, 0, sv))
        !          6049:           return 1;
        !          6050:       ]])
        !          6051:     ],[
        !          6052:       AC_MSG_RESULT([yes])
        !          6053:       tst_compi_socketpair="yes"
        !          6054:     ],[
        !          6055:       AC_MSG_RESULT([no])
        !          6056:       tst_compi_socketpair="no"
        !          6057:     ])
        !          6058:   fi
        !          6059:   #
        !          6060:   if test "$tst_compi_socketpair" = "yes"; then
        !          6061:     AC_MSG_CHECKING([if socketpair usage allowed])
        !          6062:     if test "x$curl_disallow_socketpair" != "xyes"; then
        !          6063:       AC_MSG_RESULT([yes])
        !          6064:       tst_allow_socketpair="yes"
        !          6065:     else
        !          6066:       AC_MSG_RESULT([no])
        !          6067:       tst_allow_socketpair="no"
        !          6068:     fi
        !          6069:   fi
        !          6070:   #
        !          6071:   AC_MSG_CHECKING([if socketpair might be used])
        !          6072:   if test "$tst_links_socketpair" = "yes" &&
        !          6073:      test "$tst_proto_socketpair" = "yes" &&
        !          6074:      test "$tst_compi_socketpair" = "yes" &&
        !          6075:      test "$tst_allow_socketpair" = "yes"; then
        !          6076:     AC_MSG_RESULT([yes])
        !          6077:     AC_DEFINE_UNQUOTED(HAVE_SOCKETPAIR, 1,
        !          6078:       [Define to 1 if you have the socketpair function.])
        !          6079:     curl_cv_func_socketpair="yes"
        !          6080:   else
        !          6081:     AC_MSG_RESULT([no])
        !          6082:     curl_cv_func_socketpair="no"
        !          6083:   fi
        !          6084: ])
        !          6085: 
        !          6086: 
        !          6087: dnl CURL_CHECK_FUNC_STRCASECMP
        !          6088: dnl -------------------------------------------------
        !          6089: dnl Verify if strcasecmp is available, prototyped, and
        !          6090: dnl can be compiled. If all of these are true, and
        !          6091: dnl usage has not been previously disallowed with
        !          6092: dnl shell variable curl_disallow_strcasecmp, then
        !          6093: dnl HAVE_STRCASECMP will be defined.
        !          6094: 
        !          6095: AC_DEFUN([CURL_CHECK_FUNC_STRCASECMP], [
        !          6096:   AC_REQUIRE([CURL_INCLUDES_STRING])dnl
        !          6097:   #
        !          6098:   tst_links_strcasecmp="unknown"
        !          6099:   tst_proto_strcasecmp="unknown"
        !          6100:   tst_compi_strcasecmp="unknown"
        !          6101:   tst_allow_strcasecmp="unknown"
        !          6102:   #
        !          6103:   AC_MSG_CHECKING([if strcasecmp can be linked])
        !          6104:   AC_LINK_IFELSE([
        !          6105:     AC_LANG_FUNC_LINK_TRY([strcasecmp])
        !          6106:   ],[
        !          6107:     AC_MSG_RESULT([yes])
        !          6108:     tst_links_strcasecmp="yes"
        !          6109:   ],[
        !          6110:     AC_MSG_RESULT([no])
        !          6111:     tst_links_strcasecmp="no"
        !          6112:   ])
        !          6113:   #
        !          6114:   if test "$tst_links_strcasecmp" = "yes"; then
        !          6115:     AC_MSG_CHECKING([if strcasecmp is prototyped])
        !          6116:     AC_EGREP_CPP([strcasecmp],[
        !          6117:       $curl_includes_string
        !          6118:     ],[
        !          6119:       AC_MSG_RESULT([yes])
        !          6120:       tst_proto_strcasecmp="yes"
        !          6121:     ],[
        !          6122:       AC_MSG_RESULT([no])
        !          6123:       tst_proto_strcasecmp="no"
        !          6124:     ])
        !          6125:   fi
        !          6126:   #
        !          6127:   if test "$tst_proto_strcasecmp" = "yes"; then
        !          6128:     AC_MSG_CHECKING([if strcasecmp is compilable])
        !          6129:     AC_COMPILE_IFELSE([
        !          6130:       AC_LANG_PROGRAM([[
        !          6131:         $curl_includes_string
        !          6132:       ]],[[
        !          6133:         if(0 != strcasecmp(0, 0))
        !          6134:           return 1;
        !          6135:       ]])
        !          6136:     ],[
        !          6137:       AC_MSG_RESULT([yes])
        !          6138:       tst_compi_strcasecmp="yes"
        !          6139:     ],[
        !          6140:       AC_MSG_RESULT([no])
        !          6141:       tst_compi_strcasecmp="no"
        !          6142:     ])
        !          6143:   fi
        !          6144:   #
        !          6145:   if test "$tst_compi_strcasecmp" = "yes"; then
        !          6146:     AC_MSG_CHECKING([if strcasecmp usage allowed])
        !          6147:     if test "x$curl_disallow_strcasecmp" != "xyes"; then
        !          6148:       AC_MSG_RESULT([yes])
        !          6149:       tst_allow_strcasecmp="yes"
        !          6150:     else
        !          6151:       AC_MSG_RESULT([no])
        !          6152:       tst_allow_strcasecmp="no"
        !          6153:     fi
        !          6154:   fi
        !          6155:   #
        !          6156:   AC_MSG_CHECKING([if strcasecmp might be used])
        !          6157:   if test "$tst_links_strcasecmp" = "yes" &&
        !          6158:      test "$tst_proto_strcasecmp" = "yes" &&
        !          6159:      test "$tst_compi_strcasecmp" = "yes" &&
        !          6160:      test "$tst_allow_strcasecmp" = "yes"; then
        !          6161:     AC_MSG_RESULT([yes])
        !          6162:     AC_DEFINE_UNQUOTED(HAVE_STRCASECMP, 1,
        !          6163:       [Define to 1 if you have the strcasecmp function.])
        !          6164:     curl_cv_func_strcasecmp="yes"
        !          6165:   else
        !          6166:     AC_MSG_RESULT([no])
        !          6167:     curl_cv_func_strcasecmp="no"
        !          6168:   fi
        !          6169: ])
        !          6170: 
        !          6171: dnl CURL_CHECK_FUNC_STRCMPI
        !          6172: dnl -------------------------------------------------
        !          6173: dnl Verify if strcmpi is available, prototyped, and
        !          6174: dnl can be compiled. If all of these are true, and
        !          6175: dnl usage has not been previously disallowed with
        !          6176: dnl shell variable curl_disallow_strcmpi, then
        !          6177: dnl HAVE_STRCMPI will be defined.
        !          6178: 
        !          6179: AC_DEFUN([CURL_CHECK_FUNC_STRCMPI], [
        !          6180:   AC_REQUIRE([CURL_INCLUDES_STRING])dnl
        !          6181:   #
        !          6182:   tst_links_strcmpi="unknown"
        !          6183:   tst_proto_strcmpi="unknown"
        !          6184:   tst_compi_strcmpi="unknown"
        !          6185:   tst_allow_strcmpi="unknown"
        !          6186:   #
        !          6187:   AC_MSG_CHECKING([if strcmpi can be linked])
        !          6188:   AC_LINK_IFELSE([
        !          6189:     AC_LANG_FUNC_LINK_TRY([strcmpi])
        !          6190:   ],[
        !          6191:     AC_MSG_RESULT([yes])
        !          6192:     tst_links_strcmpi="yes"
        !          6193:   ],[
        !          6194:     AC_MSG_RESULT([no])
        !          6195:     tst_links_strcmpi="no"
        !          6196:   ])
        !          6197:   #
        !          6198:   if test "$tst_links_strcmpi" = "yes"; then
        !          6199:     AC_MSG_CHECKING([if strcmpi is prototyped])
        !          6200:     AC_EGREP_CPP([strcmpi],[
        !          6201:       $curl_includes_string
        !          6202:     ],[
        !          6203:       AC_MSG_RESULT([yes])
        !          6204:       tst_proto_strcmpi="yes"
        !          6205:     ],[
        !          6206:       AC_MSG_RESULT([no])
        !          6207:       tst_proto_strcmpi="no"
        !          6208:     ])
        !          6209:   fi
        !          6210:   #
        !          6211:   if test "$tst_proto_strcmpi" = "yes"; then
        !          6212:     AC_MSG_CHECKING([if strcmpi is compilable])
        !          6213:     AC_COMPILE_IFELSE([
        !          6214:       AC_LANG_PROGRAM([[
        !          6215:         $curl_includes_string
        !          6216:       ]],[[
        !          6217:         if(0 != strcmpi(0, 0))
        !          6218:           return 1;
        !          6219:       ]])
        !          6220:     ],[
        !          6221:       AC_MSG_RESULT([yes])
        !          6222:       tst_compi_strcmpi="yes"
        !          6223:     ],[
        !          6224:       AC_MSG_RESULT([no])
        !          6225:       tst_compi_strcmpi="no"
        !          6226:     ])
        !          6227:   fi
        !          6228:   #
        !          6229:   if test "$tst_compi_strcmpi" = "yes"; then
        !          6230:     AC_MSG_CHECKING([if strcmpi usage allowed])
        !          6231:     if test "x$curl_disallow_strcmpi" != "xyes"; then
        !          6232:       AC_MSG_RESULT([yes])
        !          6233:       tst_allow_strcmpi="yes"
        !          6234:     else
        !          6235:       AC_MSG_RESULT([no])
        !          6236:       tst_allow_strcmpi="no"
        !          6237:     fi
        !          6238:   fi
        !          6239:   #
        !          6240:   AC_MSG_CHECKING([if strcmpi might be used])
        !          6241:   if test "$tst_links_strcmpi" = "yes" &&
        !          6242:      test "$tst_proto_strcmpi" = "yes" &&
        !          6243:      test "$tst_compi_strcmpi" = "yes" &&
        !          6244:      test "$tst_allow_strcmpi" = "yes"; then
        !          6245:     AC_MSG_RESULT([yes])
        !          6246:     AC_DEFINE_UNQUOTED(HAVE_STRCMPI, 1,
        !          6247:       [Define to 1 if you have the strcmpi function.])
        !          6248:     curl_cv_func_strcmpi="yes"
        !          6249:   else
        !          6250:     AC_MSG_RESULT([no])
        !          6251:     curl_cv_func_strcmpi="no"
        !          6252:   fi
        !          6253: ])
        !          6254: 
        !          6255: 
        !          6256: dnl CURL_CHECK_FUNC_STRDUP
        !          6257: dnl -------------------------------------------------
        !          6258: dnl Verify if strdup is available, prototyped, and
        !          6259: dnl can be compiled. If all of these are true, and
        !          6260: dnl usage has not been previously disallowed with
        !          6261: dnl shell variable curl_disallow_strdup, then
        !          6262: dnl HAVE_STRDUP will be defined.
        !          6263: 
        !          6264: AC_DEFUN([CURL_CHECK_FUNC_STRDUP], [
        !          6265:   AC_REQUIRE([CURL_INCLUDES_STRING])dnl
        !          6266:   #
        !          6267:   tst_links_strdup="unknown"
        !          6268:   tst_proto_strdup="unknown"
        !          6269:   tst_compi_strdup="unknown"
        !          6270:   tst_allow_strdup="unknown"
        !          6271:   #
        !          6272:   AC_MSG_CHECKING([if strdup can be linked])
        !          6273:   AC_LINK_IFELSE([
        !          6274:     AC_LANG_FUNC_LINK_TRY([strdup])
        !          6275:   ],[
        !          6276:     AC_MSG_RESULT([yes])
        !          6277:     tst_links_strdup="yes"
        !          6278:   ],[
        !          6279:     AC_MSG_RESULT([no])
        !          6280:     tst_links_strdup="no"
        !          6281:   ])
        !          6282:   #
        !          6283:   if test "$tst_links_strdup" = "yes"; then
        !          6284:     AC_MSG_CHECKING([if strdup is prototyped])
        !          6285:     AC_EGREP_CPP([strdup],[
        !          6286:       $curl_includes_string
        !          6287:     ],[
        !          6288:       AC_MSG_RESULT([yes])
        !          6289:       tst_proto_strdup="yes"
        !          6290:     ],[
        !          6291:       AC_MSG_RESULT([no])
        !          6292:       tst_proto_strdup="no"
        !          6293:     ])
        !          6294:   fi
        !          6295:   #
        !          6296:   if test "$tst_proto_strdup" = "yes"; then
        !          6297:     AC_MSG_CHECKING([if strdup is compilable])
        !          6298:     AC_COMPILE_IFELSE([
        !          6299:       AC_LANG_PROGRAM([[
        !          6300:         $curl_includes_string
        !          6301:       ]],[[
        !          6302:         if(0 != strdup(0))
        !          6303:           return 1;
        !          6304:       ]])
        !          6305:     ],[
        !          6306:       AC_MSG_RESULT([yes])
        !          6307:       tst_compi_strdup="yes"
        !          6308:     ],[
        !          6309:       AC_MSG_RESULT([no])
        !          6310:       tst_compi_strdup="no"
        !          6311:     ])
        !          6312:   fi
        !          6313:   #
        !          6314:   if test "$tst_compi_strdup" = "yes"; then
        !          6315:     AC_MSG_CHECKING([if strdup usage allowed])
        !          6316:     if test "x$curl_disallow_strdup" != "xyes"; then
        !          6317:       AC_MSG_RESULT([yes])
        !          6318:       tst_allow_strdup="yes"
        !          6319:     else
        !          6320:       AC_MSG_RESULT([no])
        !          6321:       tst_allow_strdup="no"
        !          6322:     fi
        !          6323:   fi
        !          6324:   #
        !          6325:   AC_MSG_CHECKING([if strdup might be used])
        !          6326:   if test "$tst_links_strdup" = "yes" &&
        !          6327:      test "$tst_proto_strdup" = "yes" &&
        !          6328:      test "$tst_compi_strdup" = "yes" &&
        !          6329:      test "$tst_allow_strdup" = "yes"; then
        !          6330:     AC_MSG_RESULT([yes])
        !          6331:     AC_DEFINE_UNQUOTED(HAVE_STRDUP, 1,
        !          6332:       [Define to 1 if you have the strdup function.])
        !          6333:     curl_cv_func_strdup="yes"
        !          6334:   else
        !          6335:     AC_MSG_RESULT([no])
        !          6336:     curl_cv_func_strdup="no"
        !          6337:   fi
        !          6338: ])
        !          6339: 
        !          6340: 
        !          6341: dnl CURL_CHECK_FUNC_STRERROR_R
        !          6342: dnl -------------------------------------------------
        !          6343: dnl Verify if strerror_r is available, prototyped, can be compiled and
        !          6344: dnl seems to work. If all of these are true, and usage has not been
        !          6345: dnl previously disallowed with shell variable curl_disallow_strerror_r,
        !          6346: dnl then HAVE_STRERROR_R and STRERROR_R_TYPE_ARG3 will be defined, as
        !          6347: dnl well as one of HAVE_GLIBC_STRERROR_R or HAVE_POSIX_STRERROR_R.
        !          6348: dnl
        !          6349: dnl glibc-style strerror_r:
        !          6350: dnl
        !          6351: dnl      char *strerror_r(int errnum, char *workbuf, size_t bufsize);
        !          6352: dnl
        !          6353: dnl  glibc-style strerror_r returns a pointer to the error string,
        !          6354: dnl  and might use the provided workbuf as a scratch area if needed. A
        !          6355: dnl  quick test on a few systems shows that it's usually not used at all.
        !          6356: dnl
        !          6357: dnl POSIX-style strerror_r:
        !          6358: dnl
        !          6359: dnl      int strerror_r(int errnum, char *resultbuf, size_t bufsize);
        !          6360: dnl
        !          6361: dnl  POSIX-style strerror_r returns 0 upon successful completion and the
        !          6362: dnl  error string in the provided resultbuf.
        !          6363: dnl
        !          6364: 
        !          6365: AC_DEFUN([CURL_CHECK_FUNC_STRERROR_R], [
        !          6366:   AC_REQUIRE([CURL_INCLUDES_STDLIB])dnl
        !          6367:   AC_REQUIRE([CURL_INCLUDES_STRING])dnl
        !          6368:   #
        !          6369:   tst_links_strerror_r="unknown"
        !          6370:   tst_proto_strerror_r="unknown"
        !          6371:   tst_compi_strerror_r="unknown"
        !          6372:   tst_glibc_strerror_r="unknown"
        !          6373:   tst_posix_strerror_r="unknown"
        !          6374:   tst_allow_strerror_r="unknown"
        !          6375:   tst_works_glibc_strerror_r="unknown"
        !          6376:   tst_works_posix_strerror_r="unknown"
        !          6377:   tst_glibc_strerror_r_type_arg3="unknown"
        !          6378:   tst_posix_strerror_r_type_arg3="unknown"
        !          6379:   #
        !          6380:   AC_MSG_CHECKING([if strerror_r can be linked])
        !          6381:   AC_LINK_IFELSE([
        !          6382:     AC_LANG_FUNC_LINK_TRY([strerror_r])
        !          6383:   ],[
        !          6384:     AC_MSG_RESULT([yes])
        !          6385:     tst_links_strerror_r="yes"
        !          6386:   ],[
        !          6387:     AC_MSG_RESULT([no])
        !          6388:     tst_links_strerror_r="no"
        !          6389:   ])
        !          6390:   #
        !          6391:   if test "$tst_links_strerror_r" = "yes"; then
        !          6392:     AC_MSG_CHECKING([if strerror_r is prototyped])
        !          6393:     AC_EGREP_CPP([strerror_r],[
        !          6394:       $curl_includes_string
        !          6395:     ],[
        !          6396:       AC_MSG_RESULT([yes])
        !          6397:       tst_proto_strerror_r="yes"
        !          6398:     ],[
        !          6399:       AC_MSG_RESULT([no])
        !          6400:       tst_proto_strerror_r="no"
        !          6401:     ])
        !          6402:   fi
        !          6403:   #
        !          6404:   if test "$tst_proto_strerror_r" = "yes"; then
        !          6405:     AC_MSG_CHECKING([if strerror_r is compilable])
        !          6406:     AC_COMPILE_IFELSE([
        !          6407:       AC_LANG_PROGRAM([[
        !          6408:         $curl_includes_string
        !          6409:       ]],[[
        !          6410:         if(0 != strerror_r(0, 0, 0))
        !          6411:           return 1;
        !          6412:       ]])
        !          6413:     ],[
        !          6414:       AC_MSG_RESULT([yes])
        !          6415:       tst_compi_strerror_r="yes"
        !          6416:     ],[
        !          6417:       AC_MSG_RESULT([no])
        !          6418:       tst_compi_strerror_r="no"
        !          6419:     ])
        !          6420:   fi
        !          6421:   #
        !          6422:   if test "$tst_compi_strerror_r" = "yes"; then
        !          6423:     AC_MSG_CHECKING([if strerror_r is glibc like])
        !          6424:     tst_glibc_strerror_r_type_arg3="unknown"
        !          6425:     for arg3 in 'size_t' 'int' 'unsigned int'; do
        !          6426:       if test "$tst_glibc_strerror_r_type_arg3" = "unknown"; then
        !          6427:         AC_COMPILE_IFELSE([
        !          6428:           AC_LANG_PROGRAM([[
        !          6429:             $curl_includes_string
        !          6430:             char *strerror_r(int errnum, char *workbuf, $arg3 bufsize);
        !          6431:           ]],[[
        !          6432:             if(0 != strerror_r(0, 0, 0))
        !          6433:               return 1;
        !          6434:           ]])
        !          6435:         ],[
        !          6436:           tst_glibc_strerror_r_type_arg3="$arg3"
        !          6437:         ])
        !          6438:       fi
        !          6439:     done
        !          6440:     case "$tst_glibc_strerror_r_type_arg3" in
        !          6441:       unknown)
        !          6442:         AC_MSG_RESULT([no])
        !          6443:         tst_glibc_strerror_r="no"
        !          6444:         ;;
        !          6445:       *)
        !          6446:         AC_MSG_RESULT([yes])
        !          6447:         tst_glibc_strerror_r="yes"
        !          6448:         ;;
        !          6449:     esac
        !          6450:   fi
        !          6451:   #
        !          6452:   dnl only do runtime verification when not cross-compiling
        !          6453:   if test "x$cross_compiling" != "xyes" &&
        !          6454:     test "$tst_glibc_strerror_r" = "yes"; then
        !          6455:     AC_MSG_CHECKING([if strerror_r seems to work])
        !          6456:     CURL_RUN_IFELSE([
        !          6457:       AC_LANG_PROGRAM([[
        !          6458:         $curl_includes_stdlib
        !          6459:         $curl_includes_string
        !          6460: #       include <errno.h>
        !          6461:       ]],[[
        !          6462:         char buffer[1024];
        !          6463:         char *string = 0;
        !          6464:         buffer[0] = '\0';
        !          6465:         string = strerror_r(EACCES, buffer, sizeof(buffer));
        !          6466:         if(!string)
        !          6467:           exit(1); /* fail */
        !          6468:         if(!string[0])
        !          6469:           exit(1); /* fail */
        !          6470:         else
        !          6471:           exit(0);
        !          6472:       ]])
        !          6473:     ],[
        !          6474:       AC_MSG_RESULT([yes])
        !          6475:       tst_works_glibc_strerror_r="yes"
        !          6476:     ],[
        !          6477:       AC_MSG_RESULT([no])
        !          6478:       tst_works_glibc_strerror_r="no"
        !          6479:     ])
        !          6480:   fi
        !          6481:   #
        !          6482:   if test "$tst_compi_strerror_r" = "yes" &&
        !          6483:     test "$tst_works_glibc_strerror_r" != "yes"; then
        !          6484:     AC_MSG_CHECKING([if strerror_r is POSIX like])
        !          6485:     tst_posix_strerror_r_type_arg3="unknown"
        !          6486:     for arg3 in 'size_t' 'int' 'unsigned int'; do
        !          6487:       if test "$tst_posix_strerror_r_type_arg3" = "unknown"; then
        !          6488:         AC_COMPILE_IFELSE([
        !          6489:           AC_LANG_PROGRAM([[
        !          6490:             $curl_includes_string
        !          6491:             int strerror_r(int errnum, char *resultbuf, $arg3 bufsize);
        !          6492:           ]],[[
        !          6493:             if(0 != strerror_r(0, 0, 0))
        !          6494:               return 1;
        !          6495:           ]])
        !          6496:         ],[
        !          6497:           tst_posix_strerror_r_type_arg3="$arg3"
        !          6498:         ])
        !          6499:       fi
        !          6500:     done
        !          6501:     case "$tst_posix_strerror_r_type_arg3" in
        !          6502:       unknown)
        !          6503:         AC_MSG_RESULT([no])
        !          6504:         tst_posix_strerror_r="no"
        !          6505:         ;;
        !          6506:       *)
        !          6507:         AC_MSG_RESULT([yes])
        !          6508:         tst_posix_strerror_r="yes"
        !          6509:         ;;
        !          6510:     esac
        !          6511:   fi
        !          6512:   #
        !          6513:   dnl only do runtime verification when not cross-compiling
        !          6514:   if test "x$cross_compiling" != "xyes" &&
        !          6515:     test "$tst_posix_strerror_r" = "yes"; then
        !          6516:     AC_MSG_CHECKING([if strerror_r seems to work])
        !          6517:     CURL_RUN_IFELSE([
        !          6518:       AC_LANG_PROGRAM([[
        !          6519:         $curl_includes_stdlib
        !          6520:         $curl_includes_string
        !          6521: #       include <errno.h>
        !          6522:       ]],[[
        !          6523:         char buffer[1024];
        !          6524:         int error = 1;
        !          6525:         buffer[0] = '\0';
        !          6526:         error = strerror_r(EACCES, buffer, sizeof(buffer));
        !          6527:         if(error)
        !          6528:           exit(1); /* fail */
        !          6529:         if(buffer[0] == '\0')
        !          6530:           exit(1); /* fail */
        !          6531:         else
        !          6532:           exit(0);
        !          6533:       ]])
        !          6534:     ],[
        !          6535:       AC_MSG_RESULT([yes])
        !          6536:       tst_works_posix_strerror_r="yes"
        !          6537:     ],[
        !          6538:       AC_MSG_RESULT([no])
        !          6539:       tst_works_posix_strerror_r="no"
        !          6540:     ])
        !          6541:   fi
        !          6542:   #
        !          6543:   if test "$tst_works_glibc_strerror_r" = "yes"; then
        !          6544:     tst_posix_strerror_r="no"
        !          6545:   fi
        !          6546:   if test "$tst_works_posix_strerror_r" = "yes"; then
        !          6547:     tst_glibc_strerror_r="no"
        !          6548:   fi
        !          6549:   if test "$tst_glibc_strerror_r" = "yes" &&
        !          6550:     test "$tst_works_glibc_strerror_r" != "no" &&
        !          6551:     test "$tst_posix_strerror_r" != "yes"; then
        !          6552:     tst_allow_strerror_r="check"
        !          6553:   fi
        !          6554:   if test "$tst_posix_strerror_r" = "yes" &&
        !          6555:     test "$tst_works_posix_strerror_r" != "no" &&
        !          6556:     test "$tst_glibc_strerror_r" != "yes"; then
        !          6557:     tst_allow_strerror_r="check"
        !          6558:   fi
        !          6559:   if test "$tst_allow_strerror_r" = "check"; then
        !          6560:     AC_MSG_CHECKING([if strerror_r usage allowed])
        !          6561:     if test "x$curl_disallow_strerror_r" != "xyes"; then
        !          6562:       AC_MSG_RESULT([yes])
        !          6563:       tst_allow_strerror_r="yes"
        !          6564:     else
        !          6565:       AC_MSG_RESULT([no])
        !          6566:       tst_allow_strerror_r="no"
        !          6567:     fi
        !          6568:   fi
        !          6569:   #
        !          6570:   AC_MSG_CHECKING([if strerror_r might be used])
        !          6571:   if test "$tst_links_strerror_r" = "yes" &&
        !          6572:      test "$tst_proto_strerror_r" = "yes" &&
        !          6573:      test "$tst_compi_strerror_r" = "yes" &&
        !          6574:      test "$tst_allow_strerror_r" = "yes"; then
        !          6575:     AC_MSG_RESULT([yes])
        !          6576:     if test "$tst_glibc_strerror_r" = "yes"; then
        !          6577:       AC_DEFINE_UNQUOTED(HAVE_STRERROR_R, 1,
        !          6578:         [Define to 1 if you have the strerror_r function.])
        !          6579:       AC_DEFINE_UNQUOTED(HAVE_GLIBC_STRERROR_R, 1,
        !          6580:         [Define to 1 if you have a working glibc-style strerror_r function.])
        !          6581:       AC_DEFINE_UNQUOTED(STRERROR_R_TYPE_ARG3, $tst_glibc_strerror_r_type_arg3,
        !          6582:         [Define to the type of arg 3 for strerror_r.])
        !          6583:     fi
        !          6584:     if test "$tst_posix_strerror_r" = "yes"; then
        !          6585:       AC_DEFINE_UNQUOTED(HAVE_STRERROR_R, 1,
        !          6586:         [Define to 1 if you have the strerror_r function.])
        !          6587:       AC_DEFINE_UNQUOTED(HAVE_POSIX_STRERROR_R, 1,
        !          6588:         [Define to 1 if you have a working POSIX-style strerror_r function.])
        !          6589:       AC_DEFINE_UNQUOTED(STRERROR_R_TYPE_ARG3, $tst_posix_strerror_r_type_arg3,
        !          6590:         [Define to the type of arg 3 for strerror_r.])
        !          6591:     fi
        !          6592:     curl_cv_func_strerror_r="yes"
        !          6593:   else
        !          6594:     AC_MSG_RESULT([no])
        !          6595:     curl_cv_func_strerror_r="no"
        !          6596:   fi
        !          6597:   #
        !          6598:   if test "$tst_compi_strerror_r" = "yes" &&
        !          6599:      test "$tst_allow_strerror_r" = "unknown"; then
        !          6600:     AC_MSG_WARN([cannot determine strerror_r() style: edit lib/curl_config.h manually.])
        !          6601:   fi
        !          6602:   #
        !          6603: ])
        !          6604: 
        !          6605: 
        !          6606: dnl CURL_CHECK_FUNC_STRICMP
        !          6607: dnl -------------------------------------------------
        !          6608: dnl Verify if stricmp is available, prototyped, and
        !          6609: dnl can be compiled. If all of these are true, and
        !          6610: dnl usage has not been previously disallowed with
        !          6611: dnl shell variable curl_disallow_stricmp, then
        !          6612: dnl HAVE_STRICMP will be defined.
        !          6613: 
        !          6614: AC_DEFUN([CURL_CHECK_FUNC_STRICMP], [
        !          6615:   AC_REQUIRE([CURL_INCLUDES_STRING])dnl
        !          6616:   #
        !          6617:   tst_links_stricmp="unknown"
        !          6618:   tst_proto_stricmp="unknown"
        !          6619:   tst_compi_stricmp="unknown"
        !          6620:   tst_allow_stricmp="unknown"
        !          6621:   #
        !          6622:   AC_MSG_CHECKING([if stricmp can be linked])
        !          6623:   AC_LINK_IFELSE([
        !          6624:     AC_LANG_FUNC_LINK_TRY([stricmp])
        !          6625:   ],[
        !          6626:     AC_MSG_RESULT([yes])
        !          6627:     tst_links_stricmp="yes"
        !          6628:   ],[
        !          6629:     AC_MSG_RESULT([no])
        !          6630:     tst_links_stricmp="no"
        !          6631:   ])
        !          6632:   #
        !          6633:   if test "$tst_links_stricmp" = "yes"; then
        !          6634:     AC_MSG_CHECKING([if stricmp is prototyped])
        !          6635:     AC_EGREP_CPP([stricmp],[
        !          6636:       $curl_includes_string
        !          6637:     ],[
        !          6638:       AC_MSG_RESULT([yes])
        !          6639:       tst_proto_stricmp="yes"
        !          6640:     ],[
        !          6641:       AC_MSG_RESULT([no])
        !          6642:       tst_proto_stricmp="no"
        !          6643:     ])
        !          6644:   fi
        !          6645:   #
        !          6646:   if test "$tst_proto_stricmp" = "yes"; then
        !          6647:     AC_MSG_CHECKING([if stricmp is compilable])
        !          6648:     AC_COMPILE_IFELSE([
        !          6649:       AC_LANG_PROGRAM([[
        !          6650:         $curl_includes_string
        !          6651:       ]],[[
        !          6652:         if(0 != stricmp(0, 0))
        !          6653:           return 1;
        !          6654:       ]])
        !          6655:     ],[
        !          6656:       AC_MSG_RESULT([yes])
        !          6657:       tst_compi_stricmp="yes"
        !          6658:     ],[
        !          6659:       AC_MSG_RESULT([no])
        !          6660:       tst_compi_stricmp="no"
        !          6661:     ])
        !          6662:   fi
        !          6663:   #
        !          6664:   if test "$tst_compi_stricmp" = "yes"; then
        !          6665:     AC_MSG_CHECKING([if stricmp usage allowed])
        !          6666:     if test "x$curl_disallow_stricmp" != "xyes"; then
        !          6667:       AC_MSG_RESULT([yes])
        !          6668:       tst_allow_stricmp="yes"
        !          6669:     else
        !          6670:       AC_MSG_RESULT([no])
        !          6671:       tst_allow_stricmp="no"
        !          6672:     fi
        !          6673:   fi
        !          6674:   #
        !          6675:   AC_MSG_CHECKING([if stricmp might be used])
        !          6676:   if test "$tst_links_stricmp" = "yes" &&
        !          6677:      test "$tst_proto_stricmp" = "yes" &&
        !          6678:      test "$tst_compi_stricmp" = "yes" &&
        !          6679:      test "$tst_allow_stricmp" = "yes"; then
        !          6680:     AC_MSG_RESULT([yes])
        !          6681:     AC_DEFINE_UNQUOTED(HAVE_STRICMP, 1,
        !          6682:       [Define to 1 if you have the stricmp function.])
        !          6683:     curl_cv_func_stricmp="yes"
        !          6684:   else
        !          6685:     AC_MSG_RESULT([no])
        !          6686:     curl_cv_func_stricmp="no"
        !          6687:   fi
        !          6688: ])
        !          6689: 
        !          6690: dnl CURL_CHECK_FUNC_STRNCASECMP
        !          6691: dnl -------------------------------------------------
        !          6692: dnl Verify if strncasecmp is available, prototyped, and
        !          6693: dnl can be compiled. If all of these are true, and
        !          6694: dnl usage has not been previously disallowed with
        !          6695: dnl shell variable curl_disallow_strncasecmp, then
        !          6696: dnl HAVE_STRNCASECMP will be defined.
        !          6697: 
        !          6698: AC_DEFUN([CURL_CHECK_FUNC_STRNCASECMP], [
        !          6699:   AC_REQUIRE([CURL_INCLUDES_STRING])dnl
        !          6700:   #
        !          6701:   tst_links_strncasecmp="unknown"
        !          6702:   tst_proto_strncasecmp="unknown"
        !          6703:   tst_compi_strncasecmp="unknown"
        !          6704:   tst_allow_strncasecmp="unknown"
        !          6705:   #
        !          6706:   AC_MSG_CHECKING([if strncasecmp can be linked])
        !          6707:   AC_LINK_IFELSE([
        !          6708:     AC_LANG_FUNC_LINK_TRY([strncasecmp])
        !          6709:   ],[
        !          6710:     AC_MSG_RESULT([yes])
        !          6711:     tst_links_strncasecmp="yes"
        !          6712:   ],[
        !          6713:     AC_MSG_RESULT([no])
        !          6714:     tst_links_strncasecmp="no"
        !          6715:   ])
        !          6716:   #
        !          6717:   if test "$tst_links_strncasecmp" = "yes"; then
        !          6718:     AC_MSG_CHECKING([if strncasecmp is prototyped])
        !          6719:     AC_EGREP_CPP([strncasecmp],[
        !          6720:       $curl_includes_string
        !          6721:     ],[
        !          6722:       AC_MSG_RESULT([yes])
        !          6723:       tst_proto_strncasecmp="yes"
        !          6724:     ],[
        !          6725:       AC_MSG_RESULT([no])
        !          6726:       tst_proto_strncasecmp="no"
        !          6727:     ])
        !          6728:   fi
        !          6729:   #
        !          6730:   if test "$tst_proto_strncasecmp" = "yes"; then
        !          6731:     AC_MSG_CHECKING([if strncasecmp is compilable])
        !          6732:     AC_COMPILE_IFELSE([
        !          6733:       AC_LANG_PROGRAM([[
        !          6734:         $curl_includes_string
        !          6735:       ]],[[
        !          6736:         if(0 != strncasecmp(0, 0, 0))
        !          6737:           return 1;
        !          6738:       ]])
        !          6739:     ],[
        !          6740:       AC_MSG_RESULT([yes])
        !          6741:       tst_compi_strncasecmp="yes"
        !          6742:     ],[
        !          6743:       AC_MSG_RESULT([no])
        !          6744:       tst_compi_strncasecmp="no"
        !          6745:     ])
        !          6746:   fi
        !          6747:   #
        !          6748:   if test "$tst_compi_strncasecmp" = "yes"; then
        !          6749:     AC_MSG_CHECKING([if strncasecmp usage allowed])
        !          6750:     if test "x$curl_disallow_strncasecmp" != "xyes"; then
        !          6751:       AC_MSG_RESULT([yes])
        !          6752:       tst_allow_strncasecmp="yes"
        !          6753:     else
        !          6754:       AC_MSG_RESULT([no])
        !          6755:       tst_allow_strncasecmp="no"
        !          6756:     fi
        !          6757:   fi
        !          6758:   #
        !          6759:   AC_MSG_CHECKING([if strncasecmp might be used])
        !          6760:   if test "$tst_links_strncasecmp" = "yes" &&
        !          6761:      test "$tst_proto_strncasecmp" = "yes" &&
        !          6762:      test "$tst_compi_strncasecmp" = "yes" &&
        !          6763:      test "$tst_allow_strncasecmp" = "yes"; then
        !          6764:     AC_MSG_RESULT([yes])
        !          6765:     AC_DEFINE_UNQUOTED(HAVE_STRNCASECMP, 1,
        !          6766:       [Define to 1 if you have the strncasecmp function.])
        !          6767:     curl_cv_func_strncasecmp="yes"
        !          6768:   else
        !          6769:     AC_MSG_RESULT([no])
        !          6770:     curl_cv_func_strncasecmp="no"
        !          6771:   fi
        !          6772: ])
        !          6773: 
        !          6774: 
        !          6775: dnl CURL_CHECK_FUNC_STRNCMPI
        !          6776: dnl -------------------------------------------------
        !          6777: dnl Verify if strncmpi is available, prototyped, and
        !          6778: dnl can be compiled. If all of these are true, and
        !          6779: dnl usage has not been previously disallowed with
        !          6780: dnl shell variable curl_disallow_strncmpi, then
        !          6781: dnl HAVE_STRNCMPI will be defined.
        !          6782: 
        !          6783: AC_DEFUN([CURL_CHECK_FUNC_STRNCMPI], [
        !          6784:   AC_REQUIRE([CURL_INCLUDES_STRING])dnl
        !          6785:   #
        !          6786:   tst_links_strncmpi="unknown"
        !          6787:   tst_proto_strncmpi="unknown"
        !          6788:   tst_compi_strncmpi="unknown"
        !          6789:   tst_allow_strncmpi="unknown"
        !          6790:   #
        !          6791:   AC_MSG_CHECKING([if strncmpi can be linked])
        !          6792:   AC_LINK_IFELSE([
        !          6793:     AC_LANG_FUNC_LINK_TRY([strncmpi])
        !          6794:   ],[
        !          6795:     AC_MSG_RESULT([yes])
        !          6796:     tst_links_strncmpi="yes"
        !          6797:   ],[
        !          6798:     AC_MSG_RESULT([no])
        !          6799:     tst_links_strncmpi="no"
        !          6800:   ])
        !          6801:   #
        !          6802:   if test "$tst_links_strncmpi" = "yes"; then
        !          6803:     AC_MSG_CHECKING([if strncmpi is prototyped])
        !          6804:     AC_EGREP_CPP([strncmpi],[
        !          6805:       $curl_includes_string
        !          6806:     ],[
        !          6807:       AC_MSG_RESULT([yes])
        !          6808:       tst_proto_strncmpi="yes"
        !          6809:     ],[
        !          6810:       AC_MSG_RESULT([no])
        !          6811:       tst_proto_strncmpi="no"
        !          6812:     ])
        !          6813:   fi
        !          6814:   #
        !          6815:   if test "$tst_proto_strncmpi" = "yes"; then
        !          6816:     AC_MSG_CHECKING([if strncmpi is compilable])
        !          6817:     AC_COMPILE_IFELSE([
        !          6818:       AC_LANG_PROGRAM([[
        !          6819:         $curl_includes_string
        !          6820:       ]],[[
        !          6821:         if(0 != strncmpi(0, 0))
        !          6822:           return 1;
        !          6823:       ]])
        !          6824:     ],[
        !          6825:       AC_MSG_RESULT([yes])
        !          6826:       tst_compi_strncmpi="yes"
        !          6827:     ],[
        !          6828:       AC_MSG_RESULT([no])
        !          6829:       tst_compi_strncmpi="no"
        !          6830:     ])
        !          6831:   fi
        !          6832:   #
        !          6833:   if test "$tst_compi_strncmpi" = "yes"; then
        !          6834:     AC_MSG_CHECKING([if strncmpi usage allowed])
        !          6835:     if test "x$curl_disallow_strncmpi" != "xyes"; then
        !          6836:       AC_MSG_RESULT([yes])
        !          6837:       tst_allow_strncmpi="yes"
        !          6838:     else
        !          6839:       AC_MSG_RESULT([no])
        !          6840:       tst_allow_strncmpi="no"
        !          6841:     fi
        !          6842:   fi
        !          6843:   #
        !          6844:   AC_MSG_CHECKING([if strncmpi might be used])
        !          6845:   if test "$tst_links_strncmpi" = "yes" &&
        !          6846:      test "$tst_proto_strncmpi" = "yes" &&
        !          6847:      test "$tst_compi_strncmpi" = "yes" &&
        !          6848:      test "$tst_allow_strncmpi" = "yes"; then
        !          6849:     AC_MSG_RESULT([yes])
        !          6850:     AC_DEFINE_UNQUOTED(HAVE_STRNCMPI, 1,
        !          6851:       [Define to 1 if you have the strncmpi function.])
        !          6852:     curl_cv_func_strncmpi="yes"
        !          6853:   else
        !          6854:     AC_MSG_RESULT([no])
        !          6855:     curl_cv_func_strncmpi="no"
        !          6856:   fi
        !          6857: ])
        !          6858: 
        !          6859: 
        !          6860: dnl CURL_CHECK_FUNC_STRNICMP
        !          6861: dnl -------------------------------------------------
        !          6862: dnl Verify if strnicmp is available, prototyped, and
        !          6863: dnl can be compiled. If all of these are true, and
        !          6864: dnl usage has not been previously disallowed with
        !          6865: dnl shell variable curl_disallow_strnicmp, then
        !          6866: dnl HAVE_STRNICMP will be defined.
        !          6867: 
        !          6868: AC_DEFUN([CURL_CHECK_FUNC_STRNICMP], [
        !          6869:   AC_REQUIRE([CURL_INCLUDES_STRING])dnl
        !          6870:   #
        !          6871:   tst_links_strnicmp="unknown"
        !          6872:   tst_proto_strnicmp="unknown"
        !          6873:   tst_compi_strnicmp="unknown"
        !          6874:   tst_allow_strnicmp="unknown"
        !          6875:   #
        !          6876:   AC_MSG_CHECKING([if strnicmp can be linked])
        !          6877:   AC_LINK_IFELSE([
        !          6878:     AC_LANG_FUNC_LINK_TRY([strnicmp])
        !          6879:   ],[
        !          6880:     AC_MSG_RESULT([yes])
        !          6881:     tst_links_strnicmp="yes"
        !          6882:   ],[
        !          6883:     AC_MSG_RESULT([no])
        !          6884:     tst_links_strnicmp="no"
        !          6885:   ])
        !          6886:   #
        !          6887:   if test "$tst_links_strnicmp" = "yes"; then
        !          6888:     AC_MSG_CHECKING([if strnicmp is prototyped])
        !          6889:     AC_EGREP_CPP([strnicmp],[
        !          6890:       $curl_includes_string
        !          6891:     ],[
        !          6892:       AC_MSG_RESULT([yes])
        !          6893:       tst_proto_strnicmp="yes"
        !          6894:     ],[
        !          6895:       AC_MSG_RESULT([no])
        !          6896:       tst_proto_strnicmp="no"
        !          6897:     ])
        !          6898:   fi
        !          6899:   #
        !          6900:   if test "$tst_proto_strnicmp" = "yes"; then
        !          6901:     AC_MSG_CHECKING([if strnicmp is compilable])
        !          6902:     AC_COMPILE_IFELSE([
        !          6903:       AC_LANG_PROGRAM([[
        !          6904:         $curl_includes_string
        !          6905:       ]],[[
        !          6906:         if(0 != strnicmp(0, 0))
        !          6907:           return 1;
        !          6908:       ]])
        !          6909:     ],[
        !          6910:       AC_MSG_RESULT([yes])
        !          6911:       tst_compi_strnicmp="yes"
        !          6912:     ],[
        !          6913:       AC_MSG_RESULT([no])
        !          6914:       tst_compi_strnicmp="no"
        !          6915:     ])
        !          6916:   fi
        !          6917:   #
        !          6918:   if test "$tst_compi_strnicmp" = "yes"; then
        !          6919:     AC_MSG_CHECKING([if strnicmp usage allowed])
        !          6920:     if test "x$curl_disallow_strnicmp" != "xyes"; then
        !          6921:       AC_MSG_RESULT([yes])
        !          6922:       tst_allow_strnicmp="yes"
        !          6923:     else
        !          6924:       AC_MSG_RESULT([no])
        !          6925:       tst_allow_strnicmp="no"
        !          6926:     fi
        !          6927:   fi
        !          6928:   #
        !          6929:   AC_MSG_CHECKING([if strnicmp might be used])
        !          6930:   if test "$tst_links_strnicmp" = "yes" &&
        !          6931:      test "$tst_proto_strnicmp" = "yes" &&
        !          6932:      test "$tst_compi_strnicmp" = "yes" &&
        !          6933:      test "$tst_allow_strnicmp" = "yes"; then
        !          6934:     AC_MSG_RESULT([yes])
        !          6935:     AC_DEFINE_UNQUOTED(HAVE_STRNICMP, 1,
        !          6936:       [Define to 1 if you have the strnicmp function.])
        !          6937:     curl_cv_func_strnicmp="yes"
        !          6938:   else
        !          6939:     AC_MSG_RESULT([no])
        !          6940:     curl_cv_func_strnicmp="no"
        !          6941:   fi
        !          6942: ])
        !          6943: 
        !          6944: 
        !          6945: dnl CURL_CHECK_FUNC_STRSTR
        !          6946: dnl -------------------------------------------------
        !          6947: dnl Verify if strstr is available, prototyped, and
        !          6948: dnl can be compiled. If all of these are true, and
        !          6949: dnl usage has not been previously disallowed with
        !          6950: dnl shell variable curl_disallow_strstr, then
        !          6951: dnl HAVE_STRSTR will be defined.
        !          6952: 
        !          6953: AC_DEFUN([CURL_CHECK_FUNC_STRSTR], [
        !          6954:   AC_REQUIRE([CURL_INCLUDES_STRING])dnl
        !          6955:   #
        !          6956:   tst_links_strstr="unknown"
        !          6957:   tst_proto_strstr="unknown"
        !          6958:   tst_compi_strstr="unknown"
        !          6959:   tst_allow_strstr="unknown"
        !          6960:   #
        !          6961:   AC_MSG_CHECKING([if strstr can be linked])
        !          6962:   AC_LINK_IFELSE([
        !          6963:     AC_LANG_FUNC_LINK_TRY([strstr])
        !          6964:   ],[
        !          6965:     AC_MSG_RESULT([yes])
        !          6966:     tst_links_strstr="yes"
        !          6967:   ],[
        !          6968:     AC_MSG_RESULT([no])
        !          6969:     tst_links_strstr="no"
        !          6970:   ])
        !          6971:   #
        !          6972:   if test "$tst_links_strstr" = "yes"; then
        !          6973:     AC_MSG_CHECKING([if strstr is prototyped])
        !          6974:     AC_EGREP_CPP([strstr],[
        !          6975:       $curl_includes_string
        !          6976:     ],[
        !          6977:       AC_MSG_RESULT([yes])
        !          6978:       tst_proto_strstr="yes"
        !          6979:     ],[
        !          6980:       AC_MSG_RESULT([no])
        !          6981:       tst_proto_strstr="no"
        !          6982:     ])
        !          6983:   fi
        !          6984:   #
        !          6985:   if test "$tst_proto_strstr" = "yes"; then
        !          6986:     AC_MSG_CHECKING([if strstr is compilable])
        !          6987:     AC_COMPILE_IFELSE([
        !          6988:       AC_LANG_PROGRAM([[
        !          6989:         $curl_includes_string
        !          6990:       ]],[[
        !          6991:         if(0 != strstr(0, 0))
        !          6992:           return 1;
        !          6993:       ]])
        !          6994:     ],[
        !          6995:       AC_MSG_RESULT([yes])
        !          6996:       tst_compi_strstr="yes"
        !          6997:     ],[
        !          6998:       AC_MSG_RESULT([no])
        !          6999:       tst_compi_strstr="no"
        !          7000:     ])
        !          7001:   fi
        !          7002:   #
        !          7003:   if test "$tst_compi_strstr" = "yes"; then
        !          7004:     AC_MSG_CHECKING([if strstr usage allowed])
        !          7005:     if test "x$curl_disallow_strstr" != "xyes"; then
        !          7006:       AC_MSG_RESULT([yes])
        !          7007:       tst_allow_strstr="yes"
        !          7008:     else
        !          7009:       AC_MSG_RESULT([no])
        !          7010:       tst_allow_strstr="no"
        !          7011:     fi
        !          7012:   fi
        !          7013:   #
        !          7014:   AC_MSG_CHECKING([if strstr might be used])
        !          7015:   if test "$tst_links_strstr" = "yes" &&
        !          7016:      test "$tst_proto_strstr" = "yes" &&
        !          7017:      test "$tst_compi_strstr" = "yes" &&
        !          7018:      test "$tst_allow_strstr" = "yes"; then
        !          7019:     AC_MSG_RESULT([yes])
        !          7020:     AC_DEFINE_UNQUOTED(HAVE_STRSTR, 1,
        !          7021:       [Define to 1 if you have the strstr function.])
        !          7022:     curl_cv_func_strstr="yes"
        !          7023:   else
        !          7024:     AC_MSG_RESULT([no])
        !          7025:     curl_cv_func_strstr="no"
        !          7026:   fi
        !          7027: ])
        !          7028: 
        !          7029: 
        !          7030: dnl CURL_CHECK_FUNC_STRTOK_R
        !          7031: dnl -------------------------------------------------
        !          7032: dnl Verify if strtok_r is available, prototyped, and
        !          7033: dnl can be compiled. If all of these are true, and
        !          7034: dnl usage has not been previously disallowed with
        !          7035: dnl shell variable curl_disallow_strtok_r, then
        !          7036: dnl HAVE_STRTOK_R will be defined.
        !          7037: 
        !          7038: AC_DEFUN([CURL_CHECK_FUNC_STRTOK_R], [
        !          7039:   AC_REQUIRE([CURL_INCLUDES_STRING])dnl
        !          7040:   #
        !          7041:   tst_links_strtok_r="unknown"
        !          7042:   tst_proto_strtok_r="unknown"
        !          7043:   tst_compi_strtok_r="unknown"
        !          7044:   tst_allow_strtok_r="unknown"
        !          7045:   #
        !          7046:   AC_MSG_CHECKING([if strtok_r can be linked])
        !          7047:   AC_LINK_IFELSE([
        !          7048:     AC_LANG_FUNC_LINK_TRY([strtok_r])
        !          7049:   ],[
        !          7050:     AC_MSG_RESULT([yes])
        !          7051:     tst_links_strtok_r="yes"
        !          7052:   ],[
        !          7053:     AC_MSG_RESULT([no])
        !          7054:     tst_links_strtok_r="no"
        !          7055:   ])
        !          7056:   #
        !          7057:   if test "$tst_links_strtok_r" = "yes"; then
        !          7058:     AC_MSG_CHECKING([if strtok_r is prototyped])
        !          7059:     AC_EGREP_CPP([strtok_r],[
        !          7060:       $curl_includes_string
        !          7061:     ],[
        !          7062:       AC_MSG_RESULT([yes])
        !          7063:       tst_proto_strtok_r="yes"
        !          7064:     ],[
        !          7065:       AC_MSG_RESULT([no])
        !          7066:       tst_proto_strtok_r="no"
        !          7067:     ])
        !          7068:   fi
        !          7069:   #
        !          7070:   if test "$tst_proto_strtok_r" = "yes"; then
        !          7071:     AC_MSG_CHECKING([if strtok_r is compilable])
        !          7072:     AC_COMPILE_IFELSE([
        !          7073:       AC_LANG_PROGRAM([[
        !          7074:         $curl_includes_string
        !          7075:       ]],[[
        !          7076:         if(0 != strtok_r(0, 0, 0))
        !          7077:           return 1;
        !          7078:       ]])
        !          7079:     ],[
        !          7080:       AC_MSG_RESULT([yes])
        !          7081:       tst_compi_strtok_r="yes"
        !          7082:     ],[
        !          7083:       AC_MSG_RESULT([no])
        !          7084:       tst_compi_strtok_r="no"
        !          7085:     ])
        !          7086:   fi
        !          7087:   #
        !          7088:   if test "$tst_compi_strtok_r" = "yes"; then
        !          7089:     AC_MSG_CHECKING([if strtok_r usage allowed])
        !          7090:     if test "x$curl_disallow_strtok_r" != "xyes"; then
        !          7091:       AC_MSG_RESULT([yes])
        !          7092:       tst_allow_strtok_r="yes"
        !          7093:     else
        !          7094:       AC_MSG_RESULT([no])
        !          7095:       tst_allow_strtok_r="no"
        !          7096:     fi
        !          7097:   fi
        !          7098:   #
        !          7099:   AC_MSG_CHECKING([if strtok_r might be used])
        !          7100:   if test "$tst_links_strtok_r" = "yes" &&
        !          7101:      test "$tst_proto_strtok_r" = "yes" &&
        !          7102:      test "$tst_compi_strtok_r" = "yes" &&
        !          7103:      test "$tst_allow_strtok_r" = "yes"; then
        !          7104:     AC_MSG_RESULT([yes])
        !          7105:     AC_DEFINE_UNQUOTED(HAVE_STRTOK_R, 1,
        !          7106:       [Define to 1 if you have the strtok_r function.])
        !          7107:     curl_cv_func_strtok_r="yes"
        !          7108:   else
        !          7109:     AC_MSG_RESULT([no])
        !          7110:     curl_cv_func_strtok_r="no"
        !          7111:   fi
        !          7112: ])
        !          7113: 
        !          7114: 
        !          7115: dnl CURL_CHECK_FUNC_STRTOLL
        !          7116: dnl -------------------------------------------------
        !          7117: dnl Verify if strtoll is available, prototyped, and
        !          7118: dnl can be compiled. If all of these are true, and
        !          7119: dnl usage has not been previously disallowed with
        !          7120: dnl shell variable curl_disallow_strtoll, then
        !          7121: dnl HAVE_STRTOLL will be defined.
        !          7122: 
        !          7123: AC_DEFUN([CURL_CHECK_FUNC_STRTOLL], [
        !          7124:   AC_REQUIRE([CURL_INCLUDES_STDLIB])dnl
        !          7125:   #
        !          7126:   tst_links_strtoll="unknown"
        !          7127:   tst_proto_strtoll="unknown"
        !          7128:   tst_compi_strtoll="unknown"
        !          7129:   tst_allow_strtoll="unknown"
        !          7130:   #
        !          7131:   AC_MSG_CHECKING([if strtoll can be linked])
        !          7132:   AC_LINK_IFELSE([
        !          7133:     AC_LANG_FUNC_LINK_TRY([strtoll])
        !          7134:   ],[
        !          7135:     AC_MSG_RESULT([yes])
        !          7136:     tst_links_strtoll="yes"
        !          7137:   ],[
        !          7138:     AC_MSG_RESULT([no])
        !          7139:     tst_links_strtoll="no"
        !          7140:   ])
        !          7141:   #
        !          7142:   if test "$tst_links_strtoll" = "yes"; then
        !          7143:     AC_MSG_CHECKING([if strtoll is prototyped])
        !          7144:     AC_EGREP_CPP([strtoll],[
        !          7145:       $curl_includes_stdlib
        !          7146:     ],[
        !          7147:       AC_MSG_RESULT([yes])
        !          7148:       tst_proto_strtoll="yes"
        !          7149:     ],[
        !          7150:       AC_MSG_RESULT([no])
        !          7151:       tst_proto_strtoll="no"
        !          7152:     ])
        !          7153:   fi
        !          7154:   #
        !          7155:   if test "$tst_proto_strtoll" = "yes"; then
        !          7156:     AC_MSG_CHECKING([if strtoll is compilable])
        !          7157:     AC_COMPILE_IFELSE([
        !          7158:       AC_LANG_PROGRAM([[
        !          7159:         $curl_includes_stdlib
        !          7160:       ]],[[
        !          7161:         if(0 != strtoll(0, 0, 0))
        !          7162:           return 1;
        !          7163:       ]])
        !          7164:     ],[
        !          7165:       AC_MSG_RESULT([yes])
        !          7166:       tst_compi_strtoll="yes"
        !          7167:     ],[
        !          7168:       AC_MSG_RESULT([no])
        !          7169:       tst_compi_strtoll="no"
        !          7170:     ])
        !          7171:   fi
        !          7172:   #
        !          7173:   if test "$tst_compi_strtoll" = "yes"; then
        !          7174:     AC_MSG_CHECKING([if strtoll usage allowed])
        !          7175:     if test "x$curl_disallow_strtoll" != "xyes"; then
        !          7176:       AC_MSG_RESULT([yes])
        !          7177:       tst_allow_strtoll="yes"
        !          7178:     else
        !          7179:       AC_MSG_RESULT([no])
        !          7180:       tst_allow_strtoll="no"
        !          7181:     fi
        !          7182:   fi
        !          7183:   #
        !          7184:   AC_MSG_CHECKING([if strtoll might be used])
        !          7185:   if test "$tst_links_strtoll" = "yes" &&
        !          7186:      test "$tst_proto_strtoll" = "yes" &&
        !          7187:      test "$tst_compi_strtoll" = "yes" &&
        !          7188:      test "$tst_allow_strtoll" = "yes"; then
        !          7189:     AC_MSG_RESULT([yes])
        !          7190:     AC_DEFINE_UNQUOTED(HAVE_STRTOLL, 1,
        !          7191:       [Define to 1 if you have the strtoll function.])
        !          7192:     curl_cv_func_strtoll="yes"
        !          7193:   else
        !          7194:     AC_MSG_RESULT([no])
        !          7195:     curl_cv_func_strtoll="no"
        !          7196:   fi
        !          7197: ])
        !          7198: 
        !          7199: 
        !          7200: dnl CURL_CHECK_FUNC_WRITEV
        !          7201: dnl -------------------------------------------------
        !          7202: dnl Verify if writev is available, prototyped, and
        !          7203: dnl can be compiled. If all of these are true, and
        !          7204: dnl usage has not been previously disallowed with
        !          7205: dnl shell variable curl_disallow_writev, then
        !          7206: dnl HAVE_WRITEV will be defined.
        !          7207: 
        !          7208: AC_DEFUN([CURL_CHECK_FUNC_WRITEV], [
        !          7209:   AC_REQUIRE([CURL_INCLUDES_SYS_UIO])dnl
        !          7210:   #
        !          7211:   tst_links_writev="unknown"
        !          7212:   tst_proto_writev="unknown"
        !          7213:   tst_compi_writev="unknown"
        !          7214:   tst_allow_writev="unknown"
        !          7215:   #
        !          7216:   AC_MSG_CHECKING([if writev can be linked])
        !          7217:   AC_LINK_IFELSE([
        !          7218:     AC_LANG_FUNC_LINK_TRY([writev])
        !          7219:   ],[
        !          7220:     AC_MSG_RESULT([yes])
        !          7221:     tst_links_writev="yes"
        !          7222:   ],[
        !          7223:     AC_MSG_RESULT([no])
        !          7224:     tst_links_writev="no"
        !          7225:   ])
        !          7226:   #
        !          7227:   if test "$tst_links_writev" = "yes"; then
        !          7228:     AC_MSG_CHECKING([if writev is prototyped])
        !          7229:     AC_EGREP_CPP([writev],[
        !          7230:       $curl_includes_sys_uio
        !          7231:     ],[
        !          7232:       AC_MSG_RESULT([yes])
        !          7233:       tst_proto_writev="yes"
        !          7234:     ],[
        !          7235:       AC_MSG_RESULT([no])
        !          7236:       tst_proto_writev="no"
        !          7237:     ])
        !          7238:   fi
        !          7239:   #
        !          7240:   if test "$tst_proto_writev" = "yes"; then
        !          7241:     AC_MSG_CHECKING([if writev is compilable])
        !          7242:     AC_COMPILE_IFELSE([
        !          7243:       AC_LANG_PROGRAM([[
        !          7244:         $curl_includes_sys_uio
        !          7245:       ]],[[
        !          7246:         if(0 != writev(0, 0, 0))
        !          7247:           return 1;
        !          7248:       ]])
        !          7249:     ],[
        !          7250:       AC_MSG_RESULT([yes])
        !          7251:       tst_compi_writev="yes"
        !          7252:     ],[
        !          7253:       AC_MSG_RESULT([no])
        !          7254:       tst_compi_writev="no"
        !          7255:     ])
        !          7256:   fi
        !          7257:   #
        !          7258:   if test "$tst_compi_writev" = "yes"; then
        !          7259:     AC_MSG_CHECKING([if writev usage allowed])
        !          7260:     if test "x$curl_disallow_writev" != "xyes"; then
        !          7261:       AC_MSG_RESULT([yes])
        !          7262:       tst_allow_writev="yes"
        !          7263:     else
        !          7264:       AC_MSG_RESULT([no])
        !          7265:       tst_allow_writev="no"
        !          7266:     fi
        !          7267:   fi
        !          7268:   #
        !          7269:   AC_MSG_CHECKING([if writev might be used])
        !          7270:   if test "$tst_links_writev" = "yes" &&
        !          7271:      test "$tst_proto_writev" = "yes" &&
        !          7272:      test "$tst_compi_writev" = "yes" &&
        !          7273:      test "$tst_allow_writev" = "yes"; then
        !          7274:     AC_MSG_RESULT([yes])
        !          7275:     AC_DEFINE_UNQUOTED(HAVE_WRITEV, 1,
        !          7276:       [Define to 1 if you have the writev function.])
        !          7277:     curl_cv_func_writev="yes"
        !          7278:   else
        !          7279:     AC_MSG_RESULT([no])
        !          7280:     curl_cv_func_writev="no"
        !          7281:   fi
        !          7282: ])
        !          7283: 
        !          7284: dnl CURL_RUN_IFELSE
        !          7285: dnl -------------------------------------------------
        !          7286: dnl Wrapper macro to use instead of AC_RUN_IFELSE. It
        !          7287: dnl sets LD_LIBRARY_PATH locally for this run only, from the
        !          7288: dnl CURL_LIBRARY_PATH variable. It keeps the LD_LIBRARY_PATH
        !          7289: dnl changes contained within this macro.
        !          7290: 
        !          7291: AC_DEFUN([CURL_RUN_IFELSE], [
        !          7292:    old=$LD_LIBRARY_PATH
        !          7293:    LD_LIBRARY_PATH=$CURL_LIBRARY_PATH:$old
        !          7294:    export LD_LIBRARY_PATH
        !          7295:    AC_RUN_IFELSE([AC_LANG_SOURCE([$1])], $2, $3, $4)
        !          7296:    LD_LIBRARY_PATH=$old # restore
        !          7297: ])
        !          7298: 
        !          7299: dnl CURL_COVERAGE
        !          7300: dnl --------------------------------------------------
        !          7301: dnl Switch on options and libs to build with gcc's code coverage.
        !          7302: dnl
        !          7303: 
        !          7304: AC_DEFUN([CURL_COVERAGE],[
        !          7305:   AC_REQUIRE([AC_PROG_SED])
        !          7306:   AC_REQUIRE([AC_ARG_ENABLE])
        !          7307:   AC_MSG_CHECKING([for code coverage support])
        !          7308:   coverage="no"
        !          7309:   curl_coverage_msg="disabled"
        !          7310: 
        !          7311:   dnl check if enabled by argument
        !          7312:   AC_ARG_ENABLE(code-coverage,
        !          7313:      AC_HELP_STRING([--enable-code-coverage], [Provide code coverage]),
        !          7314:      coverage="$enableval")
        !          7315: 
        !          7316:   dnl if not gcc switch off again
        !          7317:   AS_IF([ test "$GCC" != "yes" ], coverage="no" )
        !          7318:   AC_MSG_RESULT($coverage)
        !          7319: 
        !          7320:   if test "x$coverage" = "xyes"; then
        !          7321:     curl_coverage_msg="enabled"
        !          7322: 
        !          7323:     AC_CHECK_TOOL([GCOV], [gcov], [gcov])
        !          7324:     if test -z "$GCOV"; then
        !          7325:       AC_MSG_ERROR([needs gcov for code coverage])
        !          7326:     fi
        !          7327:     AC_CHECK_PROG([LCOV], [lcov], [lcov])
        !          7328:     if test -z "$LCOV"; then
        !          7329:       AC_MSG_ERROR([needs lcov for code coverage])
        !          7330:     fi
        !          7331: 
        !          7332:     CPPFLAGS="$CPPFLAGS -DNDEBUG"
        !          7333:     CFLAGS="$CLAGS -O0 -g -fprofile-arcs -ftest-coverage"
        !          7334:     LIBS="$LIBS -lgcov"
        !          7335:   fi
        !          7336: ])

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>