Home | History | Annotate | Download | only in m4
      1 #***************************************************************************
      2 #                                  _   _ ____  _
      3 #  Project                     ___| | | |  _ \| |
      4 #                             / __| | | | |_) | |
      5 #                            | (__| |_| |  _ <| |___
      6 #                             \___|\___/|_| \_\_____|
      7 #
      8 # Copyright (C) 1998 - 2013, 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     yes)
     41       dnl --enable-threaded-resolver option used
     42       want_thres="yes"
     43       ;;
     44     *)
     45       dnl configure option not specified
     46       want_thres="no"
     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   dnl TODO: may require mutual exclusion
    350   if test "$dontwant_rt" = "yes" && test "$want_thres" = "yes" ; then
    351     AC_MSG_ERROR([options --disable-rt and --enable-thread-resolver are mutually exclusive, at most one can be selected.])
    352   fi
    353 ])
    354  
    355 
    356 dnl CURL_CHECK_OPTION_WARNINGS
    357 dnl -------------------------------------------------
    358 dnl Verify if configure has been invoked with option
    359 dnl --enable-warnings or --disable-warnings, and set
    360 dnl shell variable want_warnings as appropriate.
    361 
    362 AC_DEFUN([CURL_CHECK_OPTION_WARNINGS], [
    363   AC_REQUIRE([CURL_CHECK_OPTION_DEBUG])dnl
    364   AC_BEFORE([$0],[CURL_CHECK_OPTION_WERROR])dnl
    365   AC_BEFORE([$0],[XC_CHECK_PROG_CC])dnl
    366   AC_MSG_CHECKING([whether to enable strict compiler warnings])
    367   OPT_COMPILER_WARNINGS="default"
    368   AC_ARG_ENABLE(warnings,
    369 AC_HELP_STRING([--enable-warnings],[Enable strict compiler warnings])
    370 AC_HELP_STRING([--disable-warnings],[Disable strict compiler warnings]),
    371   OPT_COMPILER_WARNINGS=$enableval)
    372   case "$OPT_COMPILER_WARNINGS" in
    373     no)
    374       dnl --disable-warnings option used
    375       want_warnings="no"
    376       ;;
    377     default)
    378       dnl configure option not specified, so
    379       dnl use same setting as --enable-debug
    380       want_warnings="$want_debug"
    381       ;;
    382     *)
    383       dnl --enable-warnings option used
    384       want_warnings="yes"
    385       ;;
    386   esac
    387   AC_MSG_RESULT([$want_warnings])
    388 ])
    389 
    390 dnl CURL_CHECK_OPTION_WERROR
    391 dnl -------------------------------------------------
    392 dnl Verify if configure has been invoked with option
    393 dnl --enable-werror or --disable-werror, and set
    394 dnl shell variable want_werror as appropriate.
    395 
    396 AC_DEFUN([CURL_CHECK_OPTION_WERROR], [
    397   AC_BEFORE([$0],[CURL_CHECK_COMPILER])dnl
    398   AC_MSG_CHECKING([whether to enable compiler warnings as errors])
    399   OPT_COMPILER_WERROR="default"
    400   AC_ARG_ENABLE(werror,
    401 AC_HELP_STRING([--enable-werror],[Enable compiler warnings as errors])
    402 AC_HELP_STRING([--disable-werror],[Disable compiler warnings as errors]),
    403   OPT_COMPILER_WERROR=$enableval)
    404   case "$OPT_COMPILER_WERROR" in
    405     no)
    406       dnl --disable-werror option used
    407       want_werror="no"
    408       ;;
    409     default)
    410       dnl configure option not specified
    411       want_werror="no"
    412       ;;
    413     *)
    414       dnl --enable-werror option used
    415       want_werror="yes"
    416       ;;
    417   esac
    418   AC_MSG_RESULT([$want_werror])
    419 ])
    420 
    421 
    422 dnl CURL_CHECK_NONBLOCKING_SOCKET
    423 dnl -------------------------------------------------
    424 dnl Check for how to set a socket into non-blocking state.
    425 
    426 AC_DEFUN([CURL_CHECK_NONBLOCKING_SOCKET], [
    427   AC_REQUIRE([CURL_CHECK_FUNC_FCNTL])dnl
    428   AC_REQUIRE([CURL_CHECK_FUNC_IOCTL])dnl
    429   AC_REQUIRE([CURL_CHECK_FUNC_IOCTLSOCKET])dnl
    430   AC_REQUIRE([CURL_CHECK_FUNC_IOCTLSOCKET_CAMEL])dnl
    431   AC_REQUIRE([CURL_CHECK_FUNC_SETSOCKOPT])dnl
    432   #
    433   tst_method="unknown"
    434 
    435   AC_MSG_CHECKING([how to set a socket into non-blocking mode])
    436   if test "x$curl_cv_func_fcntl_o_nonblock" = "xyes"; then
    437     tst_method="fcntl O_NONBLOCK"
    438   elif test "x$curl_cv_func_ioctl_fionbio" = "xyes"; then
    439     tst_method="ioctl FIONBIO"
    440   elif test "x$curl_cv_func_ioctlsocket_fionbio" = "xyes"; then
    441     tst_method="ioctlsocket FIONBIO"
    442   elif test "x$curl_cv_func_ioctlsocket_camel_fionbio" = "xyes"; then
    443     tst_method="IoctlSocket FIONBIO"
    444   elif test "x$curl_cv_func_setsockopt_so_nonblock" = "xyes"; then
    445     tst_method="setsockopt SO_NONBLOCK"
    446   fi
    447   AC_MSG_RESULT([$tst_method])
    448   if test "$tst_method" = "unknown"; then
    449     AC_MSG_WARN([cannot determine non-blocking socket method.])
    450   fi
    451 ])
    452 
    453 
    454 dnl CURL_CONFIGURE_SYMBOL_HIDING
    455 dnl -------------------------------------------------
    456 dnl Depending on --enable-symbol-hiding or --disable-symbol-hiding
    457 dnl configure option, and compiler capability to actually honor such
    458 dnl option, this will modify compiler flags as appropriate and also
    459 dnl provide needed definitions for configuration and Makefile.am files.
    460 dnl This macro should not be used until all compilation tests have
    461 dnl been done to prevent interferences on other tests.
    462 
    463 AC_DEFUN([CURL_CONFIGURE_SYMBOL_HIDING], [
    464   AC_MSG_CHECKING([whether hiding of library internal symbols will actually happen])
    465   CFLAG_CURL_SYMBOL_HIDING=""
    466   doing_symbol_hiding="no"
    467   if test x"$curl_cv_native_windows" != "xyes" &&
    468     test "$want_symbol_hiding" = "yes" &&
    469     test "$supports_symbol_hiding" = "yes"; then
    470     doing_symbol_hiding="yes"
    471     CFLAG_CURL_SYMBOL_HIDING="$symbol_hiding_CFLAGS"
    472     AC_DEFINE_UNQUOTED(CURL_EXTERN_SYMBOL, $symbol_hiding_EXTERN,
    473       [Definition to make a library symbol externally visible.])
    474     AC_MSG_RESULT([yes])
    475   else
    476     AC_MSG_RESULT([no])
    477   fi
    478   AM_CONDITIONAL(DOING_CURL_SYMBOL_HIDING, test x$doing_symbol_hiding = xyes)
    479   AC_SUBST(CFLAG_CURL_SYMBOL_HIDING)
    480 ])
    481 
    482 
    483 dnl CURL_CHECK_LIB_ARES
    484 dnl -------------------------------------------------
    485 dnl When c-ares library support has been requested,
    486 dnl performs necessary checks and adjustsments needed
    487 dnl to enable support of this library.
    488 
    489 AC_DEFUN([CURL_CHECK_LIB_ARES], [
    490   #
    491   if test "$want_ares" = "yes"; then
    492     dnl c-ares library support has been requested
    493     clean_CPPFLAGS="$CPPFLAGS"
    494     clean_LDFLAGS="$LDFLAGS"
    495     clean_LIBS="$LIBS"
    496     embedded_ares="unknown"
    497     configure_runpath=`pwd`
    498     embedded_ares_builddir="$configure_runpath/ares"
    499     if test -n "$want_ares_path"; then
    500       dnl c-ares library path has been specified
    501       ares_CPPFLAGS="-I$want_ares_path/include"
    502       ares_LDFLAGS="-L$want_ares_path/lib"
    503       ares_LIBS="-lcares"
    504     else
    505       dnl c-ares library path has not been given
    506       if test -d "$srcdir/ares"; then
    507         dnl c-ares sources embedded in curl tree
    508         embedded_ares="yes"
    509         AC_CONFIG_SUBDIRS(ares)
    510         dnl c-ares has installable configured header files, path
    511         dnl inclusion fully done in makefiles for in-tree builds.
    512         ares_CPPFLAGS=""
    513         ares_LDFLAGS="-L$embedded_ares_builddir"
    514         ares_LIBS="-lcares"
    515       else
    516         dnl c-ares path not specified, use defaults
    517         ares_CPPFLAGS=""
    518         ares_LDFLAGS=""
    519         ares_LIBS="-lcares"
    520       fi
    521     fi
    522     #
    523     CPPFLAGS="$ares_CPPFLAGS $clean_CPPFLAGS"
    524     LDFLAGS="$ares_LDFLAGS $clean_LDFLAGS"
    525     LIBS="$ares_LIBS $clean_LIBS"
    526     #
    527     if test "$embedded_ares" != "yes"; then
    528       dnl check if c-ares new enough when not using an embedded
    529       dnl source tree one which normally has not been built yet.
    530       AC_MSG_CHECKING([that c-ares is good and recent enough])
    531       AC_LINK_IFELSE([
    532         AC_LANG_PROGRAM([[
    533 #include <ares.h>
    534           /* set of dummy functions in case c-ares was built with debug */
    535           void curl_dofree() { }
    536           void curl_sclose() { }
    537           void curl_domalloc() { }
    538           void curl_docalloc() { }
    539           void curl_socket() { }
    540         ]],[[
    541           ares_channel channel;
    542           ares_cancel(channel); /* added in 1.2.0 */
    543           ares_process_fd(channel, 0, 0); /* added in 1.4.0 */
    544           ares_dup(&channel, channel); /* added in 1.6.0 */
    545         ]])
    546       ],[
    547         AC_MSG_RESULT([yes])
    548       ],[
    549         AC_MSG_RESULT([no])
    550         AC_MSG_ERROR([c-ares library defective or too old])
    551         dnl restore initial settings
    552         CPPFLAGS="$clean_CPPFLAGS"
    553         LDFLAGS="$clean_LDFLAGS"
    554         LIBS="$clean_LIBS"
    555         # prevent usage
    556         want_ares="no"
    557       ])
    558     fi
    559     if test "$want_ares" = "yes"; then
    560       dnl finally c-ares will be used
    561       AC_DEFINE(USE_ARES, 1, [Define to enable c-ares support])
    562       AC_SUBST([USE_ARES], [1])
    563       curl_res_msg="c-ares"
    564     fi
    565   fi
    566 ])
    567 
    568 
    569 dnl CURL_CHECK_OPTION_NTLM_WB
    570 dnl -------------------------------------------------
    571 dnl Verify if configure has been invoked with option
    572 dnl --enable-ntlm-wb or --disable-ntlm-wb, and set
    573 dnl shell variable want_ntlm_wb and want_ntlm_wb_file
    574 dnl as appropriate.
    575 
    576 AC_DEFUN([CURL_CHECK_OPTION_NTLM_WB], [
    577   AC_BEFORE([$0],[CURL_CHECK_NTLM_WB])dnl
    578   OPT_NTLM_WB="default"
    579   AC_ARG_ENABLE(ntlm-wb,
    580 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)])
    581 AC_HELP_STRING([--disable-ntlm-wb],[Disable NTLM delegation to winbind's ntlm_auth helper]),
    582   OPT_NTLM_WB=$enableval)
    583   want_ntlm_wb_file="/usr/bin/ntlm_auth"
    584   case "$OPT_NTLM_WB" in
    585     no)
    586       dnl --disable-ntlm-wb option used
    587       want_ntlm_wb="no"
    588       ;;
    589     default)
    590       dnl configure option not specified
    591       want_ntlm_wb="yes"
    592       ;;
    593     *)
    594       dnl --enable-ntlm-wb option used
    595       want_ntlm_wb="yes"
    596       if test -n "$enableval" && test "$enableval" != "yes"; then
    597         want_ntlm_wb_file="$enableval"
    598       fi
    599       ;;
    600   esac
    601 ])
    602 
    603 
    604 dnl CURL_CHECK_NTLM_WB
    605 dnl -------------------------------------------------
    606 dnl Check if support for NTLM delegation to winbind's
    607 dnl ntlm_auth helper will finally be enabled depending
    608 dnl on given configure options and target platform.
    609 
    610 AC_DEFUN([CURL_CHECK_NTLM_WB], [
    611   AC_REQUIRE([CURL_CHECK_OPTION_NTLM_WB])dnl
    612   AC_REQUIRE([CURL_CHECK_NATIVE_WINDOWS])dnl
    613   AC_MSG_CHECKING([whether to enable NTLM delegation to winbind's helper])
    614   if test "$curl_cv_native_windows" = "yes" ||
    615     test "x$SSL_ENABLED" = "x"; then
    616     want_ntlm_wb_file=""
    617     want_ntlm_wb="no"
    618   fi
    619   AC_MSG_RESULT([$want_ntlm_wb])
    620   if test "$want_ntlm_wb" = "yes"; then
    621     AC_DEFINE(NTLM_WB_ENABLED, 1,
    622       [Define to enable NTLM delegation to winbind's ntlm_auth helper.])
    623     AC_DEFINE_UNQUOTED(NTLM_WB_FILE, "$want_ntlm_wb_file",
    624       [Define absolute filename for winbind's ntlm_auth helper.])
    625     NTLM_WB_ENABLED=1
    626   fi
    627 ])
    628 
    629