• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#***************************************************************************
2#                                  _   _ ____  _
3#  Project                     ___| | | |  _ \| |
4#                             / __| | | | |_) | |
5#                            | (__| |_| |  _ <| |___
6#                             \___|\___/|_| \_\_____|
7#
8# Copyright (C) 1998 - 2013, 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    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
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  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
356dnl CURL_CHECK_OPTION_WARNINGS
357dnl -------------------------------------------------
358dnl Verify if configure has been invoked with option
359dnl --enable-warnings or --disable-warnings, and set
360dnl shell variable want_warnings as appropriate.
361
362AC_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,
369AC_HELP_STRING([--enable-warnings],[Enable strict compiler warnings])
370AC_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
390dnl CURL_CHECK_OPTION_WERROR
391dnl -------------------------------------------------
392dnl Verify if configure has been invoked with option
393dnl --enable-werror or --disable-werror, and set
394dnl shell variable want_werror as appropriate.
395
396AC_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,
401AC_HELP_STRING([--enable-werror],[Enable compiler warnings as errors])
402AC_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
422dnl CURL_CHECK_NONBLOCKING_SOCKET
423dnl -------------------------------------------------
424dnl Check for how to set a socket into non-blocking state.
425
426AC_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
454dnl CURL_CONFIGURE_SYMBOL_HIDING
455dnl -------------------------------------------------
456dnl Depending on --enable-symbol-hiding or --disable-symbol-hiding
457dnl configure option, and compiler capability to actually honor such
458dnl option, this will modify compiler flags as appropriate and also
459dnl provide needed definitions for configuration and Makefile.am files.
460dnl This macro should not be used until all compilation tests have
461dnl been done to prevent interferences on other tests.
462
463AC_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
483dnl CURL_CHECK_LIB_ARES
484dnl -------------------------------------------------
485dnl When c-ares library support has been requested,
486dnl performs necessary checks and adjustsments needed
487dnl to enable support of this library.
488
489AC_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
569dnl CURL_CHECK_OPTION_NTLM_WB
570dnl -------------------------------------------------
571dnl Verify if configure has been invoked with option
572dnl --enable-ntlm-wb or --disable-ntlm-wb, and set
573dnl shell variable want_ntlm_wb and want_ntlm_wb_file
574dnl as appropriate.
575
576AC_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,
580AC_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)])
581AC_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
604dnl CURL_CHECK_NTLM_WB
605dnl -------------------------------------------------
606dnl Check if support for NTLM delegation to winbind's
607dnl ntlm_auth helper will finally be enabled depending
608dnl on given configure options and target platform.
609
610AC_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