Mercurial > hgrepos > Python2 > PyMuPDF
comparison mupdf-source/thirdparty/curl/m4/curl-functions.m4 @ 2:b50eed0cc0ef upstream
ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4.
The directory name has changed: no version number in the expanded directory now.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:43:07 +0200 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1:1d09e1dec1d9 | 2:b50eed0cc0ef |
|---|---|
| 1 #*************************************************************************** | |
| 2 # _ _ ____ _ | |
| 3 # Project ___| | | | _ \| | | |
| 4 # / __| | | | |_) | | | |
| 5 # | (__| |_| | _ <| |___ | |
| 6 # \___|\___/|_| \_\_____| | |
| 7 # | |
| 8 # Copyright (C) 1998 - 2019, 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 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 AC_REQUIRE([AC_RUN_IFELSE])dnl | |
| 7293 | |
| 7294 old=$LD_LIBRARY_PATH | |
| 7295 LD_LIBRARY_PATH=$CURL_LIBRARY_PATH:$old | |
| 7296 export LD_LIBRARY_PATH | |
| 7297 AC_RUN_IFELSE([AC_LANG_SOURCE([$1])], $2, $3, $4) | |
| 7298 LD_LIBRARY_PATH=$old # restore | |
| 7299 ]) | |
| 7300 | |
| 7301 dnl CURL_COVERAGE | |
| 7302 dnl -------------------------------------------------- | |
| 7303 dnl Switch on options and libs to build with gcc's code coverage. | |
| 7304 dnl | |
| 7305 | |
| 7306 AC_DEFUN([CURL_COVERAGE],[ | |
| 7307 AC_REQUIRE([AC_PROG_SED]) | |
| 7308 AC_REQUIRE([AC_ARG_ENABLE]) | |
| 7309 AC_MSG_CHECKING([for code coverage support]) | |
| 7310 coverage="no" | |
| 7311 curl_coverage_msg="disabled" | |
| 7312 | |
| 7313 dnl check if enabled by argument | |
| 7314 AC_ARG_ENABLE(code-coverage, | |
| 7315 AC_HELP_STRING([--enable-code-coverage], [Provide code coverage]), | |
| 7316 coverage="$enableval") | |
| 7317 | |
| 7318 dnl if not gcc switch off again | |
| 7319 AS_IF([ test "$GCC" != "yes" ], coverage="no" ) | |
| 7320 AC_MSG_RESULT($coverage) | |
| 7321 | |
| 7322 if test "x$coverage" = "xyes"; then | |
| 7323 curl_coverage_msg="enabled" | |
| 7324 | |
| 7325 AC_CHECK_TOOL([GCOV], [gcov], [gcov]) | |
| 7326 if test -z "$GCOV"; then | |
| 7327 AC_MSG_ERROR([needs gcov for code coverage]) | |
| 7328 fi | |
| 7329 AC_CHECK_PROG([LCOV], [lcov], [lcov]) | |
| 7330 if test -z "$LCOV"; then | |
| 7331 AC_MSG_ERROR([needs lcov for code coverage]) | |
| 7332 fi | |
| 7333 | |
| 7334 CPPFLAGS="$CPPFLAGS -DNDEBUG" | |
| 7335 CFLAGS="$CLAGS -O0 -g -fprofile-arcs -ftest-coverage" | |
| 7336 LIBS="$LIBS -lgcov" | |
| 7337 fi | |
| 7338 ]) |
