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>