1 #*************************************************************************** 2 # _ _ ____ _ 3 # Project ___| | | | _ \| | 4 # / __| | | | |_) | | 5 # | (__| |_| | _ <| |___ 6 # \___|\___/|_| \_\_____| 7 # 8 # Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel (a] 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 19 25 26 dnl CURL_CHECK_OPTION_THREADED_RESOLVER 27 dnl ------------------------------------------------- 28 dnl Verify if configure has been invoked with option 29 dnl --enable-threaded-resolver or --disable-threaded-resolver, and 30 dnl set shell variable want_thres as appropriate. 31 32 AC_DEFUN([CURL_CHECK_OPTION_THREADED_RESOLVER], [ 33 AC_MSG_CHECKING([whether to enable the threaded resolver]) 34 OPT_THRES="default" 35 AC_ARG_ENABLE(threaded_resolver, 36 AC_HELP_STRING([--enable-threaded-resolver],[Enable threaded resolver]) 37 AC_HELP_STRING([--disable-threaded-resolver],[Disable threaded resolver]), 38 OPT_THRES=$enableval) 39 case "$OPT_THRES" in 40 no) 41 dnl --disable-threaded-resolver option used 42 want_thres="no" 43 ;; 44 *) 45 dnl configure option not specified 46 want_thres="yes" 47 ;; 48 esac 49 AC_MSG_RESULT([$want_thres]) 50 ]) 51 52 dnl CURL_CHECK_OPTION_ARES 53 dnl ------------------------------------------------- 54 dnl Verify if configure has been invoked with option 55 dnl --enable-ares or --disable-ares, and 56 dnl set shell variable want_ares as appropriate. 57 58 AC_DEFUN([CURL_CHECK_OPTION_ARES], [ 59 dnl AC_BEFORE([$0],[CURL_CHECK_OPTION_THREADS])dnl 60 AC_BEFORE([$0],[CURL_CHECK_LIB_ARES])dnl 61 AC_MSG_CHECKING([whether to enable c-ares for DNS lookups]) 62 OPT_ARES="default" 63 AC_ARG_ENABLE(ares, 64 AC_HELP_STRING([--enable-ares@<:@=PATH@:>@],[Enable c-ares for DNS lookups]) 65 AC_HELP_STRING([--disable-ares],[Disable c-ares for DNS lookups]), 66 OPT_ARES=$enableval) 67 case "$OPT_ARES" in 68 no) 69 dnl --disable-ares option used 70 want_ares="no" 71 ;; 72 default) 73 dnl configure option not specified 74 want_ares="no" 75 ;; 76 *) 77 dnl --enable-ares option used 78 want_ares="yes" 79 if test -n "$enableval" && test "$enableval" != "yes"; then 80 want_ares_path="$enableval" 81 fi 82 ;; 83 esac 84 AC_MSG_RESULT([$want_ares]) 85 ]) 86 87 88 dnl CURL_CHECK_OPTION_CURLDEBUG 89 dnl ------------------------------------------------- 90 dnl Verify if configure has been invoked with option 91 dnl --enable-curldebug or --disable-curldebug, and set 92 dnl shell variable want_curldebug value as appropriate. 93 94 AC_DEFUN([CURL_CHECK_OPTION_CURLDEBUG], [ 95 AC_BEFORE([$0],[CURL_CHECK_CURLDEBUG])dnl 96 AC_MSG_CHECKING([whether to enable curl debug memory tracking]) 97 OPT_CURLDEBUG_BUILD="default" 98 AC_ARG_ENABLE(curldebug, 99 AC_HELP_STRING([--enable-curldebug],[Enable curl debug memory tracking]) 100 AC_HELP_STRING([--disable-curldebug],[Disable curl debug memory tracking]), 101 OPT_CURLDEBUG_BUILD=$enableval) 102 case "$OPT_CURLDEBUG_BUILD" in 103 no) 104 dnl --disable-curldebug option used 105 want_curldebug="no" 106 AC_MSG_RESULT([no]) 107 ;; 108 default) 109 dnl configure's curldebug option not specified. Initially we will 110 dnl handle this as a a request to use the same setting as option 111 dnl --enable-debug. IOW, initially, for debug-enabled builds 112 dnl this will be handled as a request to enable curldebug if 113 dnl possible, and for debug-disabled builds this will be handled 114 dnl as a request to disable curldebug. 115 if test "$want_debug" = "yes"; then 116 AC_MSG_RESULT([(assumed) yes]) 117 else 118 AC_MSG_RESULT([no]) 119 fi 120 want_curldebug_assumed="yes" 121 want_curldebug="$want_debug" 122 ;; 123 *) 124 dnl --enable-curldebug option used. 125 dnl The use of this option value is a request to enable curl's 126 dnl debug memory tracking for the libcurl library. This can only 127 dnl be done when some requisites are simultaneously satisfied. 128 dnl Later on, these requisites are verified and if they are not 129 dnl fully satisfied the option will be ignored and act as if 130 dnl --disable-curldebug had been given setting shell variable 131 dnl want_curldebug to 'no'. 132 want_curldebug="yes" 133 AC_MSG_RESULT([yes]) 134 ;; 135 esac 136 ]) 137 138 139 dnl CURL_CHECK_OPTION_DEBUG 140 dnl ------------------------------------------------- 141 dnl Verify if configure has been invoked with option 142 dnl --enable-debug or --disable-debug, and set shell 143 dnl variable want_debug value as appropriate. 144 145 AC_DEFUN([CURL_CHECK_OPTION_DEBUG], [ 146 AC_BEFORE([$0],[CURL_CHECK_OPTION_WARNINGS])dnl 147 AC_BEFORE([$0],[CURL_CHECK_OPTION_CURLDEBUG])dnl 148 AC_BEFORE([$0],[XC_CHECK_PROG_CC])dnl 149 AC_MSG_CHECKING([whether to enable debug build options]) 150 OPT_DEBUG_BUILD="default" 151 AC_ARG_ENABLE(debug, 152 AC_HELP_STRING([--enable-debug],[Enable debug build options]) 153 AC_HELP_STRING([--disable-debug],[Disable debug build options]), 154 OPT_DEBUG_BUILD=$enableval) 155 case "$OPT_DEBUG_BUILD" in 156 no) 157 dnl --disable-debug option used 158 want_debug="no" 159 ;; 160 default) 161 dnl configure option not specified 162 want_debug="no" 163 ;; 164 *) 165 dnl --enable-debug option used 166 want_debug="yes" 167 ;; 168 esac 169 AC_MSG_RESULT([$want_debug]) 170 ]) 171 172 dnl CURL_CHECK_OPTION_OPTIMIZE 173 dnl ------------------------------------------------- 174 dnl Verify if configure has been invoked with option 175 dnl --enable-optimize or --disable-optimize, and set 176 dnl shell variable want_optimize value as appropriate. 177 178 AC_DEFUN([CURL_CHECK_OPTION_OPTIMIZE], [ 179 AC_REQUIRE([CURL_CHECK_OPTION_DEBUG])dnl 180 AC_BEFORE([$0],[XC_CHECK_PROG_CC])dnl 181 AC_MSG_CHECKING([whether to enable compiler optimizer]) 182 OPT_COMPILER_OPTIMIZE="default" 183 AC_ARG_ENABLE(optimize, 184 AC_HELP_STRING([--enable-optimize],[Enable compiler optimizations]) 185 AC_HELP_STRING([--disable-optimize],[Disable compiler optimizations]), 186 OPT_COMPILER_OPTIMIZE=$enableval) 187 case "$OPT_COMPILER_OPTIMIZE" in 188 no) 189 dnl --disable-optimize option used. We will handle this as 190 dnl a request to disable compiler optimizations if possible. 191 dnl If the compiler is known CFLAGS and CPPFLAGS will be 192 dnl overridden, otherwise this can not be honored. 193 want_optimize="no" 194 AC_MSG_RESULT([no]) 195 ;; 196 default) 197 dnl configure's optimize option not specified. Initially we will 198 dnl handle this as a a request contrary to configure's setting 199 dnl for --enable-debug. IOW, initially, for debug-enabled builds 200 dnl this will be handled as a request to disable optimizations if 201 dnl possible, and for debug-disabled builds this will be handled 202 dnl initially as a request to enable optimizations if possible. 203 dnl Finally, if the compiler is known and CFLAGS and CPPFLAGS do 204 dnl not have any optimizer flag the request will be honored, in 205 dnl any other case the request can not be honored. 206 dnl IOW, existing optimizer flags defined in CFLAGS or CPPFLAGS 207 dnl will always take precedence over any initial assumption. 208 if test "$want_debug" = "yes"; then 209 want_optimize="assume_no" 210 AC_MSG_RESULT([(assumed) no]) 211 else 212 want_optimize="assume_yes" 213 AC_MSG_RESULT([(assumed) yes]) 214 fi 215 ;; 216 *) 217 dnl --enable-optimize option used. We will handle this as 218 dnl a request to enable compiler optimizations if possible. 219 dnl If the compiler is known CFLAGS and CPPFLAGS will be 220 dnl overridden, otherwise this can not be honored. 221 want_optimize="yes" 222 AC_MSG_RESULT([yes]) 223 ;; 224 esac 225 ]) 226 227 228 dnl CURL_CHECK_OPTION_SYMBOL_HIDING 229 dnl ------------------------------------------------- 230 dnl Verify if configure has been invoked with option 231 dnl --enable-symbol-hiding or --disable-symbol-hiding, 232 dnl setting shell variable want_symbol_hiding value. 233 234 AC_DEFUN([CURL_CHECK_OPTION_SYMBOL_HIDING], [ 235 AC_BEFORE([$0],[CURL_CHECK_COMPILER_SYMBOL_HIDING])dnl 236 AC_MSG_CHECKING([whether to enable hiding of library internal symbols]) 237 OPT_SYMBOL_HIDING="default" 238 AC_ARG_ENABLE(symbol-hiding, 239 AC_HELP_STRING([--enable-symbol-hiding],[Enable hiding of library internal symbols]) 240 AC_HELP_STRING([--disable-symbol-hiding],[Disable hiding of library internal symbols]), 241 OPT_SYMBOL_HIDING=$enableval) 242 AC_ARG_ENABLE(hidden-symbols, 243 AC_HELP_STRING([--enable-hidden-symbols],[To be deprecated, use --enable-symbol-hiding]) 244 AC_HELP_STRING([--disable-hidden-symbols],[To be deprecated, use --disable-symbol-hiding]), 245 OPT_SYMBOL_HIDING=$enableval) 246 case "$OPT_SYMBOL_HIDING" in 247 no) 248 dnl --disable-symbol-hiding option used. 249 dnl This is an indication to not attempt hiding of library internal 250 dnl symbols. Default symbol visibility will be used, which normally 251 dnl exposes all library internal symbols. 252 want_symbol_hiding="no" 253 AC_MSG_RESULT([no]) 254 ;; 255 default) 256 dnl configure's symbol-hiding option not specified. 257 dnl Handle this as if --enable-symbol-hiding option was given. 258 want_symbol_hiding="yes" 259 AC_MSG_RESULT([yes]) 260 ;; 261 *) 262 dnl --enable-symbol-hiding option used. 263 dnl This is an indication to attempt hiding of library internal 264 dnl symbols. This is only supported on some compilers/linkers. 265 want_symbol_hiding="yes" 266 AC_MSG_RESULT([yes]) 267 ;; 268 esac 269 ]) 270 271 272 dnl CURL_CHECK_OPTION_THREADS 273 dnl ------------------------------------------------- 274 dnl Verify if configure has been invoked with option 275 dnl --enable-threads or --disable-threads, and 276 dnl set shell variable want_threads as appropriate. 277 278 dnl AC_DEFUN([CURL_CHECK_OPTION_THREADS], [ 279 dnl AC_BEFORE([$0],[CURL_CHECK_LIB_THREADS])dnl 280 dnl AC_MSG_CHECKING([whether to enable threads for DNS lookups]) 281 dnl OPT_THREADS="default" 282 dnl AC_ARG_ENABLE(threads, 283 dnl AC_HELP_STRING([--enable-threads@<:@=PATH@:>@],[Enable threads for DNS lookups]) 284 dnl AC_HELP_STRING([--disable-threads],[Disable threads for DNS lookups]), 285 dnl OPT_THREADS=$enableval) 286 dnl case "$OPT_THREADS" in 287 dnl no) 288 dnl dnl --disable-threads option used 289 dnl want_threads="no" 290 dnl AC_MSG_RESULT([no]) 291 dnl ;; 292 dnl default) 293 dnl dnl configure option not specified 294 dnl want_threads="no" 295 dnl AC_MSG_RESULT([(assumed) no]) 296 dnl ;; 297 dnl *) 298 dnl dnl --enable-threads option used 299 dnl want_threads="yes" 300 dnl want_threads_path="$enableval" 301 dnl AC_MSG_RESULT([yes]) 302 dnl ;; 303 dnl esac 304 dnl # 305 dnl if test "$want_ares" = "assume_yes"; then 306 dnl if test "$want_threads" = "yes"; then 307 dnl AC_MSG_CHECKING([whether to ignore c-ares enabling assumed setting]) 308 dnl AC_MSG_RESULT([yes]) 309 dnl want_ares="no" 310 dnl else 311 dnl want_ares="yes" 312 dnl fi 313 dnl fi 314 dnl if test "$want_threads" = "yes" && test "$want_ares" = "yes"; then 315 dnl AC_MSG_ERROR([options --enable-ares and --enable-threads are mutually exclusive, at most one may be enabled.]) 316 dnl fi 317 dnl ]) 318 319 dnl CURL_CHECK_OPTION_RT 320 dnl ------------------------------------------------- 321 dnl Verify if configure has been involed with option 322 dnl --disable-rt and set shell variable dontwant_rt 323 dnl as appropriate. 324 325 AC_DEFUN([CURL_CHECK_OPTION_RT], [ 326 AC_BEFORE([$0], [CURL_CHECK_LIB_THREADS])dnl 327 AC_MSG_CHECKING([whether to disable dependency on -lrt]) 328 OPT_RT="default" 329 AC_ARG_ENABLE(rt, 330 AC_HELP_STRING([--disable-rt],[disable dependency on -lrt]), 331 OPT_RT=$enableval) 332 case "$OPT_RT" in 333 no) 334 dnl --disable-rt used (reverse logic) 335 dontwant_rt="yes" 336 AC_MSG_RESULT([yes]) 337 ;; 338 default) 339 dnl configure option not specified (so not disabled) 340 dontwant_rt="no" 341 AC_MSG_RESULT([(assumed no)]) 342 ;; 343 *) 344 dnl --enable-rt option used (reverse logic) 345 dontwant_rt="no" 346 AC_MSG_RESULT([no]) 347 ;; 348 esac 349 ]) 350 351 352 dnl CURL_CHECK_OPTION_WARNINGS 353 dnl ------------------------------------------------- 354 dnl Verify if configure has been invoked with option 355 dnl --enable-warnings or --disable-warnings, and set 356 dnl shell variable want_warnings as appropriate. 357 358 AC_DEFUN([CURL_CHECK_OPTION_WARNINGS], [ 359 AC_REQUIRE([CURL_CHECK_OPTION_DEBUG])dnl 360 AC_BEFORE([$0],[CURL_CHECK_OPTION_WERROR])dnl 361 AC_BEFORE([$0],[XC_CHECK_PROG_CC])dnl 362 AC_MSG_CHECKING([whether to enable strict compiler warnings]) 363 OPT_COMPILER_WARNINGS="default" 364 AC_ARG_ENABLE(warnings, 365 AC_HELP_STRING([--enable-warnings],[Enable strict compiler warnings]) 366 AC_HELP_STRING([--disable-warnings],[Disable strict compiler warnings]), 367 OPT_COMPILER_WARNINGS=$enableval) 368 case "$OPT_COMPILER_WARNINGS" in 369 no) 370 dnl --disable-warnings option used 371 want_warnings="no" 372 ;; 373 default) 374 dnl configure option not specified, so 375 dnl use same setting as --enable-debug 376 want_warnings="$want_debug" 377 ;; 378 *) 379 dnl --enable-warnings option used 380 want_warnings="yes" 381 ;; 382 esac 383 AC_MSG_RESULT([$want_warnings]) 384 ]) 385 386 dnl CURL_CHECK_OPTION_WERROR 387 dnl ------------------------------------------------- 388 dnl Verify if configure has been invoked with option 389 dnl --enable-werror or --disable-werror, and set 390 dnl shell variable want_werror as appropriate. 391 392 AC_DEFUN([CURL_CHECK_OPTION_WERROR], [ 393 AC_BEFORE([$0],[CURL_CHECK_COMPILER])dnl 394 AC_MSG_CHECKING([whether to enable compiler warnings as errors]) 395 OPT_COMPILER_WERROR="default" 396 AC_ARG_ENABLE(werror, 397 AC_HELP_STRING([--enable-werror],[Enable compiler warnings as errors]) 398 AC_HELP_STRING([--disable-werror],[Disable compiler warnings as errors]), 399 OPT_COMPILER_WERROR=$enableval) 400 case "$OPT_COMPILER_WERROR" in 401 no) 402 dnl --disable-werror option used 403 want_werror="no" 404 ;; 405 default) 406 dnl configure option not specified 407 want_werror="no" 408 ;; 409 *) 410 dnl --enable-werror option used 411 want_werror="yes" 412 ;; 413 esac 414 AC_MSG_RESULT([$want_werror]) 415 ]) 416 417 418 dnl CURL_CHECK_NONBLOCKING_SOCKET 419 dnl ------------------------------------------------- 420 dnl Check for how to set a socket into non-blocking state. 421 422 AC_DEFUN([CURL_CHECK_NONBLOCKING_SOCKET], [ 423 AC_REQUIRE([CURL_CHECK_FUNC_FCNTL])dnl 424 AC_REQUIRE([CURL_CHECK_FUNC_IOCTL])dnl 425 AC_REQUIRE([CURL_CHECK_FUNC_IOCTLSOCKET])dnl 426 AC_REQUIRE([CURL_CHECK_FUNC_IOCTLSOCKET_CAMEL])dnl 427 AC_REQUIRE([CURL_CHECK_FUNC_SETSOCKOPT])dnl 428 # 429 tst_method="unknown" 430 431 AC_MSG_CHECKING([how to set a socket into non-blocking mode]) 432 if test "x$curl_cv_func_fcntl_o_nonblock" = "xyes"; then 433 tst_method="fcntl O_NONBLOCK" 434 elif test "x$curl_cv_func_ioctl_fionbio" = "xyes"; then 435 tst_method="ioctl FIONBIO" 436 elif test "x$curl_cv_func_ioctlsocket_fionbio" = "xyes"; then 437 tst_method="ioctlsocket FIONBIO" 438 elif test "x$curl_cv_func_ioctlsocket_camel_fionbio" = "xyes"; then 439 tst_method="IoctlSocket FIONBIO" 440 elif test "x$curl_cv_func_setsockopt_so_nonblock" = "xyes"; then 441 tst_method="setsockopt SO_NONBLOCK" 442 fi 443 AC_MSG_RESULT([$tst_method]) 444 if test "$tst_method" = "unknown"; then 445 AC_MSG_WARN([cannot determine non-blocking socket method.]) 446 fi 447 ]) 448 449 450 dnl CURL_CONFIGURE_SYMBOL_HIDING 451 dnl ------------------------------------------------- 452 dnl Depending on --enable-symbol-hiding or --disable-symbol-hiding 453 dnl configure option, and compiler capability to actually honor such 454 dnl option, this will modify compiler flags as appropriate and also 455 dnl provide needed definitions for configuration and Makefile.am files. 456 dnl This macro should not be used until all compilation tests have 457 dnl been done to prevent interferences on other tests. 458 459 AC_DEFUN([CURL_CONFIGURE_SYMBOL_HIDING], [ 460 AC_MSG_CHECKING([whether hiding of library internal symbols will actually happen]) 461 CFLAG_CURL_SYMBOL_HIDING="" 462 doing_symbol_hiding="no" 463 if test x"$curl_cv_native_windows" != "xyes" && 464 test "$want_symbol_hiding" = "yes" && 465 test "$supports_symbol_hiding" = "yes"; then 466 doing_symbol_hiding="yes" 467 CFLAG_CURL_SYMBOL_HIDING="$symbol_hiding_CFLAGS" 468 AC_DEFINE_UNQUOTED(CURL_EXTERN_SYMBOL, $symbol_hiding_EXTERN, 469 [Definition to make a library symbol externally visible.]) 470 AC_MSG_RESULT([yes]) 471 else 472 AC_MSG_RESULT([no]) 473 fi 474 AM_CONDITIONAL(DOING_CURL_SYMBOL_HIDING, test x$doing_symbol_hiding = xyes) 475 AC_SUBST(CFLAG_CURL_SYMBOL_HIDING) 476 ]) 477 478 479 dnl CURL_CHECK_LIB_ARES 480 dnl ------------------------------------------------- 481 dnl When c-ares library support has been requested, 482 dnl performs necessary checks and adjustsments needed 483 dnl to enable support of this library. 484 485 AC_DEFUN([CURL_CHECK_LIB_ARES], [ 486 # 487 if test "$want_ares" = "yes"; then 488 dnl c-ares library support has been requested 489 clean_CPPFLAGS="$CPPFLAGS" 490 clean_LDFLAGS="$LDFLAGS" 491 clean_LIBS="$LIBS" 492 embedded_ares="unknown" 493 configure_runpath=`pwd` 494 embedded_ares_builddir="$configure_runpath/ares" 495 if test -n "$want_ares_path"; then 496 dnl c-ares library path has been specified 497 ares_CPPFLAGS="-I$want_ares_path/include" 498 ares_LDFLAGS="-L$want_ares_path/lib" 499 ares_LIBS="-lcares" 500 else 501 dnl c-ares library path has not been given 502 if test -d "$srcdir/ares"; then 503 dnl c-ares sources embedded in curl tree 504 embedded_ares="yes" 505 AC_CONFIG_SUBDIRS(ares) 506 dnl c-ares has installable configured header files, path 507 dnl inclusion fully done in makefiles for in-tree builds. 508 ares_CPPFLAGS="" 509 ares_LDFLAGS="-L$embedded_ares_builddir" 510 ares_LIBS="-lcares" 511 else 512 dnl c-ares path not specified, use defaults 513 ares_CPPFLAGS="" 514 ares_LDFLAGS="" 515 ares_LIBS="-lcares" 516 fi 517 fi 518 # 519 CPPFLAGS="$clean_CPPFLAGS $ares_CPPFLAGS" 520 LDFLAGS="$clean_LDFLAGS $ares_LDFLAGS" 521 LIBS="$ares_LIBS $clean_LIBS" 522 # 523 if test "$embedded_ares" != "yes"; then 524 dnl check if c-ares new enough when not using an embedded 525 dnl source tree one which normally has not been built yet. 526 AC_MSG_CHECKING([that c-ares is good and recent enough]) 527 AC_LINK_IFELSE([ 528 AC_LANG_PROGRAM([[ 529 #include <ares.h> 530 /* set of dummy functions in case c-ares was built with debug */ 531 void curl_dofree() { } 532 void curl_sclose() { } 533 void curl_domalloc() { } 534 void curl_docalloc() { } 535 void curl_socket() { } 536 ]],[[ 537 ares_channel channel; 538 ares_cancel(channel); /* added in 1.2.0 */ 539 ares_process_fd(channel, 0, 0); /* added in 1.4.0 */ 540 ares_dup(&channel, channel); /* added in 1.6.0 */ 541 ]]) 542 ],[ 543 AC_MSG_RESULT([yes]) 544 ],[ 545 AC_MSG_RESULT([no]) 546 AC_MSG_ERROR([c-ares library defective or too old]) 547 dnl restore initial settings 548 CPPFLAGS="$clean_CPPFLAGS" 549 LDFLAGS="$clean_LDFLAGS" 550 LIBS="$clean_LIBS" 551 # prevent usage 552 want_ares="no" 553 ]) 554 fi 555 if test "$want_ares" = "yes"; then 556 dnl finally c-ares will be used 557 AC_DEFINE(USE_ARES, 1, [Define to enable c-ares support]) 558 AC_SUBST([USE_ARES], [1]) 559 curl_res_msg="c-ares" 560 fi 561 fi 562 ]) 563 564 565 dnl CURL_CHECK_OPTION_NTLM_WB 566 dnl ------------------------------------------------- 567 dnl Verify if configure has been invoked with option 568 dnl --enable-ntlm-wb or --disable-ntlm-wb, and set 569 dnl shell variable want_ntlm_wb and want_ntlm_wb_file 570 dnl as appropriate. 571 572 AC_DEFUN([CURL_CHECK_OPTION_NTLM_WB], [ 573 AC_BEFORE([$0],[CURL_CHECK_NTLM_WB])dnl 574 OPT_NTLM_WB="default" 575 AC_ARG_ENABLE(ntlm-wb, 576 AC_HELP_STRING([--enable-ntlm-wb@<:@=FILE@:>@],[Enable NTLM delegation to winbind's ntlm_auth helper, where FILE is ntlm_auth's absolute filename (default: /usr/bin/ntlm_auth)]) 577 AC_HELP_STRING([--disable-ntlm-wb],[Disable NTLM delegation to winbind's ntlm_auth helper]), 578 OPT_NTLM_WB=$enableval) 579 want_ntlm_wb_file="/usr/bin/ntlm_auth" 580 case "$OPT_NTLM_WB" in 581 no) 582 dnl --disable-ntlm-wb option used 583 want_ntlm_wb="no" 584 ;; 585 default) 586 dnl configure option not specified 587 want_ntlm_wb="yes" 588 ;; 589 *) 590 dnl --enable-ntlm-wb option used 591 want_ntlm_wb="yes" 592 if test -n "$enableval" && test "$enableval" != "yes"; then 593 want_ntlm_wb_file="$enableval" 594 fi 595 ;; 596 esac 597 ]) 598 599 600 dnl CURL_CHECK_NTLM_WB 601 dnl ------------------------------------------------- 602 dnl Check if support for NTLM delegation to winbind's 603 dnl ntlm_auth helper will finally be enabled depending 604 dnl on given configure options and target platform. 605 606 AC_DEFUN([CURL_CHECK_NTLM_WB], [ 607 AC_REQUIRE([CURL_CHECK_OPTION_NTLM_WB])dnl 608 AC_REQUIRE([CURL_CHECK_NATIVE_WINDOWS])dnl 609 AC_MSG_CHECKING([whether to enable NTLM delegation to winbind's helper]) 610 if test "$curl_cv_native_windows" = "yes" || 611 test "x$SSL_ENABLED" = "x"; then 612 want_ntlm_wb_file="" 613 want_ntlm_wb="no" 614 fi 615 AC_MSG_RESULT([$want_ntlm_wb]) 616 if test "$want_ntlm_wb" = "yes"; then 617 AC_DEFINE(NTLM_WB_ENABLED, 1, 618 [Define to enable NTLM delegation to winbind's ntlm_auth helper.]) 619 AC_DEFINE_UNQUOTED(NTLM_WB_FILE, "$want_ntlm_wb_file", 620 [Define absolute filename for winbind's ntlm_auth helper.]) 621 NTLM_WB_ENABLED=1 622 fi 623 ]) 624 625