Home | History | Annotate | Download | only in m4
      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