smtp: use the upload buffer size for scratch buffer malloc
[platform/upstream/curl.git] / m4 / curl-confopts.m4
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
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