• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#***************************************************************************
2#                                  _   _ ____  _
3#  Project                     ___| | | |  _ \| |
4#                             / __| | | | |_) | |
5#                            | (__| |_| |  _ <| |___
6#                             \___|\___/|_| \_\_____|
7#
8# Copyright (C) 1998 - 2017, 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 19
25
26dnl CURL_CHECK_OPTION_THREADED_RESOLVER
27dnl -------------------------------------------------
28dnl Verify if configure has been invoked with option
29dnl --enable-threaded-resolver or --disable-threaded-resolver, and
30dnl set shell variable want_thres as appropriate.
31
32AC_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,
36AC_HELP_STRING([--enable-threaded-resolver],[Enable threaded resolver])
37AC_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
52dnl CURL_CHECK_OPTION_ARES
53dnl -------------------------------------------------
54dnl Verify if configure has been invoked with option
55dnl --enable-ares or --disable-ares, and
56dnl set shell variable want_ares as appropriate.
57
58AC_DEFUN([CURL_CHECK_OPTION_ARES], [
59dnl   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,
64AC_HELP_STRING([--enable-ares@<:@=PATH@:>@],[Enable c-ares for DNS lookups])
65AC_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
88dnl CURL_CHECK_OPTION_CURLDEBUG
89dnl -------------------------------------------------
90dnl Verify if configure has been invoked with option
91dnl --enable-curldebug or --disable-curldebug, and set
92dnl shell variable want_curldebug value as appropriate.
93
94AC_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,
99AC_HELP_STRING([--enable-curldebug],[Enable curl debug memory tracking])
100AC_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
139dnl CURL_CHECK_OPTION_DEBUG
140dnl -------------------------------------------------
141dnl Verify if configure has been invoked with option
142dnl --enable-debug or --disable-debug, and set shell
143dnl variable want_debug value as appropriate.
144
145AC_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,
152AC_HELP_STRING([--enable-debug],[Enable debug build options])
153AC_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
172dnl CURL_CHECK_OPTION_OPTIMIZE
173dnl -------------------------------------------------
174dnl Verify if configure has been invoked with option
175dnl --enable-optimize or --disable-optimize, and set
176dnl shell variable want_optimize value as appropriate.
177
178AC_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,
184AC_HELP_STRING([--enable-optimize],[Enable compiler optimizations])
185AC_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
228dnl CURL_CHECK_OPTION_SYMBOL_HIDING
229dnl -------------------------------------------------
230dnl Verify if configure has been invoked with option
231dnl --enable-symbol-hiding or --disable-symbol-hiding,
232dnl setting shell variable want_symbol_hiding value.
233
234AC_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,
239AC_HELP_STRING([--enable-symbol-hiding],[Enable hiding of library internal symbols])
240AC_HELP_STRING([--disable-symbol-hiding],[Disable hiding of library internal symbols]),
241  OPT_SYMBOL_HIDING=$enableval)
242  AC_ARG_ENABLE(hidden-symbols,
243AC_HELP_STRING([--enable-hidden-symbols],[To be deprecated, use --enable-symbol-hiding])
244AC_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
272dnl CURL_CHECK_OPTION_THREADS
273dnl -------------------------------------------------
274dnl Verify if configure has been invoked with option
275dnl --enable-threads or --disable-threads, and
276dnl set shell variable want_threads as appropriate.
277
278dnl AC_DEFUN([CURL_CHECK_OPTION_THREADS], [
279dnl   AC_BEFORE([$0],[CURL_CHECK_LIB_THREADS])dnl
280dnl   AC_MSG_CHECKING([whether to enable threads for DNS lookups])
281dnl   OPT_THREADS="default"
282dnl   AC_ARG_ENABLE(threads,
283dnl AC_HELP_STRING([--enable-threads@<:@=PATH@:>@],[Enable threads for DNS lookups])
284dnl AC_HELP_STRING([--disable-threads],[Disable threads for DNS lookups]),
285dnl   OPT_THREADS=$enableval)
286dnl   case "$OPT_THREADS" in
287dnl     no)
288dnl       dnl --disable-threads option used
289dnl       want_threads="no"
290dnl       AC_MSG_RESULT([no])
291dnl       ;;
292dnl     default)
293dnl       dnl configure option not specified
294dnl       want_threads="no"
295dnl       AC_MSG_RESULT([(assumed) no])
296dnl       ;;
297dnl     *)
298dnl       dnl --enable-threads option used
299dnl       want_threads="yes"
300dnl       want_threads_path="$enableval"
301dnl       AC_MSG_RESULT([yes])
302dnl       ;;
303dnl   esac
304dnl   #
305dnl   if test "$want_ares" = "assume_yes"; then
306dnl     if test "$want_threads" = "yes"; then
307dnl       AC_MSG_CHECKING([whether to ignore c-ares enabling assumed setting])
308dnl       AC_MSG_RESULT([yes])
309dnl       want_ares="no"
310dnl     else
311dnl       want_ares="yes"
312dnl     fi
313dnl   fi
314dnl   if test "$want_threads" = "yes" && test "$want_ares" = "yes"; then
315dnl     AC_MSG_ERROR([options --enable-ares and --enable-threads are mutually exclusive, at most one may be enabled.])
316dnl   fi
317dnl ])
318
319dnl CURL_CHECK_OPTION_RT
320dnl -------------------------------------------------
321dnl Verify if configure has been involed with option
322dnl --disable-rt and set shell variable dontwant_rt
323dnl as appropriate.
324
325AC_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
352dnl CURL_CHECK_OPTION_WARNINGS
353dnl -------------------------------------------------
354dnl Verify if configure has been invoked with option
355dnl --enable-warnings or --disable-warnings, and set
356dnl shell variable want_warnings as appropriate.
357
358AC_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,
365AC_HELP_STRING([--enable-warnings],[Enable strict compiler warnings])
366AC_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
386dnl CURL_CHECK_OPTION_WERROR
387dnl -------------------------------------------------
388dnl Verify if configure has been invoked with option
389dnl --enable-werror or --disable-werror, and set
390dnl shell variable want_werror as appropriate.
391
392AC_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,
397AC_HELP_STRING([--enable-werror],[Enable compiler warnings as errors])
398AC_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
418dnl CURL_CHECK_NONBLOCKING_SOCKET
419dnl -------------------------------------------------
420dnl Check for how to set a socket into non-blocking state.
421
422AC_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
450dnl CURL_CONFIGURE_SYMBOL_HIDING
451dnl -------------------------------------------------
452dnl Depending on --enable-symbol-hiding or --disable-symbol-hiding
453dnl configure option, and compiler capability to actually honor such
454dnl option, this will modify compiler flags as appropriate and also
455dnl provide needed definitions for configuration and Makefile.am files.
456dnl This macro should not be used until all compilation tests have
457dnl been done to prevent interferences on other tests.
458
459AC_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
479dnl CURL_CHECK_LIB_ARES
480dnl -------------------------------------------------
481dnl When c-ares library support has been requested,
482dnl performs necessary checks and adjustsments needed
483dnl to enable support of this library.
484
485AC_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
565dnl CURL_CHECK_OPTION_NTLM_WB
566dnl -------------------------------------------------
567dnl Verify if configure has been invoked with option
568dnl --enable-ntlm-wb or --disable-ntlm-wb, and set
569dnl shell variable want_ntlm_wb and want_ntlm_wb_file
570dnl as appropriate.
571
572AC_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,
576AC_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)])
577AC_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
600dnl CURL_CHECK_NTLM_WB
601dnl -------------------------------------------------
602dnl Check if support for NTLM delegation to winbind's
603dnl ntlm_auth helper will finally be enabled depending
604dnl on given configure options and target platform.
605
606AC_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