]> git.ipfire.org Git - thirdparty/curl.git/blame - configure.ac
symbols-in-versions: add NTLM_SSO symbols
[thirdparty/curl.git] / configure.ac
CommitLineData
d551412a
DS
1#***************************************************************************
2# _ _ ____ _
3# Project ___| | | | _ \| |
4# / __| | | | |_) | |
5# | (__| |_| | _ <| |___
6# \___|\___/|_| \_\_____|
7#
35e1d653 8# Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
d551412a
DS
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 http://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#
b377e857 21#***************************************************************************
ae1912cb 22dnl Process this file with autoconf to produce a configure script.
7349940b 23
a147a079 24AC_PREREQ(2.57)
7349940b 25
380ed8be 26dnl We don't know the version number "statically" so we use a dash here
d0dea8f8 27AC_INIT([curl], [-], [a suitable curl mailing list: http://curl.haxx.se/mail/])
d5ba0309 28
3f01d9a0
YT
29CURL_OVERRIDE_AUTOCONF
30
d5ba0309 31dnl configure script copyright
8a26a8d8 32AC_COPYRIGHT([Copyright (c) 1998 - 2011 Daniel Stenberg, <daniel@haxx.se>
e16c1b8e 33This configure script may be copied, distributed and modified under the
d5ba0309
DS
34terms of the curl license; see COPYING for more details])
35
93c53424 36AC_CONFIG_SRCDIR([lib/urldata.h])
f671d051 37AM_CONFIG_HEADER(lib/curl_config.h src/curl_config.h include/curl/curlbuild.h)
4913a08c 38AC_CONFIG_MACRO_DIR([m4])
ed29552b 39AM_MAINTAINER_MODE
8f5ffd94 40
2245ac2f 41CURL_CHECK_OPTION_DEBUG
d930280a 42CURL_CHECK_OPTION_OPTIMIZE
2245ac2f 43CURL_CHECK_OPTION_WARNINGS
d6981cb5 44CURL_CHECK_OPTION_WERROR
065047dc 45CURL_CHECK_OPTION_CURLDEBUG
22ed0f50 46CURL_CHECK_OPTION_ARES
2245ac2f 47
f49427d3 48CURL_CHECK_PATH_SEPARATOR_REQUIRED
4e4b6de5 49
f7f76e17
CJ
50#
51# save the configure arguments
52#
53CONFIGURE_OPTIONS="\"$ac_configure_args\""
54AC_SUBST(CONFIGURE_OPTIONS)
55
d6981cb5 56CURL_CFLAG_EXTRAS=""
5393f08d 57if test X"$want_werror" = Xyes; then
d6981cb5
BG
58 CURL_CFLAG_EXTRAS="-Werror"
59fi
60AC_SUBST(CURL_CFLAG_EXTRAS)
61
0b57c475 62dnl SED is mandatory for configure process and libtool.
d2661cb4 63dnl Set it now, allowing it to be changed later.
241b704e
DS
64if test -z "$SED"; then
65 dnl allow it to be overridden
66 AC_PATH_PROG([SED], [sed], [not_found],
67 [$PATH:/usr/bin:/usr/local/bin])
68 if test -z "$SED" || test "$SED" = "not_found"; then
69 AC_MSG_ERROR([sed not found in PATH. Cannot continue without sed.])
70 fi
bfaab6ed 71fi
817efbc2 72AC_SUBST([SED])
075c5342 73
0b57c475 74dnl GREP is mandatory for configure process and libtool.
d2661cb4 75dnl Set it now, allowing it to be changed later.
241b704e
DS
76if test -z "$GREP"; then
77 dnl allow it to be overridden
78 AC_PATH_PROG([GREP], [grep], [not_found],
79 [$PATH:/usr/bin:/usr/local/bin])
80 if test -z "$GREP" || test "$GREP" = "not_found"; then
81 AC_MSG_ERROR([grep not found in PATH. Cannot continue without grep.])
82 fi
0b57c475 83fi
817efbc2 84AC_SUBST([GREP])
0b57c475
YT
85
86dnl EGREP is mandatory for configure process and libtool.
d2661cb4 87dnl Set it now, allowing it to be changed later.
241b704e
DS
88if test -z "$EGREP"; then
89 dnl allow it to be overridden
90 if echo a | ($GREP -E '(a|b)') >/dev/null 2>&1; then
91 AC_MSG_CHECKING([for egrep])
92 EGREP="$GREP -E"
93 AC_MSG_RESULT([$EGREP])
94 else
95 AC_PATH_PROG([EGREP], [egrep], [not_found],
96 [$PATH:/usr/bin:/usr/local/bin])
97 fi
3fc39a6e 98fi
0b57c475
YT
99if test -z "$EGREP" || test "$EGREP" = "not_found"; then
100 AC_MSG_ERROR([egrep not found in PATH. Cannot continue without egrep.])
101fi
817efbc2 102AC_SUBST([EGREP])
3fc39a6e 103
0b57c475 104dnl AR is mandatory for configure process and libtool.
21af9bf1 105dnl This is target dependent, so check it as a tool.
241b704e
DS
106if test -z "$AR"; then
107 dnl allow it to be overridden
108 AC_PATH_TOOL([AR], [ar], [not_found],
109 [$PATH:/usr/bin:/usr/local/bin])
110 if test -z "$AR" || test "$AR" = "not_found"; then
111 AC_MSG_ERROR([ar not found in PATH. Cannot continue without ar.])
112 fi
3fc39a6e 113fi
817efbc2 114AC_SUBST([AR])
0b57c475 115
faaaf626 116AC_SUBST(libext)
9f7c6341 117
f9e55c99
YT
118dnl Remove non-configure distributed curlbuild.h
119if test -f ${srcdir}/include/curl/curlbuild.h; then
120 rm -f ${srcdir}/include/curl/curlbuild.h
121fi
122
7349940b 123dnl figure out the libcurl version
0355e33b 124CURLVERSION=`$SED -ne 's/^#define LIBCURL_VERSION "\(.*\)"/\1/p' ${srcdir}/include/curl/curlver.h`
511f491c 125AM_INIT_AUTOMAKE
075c5342 126AC_MSG_CHECKING([curl version])
0355e33b 127AC_MSG_RESULT($CURLVERSION)
caf8c01e 128
ee4c1206
DS
129AC_SUBST(CURLVERSION)
130
1e5e0f9a
DS
131dnl
132dnl we extract the numerical version for curl-config only
593170d1 133VERSIONNUM=`$SED -ne 's/^#define LIBCURL_VERSION_NUM 0x\(.*\)/\1/p' ${srcdir}/include/curl/curlver.h`
1e5e0f9a
DS
134AC_SUBST(VERSIONNUM)
135
c503930b
CB
136dnl Solaris pkgadd support definitions
137PKGADD_PKG="HAXXcurl"
138PKGADD_NAME="cURL - a client that groks URLs"
139PKGADD_VENDOR="curl.haxx.se"
140AC_SUBST(PKGADD_PKG)
141AC_SUBST(PKGADD_NAME)
142AC_SUBST(PKGADD_VENDOR)
143
cff90cf3 144dnl
710e370c 145dnl initialize all the info variables
9e60d8fd 146 curl_ssl_msg="no (--with-{ssl,gnutls,nss,polarssl,cyassl,axtls} )"
2147284c 147 curl_ssh_msg="no (--with-libssh2)"
710e370c
DS
148 curl_zlib_msg="no (--with-zlib)"
149 curl_krb4_msg="no (--with-krb4*)"
150 curl_gss_msg="no (--with-gssapi)"
151 curl_spnego_msg="no (--with-spnego)"
59cf93cc 152curl_tls_srp_msg="no (--enable-tls-srp)"
79dc74e8 153 curl_res_msg="default (--enable-ares / --enable-threaded-resolver)"
710e370c
DS
154 curl_ipv6_msg="no (--enable-ipv6)"
155 curl_idn_msg="no (--with-libidn)"
156 curl_manual_msg="no (--enable-manual)"
157curl_verbose_msg="enabled (--disable-verbose)"
8ed31c48 158 curl_sspi_msg="no (--enable-sspi)"
d0edb478 159 curl_ldap_msg="no (--enable-ldap / --with-ldap-lib / --with-lber-lib)"
4b60c3e9 160 curl_ldaps_msg="no (--enable-ldaps)"
4a8a7314 161 curl_rtsp_msg="no (--enable-rtsp)"
04cb15ae 162 curl_rtmp_msg="no (--with-librtmp)"
108d7693 163 init_ssl_msg=${curl_ssl_msg}
c503930b 164
a0a47f27
DF
165dnl
166dnl Save anything in $LIBS for later
167dnl
168ALL_LIBS=$LIBS
169
caf8c01e
DS
170dnl
171dnl Detect the canonical host and target build environment
172dnl
ae1912cb 173
c77f77a1 174AC_CANONICAL_HOST
93c53424 175dnl Get system canonical name
22a32389 176AC_DEFINE_UNQUOTED(OS, "${host}", [cpu-machine-OS])
1b1f143c 177
93c53424 178dnl Checks for programs.
d930280a 179CURL_CHECK_PROG_CC
93c53424 180
14240e9e
YT
181dnl Our curl_off_t internal and external configure settings
182CURL_CONFIGURE_CURL_OFF_T
183
b4fdccf8
YT
184dnl This defines _ALL_SOURCE for AIX
185CURL_CHECK_AIX_ALL_SOURCE
186
1bc49007 187dnl Our configure and build reentrant settings
1cbc93fb 188CURL_CONFIGURE_THREAD_SAFE
052f9dde 189CURL_CONFIGURE_REENTRANT
1bc49007 190
d4ffc5ef 191dnl check for how to do large files
1b1f143c 192AC_SYS_LARGEFILE
d4ffc5ef 193
c84f84c7 194dnl support building of Windows DLLs
1e8f0c57
DS
195AC_LIBTOOL_WIN32_DLL
196
6cea5158
DF
197dnl force libtool to build static libraries with PIC on AMD64-Linux & FreeBSD
198AC_MSG_CHECKING([if arch-OS host is AMD64-Linux/FreeBSD (to build static libraries with PIC)])
74befdfb 199case $host in
6cea5158 200 x86_64*linux*|amd64*freebsd*|ia64*freebsd*)
74befdfb
YT
201 AC_MSG_RESULT([yes])
202 with_pic=yes
203 ;;
204 *)
205 AC_MSG_RESULT([no])
206 ;;
207esac
208
19f79e5a
YT
209AC_MSG_CHECKING([if compiler is icc (to build with PIC)])
210case $CC in
211 icc | */icc)
212 AC_MSG_RESULT([yes])
213 with_pic=yes
214 ;;
215 *)
216 AC_MSG_RESULT([no])
217 ;;
218esac
219
1e8f0c57 220dnl libtool setup
d20a0516 221AC_PROG_LIBTOOL
93c53424 222
fcfc6de9 223AC_MSG_CHECKING([if we need -mimpure-text])
5ab9d72e 224mimpure=no
fcfc6de9
DS
225case $host in
226 *-*-solaris2*)
227 if test "$GCC" = "yes"; then
228 mimpure="yes"
229 fi
230 ;;
231 *)
fcfc6de9
DS
232 ;;
233esac
234AC_MSG_RESULT($mimpure)
235AM_CONDITIONAL(MIMPURE, test x$mimpure = xyes)
157e6d4e
DS
236
237dnl 'STATICLIB' is, in spite of its name, not generic but only for static-only
238dnl builds on Windows
bff96239 239AM_CONDITIONAL(STATICLIB, false)
fcfc6de9 240
4d815c99
DS
241AC_MSG_CHECKING([if we need BUILDING_LIBCURL])
242case $host in
243 *-*-mingw*)
244 AC_DEFINE(BUILDING_LIBCURL, 1, [when building libcurl itself])
245 AC_MSG_RESULT(yes)
b29017f1 246 AC_MSG_CHECKING([if we need CURL_STATICLIB])
0bb04082
DS
247 if test "X$enable_shared" = "Xno"
248 then
249 AC_DEFINE(CURL_STATICLIB, 1, [when not building a shared library])
250 AC_MSG_RESULT(yes)
bff96239 251 AM_CONDITIONAL(STATICLIB, true)
b29017f1
DS
252 else
253 AC_MSG_RESULT(no)
0bb04082 254 fi
4d815c99
DS
255 ;;
256 *)
257 AC_MSG_RESULT(no)
258 ;;
259esac
260
9de4e5eb
DF
261# Determine whether all dependent libraries must be specified when linking
262if test "X$enable_shared" = "Xyes" -a "X$link_all_deplibs" = "Xno"
263then
264 REQUIRE_LIB_DEPS=no
265else
266 REQUIRE_LIB_DEPS=yes
267fi
268AC_SUBST(REQUIRE_LIB_DEPS)
269
d1a1fcc6
DS
270dnl The install stuff has already been taken care of by the automake stuff
271dnl AC_PROG_INSTALL
ae1912cb
DS
272AC_PROG_MAKE_SET
273
375cdf89
DS
274dnl check if there's a way to force code inline
275AC_C_INLINE
276
33ddeb6d
YT
277dnl **********************************************************************
278dnl platform/compiler/architecture specific checks/flags
279dnl **********************************************************************
280
2245ac2f 281CURL_CHECK_COMPILER
d930280a
YT
282CURL_SET_COMPILER_BASIC_OPTS
283CURL_SET_COMPILER_DEBUG_OPTS
284CURL_SET_COMPILER_OPTIMIZE_OPTS
285CURL_SET_COMPILER_WARNING_OPTS
9f8c40ed 286
19f79e5a 287if test "$compiler_id" = "INTEL_UNIX_C"; then
1054dc5e 288 #
19f79e5a
YT
289 if test "$compiler_num" -ge "1000"; then
290 dnl icc 10.X or later
291 CFLAGS="$CFLAGS -shared-intel"
292 elif test "$compiler_num" -ge "900"; then
293 dnl icc 9.X specific
294 CFLAGS="$CFLAGS -i-dynamic"
295 fi
1054dc5e 296 #
19f79e5a 297fi
9f8c40ed 298
2c61e9c7
YT
299CURL_CHECK_COMPILER_HALT_ON_ERROR
300CURL_CHECK_COMPILER_ARRAY_SIZE_NEGATIVE
301
065047dc
YT
302CURL_CHECK_NO_UNDEFINED
303AM_CONDITIONAL(NO_UNDEFINED, test x$need_no_undefined = xyes)
304
305CURL_CHECK_CURLDEBUG
306AM_CONDITIONAL(CURLDEBUG, test x$want_curldebug = xyes)
307
10a7d05b
YT
308supports_unittests=yes
309# cross-compilation of unit tests static library/programs fails when
310# libcurl shared library is built. This might be due to a libtool or
311# automake issue. In this case we disable unit tests.
312if test "x$cross_compiling" != "xno" &&
313 test "x$enable_shared" != "xno"; then
314 supports_unittests=no
315fi
316
910d7953 317dnl Build unit tests when option --enable-debug is given.
10a7d05b
YT
318if test "x$want_debug" = "xyes" &&
319 test "x$supports_unittests" = "xyes"; then
320 want_unittests=yes
321else
322 want_unittests=no
323fi
324AM_CONDITIONAL(BUILD_UNITTESTS, test x$want_unittests = xyes)
aa76dec3 325
2c61e9c7
YT
326dnl **********************************************************************
327dnl Compilation based checks should not be done before this point.
328dnl **********************************************************************
329
330dnl **********************************************************************
331dnl Make sure that our checks for headers windows.h winsock.h winsock2.h
332dnl and ws2tcpip.h take precedence over any other further checks which
333dnl could be done later using AC_CHECK_HEADER or AC_CHECK_HEADERS for
334dnl this specific header files. And do them before its results are used.
335dnl **********************************************************************
336
337CURL_CHECK_HEADER_WINDOWS
338CURL_CHECK_NATIVE_WINDOWS
339case X-"$ac_cv_native_windows" in
340 X-yes)
341 CURL_CHECK_HEADER_WINSOCK
342 CURL_CHECK_HEADER_WINSOCK2
343 CURL_CHECK_HEADER_WS2TCPIP
344 CURL_CHECK_HEADER_WINLDAP
345 CURL_CHECK_HEADER_WINBER
346 ;;
347 *)
348 ac_cv_header_winsock_h="no"
349 ac_cv_header_winsock2_h="no"
350 ac_cv_header_ws2tcpip_h="no"
351 ac_cv_header_winldap_h="no"
352 ac_cv_header_winber_h="no"
353 ;;
354esac
fef60d9d 355CURL_CHECK_WIN32_LARGEFILE
2c61e9c7 356
fd3881ea
DS
357dnl ************************************************************
358dnl switch off particular protocols
359dnl
360AC_MSG_CHECKING([whether to support http])
361AC_ARG_ENABLE(http,
f136f435
DS
362AC_HELP_STRING([--enable-http],[Enable HTTP support])
363AC_HELP_STRING([--disable-http],[Disable HTTP support]),
fd3881ea
DS
364[ case "$enableval" in
365 no)
366 AC_MSG_RESULT(no)
22a32389 367 AC_DEFINE(CURL_DISABLE_HTTP, 1, [to disable HTTP])
4a8a7314 368 AC_MSG_WARN([disable HTTP disables FTP over proxy and RTSP])
3955b313 369 AC_SUBST(CURL_DISABLE_HTTP, [1])
4a8a7314
YT
370 AC_DEFINE(CURL_DISABLE_RTSP, 1, [to disable RTSP])
371 AC_SUBST(CURL_DISABLE_RTSP, [1])
fd3881ea
DS
372 ;;
373 *) AC_MSG_RESULT(yes)
374 ;;
375 esac ],
376 AC_MSG_RESULT(yes)
377)
378AC_MSG_CHECKING([whether to support ftp])
379AC_ARG_ENABLE(ftp,
f136f435
DS
380AC_HELP_STRING([--enable-ftp],[Enable FTP support])
381AC_HELP_STRING([--disable-ftp],[Disable FTP support]),
fd3881ea
DS
382[ case "$enableval" in
383 no)
384 AC_MSG_RESULT(no)
22a32389 385 AC_DEFINE(CURL_DISABLE_FTP, 1, [to disable FTP])
3955b313 386 AC_SUBST(CURL_DISABLE_FTP, [1])
fd3881ea
DS
387 ;;
388 *) AC_MSG_RESULT(yes)
389 ;;
390 esac ],
391 AC_MSG_RESULT(yes)
392)
fd3881ea
DS
393AC_MSG_CHECKING([whether to support file])
394AC_ARG_ENABLE(file,
f136f435
DS
395AC_HELP_STRING([--enable-file],[Enable FILE support])
396AC_HELP_STRING([--disable-file],[Disable FILE support]),
fd3881ea
DS
397[ case "$enableval" in
398 no)
399 AC_MSG_RESULT(no)
22a32389 400 AC_DEFINE(CURL_DISABLE_FILE, 1, [to disable FILE])
3955b313 401 AC_SUBST(CURL_DISABLE_FILE, [1])
fd3881ea
DS
402 ;;
403 *) AC_MSG_RESULT(yes)
404 ;;
405 esac ],
406 AC_MSG_RESULT(yes)
407)
408AC_MSG_CHECKING([whether to support ldap])
409AC_ARG_ENABLE(ldap,
f136f435
DS
410AC_HELP_STRING([--enable-ldap],[Enable LDAP support])
411AC_HELP_STRING([--disable-ldap],[Disable LDAP support]),
fd3881ea
DS
412[ case "$enableval" in
413 no)
414 AC_MSG_RESULT(no)
22a32389 415 AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP])
3955b313 416 AC_SUBST(CURL_DISABLE_LDAP, [1])
fd3881ea 417 ;;
a674654f 418 *)
43d20d81 419 AC_MSG_RESULT(yes)
fd3881ea 420 ;;
a674654f 421 esac ],[
43d20d81 422 AC_MSG_RESULT(yes) ]
fd3881ea 423)
4b60c3e9
GK
424AC_MSG_CHECKING([whether to support ldaps])
425AC_ARG_ENABLE(ldaps,
426AC_HELP_STRING([--enable-ldaps],[Enable LDAPS support])
427AC_HELP_STRING([--disable-ldaps],[Disable LDAPS support]),
428[ case "$enableval" in
429 no)
430 AC_MSG_RESULT(no)
431 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
432 AC_SUBST(CURL_DISABLE_LDAPS, [1])
433 ;;
e1c2c9be
YT
434 *) if test "x$CURL_DISABLE_LDAP" = "x1" ; then
435 AC_MSG_RESULT(LDAP needs to be enabled to support LDAPS)
436 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
437 AC_SUBST(CURL_DISABLE_LDAPS, [1])
4b60c3e9 438 else
e1c2c9be
YT
439 AC_MSG_RESULT(yes)
440 AC_DEFINE(HAVE_LDAP_SSL, 1, [Use LDAPS implementation])
441 AC_SUBST(HAVE_LDAP_SSL, [1])
4b60c3e9
GK
442 fi
443 ;;
e1c2c9be
YT
444 esac ],[
445 if test "x$CURL_DISABLE_LDAP" = "x1" ; then
446 AC_MSG_RESULT(no)
447 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
448 AC_SUBST(CURL_DISABLE_LDAPS, [1])
449 else
450 AC_MSG_RESULT(yes)
451 AC_DEFINE(HAVE_LDAP_SSL, 1, [Use LDAPS implementation])
452 AC_SUBST(HAVE_LDAP_SSL, [1])
e1c2c9be 453 fi ]
4b60c3e9
GK
454)
455
bc4582b6
DS
456AC_MSG_CHECKING([whether to support rtsp])
457AC_ARG_ENABLE(rtsp,
458AC_HELP_STRING([--enable-rtsp],[Enable RTSP support])
459AC_HELP_STRING([--disable-rtsp],[Disable RTSP support]),
460[ case "$enableval" in
461 no)
462 AC_MSG_RESULT(no)
463 AC_DEFINE(CURL_DISABLE_RTSP, 1, [to disable RTSP])
464 AC_SUBST(CURL_DISABLE_RTSP, [1])
465 ;;
c047fe8e
DS
466 *) if test x$CURL_DISABLE_HTTP = x1 ; then
467 AC_MSG_ERROR(HTTP support needs to be enabled in order to enable RTSP support!)
468 else
469 AC_MSG_RESULT(yes)
470 curl_rtsp_msg="enabled"
471 fi
bc4582b6 472 ;;
4a8a7314
YT
473 esac ],
474 if test "x$CURL_DISABLE_HTTP" != "x1"; then
475 AC_MSG_RESULT(yes)
476 curl_rtsp_msg="enabled"
477 else
478 AC_MSG_RESULT(no)
479 fi
bc4582b6
DS
480)
481
6f8d4397 482AC_MSG_CHECKING([whether to support proxies])
f3ab5d55
DS
483AC_ARG_ENABLE(proxy,
484AC_HELP_STRING([--enable-proxy],[Enable proxy support])
485AC_HELP_STRING([--disable-proxy],[Disable proxy support]),
486[ case "$enableval" in
487 no)
488 AC_MSG_RESULT(no)
489 AC_DEFINE(CURL_DISABLE_PROXY, 1, [to disable proxies])
490 AC_SUBST(CURL_DISABLE_PROXY, [1])
491 ;;
492 *) AC_MSG_RESULT(yes)
493 ;;
494 esac ],
495 AC_MSG_RESULT(yes)
496)
497
fd3881ea
DS
498AC_MSG_CHECKING([whether to support dict])
499AC_ARG_ENABLE(dict,
f136f435
DS
500AC_HELP_STRING([--enable-dict],[Enable DICT support])
501AC_HELP_STRING([--disable-dict],[Disable DICT support]),
fd3881ea
DS
502[ case "$enableval" in
503 no)
504 AC_MSG_RESULT(no)
b9c60df0 505 AC_DEFINE(CURL_DISABLE_DICT, 1, [to disable DICT])
3955b313 506 AC_SUBST(CURL_DISABLE_DICT, [1])
fd3881ea
DS
507 ;;
508 *) AC_MSG_RESULT(yes)
509 ;;
510 esac ],
511 AC_MSG_RESULT(yes)
512)
513AC_MSG_CHECKING([whether to support telnet])
514AC_ARG_ENABLE(telnet,
f136f435
DS
515AC_HELP_STRING([--enable-telnet],[Enable TELNET support])
516AC_HELP_STRING([--disable-telnet],[Disable TELNET support]),
fd3881ea
DS
517[ case "$enableval" in
518 no)
519 AC_MSG_RESULT(no)
22a32389 520 AC_DEFINE(CURL_DISABLE_TELNET, 1, [to disable TELNET])
3955b313 521 AC_SUBST(CURL_DISABLE_TELNET, [1])
fd3881ea
DS
522 ;;
523 *) AC_MSG_RESULT(yes)
524 ;;
525 esac ],
526 AC_MSG_RESULT(yes)
527)
56d9624b
DS
528AC_MSG_CHECKING([whether to support tftp])
529AC_ARG_ENABLE(tftp,
530AC_HELP_STRING([--enable-tftp],[Enable TFTP support])
531AC_HELP_STRING([--disable-tftp],[Disable TFTP support]),
532[ case "$enableval" in
533 no)
534 AC_MSG_RESULT(no)
535 AC_DEFINE(CURL_DISABLE_TFTP, 1, [to disable TFTP])
536 AC_SUBST(CURL_DISABLE_TFTP, [1])
537 ;;
538 *) AC_MSG_RESULT(yes)
539 ;;
540 esac ],
541 AC_MSG_RESULT(yes)
542)
fd3881ea 543
92b9b468
DS
544AC_MSG_CHECKING([whether to support pop3])
545AC_ARG_ENABLE(pop3,
546AC_HELP_STRING([--enable-pop3],[Enable POP3 support])
547AC_HELP_STRING([--disable-pop3],[Disable POP3 support]),
548[ case "$enableval" in
549 no)
550 AC_MSG_RESULT(no)
551 AC_DEFINE(CURL_DISABLE_POP3, 1, [to disable POP3])
552 AC_SUBST(CURL_DISABLE_POP3, [1])
553 ;;
554 *) AC_MSG_RESULT(yes)
555 ;;
556 esac ],
557 AC_MSG_RESULT(yes)
558)
559
560
561AC_MSG_CHECKING([whether to support imap])
562AC_ARG_ENABLE(imap,
563AC_HELP_STRING([--enable-imap],[Enable IMAP support])
564AC_HELP_STRING([--disable-imap],[Disable IMAP support]),
565[ case "$enableval" in
566 no)
567 AC_MSG_RESULT(no)
568 AC_DEFINE(CURL_DISABLE_IMAP, 1, [to disable IMAP])
569 AC_SUBST(CURL_DISABLE_IMAP, [1])
570 ;;
571 *) AC_MSG_RESULT(yes)
572 ;;
573 esac ],
574 AC_MSG_RESULT(yes)
575)
576
577
578AC_MSG_CHECKING([whether to support smtp])
579AC_ARG_ENABLE(smtp,
580AC_HELP_STRING([--enable-smtp],[Enable SMTP support])
581AC_HELP_STRING([--disable-smtp],[Disable SMTP support]),
582[ case "$enableval" in
583 no)
584 AC_MSG_RESULT(no)
585 AC_DEFINE(CURL_DISABLE_SMTP, 1, [to disable SMTP])
586 AC_SUBST(CURL_DISABLE_SMTP, [1])
587 ;;
588 *) AC_MSG_RESULT(yes)
589 ;;
590 esac ],
591 AC_MSG_RESULT(yes)
592)
593
201637d4
CK
594AC_MSG_CHECKING([whether to support gopher])
595AC_ARG_ENABLE(gopher,
596AC_HELP_STRING([--enable-gopher],[Enable Gopher support])
597AC_HELP_STRING([--disable-gopher],[Disable Gopher support]),
598[ case "$enableval" in
599 no)
600 AC_MSG_RESULT(no)
601 AC_DEFINE(CURL_DISABLE_GOPHER, 1, [to disable Gopher])
602 AC_SUBST(CURL_DISABLE_GOPHER, [1])
603 ;;
604 *) AC_MSG_RESULT(yes)
605 ;;
606 esac ],
607 AC_MSG_RESULT(yes)
608)
609
92b9b468 610
f3663a9d
DS
611dnl **********************************************************************
612dnl Check for built-in manual
613dnl **********************************************************************
614
615AC_MSG_CHECKING([whether to provide built-in manual])
616AC_ARG_ENABLE(manual,
617AC_HELP_STRING([--enable-manual],[Enable built-in manual])
618AC_HELP_STRING([--disable-manual],[Disable built-in manual]),
619[ case "$enableval" in
620 no)
621 AC_MSG_RESULT(no)
622 ;;
623 *) AC_MSG_RESULT(yes)
624 USE_MANUAL="1"
625 ;;
626 esac ],
627 AC_MSG_RESULT(yes)
628 USE_MANUAL="1"
629)
630dnl The actual use of the USE_MANUAL variable is done much later in this
631dnl script to allow other actions to disable it as well.
632
ae1912cb
DS
633dnl **********************************************************************
634dnl Checks for libraries.
635dnl **********************************************************************
636
9b4253fe 637CURL_CHECK_LIB_XNET
c76e5382 638
9f2780a2
DS
639dnl gethostbyname without lib or in the nsl lib?
640AC_CHECK_FUNC(gethostbyname,
641 [HAVE_GETHOSTBYNAME="1"
642 ],
643 [ AC_CHECK_LIB(nsl, gethostbyname,
644 [HAVE_GETHOSTBYNAME="1"
645 LIBS="$LIBS -lnsl"
646 ])
647 ])
648
649if test "$HAVE_GETHOSTBYNAME" != "1"
650then
61fb8fea 651 dnl gethostbyname in the socket lib?
9f2780a2
DS
652 AC_CHECK_LIB(socket, gethostbyname,
653 [HAVE_GETHOSTBYNAME="1"
654 LIBS="$LIBS -lsocket"
655 ])
61fb8fea
DS
656fi
657
9f2780a2
DS
658dnl At least one system has been identified to require BOTH nsl and socket
659dnl libs at the same time to link properly.
660if test "$HAVE_GETHOSTBYNAME" != "1"
661then
af43ce73 662 AC_MSG_CHECKING([for gethostbyname with both nsl and socket libs])
caf8c01e
DS
663 my_ac_save_LIBS=$LIBS
664 LIBS="-lnsl -lsocket $LIBS"
8ad1928d
YT
665 AC_LINK_IFELSE([
666 AC_LANG_PROGRAM([[
667 ]],[[
668 gethostbyname();
669 ]])
670 ],[
671 AC_MSG_RESULT([yes])
672 HAVE_GETHOSTBYNAME="1"
673 ],[
674 AC_MSG_RESULT([no])
675 LIBS=$my_ac_save_LIBS
676 ])
9f2780a2 677fi
caf8c01e 678
9f2780a2
DS
679if test "$HAVE_GETHOSTBYNAME" != "1"
680then
560a82ae
YT
681 dnl This is for winsock systems
682 if test "$ac_cv_header_windows_h" = "yes"; then
683 if test "$ac_cv_header_winsock_h" = "yes"; then
512b9ac1
YT
684 case $host in
685 *-*-mingw32ce*)
686 winsock_LIB="-lwinsock"
687 ;;
688 *)
689 winsock_LIB="-lwsock32"
690 ;;
691 esac
560a82ae
YT
692 fi
693 if test "$ac_cv_header_winsock2_h" = "yes"; then
694 winsock_LIB="-lws2_32"
695 fi
696 if test ! -z "$winsock_LIB"; then
697 my_ac_save_LIBS=$LIBS
698 LIBS="$winsock_LIB $LIBS"
699 AC_MSG_CHECKING([for gethostbyname in $winsock_LIB])
8ad1928d
YT
700 AC_LINK_IFELSE([
701 AC_LANG_PROGRAM([[
560a82ae
YT
702#ifdef HAVE_WINDOWS_H
703#ifndef WIN32_LEAN_AND_MEAN
704#define WIN32_LEAN_AND_MEAN
705#endif
706#include <windows.h>
707#ifdef HAVE_WINSOCK2_H
708#include <winsock2.h>
709#else
710#ifdef HAVE_WINSOCK_H
711#include <winsock.h>
712#endif
713#endif
714#endif
8ad1928d 715 ]],[[
560a82ae 716 gethostbyname("www.dummysite.com");
8ad1928d
YT
717 ]])
718 ],[
719 AC_MSG_RESULT([yes])
720 HAVE_GETHOSTBYNAME="1"
721 ],[
722 AC_MSG_RESULT([no])
723 winsock_LIB=""
724 LIBS=$my_ac_save_LIBS
560a82ae
YT
725 ])
726 fi
727 fi
684245d6
DF
728fi
729
0427e944
DF
730if test "$HAVE_GETHOSTBYNAME" != "1"
731then
732 dnl This is for Minix 3.1
733 AC_MSG_CHECKING([for gethostbyname for Minix 3])
8ad1928d
YT
734 AC_LINK_IFELSE([
735 AC_LANG_PROGRAM([[
0427e944 736/* Older Minix versions may need <net/gen/netdb.h> here instead */
8ad1928d
YT
737#include <netdb.h>
738 ]],[[
739 gethostbyname("www.dummysite.com");
740 ]])
741 ],[
742 AC_MSG_RESULT([yes])
743 HAVE_GETHOSTBYNAME="1"
744 ],[
745 AC_MSG_RESULT([no])
746 ])
0427e944
DF
747fi
748
684245d6
DF
749if test "$HAVE_GETHOSTBYNAME" != "1"
750then
751 dnl This is for eCos with a stubbed DNS implementation
752 AC_MSG_CHECKING([for gethostbyname for eCos])
8ad1928d
YT
753 AC_LINK_IFELSE([
754 AC_LANG_PROGRAM([[
684245d6 755#include <stdio.h>
8ad1928d
YT
756#include <netdb.h>
757 ]],[[
758 gethostbyname("www.dummysite.com");
759 ]])
760 ],[
761 AC_MSG_RESULT([yes])
762 HAVE_GETHOSTBYNAME="1"
763 ],[
764 AC_MSG_RESULT([no])
765 ])
9f2780a2
DS
766fi
767
b97606f0
DS
768if test "$HAVE_GETHOSTBYNAME" != "1"
769then
770 dnl gethostbyname in the network lib - for Haiku OS
771 AC_CHECK_LIB(network, gethostbyname,
772 [HAVE_GETHOSTBYNAME="1"
773 LIBS="$LIBS -lnetwork"
774 ])
775fi
776
58f4af79
DS
777if test "$HAVE_GETHOSTBYNAME" != "1"
778then
779 dnl gethostbyname in the net lib - for BeOS
780 AC_CHECK_LIB(net, gethostbyname,
781 [HAVE_GETHOSTBYNAME="1"
782 LIBS="$LIBS -lnet"
783 ])
784fi
785
786
9b12f096 787if test "$HAVE_GETHOSTBYNAME" != "1"; then
9f2780a2 788 AC_MSG_ERROR([couldn't find libraries for gethostbyname()])
caf8c01e
DS
789fi
790
ae1912cb 791dnl resolve lib?
22a32389 792AC_CHECK_FUNC(strcasecmp, , [ AC_CHECK_LIB(resolve, strcasecmp) ])
ae1912cb 793
b174aeaa
DS
794if test "$ac_cv_lib_resolve_strcasecmp" = "$ac_cv_func_strcasecmp"; then
795 AC_CHECK_LIB(resolve, strcasecmp,
796 [LIBS="-lresolve $LIBS"],
797 ,
798 -lnsl)
799fi
4c621bc6 800ac_cv_func_strcasecmp="no"
b174aeaa 801
1ff4e900 802CURL_CHECK_LIBS_CONNECT
ae1912cb 803
50a1d5ee
YT
804CURL_NETWORK_LIBS=$LIBS
805
b380dd03 806dnl **********************************************************************
ed80eb5b
YT
807dnl In case that function clock_gettime with monotonic timer is available,
808dnl check for additional required libraries.
b380dd03 809dnl **********************************************************************
ed80eb5b 810CURL_CHECK_LIBS_CLOCK_GETTIME_MONOTONIC
b380dd03 811
c461254d
DF
812dnl **********************************************************************
813dnl The preceding library checks are all potentially useful for test
814dnl servers (for providing networking support). Save the list of required
815dnl libraries at this point for use while linking those test servers.
816dnl **********************************************************************
817TEST_SERVER_LIBS=$LIBS
ae1912cb 818
c461254d 819dnl **********************************************************************
075c5342
DS
820AC_MSG_CHECKING([whether to use libgcc])
821AC_ARG_ENABLE(libgcc,
822AC_HELP_STRING([--enable-libgcc],[use libgcc when linking]),
823[ case "$enableval" in
824 yes)
a0a47f27 825 ALL_LIBS="$ALL_LIBS -lgcc"
075c5342
DS
826 AC_MSG_RESULT(yes)
827 ;;
828 *) AC_MSG_RESULT(no)
829 ;;
830 esac ],
831 AC_MSG_RESULT(no)
832)
833
3ec605de 834dnl **********************************************************************
d0edb478 835dnl Check for LDAP
205f8b26
DF
836dnl **********************************************************************
837
838LDAPLIBNAME=""
839AC_ARG_WITH(ldap-lib,
d0edb478 840AC_HELP_STRING([--with-ldap-lib=libname],[Specify name of ldap lib file]),
205f8b26
DF
841 [LDAPLIBNAME="$withval"])
842
843LBERLIBNAME=""
844AC_ARG_WITH(lber-lib,
d0edb478 845AC_HELP_STRING([--with-lber-lib=libname],[Specify name of lber lib file]),
205f8b26
DF
846 [LBERLIBNAME="$withval"])
847
848if test x$CURL_DISABLE_LDAP != x1 ; then
849
a171f60b
YT
850 CURL_CHECK_HEADER_LBER
851 CURL_CHECK_HEADER_LDAP
852 CURL_CHECK_HEADER_LDAPSSL
853 CURL_CHECK_HEADER_LDAP_SSL
3337be81 854
205f8b26 855 if test -z "$LDAPLIBNAME" ; then
43d20d81
YT
856 if test "$ac_cv_native_windows" = "yes"; then
857 dnl Windows uses a single and unique LDAP library name
858 LDAPLIBNAME="wldap32"
859 LBERLIBNAME="no"
860 fi
205f8b26
DF
861 fi
862
863 if test "$LDAPLIBNAME" ; then
d0edb478
DS
864 AC_CHECK_LIB("$LDAPLIBNAME", ldap_init,, [
865 AC_MSG_WARN(["$LDAPLIBNAME" is not an LDAP library: LDAP disabled])
866 AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP])
867 AC_SUBST(CURL_DISABLE_LDAP, [1])])
c37cdbe2
DF
868 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
869 AC_SUBST(CURL_DISABLE_LDAPS, [1])
205f8b26 870 else
4db954f8
YT
871 dnl Try to find the right ldap libraries for this system
872 CURL_CHECK_LIBS_LDAP
873 case X-"$curl_cv_ldap_LIBS" in
874 X-unknown)
875 AC_MSG_WARN([Cannot find libraries for LDAP support: LDAP disabled])
876 AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP])
877 AC_SUBST(CURL_DISABLE_LDAP, [1])
c37cdbe2
DF
878 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
879 AC_SUBST(CURL_DISABLE_LDAPS, [1])
4db954f8
YT
880 ;;
881 esac
205f8b26 882 fi
d0edb478
DS
883fi
884
885if test x$CURL_DISABLE_LDAP != x1 ; then
205f8b26
DF
886
887 if test "$LBERLIBNAME" ; then
d0edb478 888 dnl If name is "no" then don't define this library at all
205f8b26 889 dnl (it's only needed if libldap.so's dependencies are broken).
e16c1b8e 890 if test "$LBERLIBNAME" != "no" ; then
d0edb478
DS
891 AC_CHECK_LIB("$LBERLIBNAME", ber_free,, [
892 AC_MSG_WARN(["$LBERLIBNAME" is not an LBER library: LDAP disabled])
893 AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP])
894 AC_SUBST(CURL_DISABLE_LDAP, [1])])
c37cdbe2
DF
895 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
896 AC_SUBST(CURL_DISABLE_LDAPS, [1])
205f8b26 897 fi
d0edb478
DS
898 fi
899fi
900
901if test x$CURL_DISABLE_LDAP != x1 ; then
2e056353 902 AC_CHECK_FUNCS([ldap_url_parse ldap_init_fd])
d0edb478
DS
903
904 if test "$LDAPLIBNAME" = "wldap32"; then
4b60c3e9 905 curl_ldap_msg="enabled (winldap)"
43d20d81 906 AC_DEFINE(CURL_LDAP_WIN, 1, [Use Windows LDAP implementation])
d0edb478 907 else
4b60c3e9 908 curl_ldap_msg="enabled (OpenLDAP)"
e1c2c9be 909 if test "x$ac_cv_func_ldap_init_fd" = "xyes"; then
2e056353 910 AC_DEFINE(USE_OPENLDAP, 1, [Use OpenLDAP-specific code])
b1c1b9bb 911 AC_SUBST(USE_OPENLDAP, [1])
2e056353 912 fi
205f8b26
DF
913 fi
914fi
915
e4128f90
JC
916if test x$CURL_DISABLE_LDAPS != x1 ; then
917 curl_ldaps_msg="enabled"
918fi
919
d1b17779
DS
920dnl **********************************************************************
921dnl Checks for IPv6
922dnl **********************************************************************
923
924AC_MSG_CHECKING([whether to enable ipv6])
925AC_ARG_ENABLE(ipv6,
926AC_HELP_STRING([--enable-ipv6],[Enable ipv6 (with ipv4) support])
927AC_HELP_STRING([--disable-ipv6],[Disable ipv6 support]),
928[ case "$enableval" in
929 no)
930 AC_MSG_RESULT(no)
931 ipv6=no
932 ;;
933 *) AC_MSG_RESULT(yes)
934 ipv6=yes
935 ;;
936 esac ],
937
938 AC_TRY_RUN([ /* is AF_INET6 available? */
939#include <sys/types.h>
940#include <sys/socket.h>
941main()
942{
943 if (socket(AF_INET6, SOCK_STREAM, 0) < 0)
944 exit(1);
945 else
946 exit(0);
947}
948],
949 AC_MSG_RESULT(yes)
950 ipv6=yes,
951 AC_MSG_RESULT(no)
952 ipv6=no,
953 AC_MSG_RESULT(no)
954 ipv6=no
955))
956
957if test "$ipv6" = "yes"; then
cff90cf3 958 curl_ipv6_msg="enabled"
d1b17779
DS
959fi
960
6efde612
GK
961# Check if struct sockaddr_in6 have sin6_scope_id member
962if test "$ipv6" = yes; then
963 AC_MSG_CHECKING([if struct sockaddr_in6 has sin6_scope_id member])
964 AC_TRY_COMPILE([
965#include <sys/types.h>
966#include <netinet/in.h>] ,
967 struct sockaddr_in6 s; s.sin6_scope_id = 0; , have_sin6_scope_id=yes)
968 if test "$have_sin6_scope_id" = yes; then
1cc50d31
GK
969 AC_MSG_RESULT([yes])
970 AC_DEFINE(HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID, 1, [Define to 1 if struct sockaddr_in6 has the sin6_scope_id member])
6efde612 971 else
1cc50d31 972 AC_MSG_RESULT([no])
6efde612
GK
973 fi
974fi
975
7f67a28c
DS
976dnl **********************************************************************
977dnl Check if the operating system allows programs to write to their own argv[]
978dnl **********************************************************************
979
980AC_MSG_CHECKING([if argv can be written to])
465865c3
YT
981AC_RUN_IFELSE([
982 AC_LANG_SOURCE([[
7f67a28c 983int main(int argc, char ** argv) {
465865c3
YT
984 argv[0][0] = ' ';
985 return (argv[0][0] == ' ')?0:1;
7f67a28c 986}
465865c3
YT
987 ]])
988],[
989 curl_cv_writable_argv=yes
990],[
991 curl_cv_writable_argv=no
992],[
993 curl_cv_writable_argv=cross
0717e469
DS
994])
995case $curl_cv_writable_argv in
996yes)
77431568
GK
997 AC_DEFINE(HAVE_WRITABLE_ARGV, 1, [Define this symbol if your OS supports changing the contents of argv])
998 AC_MSG_RESULT(yes)
999 ;;
0717e469 1000no)
77431568
GK
1001 AC_MSG_RESULT(no)
1002 ;;
0717e469 1003*)
a139ce90
DS
1004 AC_MSG_RESULT(no)
1005 AC_MSG_WARN([the previous check could not be made default was used])
77431568 1006 ;;
0717e469 1007esac
7f67a28c 1008
00505c92
DS
1009dnl **********************************************************************
1010dnl Check for the presence of Kerberos4 libraries and headers
1011dnl **********************************************************************
1012
1013AC_ARG_WITH(krb4-includes,
f136f435
DS
1014AC_HELP_STRING([--with-krb4-includes=DIR],
1015 [Specify location of kerberos4 headers]),[
00505c92
DS
1016 CPPFLAGS="$CPPFLAGS -I$withval"
1017 KRB4INC="$withval"
1018 want_krb4=yes
1019 ])
1020
1021AC_ARG_WITH(krb4-libs,
f136f435 1022AC_HELP_STRING([--with-krb4-libs=DIR],[Specify location of kerberos4 libs]),[
00505c92
DS
1023 LDFLAGS="$LDFLAGS -L$withval"
1024 KRB4LIB="$withval"
1025 want_krb4=yes
1026 ])
1027
1028
1029OPT_KRB4=off
1030AC_ARG_WITH(krb4,dnl
f136f435 1031AC_HELP_STRING([--with-krb4=DIR],[where to look for Kerberos4]),[
00505c92 1032 OPT_KRB4="$withval"
5872e8dd
DF
1033 if test X"$OPT_KRB4" != Xno; then
1034 want_krb4="yes"
1035 if test X"$OPT_KRB4" != Xyes; then
1036 LDFLAGS="$LDFLAGS -L$OPT_KRB4/lib$libsuff"
1037 KRB4LIB="$OPT_KRB4/lib$libsuff"
1038 CPPFLAGS="$CPPFLAGS -I$OPT_KRB4/include"
1039 KRB4INC="$OPT_KRB4/include"
1040 fi
00505c92 1041 fi
00505c92
DS
1042 ])
1043
1044AC_MSG_CHECKING([if Kerberos4 support is requested])
1045
1046if test "$want_krb4" = yes
1047then
f6e2bfd4
DS
1048 if test "$ipv6" = "yes"; then
1049 echo krb4 is not compatible with IPv6
1050 exit 1
1051 fi
00505c92
DS
1052 AC_MSG_RESULT(yes)
1053
1054 dnl Check for & handle argument to --with-krb4
1055
1056 AC_MSG_CHECKING(where to look for Kerberos4)
1057 if test X"$OPT_KRB4" = Xyes
1058 then
1059 AC_MSG_RESULT([defaults])
1060 else
1061 AC_MSG_RESULT([libs in $KRB4LIB, headers in $KRB4INC])
1062 fi
1063
1064 dnl Check for DES library
1065 AC_CHECK_LIB(des, des_pcbc_encrypt,
1066 [
1067 AC_CHECK_HEADERS(des.h)
1068
1069 dnl resolv lib?
22a32389 1070 AC_CHECK_FUNC(res_search, , [AC_CHECK_LIB(resolv, res_search)])
00505c92
DS
1071
1072 dnl Check for the Kerberos4 library
1073 AC_CHECK_LIB(krb, krb_net_read,
1074 [
1075 dnl Check for header files
1076 AC_CHECK_HEADERS(krb.h)
1077
1078 dnl we found the required libraries, add to LIBS
b55507c8 1079 LIBS="-lkrb -lcom_err -ldes $LIBS"
00505c92
DS
1080
1081 dnl Check for function krb_get_our_ip_for_realm
1082 dnl this is needed for NAT networks
1083 AC_CHECK_FUNCS(krb_get_our_ip_for_realm)
1084
1085 dnl add define KRB4
d4629fd3 1086 AC_DEFINE(HAVE_KRB4, 1,
22a32389 1087 [if you have the Kerberos4 libraries (including -ldes)])
00505c92 1088
1ee7f92c
DS
1089 dnl substitute it too!
1090 KRB4_ENABLED=1
1091 AC_SUBST(KRB4_ENABLED)
1092
cff90cf3
DS
1093 curl_krb4_msg="enabled"
1094
00505c92
DS
1095 dnl the krb4 stuff needs a strlcpy()
1096 AC_CHECK_FUNCS(strlcpy)
1097
1098 ])
1099 ])
1100else
1101 AC_MSG_RESULT(no)
1102fi
1103
09ccfcdc
DS
1104dnl **********************************************************************
1105dnl Check for FBopenssl(SPNEGO) libraries
1106dnl **********************************************************************
1107
1108AC_ARG_WITH(spnego,
1109 AC_HELP_STRING([--with-spnego=DIR],
5872e8dd
DF
1110 [Specify location of SPNEGO library fbopenssl]), [
1111 SPNEGO_ROOT="$withval"
1112 if test x"$SPNEGO_ROOT" != xno; then
1113 want_spnego="yes"
1114 fi
1115])
1116
09ccfcdc
DS
1117AC_MSG_CHECKING([if SPNEGO support is requested])
1118if test x"$want_spnego" = xyes; then
f6413f2c
DS
1119
1120 if test X"$SPNEGO_ROOT" = Xyes; then
1121 AC_MSG_ERROR([FBOpenSSL libs and/or directories were not found where specified!])
1122 AC_MSG_RESULT(no)
09ccfcdc 1123 else
f6413f2c 1124 if test -z "$SPNEGO_LIB_DIR"; then
202e54cf 1125 LDFLAGS="$LDFLAGS -L$SPNEGO_ROOT -lfbopenssl"
f6413f2c
DS
1126 else
1127 LDFLAGS="$LDFLAGS $SPNEGO_LIB_DIR"
1128 fi
e16c1b8e 1129
f6413f2c 1130 AC_MSG_RESULT(yes)
cff90cf3
DS
1131 AC_DEFINE(HAVE_SPNEGO, 1,
1132 [Define this if you have the SPNEGO library fbopenssl])
1133 curl_spnego_msg="enabled"
f6413f2c 1134 fi
09ccfcdc
DS
1135else
1136 AC_MSG_RESULT(no)
1137fi
1138
e56ae142
DS
1139dnl **********************************************************************
1140dnl Check for GSS-API libraries
1141dnl **********************************************************************
1142
c1b734a3
DS
1143dnl check for gss stuff in the /usr as default
1144
1145GSSAPI_ROOT="/usr"
e56ae142
DS
1146AC_ARG_WITH(gssapi-includes,
1147 AC_HELP_STRING([--with-gssapi-includes=DIR],
1148 [Specify location of GSSAPI header]),
e16c1b8e 1149 [ GSSAPI_INCS="-I$withval"
e56ae142
DS
1150 want_gss="yes" ]
1151)
1152
1153AC_ARG_WITH(gssapi-libs,
1154 AC_HELP_STRING([--with-gssapi-libs=DIR],
77431568 1155 [Specify location of GSSAPI libs]),
2723eda1 1156 [ GSSAPI_LIB_DIR="-L$withval"
e56ae142
DS
1157 want_gss="yes" ]
1158)
1159
1160AC_ARG_WITH(gssapi,
1161 AC_HELP_STRING([--with-gssapi=DIR],
5872e8dd
DF
1162 [Where to look for GSSAPI]), [
1163 GSSAPI_ROOT="$withval"
1164 if test x"$GSSAPI_ROOT" != xno; then
e16c1b8e 1165 want_gss="yes"
c1b734a3
DS
1166 if test x"$GSSAPI_ROOT" = xyes; then
1167 dnl if yes, then use default root
1168 GSSAPI_ROOT="/usr"
1169 fi
5872e8dd
DF
1170 fi
1171])
e56ae142 1172
982ba214 1173save_CPPFLAGS="$CPPFLAGS"
e56ae142
DS
1174AC_MSG_CHECKING([if GSSAPI support is requested])
1175if test x"$want_gss" = xyes; then
5effe8f3
DS
1176 AC_MSG_RESULT(yes)
1177
e56ae142
DS
1178 if test -z "$GSSAPI_INCS"; then
1179 if test -f "$GSSAPI_ROOT/bin/krb5-config"; then
f4046763 1180 GSSAPI_INCS=`$GSSAPI_ROOT/bin/krb5-config --cflags gssapi`
49111a63 1181 elif test "$GSSAPI_ROOT" != "yes"; then
533519cc 1182 GSSAPI_INCS="-I$GSSAPI_ROOT/include"
e56ae142 1183 fi
e56ae142 1184 fi
c1b734a3 1185
f4046763 1186 CPPFLAGS="$CPPFLAGS $GSSAPI_INCS"
5effe8f3
DS
1187
1188 AC_CHECK_HEADER(gss.h,
1189 [
1190 dnl found in the given dirs
1191 AC_DEFINE(HAVE_GSSGNU, 1, [if you have the GNU gssapi libraries])
1192 gnu_gss=yes
1193 ],
1194 [
d0a4b50e 1195 dnl not found, check Heimdal or MIT
cca192e5 1196 AC_CHECK_HEADERS([gssapi/gssapi.h], [], [not_mit=1])
d0a4b50e 1197 AC_CHECK_HEADERS(
cca192e5 1198 [gssapi/gssapi_generic.h gssapi/gssapi_krb5.h],
d0a4b50e 1199 [],
cca192e5
PH
1200 [not_mit=1],
1201 [
1202AC_INCLUDES_DEFAULT
1203#ifdef HAVE_GSSAPI_GSSAPI_H
1204#include <gssapi/gssapi.h>
1205#endif
1206 ])
d0a4b50e
MM
1207 if test "x$not_mit" = "x1"; then
1208 dnl MIT not found, check for Heimdal
1209 AC_CHECK_HEADER(gssapi.h,
5effe8f3 1210 [
e16c1b8e 1211 dnl found
40e1a016 1212 AC_DEFINE(HAVE_GSSHEIMDAL, 1, [if you have the Heimdal gssapi libraries])
5effe8f3
DS
1213 ],
1214 [
1215 dnl no header found, disabling GSS
1216 want_gss=no
1217 AC_MSG_WARN(disabling GSSAPI since no header files was found)
1218 ]
1219 )
d0a4b50e
MM
1220 else
1221 dnl MIT found
1222 AC_DEFINE(HAVE_GSSMIT, 1, [if you have the MIT gssapi libraries])
1223 dnl check if we have a really old MIT kerberos (<= 1.2)
1224 AC_MSG_CHECKING([if gssapi headers declare GSS_C_NT_HOSTBASED_SERVICE])
7ad3abfd
YT
1225 AC_COMPILE_IFELSE([
1226 AC_LANG_PROGRAM([[
d0a4b50e
MM
1227#include <gssapi/gssapi.h>
1228#include <gssapi/gssapi_generic.h>
1229#include <gssapi/gssapi_krb5.h>
7ad3abfd 1230 ]],[[
d0a4b50e
MM
1231 gss_import_name(
1232 (OM_uint32 *)0,
1233 (gss_buffer_t)0,
1234 GSS_C_NT_HOSTBASED_SERVICE,
1235 (gss_name_t *)0);
7ad3abfd
YT
1236 ]])
1237 ],[
1238 AC_MSG_RESULT([yes])
1239 ],[
1240 AC_MSG_RESULT([no])
1241 AC_DEFINE(HAVE_OLD_GSSMIT, 1,
1242 [if you have an old MIT gssapi library, lacking GSS_C_NT_HOSTBASED_SERVICE])
1243 ])
d0a4b50e 1244 fi
5effe8f3
DS
1245 ]
1246 )
1247else
1248 AC_MSG_RESULT(no)
1249fi
1250if test x"$want_gss" = xyes; then
1251 AC_DEFINE(HAVE_GSSAPI, 1, [if you have the gssapi libraries])
1252
1253 curl_gss_msg="enabled (MIT/Heimdal)"
1254
1255 if test -n "$gnu_gss"; then
1256 curl_gss_msg="enabled (GNU GSS)"
9bb51d76
MM
1257 LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR"
1258 LIBS="$LIBS -lgss"
5effe8f3 1259 elif test -z "$GSSAPI_LIB_DIR"; then
013d5a72
DS
1260 case $host in
1261 *-*-darwin*)
1262 LIBS="$LIBS -lgssapi_krb5 -lresolv"
1263 ;;
1264 *)
1265 if test -f "$GSSAPI_ROOT/bin/krb5-config"; then
1266 dnl krb5-config doesn't have --libs-only-L or similar, put everything
1267 dnl into LIBS
1268 gss_libs=`$GSSAPI_ROOT/bin/krb5-config --libs gssapi`
1269 LIBS="$LIBS $gss_libs"
1270 elif test "$GSSAPI_ROOT" != "yes"; then
1271 LDFLAGS="$LDFLAGS -L$GSSAPI_ROOT/lib$libsuff"
1272 LIBS="$LIBS -lgssapi"
1273 else
1274 LIBS="$LIBS -lgssapi"
1275 fi
1276 ;;
1277 esac
e56ae142 1278 else
9bb51d76
MM
1279 LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR"
1280 LIBS="$LIBS -lgssapi"
e56ae142 1281 fi
e56ae142 1282else
5effe8f3 1283 CPPFLAGS="$save_CPPFLAGS"
e56ae142 1284fi
e16c1b8e 1285
ae1912cb
DS
1286dnl **********************************************************************
1287dnl Check for the presence of SSL libraries and headers
1288dnl **********************************************************************
1289
1290dnl Default to compiler & linker defaults for SSL files & libraries.
1291OPT_SSL=off
2c2baa93
DS
1292dnl Default to no CA bundle
1293ca="no"
ae1912cb 1294AC_ARG_WITH(ssl,dnl
d7a29388 1295AC_HELP_STRING([--with-ssl=PATH],[Where to look for OpenSSL, PATH points to the SSL installation (default: /usr/local/ssl); when possible, set the PKG_CONFIG_PATH environment variable instead of using this option])
0abccc67 1296AC_HELP_STRING([--without-ssl], [disable OpenSSL]),
e890113f 1297 OPT_SSL=$withval)
ae1912cb 1298
bebd5dbc 1299if test X"$OPT_SSL" != Xno; then
6bd02a3a 1300 dnl backup the pre-ssl variables
4ac7a087
DS
1301 CLEANLDFLAGS="$LDFLAGS"
1302 CLEANCPPFLAGS="$CPPFLAGS"
6bd02a3a
DS
1303 CLEANLIBS="$LIBS"
1304
4836154c
DS
1305 case "$OPT_SSL" in
1306 yes)
75e5967a 1307 dnl --with-ssl (without path) used
736a40fe
DS
1308 if test x$cross_compiling != xyes; then
1309 dnl only do pkg-config magic when not cross-compiling
1310 PKGTEST="yes"
1311 fi
4370e92d
DS
1312 PREFIX_OPENSSL=/usr/local/ssl
1313 LIB_OPENSSL="$PREFIX_OPENSSL/lib$libsuff"
1314 ;;
4398151f 1315 off)
75e5967a 1316 dnl no --with-ssl option given, just check default places
736a40fe
DS
1317 if test x$cross_compiling != xyes; then
1318 dnl only do pkg-config magic when not cross-compiling
1319 PKGTEST="yes"
1320 fi
4370e92d
DS
1321 PREFIX_OPENSSL=
1322 ;;
4836154c 1323 *)
75e5967a
DS
1324 dnl check the given --with-ssl spot
1325 PKGTEST="no"
4370e92d 1326 PREFIX_OPENSSL=$OPT_SSL
530fde3a
KD
1327
1328 dnl Try pkg-config even when cross-compiling. Since we
1329 dnl specify PKG_CONFIG_LIBDIR we're only looking where
1330 dnl the user told us to look
383bf1e4
KD
1331 OPENSSL_PCDIR="$OPT_SSL/lib/pkgconfig"
1332 AC_MSG_NOTICE([PKG_CONFIG_LIBDIR will be set to "$OPENSSL_PCDIR"])
1333 if test -e "$OPENSSL_PCDIR/openssl.pc"; then
530fde3a
KD
1334 PKGTEST="yes"
1335 fi
1336
1337 dnl in case pkg-config comes up empty, use what we got
1338 dnl via --with-ssl
4370e92d 1339 LIB_OPENSSL="$PREFIX_OPENSSL/lib$libsuff"
b98e0aa0 1340 if test "$PREFIX_OPENSSL" != "/usr" ; then
530fde3a
KD
1341 SSL_LDFLAGS="-L$LIB_OPENSSL"
1342 SSL_CPPFLAGS="-I$PREFIX_OPENSSL/include"
4b441eba 1343 fi
530fde3a 1344 SSL_CPPFLAGS="$SSL_CPPFLAGS -I$PREFIX_OPENSSL/include/openssl"
4ac7a087 1345 ;;
4836154c
DS
1346 esac
1347
75e5967a
DS
1348 if test "$PKGTEST" = "yes"; then
1349
383bf1e4 1350 CURL_CHECK_PKGCONFIG(openssl, [$OPENSSL_PCDIR])
75e5967a 1351
75e5967a 1352 if test "$PKGCONFIG" != "no" ; then
383bf1e4
KD
1353 SSL_LIBS=`CURL_EXPORT_PCDIR([$OPENSSL_PCDIR]) dnl
1354 $PKGCONFIG --libs-only-l openssl 2>/dev/null`
1355
1356 SSL_LDFLAGS=`CURL_EXPORT_PCDIR([$OPENSSL_PCDIR]) dnl
1357 $PKGCONFIG --libs-only-L openssl 2>/dev/null`
1358
1359 SSL_CPPFLAGS=`CURL_EXPORT_PCDIR([$OPENSSL_PCDIR]) dnl
1360 $PKGCONFIG --cflags-only-I openssl 2>/dev/null`
75e5967a 1361
530fde3a
KD
1362 AC_MSG_NOTICE([pkg-config: SSL_LIBS: "$SSL_LIBS"])
1363 AC_MSG_NOTICE([pkg-config: SSL_LDFLAGS: "$SSL_LDFLAGS"])
1364 AC_MSG_NOTICE([pkg-config: SSL_CPPFLAGS: "$SSL_CPPFLAGS"])
1365
b9fdc0c2 1366 LIB_OPENSSL=`echo $SSL_LDFLAGS | sed -e 's/-L//g'`
75e5967a 1367
530fde3a
KD
1368 dnl use the values pkg-config reported. This is here
1369 dnl instead of below with CPPFLAGS and LDFLAGS because we only
1370 dnl learn about this via pkg-config. If we only have
1371 dnl the argument to --with-ssl we don't know what
1372 dnl additional libs may be necessary. Hope that we
1373 dnl don't need any.
b9fdc0c2 1374 LIBS="$LIBS $SSL_LIBS"
75e5967a
DS
1375 fi
1376 fi
1377
530fde3a
KD
1378 dnl finally, set flags to use SSL
1379 CPPFLAGS="$CPPFLAGS $SSL_CPPFLAGS"
1380 LDFLAGS="$LDFLAGS $SSL_LDFLAGS"
1381
6abbbaad
YT
1382 dnl This is for Msys/Mingw
1383 case $host in
1384 *-*-msys* | *-*-mingw*)
1385 AC_MSG_CHECKING([for gdi32])
1386 my_ac_save_LIBS=$LIBS
1387 LIBS="-lgdi32 $LIBS"
1388 AC_TRY_LINK([#include <windef.h>
1389 #include <wingdi.h>],
1390 [GdiFlush();],
1391 [ dnl worked!
1392 AC_MSG_RESULT([yes])],
1393 [ dnl failed, restore LIBS
1394 LIBS=$my_ac_save_LIBS
1395 AC_MSG_RESULT(no)]
1396 )
1397 ;;
1398 esac
1399
4836154c
DS
1400 AC_CHECK_LIB(crypto, CRYPTO_lock,[
1401 HAVECRYPTO="yes"
c4f7570a 1402 LIBS="-lcrypto $LIBS"
4836154c 1403 ],[
4370e92d
DS
1404 LDFLAGS="$CLEANLDFLAGS -L$LIB_OPENSSL"
1405 CPPFLAGS="$CLEANCPPFLAGS -I$PREFIX_OPENSSL/include/openssl -I$PREFIX_OPENSSL/include"
4836154c 1406 AC_CHECK_LIB(crypto, CRYPTO_add_lock,[
c4f7570a
DF
1407 HAVECRYPTO="yes"
1408 LIBS="-lcrypto $LIBS"], [
6bd02a3a
DS
1409 LDFLAGS="$CLEANLDFLAGS"
1410 CPPFLAGS="$CLEANCPPFLAGS"
1411 LIBS="$CLEANLIBS"
4836154c
DS
1412 ])
1413 ])
ae1912cb 1414
ae1912cb 1415
21337f47 1416 if test X"$HAVECRYPTO" = X"yes"; then
ae1912cb
DS
1417 dnl This is only reasonable to do if crypto actually is there: check for
1418 dnl SSL libs NOTE: it is important to do this AFTER the crypto lib
4836154c 1419
ae1912cb
DS
1420 AC_CHECK_LIB(ssl, SSL_connect)
1421
b32bf427
DS
1422 if test "$ac_cv_lib_ssl_SSL_connect" != yes; then
1423 dnl we didn't find the SSL lib, try the RSAglue/rsaref stuff
1424 AC_MSG_CHECKING(for ssl with RSAglue/rsaref libs in use);
1425 OLIBS=$LIBS
1426 LIBS="$LIBS -lRSAglue -lrsaref"
1427 AC_CHECK_LIB(ssl, SSL_connect)
1428 if test "$ac_cv_lib_ssl_SSL_connect" != yes; then
1429 dnl still no SSL_connect
1430 AC_MSG_RESULT(no)
1431 LIBS=$OLIBS
1432 else
1433 AC_MSG_RESULT(yes)
1434 fi
b32bf427 1435
df3ca591 1436 else
b32bf427 1437
df3ca591
DS
1438 dnl Have the libraries--check for SSLeay/OpenSSL headers
1439 AC_CHECK_HEADERS(openssl/x509.h openssl/rsa.h openssl/crypto.h \
1440 openssl/pem.h openssl/ssl.h openssl/err.h,
bebd5dbc 1441 curl_ssl_msg="enabled (OpenSSL)"
df3ca591
DS
1442 OPENSSL_ENABLED=1
1443 AC_DEFINE(USE_OPENSSL, 1, [if OpenSSL is in use]))
1444
1445 if test $ac_cv_header_openssl_x509_h = no; then
d99c20f6
DS
1446 dnl we don't use the "action" part of the AC_CHECK_HEADERS macro
1447 dnl since 'err.h' might in fact find a krb4 header with the same
1448 dnl name
1449 AC_CHECK_HEADERS(x509.h rsa.h crypto.h pem.h ssl.h err.h)
1450
e16c1b8e 1451 if test $ac_cv_header_x509_h = yes &&
d99c20f6
DS
1452 test $ac_cv_header_crypto_h = yes &&
1453 test $ac_cv_header_ssl_h = yes; then
1454 dnl three matches
bebd5dbc 1455 curl_ssl_msg="enabled (OpenSSL)"
d99c20f6
DS
1456 OPENSSL_ENABLED=1
1457 fi
df3ca591
DS
1458 fi
1459 fi
1460
f966dad3
DS
1461 if test X"$OPENSSL_ENABLED" = X"1"; then
1462 AC_DEFINE(USE_SSLEAY, 1, [if SSL is enabled])
090a7f38
DS
1463
1464 dnl is there a pkcs12.h header present?
1465 AC_CHECK_HEADERS(openssl/pkcs12.h)
c4f7570a
DF
1466 else
1467 LIBS="$CLEANLIBS"
f966dad3 1468 fi
c4f7570a
DF
1469 dnl USE_SSLEAY is the historical name for what configure calls
1470 dnl OPENSSL_ENABLED; the names should really be unified
df3ca591 1471 USE_SSLEAY="$OPENSSL_ENABLED"
df3ca591 1472 AC_SUBST(USE_SSLEAY)
df3ca591
DS
1473
1474 if test X"$OPT_SSL" != Xoff &&
1475 test "$OPENSSL_ENABLED" != "1"; then
1476 AC_MSG_ERROR([OpenSSL libs and/or directories were not found where specified!])
1ee7f92c 1477 fi
df3ca591
DS
1478 fi
1479
df3ca591 1480 if test X"$OPENSSL_ENABLED" = X"1"; then
e157aabd 1481 dnl If the ENGINE library seems to be around, check for the OpenSSL engine
f169b750
DS
1482 dnl stuff, it is kind of "separated" from the main SSL check
1483 AC_CHECK_FUNC(ENGINE_init,
1484 [
1485 AC_CHECK_HEADERS(openssl/engine.h)
1486 AC_CHECK_FUNCS( ENGINE_load_builtin_engines )
1487 ])
af6c3947 1488
2c2baa93 1489 dnl these can only exist if openssl exists
d052e545 1490 dnl yassl doesn't have SSL_get_shutdown
2c2baa93
DS
1491
1492 AC_CHECK_FUNCS( RAND_status \
1493 RAND_screen \
e16bc916 1494 RAND_egd \
10a11e3a 1495 ENGINE_cleanup \
d052e545
DS
1496 CRYPTO_cleanup_all_ex_data \
1497 SSL_get_shutdown )
1498
1499 dnl Make an attempt to detect if this is actually yassl's headers and
1500 dnl OpenSSL emulation layer. We still leave everything else believing
1501 dnl and acting like OpenSSL.
2c2baa93 1502
248f0571 1503 AC_MSG_CHECKING([for yaSSL using OpenSSL compatibility mode])
8ad1928d
YT
1504 AC_COMPILE_IFELSE([
1505 AC_LANG_PROGRAM([[
d052e545 1506#include <openssl/ssl.h>
8ad1928d 1507 ]],[[
248f0571
YT
1508#if defined(YASSL_VERSION) && defined(OPENSSL_VERSION_NUMBER)
1509 int dummy = SSL_ERROR_NONE;
1510#else
1511 Not the yaSSL OpenSSL compatibility header.
1512#endif
8ad1928d
YT
1513 ]])
1514 ],[
1515 AC_MSG_RESULT([yes])
1516 AC_DEFINE_UNQUOTED(USE_YASSLEMUL, 1,
1517 [Define to 1 if using yaSSL in OpenSSL compatibility mode.])
1518 curl_ssl_msg="enabled (OpenSSL emulation by yaSSL)"
1519 ],[
1520 AC_MSG_RESULT([no])
248f0571 1521 ])
ae1912cb 1522 fi
00505c92 1523
df3ca591 1524 if test "$OPENSSL_ENABLED" = "1"; then
8882d1fa
DS
1525 if test -n "$LIB_OPENSSL"; then
1526 dnl when the ssl shared libs were found in a path that the run-time
1527 dnl linker doesn't search through, we need to add it to LD_LIBRARY_PATH
1528 dnl to prevent further configure tests to fail due to this
1529
1530 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_OPENSSL"
1531 export LD_LIBRARY_PATH
1532 AC_MSG_NOTICE([Added $LIB_OPENSSL to LD_LIBRARY_PATH])
1533 fi
6e0dd48f 1534 CURL_CHECK_OPENSSL_API
1ee7f92c
DS
1535 fi
1536
ae1912cb
DS
1537fi
1538
c518c52a
DS
1539dnl **********************************************************************
1540dnl Check for the presence of ZLIB libraries and headers
1541dnl **********************************************************************
1542
1543dnl Check for & handle argument to --with-zlib.
1544
1545_cppflags=$CPPFLAGS
1546_ldflags=$LDFLAGS
1547AC_ARG_WITH(zlib,
1548AC_HELP_STRING([--with-zlib=PATH],[search for zlib in PATH])
1549AC_HELP_STRING([--without-zlib],[disable use of zlib]),
1550 [OPT_ZLIB="$withval"])
1551
1552if test "$OPT_ZLIB" = "no" ; then
1553 AC_MSG_WARN([zlib disabled])
1554else
1555 if test "$OPT_ZLIB" = "yes" ; then
1556 OPT_ZLIB=""
1557 fi
1558
1559 if test -z "$OPT_ZLIB" ; then
1560 dnl check for the lib first without setting any new path, since many
1561 dnl people have it in the default path
1562
1563 AC_CHECK_LIB(z, inflateEnd,
1564 dnl libz found, set the variable
1565 [HAVE_LIBZ="1"],
1566 dnl if no lib found, try /usr/local
1567 [OPT_ZLIB="/usr/local"])
1568
1569 fi
1570
1571 dnl Add a nonempty path to the compiler flags
1572 if test -n "$OPT_ZLIB"; then
1573 CPPFLAGS="$CPPFLAGS -I$OPT_ZLIB/include"
1574 LDFLAGS="$LDFLAGS -L$OPT_ZLIB/lib$libsuff"
1575 fi
1576
1577 AC_CHECK_HEADER(zlib.h,
1578 [
1579 dnl zlib.h was found
1580 HAVE_ZLIB_H="1"
1581 dnl if the lib wasn't found already, try again with the new paths
1582 if test "$HAVE_LIBZ" != "1"; then
1583 AC_CHECK_LIB(z, gzread,
1584 [
1585 dnl the lib was found!
1586 HAVE_LIBZ="1"
1587 ],
1588 [ CPPFLAGS=$_cppflags
1589 LDFLAGS=$_ldflags])
1590 fi
1591 ],
1592 [
1593 dnl zlib.h was not found, restore the flags
1594 CPPFLAGS=$_cppflags
1595 LDFLAGS=$_ldflags]
1596 )
1597
1598 if test "$HAVE_LIBZ" = "1" && test "$HAVE_ZLIB_H" != "1"
1599 then
1600 AC_MSG_WARN([configure found only the libz lib, not the header file!])
48dd0c56 1601 HAVE_LIBZ=""
c518c52a
DS
1602 elif test "$HAVE_LIBZ" != "1" && test "$HAVE_ZLIB_H" = "1"
1603 then
1604 AC_MSG_WARN([configure found only the libz header file, not the lib!])
1605 elif test "$HAVE_LIBZ" = "1" && test "$HAVE_ZLIB_H" = "1"
1606 then
1607 dnl both header and lib were found!
1608 AC_SUBST(HAVE_LIBZ)
1609 AC_DEFINE(HAVE_ZLIB_H, 1, [if you have the zlib.h header file])
1610 AC_DEFINE(HAVE_LIBZ, 1, [if zlib is available])
1611
1612 CURL_LIBS="$CURL_LIBS -lz"
1613 LIBS="$LIBS -lz"
1614
1615 dnl replace 'HAVE_LIBZ' in the automake makefile.ams
1616 AMFIXLIB="1"
1617 AC_MSG_NOTICE([found both libz and libz.h header])
1618 curl_zlib_msg="enabled"
1619 fi
1620fi
1621
1622dnl set variable for use in automakefile(s)
1623AM_CONDITIONAL(HAVE_LIBZ, test x"$AMFIXLIB" = x1)
1624
df3ca591 1625dnl **********************************************************************
e16c1b8e 1626dnl Check for the random seed preferences
df3ca591
DS
1627dnl **********************************************************************
1628
1629if test X"$OPENSSL_ENABLED" = X"1"; then
1630 AC_ARG_WITH(egd-socket,
1631 AC_HELP_STRING([--with-egd-socket=FILE],
1632 [Entropy Gathering Daemon socket pathname]),
1633 [ EGD_SOCKET="$withval" ]
1634 )
1635 if test -n "$EGD_SOCKET" ; then
1636 AC_DEFINE_UNQUOTED(EGD_SOCKET, "$EGD_SOCKET",
1637 [your Entropy Gathering Daemon socket pathname] )
1638 fi
1639
1640 dnl Check for user-specified random device
1641 AC_ARG_WITH(random,
1642 AC_HELP_STRING([--with-random=FILE],
1643 [read randomness from FILE (default=/dev/urandom)]),
1644 [ RANDOM_FILE="$withval" ],
1645 [
a87102c7
DS
1646 if test x$cross_compiling != xyes; then
1647 dnl Check for random device
1648 AC_CHECK_FILE("/dev/urandom", [ RANDOM_FILE="/dev/urandom"] )
1649 else
1650 AC_MSG_WARN([skipped the /dev/urandom detection when cross-compiling])
1651 fi
df3ca591
DS
1652 ]
1653 )
1654 if test -n "$RANDOM_FILE" && test X"$RANDOM_FILE" != Xno ; then
1655 AC_SUBST(RANDOM_FILE)
1656 AC_DEFINE_UNQUOTED(RANDOM_FILE, "$RANDOM_FILE",
1657 [a suitable file to read random data from])
1658 fi
1659fi
1660
2531cd94
PS
1661dnl ---
1662dnl We require OpenSSL with SRP support.
1663dnl ---
1664if test "$OPENSSL_ENABLED" = "1"; then
1665 AC_CHECK_LIB(crypto, SRP_Calc_client_key,
1666 [
1667 AC_DEFINE(HAVE_SSLEAY_SRP, 1, [if you have the function SRP_Calc_client_key])
1668 AC_SUBST(HAVE_SSLEAY_SRP, [1])
1669 ])
1670fi
1671
bebd5dbc 1672dnl ----------------------------------------------------
b9fdc0c2 1673dnl check for GnuTLS
bebd5dbc
DS
1674dnl ----------------------------------------------------
1675
1676dnl Default to compiler & linker defaults for GnuTLS files & libraries.
e49a7e36 1677OPT_GNUTLS=no
bebd5dbc
DS
1678
1679AC_ARG_WITH(gnutls,dnl
c40ae2cb 1680AC_HELP_STRING([--with-gnutls=PATH],[where to look for GnuTLS, PATH points to the installation root])
bebd5dbc
DS
1681AC_HELP_STRING([--without-gnutls], [disable GnuTLS detection]),
1682 OPT_GNUTLS=$withval)
1683
1684if test "$OPENSSL_ENABLED" != "1"; then
1685
e49a7e36 1686 if test X"$OPT_GNUTLS" != Xno; then
b9fdc0c2 1687
b9fdc0c2 1688 addld=""
bebd5dbc 1689 if test "x$OPT_GNUTLS" = "xyes"; then
966cc10f 1690 dnl this is with no partiular path given
b9fdc0c2
DS
1691 CURL_CHECK_PKGCONFIG(gnutls)
1692
1693 if test "$PKGCONFIG" != "no" ; then
1694 addlib=`$PKGCONFIG --libs-only-l gnutls`
1695 addld=`$PKGCONFIG --libs-only-L gnutls`
1696 addcflags=`$PKGCONFIG --cflags-only-I gnutls`
1697 version=`$PKGCONFIG --modversion gnutls`
1698 gtlslib=`echo $addld | $SED -e 's/-L//'`
966cc10f
DS
1699 else
1700 dnl without pkg-config, we try libgnutls-config as that was how it
1701 dnl used to be done
1702 check=`libgnutls-config --version 2>/dev/null`
1703 if test -n "$check"; then
1704 addlib=`libgnutls-config --libs`
1705 addcflags=`libgnutls-config --cflags`
1706 version=`libgnutls-config --version`
1707 gtlslib=`libgnutls-config --prefix`/lib$libsuff
1708 fi
c2fcdf3a 1709 fi
f90551ff 1710 else
966cc10f
DS
1711 dnl this is with a given path, first check if there's a libgnutls-config
1712 dnl there and if not, make an educated guess
0cb6f305
DS
1713 cfg=$OPT_GNUTLS/bin/libgnutls-config
1714 check=`$cfg --version 2>/dev/null`
966cc10f 1715 if test -n "$check"; then
0cb6f305
DS
1716 addlib=`$cfg --libs`
1717 addcflags=`$cfg --cflags`
1718 version=`$cfg --version`
1719 gtlslib=`$cfg --prefix`/lib$libsuff
966cc10f
DS
1720 else
1721 dnl without pkg-config and libgnutls-config, we guess a lot!
1722 addlib=-lgnutls
1723 addld=-L$OPT_GNUTLS/lib$libsuff
1724 addcflags=-I$OPT_GNUTLS/include
1725 version="" # we just don't know
1726 gtlslib=$OPT_GNUTLS/lib$libsuff
1727 fi
b9fdc0c2
DS
1728 fi
1729
1730 if test -z "$version"; then
1731 dnl lots of efforts, still no go
1732 version="unknown"
bebd5dbc 1733 fi
b9fdc0c2 1734
313f1a1e 1735 if test -n "$addlib"; then
bebd5dbc 1736
b0bc2f00 1737 CLEANLIBS="$LIBS"
313f1a1e 1738 CLEANCPPFLAGS="$CPPFLAGS"
b9fdc0c2 1739 CLEADLDFLAGS="$LDFLAGS"
e16c1b8e 1740
b0bc2f00 1741 LIBS="$LIBS $addlib"
b9fdc0c2 1742 LDFLAGS="$LDFLAGS $addld"
313f1a1e
DS
1743 if test "$addcflags" != "-I/usr/include"; then
1744 CPPFLAGS="$CPPFLAGS $addcflags"
1745 fi
e16c1b8e 1746
313f1a1e 1747 AC_CHECK_LIB(gnutls, gnutls_check_version,
bebd5dbc
DS
1748 [
1749 AC_DEFINE(USE_GNUTLS, 1, [if GnuTLS is enabled])
1750 AC_SUBST(USE_GNUTLS, [1])
02267eba 1751 GNUTLS_ENABLED=1
bebd5dbc 1752 USE_GNUTLS="yes"
313f1a1e 1753 curl_ssl_msg="enabled (GnuTLS)"
bebd5dbc
DS
1754 ],
1755 [
b0bc2f00 1756 LIBS="$CLEANLIBS"
bebd5dbc
DS
1757 CPPFLAGS="$CLEANCPPFLAGS"
1758 ])
e16c1b8e 1759
313f1a1e
DS
1760 if test "x$USE_GNUTLS" = "xyes"; then
1761 AC_MSG_NOTICE([detected GnuTLS version $version])
241b2b4a 1762
b9fdc0c2
DS
1763 if test -n "$gtlslib"; then
1764 dnl when shared libs were found in a path that the run-time
1765 dnl linker doesn't search through, we need to add it to
1766 dnl LD_LIBRARY_PATH to prevent further configure tests to fail
1767 dnl due to this
313f1a1e 1768
b9fdc0c2
DS
1769 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$gtlslib"
1770 export LD_LIBRARY_PATH
1771 AC_MSG_NOTICE([Added $gtlslib to LD_LIBRARY_PATH])
1772 fi
313f1a1e 1773 fi
241b2b4a 1774
bebd5dbc 1775 fi
313f1a1e 1776
bebd5dbc
DS
1777 fi dnl GNUTLS not disabled
1778
bebd5dbc 1779fi dnl OPENSSL != 1
779ca097 1780
f3df524b
DS
1781dnl ---
1782dnl If GnuTLS is enabled, we MUST verify that it uses libgcrypt since
1783dnl curl code relies on that but recent GnuTLS versions can in fact build
1784dnl with different crypto libraries which curl right now cannot handle
1785dnl ---
1786
1787if test "$GNUTLS_ENABLED" = "1"; then
1788 AC_CHECK_LIB(gcrypt,
1789 gcry_control, ,
1790 [
1791 AC_MSG_ERROR([need GnuTLS built with gcrypt to function with GnuTLS])
1792 ])
1793fi
1794
59cf93cc
QS
1795dnl ---
1796dnl We require GnuTLS with SRP support.
1797dnl ---
1798if test "$GNUTLS_ENABLED" = "1"; then
1799 AC_CHECK_LIB(gnutls, gnutls_srp_verifier,
1800 [
1801 AC_DEFINE(HAVE_GNUTLS_SRP, 1, [if you have the function gnutls_srp_verifier])
1802 AC_SUBST(HAVE_GNUTLS_SRP, [1])
1803 ])
1804fi
1805
51427e19
HHC
1806dnl ----------------------------------------------------
1807dnl check for PolarSSL
1808dnl ----------------------------------------------------
1809
1810dnl Default to compiler & linker defaults for PolarSSL files & libraries.
1811OPT_POLARSSL=no
1812
1813_cppflags=$CPPFLAGS
1814_ldflags=$LDFLAGS
1815AC_ARG_WITH(polarssl,dnl
c40ae2cb 1816AC_HELP_STRING([--with-polarssl=PATH],[where to look for PolarSSL, PATH points to the installation root])
51427e19
HHC
1817AC_HELP_STRING([--without-polarssl], [disable PolarSSL detection]),
1818 OPT_POLARSSL=$withval)
1819
1820if test "$OPENSSL_ENABLED" != "1"; then
1821
1822 if test X"$OPT_POLARSSL" != Xno; then
1823
1824 if test "$OPT_POLARSSL" = "yes"; then
1825 OPT_POLARSSL=""
1826 fi
1827
1828 if test -z "$OPT_POLARSSL" ; then
1829 dnl check for lib first without setting any new path
1830
1831 AC_CHECK_LIB(polarssl, havege_init,
1832 dnl libpolarssl found, set the variable
1833 [
1834 AC_DEFINE(USE_POLARSSL, 1, [if PolarSSL is enabled])
1835 AC_SUBST(USE_POLARSSL, [1])
1836 POLARSSL_ENABLED=1
1837 USE_POLARSSL="yes"
1838 curl_ssl_msg="enabled (PolarSSL)"
1839 ])
1840 fi
1841
1842 if test "x$USE_POLARSSL" != "xyes"; then
1843 dnl add the path and test again
1844 addld=-L$OPT_POLARSSL/lib$libsuff
1845 addcflags=-I$OPT_POLARSSL/include
1846 polarssllib=$OPT_POLARSSL/lib$libsuff
1847
1848 LDFLAGS="$LDFLAGS $addld"
1849 if test "$addcflags" != "-I/usr/include"; then
1850 CPPFLAGS="$CPPFLAGS $addcflags"
1851 fi
1852
1853 AC_CHECK_LIB(polarssl, ssl_init,
1854 [
1855 AC_DEFINE(USE_POLARSSL, 1, [if PolarSSL is enabled])
1856 AC_SUBST(USE_POLARSSL, [1])
1857 POLARSSL_ENABLED=1
1858 USE_POLARSSL="yes"
1859 curl_ssl_msg="enabled (PolarSSL)"
1860 ],
1861 [
1862 CPPFLAGS=$_cppflags
1863 LDFLAGS=$_ldflags
1864 ])
1865 fi
1866
1867 if test "x$USE_POLARSSL" = "xyes"; then
1868 AC_MSG_NOTICE([detected PolarSSL])
1869
1870 CURL_LIBS="$CURL_LIBS -lpolarssl"
1871 LIBS="$LIBS -lpolarssl"
1872
1873 if test -n "$polarssllib"; then
1874 dnl when shared libs were found in a path that the run-time
1875 dnl linker doesn't search through, we need to add it to
1876 dnl LD_LIBRARY_PATH to prevent further configure tests to fail
1877 dnl due to this
1878
1879 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$polarssllib"
1880 export LD_LIBRARY_PATH
1881 AC_MSG_NOTICE([Added $polarssllib to LD_LIBRARY_PATH])
1882 fi
1883
51427e19
HHC
1884 fi
1885
1886 fi dnl PolarSSL not disabled
1887
1888fi dnl OPENSSL != 1
1889
9e60d8fd
TO
1890dnl ----------------------------------------------------
1891dnl check for CyaSSL
1892dnl ----------------------------------------------------
1893
1894dnl Default to compiler & linker defaults for CyaSSL files & libraries.
1895OPT_CYASSL=no
1896
1897_cppflags=$CPPFLAGS
1898_ldflags=$LDFLAGS
1899AC_ARG_WITH(cyassl,dnl
1900AC_HELP_STRING([--with-cyassl=PATH],[where to look for CyaSSL, PATH points to the installation root (default: /usr/local/cyassl)])
1901AC_HELP_STRING([--without-cyassl], [disable CyaSSL detection]),
1902 OPT_CYASSL=$withval)
1903
1904if test "$OPENSSL_ENABLED" != "1"; then
1905
1906 if test X"$OPT_CYASSL" != Xno; then
1907
1908 if test "$OPT_CYASSL" = "yes"; then
1909 OPT_CYASSL=""
1910 fi
1911
1912 if test -z "$OPT_CYASSL" ; then
1913 dnl check for lib in default first
1914
1915 trycyassldir="/usr/local/cyassl"
1916
1917 LDFLAGS="$LDFLAGS -L$trycyassldir/lib"
1918 CPPFLAGS="$CPPFLAGS -I$trycyassldir/include"
1919
1920 AC_CHECK_LIB(cyassl, InitCyaSSL,
1921 dnl libcyassl found, set the variable
1922 [
1923 AC_DEFINE(USE_CYASSL, 1, [if CyaSSL is enabled])
1924 AC_SUBST(USE_CYASSL, [1])
1925 CYASSL_ENABLED=1
1926 USE_CYASSL="yes"
1927 curl_ssl_msg="enabled (CyaSSL)"
1928 ])
1929 fi
1930
1931 if test "x$USE_CYASSL" != "xyes"; then
1932 dnl add the path and test again
1933 addld=-L$OPT_CYASSL/lib$libsuff
1934 addcflags=-I$OPT_CYASSL/include
1935 cyassllib=$OPT_CYASSL/lib$libsuff
1936
1937 LDFLAGS="$LDFLAGS $addld"
1938 if test "$addcflags" != "-I/usr/include"; then
1939 CPPFLAGS="$CPPFLAGS $addcflags"
1940 fi
1941
1942 AC_CHECK_LIB(cyassl, InitCyaSSL,
1943 [
1944 AC_DEFINE(USE_CYASSL, 1, [if CyaSSL is enabled])
1945 AC_SUBST(USE_CYASSL, [1])
1946 CYASSL_ENABLED=1
1947 USE_CYASSL="yes"
1948 curl_ssl_msg="enabled (CyaSSL)"
1949 ],
1950 [
1951 CPPFLAGS=$_cppflags
1952 LDFLAGS=$_ldflags
1953 ])
1954 fi
1955
1956 if test "x$USE_CYASSL" = "xyes"; then
1957 AC_MSG_NOTICE([detected CyaSSL])
1958
1959 CURL_LIBS="$CURL_LIBS -lcyassl -lm"
1960 LIBS="$LIBS -lcyassl -lm"
1961
1962 if test -n "$cyassllib"; then
1963 dnl when shared libs were found in a path that the run-time
1964 dnl linker doesn't search through, we need to add it to
1965 dnl LD_LIBRARY_PATH to prevent further configure tests to fail
1966 dnl due to this
1967
1968 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$cyassllib"
1969 export LD_LIBRARY_PATH
1970 AC_MSG_NOTICE([Added $cyassllib to LD_LIBRARY_PATH])
1971 fi
1972
1973 fi
1974
1975 fi dnl CyaSSL not disabled
1976
1977fi dnl OPENSSL != 1
1978
7f70dbca
DS
1979dnl ----------------------------------------------------
1980dnl NSS. Only check if GnuTLS and OpenSSL are not enabled
1981dnl ----------------------------------------------------
1982
1983dnl Default to compiler & linker defaults for NSS files & libraries.
1984OPT_NSS=no
1985
1986AC_ARG_WITH(nss,dnl
c40ae2cb 1987AC_HELP_STRING([--with-nss=PATH],[where to look for NSS, PATH points to the installation root])
7f70dbca
DS
1988AC_HELP_STRING([--without-nss], [disable NSS detection]),
1989 OPT_NSS=$withval)
1990
1991if test "$OPENSSL_ENABLED" != "1" -a "$GNUTLS_ENABLED" != "1"; then
1992
1993 if test X"$OPT_NSS" != Xno; then
1994 if test "x$OPT_NSS" = "xyes"; then
b9fdc0c2
DS
1995
1996 CURL_CHECK_PKGCONFIG(nss)
1997
1998 if test "$PKGCONFIG" != "no" ; then
1999 addlib=`$PKGCONFIG --libs nss`
2000 addcflags=`$PKGCONFIG --cflags nss`
2001 version=`$PKGCONFIG --modversion nss`
2002 nssprefix=`$PKGCONFIG --variable=prefix nss`
ceda7e98
DS
2003 else
2004 dnl Without pkg-config, we check for nss-config
2005
2006 check=`nss-config --version 2>/dev/null`
2007 if test -n "$check"; then
2008 addlib=`nss-config --libs`
2009 addcflags=`nss-config --cflags`
2010 version=`nss-config --version`
2011 nssprefix=`nss-config --prefix`
2012 else
2013 addlib="-lnss3"
2014 addcflags=""
2015 version="unknown"
2016 fi
b9fdc0c2 2017 fi
43442153
KD
2018 else
2019 # Without pkg-config, we'll kludge in some defaults
2020 addlib="-L$OPT_NSS/lib -lssl3 -lsmime3 -lnss3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl"
2021 addcflags="-I$OPT_NSS/include"
2022 version="unknown"
eb16c0e1 2023 nssprefix=$OPT_NSS
7f70dbca 2024 fi
43442153 2025
8c3f40ee
DS
2026 dnl Check for functionPK11_CreateGenericObject
2027 dnl this is needed for using the PEM PKCS#11 module
20695098 2028 AC_CHECK_LIB(nss3, PK11_CreateGenericObject,
8c3f40ee
DS
2029 [
2030 AC_DEFINE(HAVE_PK11_CREATEGENERICOBJECT, 1, [if you have the function PK11_CreateGenericObject])
2031 AC_SUBST(HAVE_PK11_CREATEGENERICOBJECT, [1])
2032 ])
7f70dbca
DS
2033 if test -n "$addlib"; then
2034
2035 CLEANLIBS="$LIBS"
2036 CLEANCPPFLAGS="$CPPFLAGS"
e16c1b8e 2037
7f70dbca
DS
2038 LIBS="$LIBS $addlib"
2039 if test "$addcflags" != "-I/usr/include"; then
2040 CPPFLAGS="$CPPFLAGS $addcflags"
2041 fi
e16c1b8e 2042
7f70dbca
DS
2043 AC_CHECK_LIB(nss3, NSS_Initialize,
2044 [
2045 AC_DEFINE(USE_NSS, 1, [if NSS is enabled])
2046 AC_SUBST(USE_NSS, [1])
2047 USE_NSS="yes"
2048 NSS_ENABLED=1
2049 curl_ssl_msg="enabled (NSS)"
2050 ],
2051 [
2052 LIBS="$CLEANLIBS"
2053 CPPFLAGS="$CLEANCPPFLAGS"
2054 ])
e16c1b8e 2055
7f70dbca
DS
2056 if test "x$USE_NSS" = "xyes"; then
2057 AC_MSG_NOTICE([detected NSS version $version])
2058
2059 dnl when shared libs were found in a path that the run-time
2060 dnl linker doesn't search through, we need to add it to
2061 dnl LD_LIBRARY_PATH to prevent further configure tests to fail
2062 dnl due to this
2063
2064 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$nssprefix/lib$libsuff"
2065 export LD_LIBRARY_PATH
2066 AC_MSG_NOTICE([Added $nssprefix/lib$libsuff to LD_LIBRARY_PATH])
2067 fi
2068
2069 fi
2070
2071 fi dnl NSS not disabled
2072
2073fi dnl OPENSSL != 1 -a GNUTLS_ENABLED != 1
2074
108d7693
EH
2075OPT_AXTLS=off
2076
2077AC_ARG_WITH(axtls,dnl
68b2a981 2078AC_HELP_STRING([--with-axtls=PATH],[Where to look for axTLS, PATH points to the axTLS installation prefix (default: /usr/local). Ignored if another SSL engine is selected.])
108d7693
EH
2079AC_HELP_STRING([--without-axtls], [disable axTLS]),
2080 OPT_AXTLS=$withval)
2081
2082if test "$curl_ssl_msg" = "$init_ssl_msg"; then
2083 if test X"$OPT_AXTLS" != Xno; then
2084 dnl backup the pre-axtls variables
2085 CLEANLDFLAGS="$LDFLAGS"
2086 CLEANCPPFLAGS="$CPPFLAGS"
2087 CLEANLIBS="$LIBS"
2088
2089 case "$OPT_AXTLS" in
2090 yes)
2091 dnl --with-axtls (without path) used
68b2a981
DS
2092 PREFIX_AXTLS=/usr/local
2093 LIB_AXTLS="$PREFIX_AXTLS/lib"
2094 LDFLAGS="$LDFLAGS -L$LIB_AXTLS"
2095 CPPFLAGS="$CPPFLAGS -I$PREFIX_AXTLS/include"
108d7693
EH
2096 ;;
2097 off)
2098 dnl no --with-axtls option given, just check default places
2099 PREFIX_AXTLS=
2100 ;;
2101 *)
2102 dnl check the given --with-axtls spot
2103 PREFIX_AXTLS=$OPT_AXTLS
68b2a981 2104 LIB_AXTLS="$PREFIX_AXTLS/lib"
108d7693 2105 LDFLAGS="$LDFLAGS -L$LIB_AXTLS"
68b2a981 2106 CPPFLAGS="$CPPFLAGS -I$PREFIX_AXTLS/include"
108d7693
EH
2107 ;;
2108 esac
2109
2110 AC_CHECK_LIB(axtls, ssl_version,[
2111 LIBS="-laxtls $LIBS"
2112 AC_DEFINE(USE_AXTLS, 1, [if axTLS is enabled])
2113 AC_SUBST(USE_AXTLS, [1])
2114 AXTLS_ENABLED=1
2115 USE_AXTLS="yes"
2116 curl_ssl_msg="enabled (axTLS)"
2117
2118
2119 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_AXTLS"
2120 export LD_LIBRARY_PATH
2121 AC_MSG_NOTICE([Added $LIB_AXTLS to LD_LIBRARY_PATH])
2122 ],[
2123 LDFLAGS="$CLEANLDFLAGS"
2124 CPPFLAGS="$CLEANCPPFLAGS"
2125 LIBS="$CLEANLIBS"
2126 ])
2127 fi
2128fi
2129
9e60d8fd 2130if test "x$OPENSSL_ENABLED$GNUTLS_ENABLED$NSS_ENABLED$POLARSSL_ENABLED$AXTLS_ENABLED$CYASSL_ENABLED" = "x"; then
7f70dbca 2131 AC_MSG_WARN([SSL disabled, you will not be able to use HTTPS, FTPS, NTLM and more.])
9e60d8fd 2132 AC_MSG_WARN([Use --with-ssl, --with-gnutls, --with-polarssl, --with-cyassl, --with-nss or --with-axtls to address this.])
57d2fb41
DS
2133else
2134 # SSL is enabled, genericly
2135 AC_SUBST(SSL_ENABLED)
2136 SSL_ENABLED="1"
7f70dbca
DS
2137fi
2138
779ca097
DS
2139dnl **********************************************************************
2140dnl Check for the CA bundle
2141dnl **********************************************************************
2142
fb23b857 2143CURL_CHECK_CA_BUNDLE
779ca097 2144
62ed5530
DF
2145dnl **********************************************************************
2146dnl Check for the presence of LIBSSH2 libraries and headers
2147dnl **********************************************************************
2148
2149dnl Default to compiler & linker defaults for LIBSSH2 files & libraries.
2150OPT_LIBSSH2=off
2151AC_ARG_WITH(libssh2,dnl
c40ae2cb 2152AC_HELP_STRING([--with-libssh2=PATH],[Where to look for libssh2, PATH points to the LIBSSH2 installation; when possible, set the PKG_CONFIG_PATH environment variable instead of using this option])
62ed5530
DF
2153AC_HELP_STRING([--without-libssh2], [disable LIBSSH2]),
2154 OPT_LIBSSH2=$withval)
2155
2156if test X"$OPT_LIBSSH2" != Xno; then
2157 dnl backup the pre-libssh2 variables
2158 CLEANLDFLAGS="$LDFLAGS"
2159 CLEANCPPFLAGS="$CPPFLAGS"
2160 CLEANLIBS="$LIBS"
2161
2162 case "$OPT_LIBSSH2" in
2163 yes)
2164 dnl --with-libssh2 (without path) used
1951cd1e
DS
2165 CURL_CHECK_PKGCONFIG(libssh2)
2166
2167 if test "$PKGCONFIG" != "no" ; then
2168 LIB_SSH2=`$PKGCONFIG --libs-only-l libssh2`
2169 LD_SSH2=`$PKGCONFIG --libs-only-L libssh2`
2170 CPP_SSH2=`$PKGCONFIG --cflags-only-I libssh2`
2171 version=`$PKGCONFIG --modversion libssh2`
2172 DIR_SSH2=`echo $LD_SSH2 | $SED -e 's/-L//'`
2173 fi
43442153 2174
62ed5530
DF
2175 ;;
2176 off)
2177 dnl no --with-libssh2 option given, just check default places
62ed5530
DF
2178 ;;
2179 *)
2180 dnl use the given --with-libssh2 spot
1951cd1e 2181 PREFIX_SSH2=$OPT_LIBSSH2
62ed5530
DF
2182 ;;
2183 esac
2184
1951cd1e
DS
2185 dnl if given with a prefix, we set -L and -I based on that
2186 if test -n "$PREFIX_SSH2"; then
fde79589 2187 LIB_SSH2="-lssh2"
9fced16e 2188 LD_SSH2=-L${PREFIX_SSH2}/lib$libsuff
1951cd1e 2189 CPP_SSH2=-I${PREFIX_SSH2}/include
9fced16e 2190 DIR_SSH2=${PREFIX_SSH2}/lib$libsuff
1951cd1e
DS
2191 fi
2192
2193 LDFLAGS="$LDFLAGS $LD_SSH2"
2194 CPPFLAGS="$CPPFLAGS $CPP_SSH2"
2195 LIBS="$LIBS $LIB_SSH2"
2196
62ed5530
DF
2197 AC_CHECK_LIB(ssh2, libssh2_channel_open_ex)
2198
2199 AC_CHECK_HEADERS(libssh2.h,
2200 curl_ssh_msg="enabled (libSSH2)"
2201 LIBSSH2_ENABLED=1
2202 AC_DEFINE(USE_LIBSSH2, 1, [if libSSH2 is in use])
2203 AC_SUBST(USE_LIBSSH2, [1])
2204 )
2205
2206 if test X"$OPT_LIBSSH2" != Xoff &&
2207 test "$LIBSSH2_ENABLED" != "1"; then
2208 AC_MSG_ERROR([libSSH2 libs and/or directories were not found where specified!])
2209 fi
2210
2211 if test "$LIBSSH2_ENABLED" = "1"; then
9fced16e 2212 if test -n "$DIR_SSH2"; then
62ed5530
DF
2213 dnl when the libssh2 shared libs were found in a path that the run-time
2214 dnl linker doesn't search through, we need to add it to LD_LIBRARY_PATH
2215 dnl to prevent further configure tests to fail due to this
2216
2217 dnl libssh2_version is a post 1.0 addition
6be508dc 2218 dnl libssh2_init and libssh2_exit were added in 1.2.5
f8cf037e 2219 dnl libssh2_scp_send64 was added in 1.2.6
e214cd4a 2220 dnl libssh2_session_handshake was added in 1.2.8
f8cf037e 2221 AC_CHECK_FUNCS( libssh2_version libssh2_init libssh2_exit \
e214cd4a 2222 libssh2_scp_send64 libssh2_session_handshake)
62ed5530 2223
1951cd1e 2224 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DIR_SSH2"
62ed5530 2225 export LD_LIBRARY_PATH
1951cd1e 2226 AC_MSG_NOTICE([Added $DIR_SSH2 to LD_LIBRARY_PATH])
62ed5530
DF
2227 fi
2228 else
2229 dnl no libssh2, revert back to clean variables
2230 LDFLAGS=$CLEANLDFLAGS
2231 CPPFLAGS=$CLEANCPPFLAGS
2232 LIBS=$CLEANLIBS
2233 fi
2234fi
2235
04cb15ae
HC
2236dnl **********************************************************************
2237dnl Check for the presence of LIBRTMP libraries and headers
2238dnl **********************************************************************
2239
2240dnl Default to compiler & linker defaults for LIBRTMP files & libraries.
2241OPT_LIBRTMP=off
2242AC_ARG_WITH(librtmp,dnl
c40ae2cb 2243AC_HELP_STRING([--with-librtmp=PATH],[Where to look for librtmp, PATH points to the LIBRTMP installation; when possible, set the PKG_CONFIG_PATH environment variable instead of using this option])
04cb15ae
HC
2244AC_HELP_STRING([--without-librtmp], [disable LIBRTMP]),
2245 OPT_LIBRTMP=$withval)
2246
2247if test X"$OPT_LIBRTMP" != Xno; then
2248 dnl backup the pre-librtmp variables
2249 CLEANLDFLAGS="$LDFLAGS"
2250 CLEANCPPFLAGS="$CPPFLAGS"
2251 CLEANLIBS="$LIBS"
2252
2253 case "$OPT_LIBRTMP" in
2254 yes)
2255 dnl --with-librtmp (without path) used
2256 CURL_CHECK_PKGCONFIG(librtmp)
2257
2258 if test "$PKGCONFIG" != "no" ; then
2259 LIB_RTMP=`$PKGCONFIG --libs-only-l librtmp`
2260 LD_RTMP=`$PKGCONFIG --libs-only-L librtmp`
2261 CPP_RTMP=`$PKGCONFIG --cflags-only-I librtmp`
2262 version=`$PKGCONFIG --modversion librtmp`
2263 DIR_RTMP=`echo $LD_RTMP | $SED -e 's/-L//'`
5046dd02
JC
2264 else
2265 dnl To avoid link errors, we do not allow --librtmp without
2266 dnl a pkgconfig file
2267 AC_MSG_ERROR([--librtmp was specified but could not find librtmp pkgconfig file.])
04cb15ae
HC
2268 fi
2269
2270 ;;
2271 off)
2272 dnl no --with-librtmp option given, just check default places
5fcc4332 2273 LIB_RTMP="-lrtmp"
04cb15ae
HC
2274 ;;
2275 *)
2276 dnl use the given --with-librtmp spot
2277 PREFIX_RTMP=$OPT_LIBRTMP
2278 ;;
2279 esac
2280
2281 dnl if given with a prefix, we set -L and -I based on that
2282 if test -n "$PREFIX_RTMP"; then
2283 LD_RTMP=-L${PREFIX_RTMP}/lib$libsuff
2284 CPP_RTMP=-I${PREFIX_RTMP}/include
2285 DIR_RTMP=${PREFIX_RTMP}/lib$libsuff
2286 fi
2287
2288 LDFLAGS="$LDFLAGS $LD_RTMP"
2289 CPPFLAGS="$CPPFLAGS $CPP_RTMP"
2290 LIBS="$LIBS $LIB_RTMP"
2291
5fcc4332
DS
2292 AC_CHECK_LIB(rtmp, RTMP_Init,
2293 [
2294 AC_CHECK_HEADERS(librtmp/rtmp.h,
2295 curl_rtmp_msg="enabled (librtmp)"
2296 LIBRTMP_ENABLED=1
2297 AC_DEFINE(USE_LIBRTMP, 1, [if librtmp is in use])
2298 AC_SUBST(USE_LIBRTMP, [1])
2299 )
2300 ],
2301 dnl not found, revert back to clean variables
2302 LDFLAGS=$CLEANLDFLAGS
2303 CPPFLAGS=$CLEANCPPFLAGS
2304 LIBS=$CLEANLIBS
04cb15ae
HC
2305 )
2306
2307 if test X"$OPT_LIBRTMP" != Xoff &&
2308 test "$LIBRTMP_ENABLED" != "1"; then
2309 AC_MSG_ERROR([librtmp libs and/or directories were not found where specified!])
2310 fi
2311
04cb15ae
HC
2312fi
2313
c461254d
DF
2314dnl **********************************************************************
2315dnl Check for the presence of IDN libraries and headers
2316dnl **********************************************************************
2317
cff90cf3 2318AC_MSG_CHECKING([whether to build with libidn])
96002646 2319AC_ARG_WITH(libidn,
cff90cf3
DS
2320AC_HELP_STRING([--with-libidn=PATH],[Enable libidn usage])
2321AC_HELP_STRING([--without-libidn],[Disable libidn usage]),
96002646 2322 [LIBIDN="$withval"])
cff90cf3
DS
2323
2324case "$LIBIDN" in
2325 no)
2326 AC_MSG_RESULT(no)
2327 ;;
2328 *) AC_MSG_RESULT(yes)
19a568a9
DS
2329
2330 idn=""
2331 dnl if there is a given path, check that FIRST
7bb6d76d
DS
2332 if test -n "$LIBIDN"; then
2333 if test "x$LIBIDN" != "xyes"; then
7bb6d76d
DS
2334 oldLDFLAGS=$LDFLAGS
2335 oldCPPFLAGS=$CPPFLAGS
2336 LDFLAGS="$LDFLAGS -L$LIBIDN/lib"
2337 CPPFLAGS="$CPPFLAGS -I$LIBIDN/include"
2338 idn="yes"
2339 AC_CHECK_LIB(idn, idna_to_ascii_4i, ,
2340 idn=""
2341 LDFLAGS=$oldLDFLAGS
2342 CPPFLAGS=$oldCPPFLAGS)
2343 fi
19a568a9
DS
2344 fi
2345
2346 if test "x$idn" != "xyes"; then
2347 dnl check with default paths
8c16696f 2348 idn="yes"
19a568a9
DS
2349 AC_CHECK_LIB(idn, idna_to_ascii_lz, ,
2350 idn="")
2351 fi
2352
2353 if test "x$idn" = "xyes"; then
cff90cf3 2354 curl_idn_msg="enabled"
d6460aff 2355 AC_SUBST(IDN_ENABLED, [1])
4e7575fc 2356 dnl different versions of libidn have different setups of these:
1239e483 2357 AC_CHECK_FUNCS( idn_free idna_strerror tld_strerror)
c6881660 2358 AC_CHECK_HEADERS( idn-free.h tld.h )
cff90cf3 2359 fi
e16c1b8e
GK
2360
2361 ;;
cff90cf3
DS
2362esac
2363
0eace2fe
DS
2364
2365dnl Let's hope this split URL remains working:
2366dnl http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixprggd/ \
2367dnl genprogc/thread_quick_ref.htm
abd65e21 2368
abd65e21 2369
ae1912cb
DS
2370dnl **********************************************************************
2371dnl Back to "normal" configuring
2372dnl **********************************************************************
2373
2374dnl Checks for header files.
2375AC_HEADER_STDC
075c5342 2376
4d95d23d 2377CURL_CHECK_HEADER_MALLOC
9770899a 2378CURL_CHECK_HEADER_MEMORY
a6a5bba0
YT
2379
2380dnl Now check for the very most basic headers. Then we can use these
075c5342
DS
2381dnl ones as default-headers when checking for the rest!
2382AC_CHECK_HEADERS(
2383 sys/types.h \
2384 sys/time.h \
2385 sys/select.h \
2386 sys/socket.h \
a4351517 2387 sys/ioctl.h \
aa41743e 2388 sys/uio.h \
24ac5b8a 2389 assert.h \
ae1912cb 2390 unistd.h \
8898ff9e 2391 stdlib.h \
3d66d10f 2392 limits.h \
ae1912cb
DS
2393 arpa/inet.h \
2394 net/if.h \
2395 netinet/in.h \
3d29bda9 2396 sys/un.h \
43137cf5 2397 netinet/tcp.h \
ae1912cb 2398 netdb.h \
ae1912cb
DS
2399 sys/sockio.h \
2400 sys/stat.h \
ae1912cb
DS
2401 sys/param.h \
2402 termios.h \
2403 termio.h \
2404 sgtty.h \
2405 fcntl.h \
ae1912cb 2406 alloca.h \
ae1912cb
DS
2407 time.h \
2408 io.h \
5900c0f7 2409 pwd.h \
82d3ded9 2410 utime.h \
3c49b405 2411 sys/utime.h \
99dfdebc 2412 sys/poll.h \
bdb2beb8 2413 poll.h \
37eba370 2414 socket.h \
a4e1ac79 2415 sys/resource.h \
8e872231 2416 libgen.h \
82d6cfa7 2417 locale.h \
65dbee01 2418 errno.h \
69565afa 2419 stdbool.h \
528a149d
DS
2420 arpa/tftp.h \
2421 sys/filio.h \
075c5342
DS
2422 setjmp.h,
2423dnl to do if not found
2424[],
2425dnl to do if found
2426[],
2427dnl default includes
2428[
2429#ifdef HAVE_SYS_TYPES_H
2430#include <sys/types.h>
2431#endif
2432#ifdef HAVE_SYS_TIME_H
2433#include <sys/time.h>
2434#endif
2435#ifdef HAVE_SYS_SELECT_H
2436#include <sys/select.h>
2437#endif
2438#ifdef HAVE_SYS_SOCKET_H
2439#include <sys/socket.h>
2440#endif
d85c2199
DS
2441#ifdef HAVE_NETINET_IN_H
2442#include <netinet/in.h>
2443#endif
3d29bda9
DS
2444#ifdef HAVE_SYS_UN_H
2445#include <sys/un.h>
2446#endif
075c5342 2447]
ae1912cb
DS
2448)
2449
ae1912cb
DS
2450dnl Checks for typedefs, structures, and compiler characteristics.
2451AC_C_CONST
273b2b23 2452CURL_CHECK_VARIADIC_MACROS
ae1912cb
DS
2453AC_TYPE_SIZE_T
2454AC_HEADER_TIME
32ac4ede 2455CURL_CHECK_STRUCT_TIMEVAL
67e8d229 2456CURL_VERIFY_RUNTIMELIBS
ae1912cb 2457
78e6508e 2458AC_CHECK_SIZEOF(size_t)
af677c4e 2459AC_CHECK_SIZEOF(long)
80443661
YT
2460AC_CHECK_SIZEOF(int)
2461AC_CHECK_SIZEOF(short)
a06e0779 2462CURL_CONFIGURE_LONG
cd73a733 2463AC_CHECK_SIZEOF(time_t)
e2c81773 2464AC_CHECK_SIZEOF(off_t)
ae1912cb 2465
3f3d6ebe 2466soname_bump=no
243cf297
YT
2467if test x"$ac_cv_native_windows" != "xyes" &&
2468 test $ac_cv_sizeof_off_t -ne $curl_sizeof_curl_off_t; then
3f3d6ebe
DS
2469 AC_MSG_WARN([This libcurl built is probably not ABI compatible with previous])
2470 AC_MSG_WARN([builds! You MUST read lib/README.curl_off_t to figure it out.])
2471 soname_bump=yes
2472fi
2473
2474
a147a079 2475AC_CHECK_TYPE(long long,
ceb49d37
YT
2476 [AC_DEFINE(HAVE_LONGLONG, 1,
2477 [Define to 1 if the compiler supports the 'long long' data type.])]
e16c1b8e 2478 longlong="yes"
af677c4e
DS
2479)
2480
2481if test "xyes" = "x$longlong"; then
2482 AC_MSG_CHECKING([if numberLL works])
465865c3
YT
2483 AC_COMPILE_IFELSE([
2484 AC_LANG_PROGRAM([[
2485 ]],[[
2486 long long val = 1000LL;
2487 ]])
2488 ],[
2489 AC_MSG_RESULT([yes])
2490 AC_DEFINE(HAVE_LL, 1, [if your compiler supports LL])
2491 ],[
2492 AC_MSG_RESULT([no])
2493 ])
af677c4e
DS
2494fi
2495
ae1912cb 2496
61e2a810 2497# check for ssize_t
a147a079
DS
2498AC_CHECK_TYPE(ssize_t, ,
2499 AC_DEFINE(ssize_t, int, [the signed version of size_t]))
61e2a810 2500
69565afa
YT
2501# check for bool type
2502AC_CHECK_TYPE([bool],[
2503 AC_DEFINE(HAVE_BOOL_T, 1,
2504 [Define to 1 if bool is an available type.])
2505], ,[
2a6a22a3
YT
2506#ifdef HAVE_SYS_TYPES_H
2507#include <sys/types.h>
2508#endif
69565afa
YT
2509#ifdef HAVE_STDBOOL_H
2510#include <stdbool.h>
2511#endif
2512])
2513
8611631f
YT
2514CURL_CONFIGURE_CURL_SOCKLEN_T
2515
d09b4369 2516TYPE_IN_ADDR_T
11693c0f 2517
a31ddd36
DS
2518TYPE_SOCKADDR_STORAGE
2519
73226415
YT
2520TYPE_SIG_ATOMIC_T
2521
a46f55b9
YT
2522AC_TYPE_SIGNAL
2523
9346e55d 2524CURL_CHECK_FUNC_SELECT
ad05d0a8 2525
01fa02d0 2526CURL_CHECK_FUNC_RECV
a9dc9005 2527CURL_CHECK_FUNC_RECVFROM
01fa02d0 2528CURL_CHECK_FUNC_SEND
77b3bc23
YT
2529CURL_CHECK_MSG_NOSIGNAL
2530
4e4f6c1e 2531CURL_CHECK_FUNC_ALARM
6d4e6cc8 2532CURL_CHECK_FUNC_BASENAME
40b2f255 2533CURL_CHECK_FUNC_CLOSESOCKET
d6d63147 2534CURL_CHECK_FUNC_CLOSESOCKET_CAMEL
1ff4e900 2535CURL_CHECK_FUNC_CONNECT
17d2a464 2536CURL_CHECK_FUNC_FCNTL
b93ad10f 2537CURL_CHECK_FUNC_FDOPEN
33319f5d 2538CURL_CHECK_FUNC_FREEADDRINFO
9717ccb7 2539CURL_CHECK_FUNC_FREEIFADDRS
2b2ac906 2540CURL_CHECK_FUNC_FSETXATTR
fce9c3a9 2541CURL_CHECK_FUNC_FTRUNCATE
0989cd35 2542CURL_CHECK_FUNC_GETADDRINFO
c33aee16 2543CURL_CHECK_FUNC_GAI_STRERROR
9b12f096 2544CURL_CHECK_FUNC_GETHOSTBYADDR
d84440d5 2545CURL_CHECK_FUNC_GETHOSTBYADDR_R
9b12f096 2546CURL_CHECK_FUNC_GETHOSTBYNAME
d84440d5 2547CURL_CHECK_FUNC_GETHOSTBYNAME_R
d7e406e0 2548CURL_CHECK_FUNC_GETHOSTNAME
9717ccb7 2549CURL_CHECK_FUNC_GETIFADDRS
0c1ae21c 2550CURL_CHECK_FUNC_GETSERVBYPORT_R
ea1362a9 2551CURL_CHECK_FUNC_GMTIME_R
006cab3e 2552CURL_CHECK_FUNC_INET_NTOA_R
267b9423 2553CURL_CHECK_FUNC_INET_NTOP
4d437416 2554CURL_CHECK_FUNC_INET_PTON
17d2a464
YT
2555CURL_CHECK_FUNC_IOCTL
2556CURL_CHECK_FUNC_IOCTLSOCKET
2557CURL_CHECK_FUNC_IOCTLSOCKET_CAMEL
d7e406e0 2558CURL_CHECK_FUNC_LOCALTIME_R
b64dd3c6 2559CURL_CHECK_FUNC_MEMRCHR
debe0b56 2560CURL_CHECK_FUNC_POLL
17d2a464 2561CURL_CHECK_FUNC_SETSOCKOPT
969903eb 2562CURL_CHECK_FUNC_SIGACTION
83c199bb
YT
2563CURL_CHECK_FUNC_SIGINTERRUPT
2564CURL_CHECK_FUNC_SIGNAL
2565CURL_CHECK_FUNC_SIGSETJMP
40b2f255 2566CURL_CHECK_FUNC_SOCKET
4c621bc6
YT
2567CURL_CHECK_FUNC_STRCASECMP
2568CURL_CHECK_FUNC_STRCASESTR
2569CURL_CHECK_FUNC_STRCMPI
fce9c3a9 2570CURL_CHECK_FUNC_STRDUP
b93ad10f 2571CURL_CHECK_FUNC_STRERROR_R
4c621bc6
YT
2572CURL_CHECK_FUNC_STRICMP
2573CURL_CHECK_FUNC_STRLCAT
2574CURL_CHECK_FUNC_STRNCASECMP
2575CURL_CHECK_FUNC_STRNCMPI
2576CURL_CHECK_FUNC_STRNICMP
d7e406e0 2577CURL_CHECK_FUNC_STRSTR
969903eb 2578CURL_CHECK_FUNC_STRTOK_R
ea1362a9 2579CURL_CHECK_FUNC_STRTOLL
aa41743e 2580CURL_CHECK_FUNC_WRITEV
ea1362a9 2581
74e5beab
DS
2582case $host in
2583 *msdosdjgpp)
2584 ac_cv_func_pipe=no
2585 skipcheck_pipe=yes
2586 AC_MSG_NOTICE([skip check for pipe on msdosdjgpp])
2587 ;;
2588esac
357389a9 2589
6d4e6cc8 2590AC_CHECK_FUNCS([fork \
357389a9 2591 geteuid \
357389a9
YT
2592 getpass_r \
2593 getppid \
2594 getprotobyname \
2595 getpwuid \
2596 getrlimit \
2597 gettimeofday \
2598 inet_addr \
357389a9
YT
2599 perror \
2600 pipe \
357389a9
YT
2601 setlocale \
2602 setmode \
2603 setrlimit \
357389a9
YT
2604 uname \
2605 utime
2606],[
2607],[
2608 func="$ac_func"
2609 eval skipcheck=\$skipcheck_$func
2610 if test "x$skipcheck" != "xyes"; then
2611 AC_MSG_CHECKING([deeper for $func])
2612 AC_LINK_IFELSE([
2613 AC_LANG_PROGRAM([[
2614 ]],[[
2615 $func ();
2616 ]])
2617 ],[
2618 AC_MSG_RESULT([yes])
2619 eval "ac_cv_func_$func=yes"
0126b4a9 2620 AC_DEFINE_UNQUOTED(XC_SH_TR_CPP([HAVE_$func]), [1],
357389a9
YT
2621 [Define to 1 if you have the $func function.])
2622 ],[
2623 AC_MSG_RESULT([but still no])
2624 ])
2625 fi
2626])
2627
e4388643
YT
2628dnl Check if the getnameinfo function is available
2629dnl and get the types of five of its arguments.
2630CURL_CHECK_FUNC_GETNAMEINFO
2e5cccd1 2631
bec19771 2632if test "$ipv6" = "yes"; then
0989cd35
YT
2633 if test "$ac_cv_func_getaddrinfo" = "yes"; then
2634 AC_DEFINE(ENABLE_IPV6, 1, [Define if you want to enable IPv6 support])
2635 IPV6_ENABLED=1
2636 AC_SUBST(IPV6_ENABLED)
2637 fi
bec19771
YT
2638 CURL_CHECK_NI_WITHSCOPEID
2639fi
2640
17d2a464
YT
2641dnl ************************************************************
2642dnl enable non-blocking communications
2643dnl
2644CURL_CHECK_OPTION_NONBLOCKING
2645CURL_CHECK_NONBLOCKING_SOCKET
2646
2647dnl ************************************************************
2648dnl nroff tool stuff
2649dnl
a7b99fc4 2650
e16c1b8e 2651AC_PATH_PROG( PERL, perl, ,
7dc36344
DS
2652 $PATH:/usr/local/bin/perl:/usr/bin/:/usr/local/bin )
2653AC_SUBST(PERL)
ae1912cb 2654
e16c1b8e 2655AC_PATH_PROGS( NROFF, gnroff nroff, ,
ae1912cb 2656 $PATH:/usr/bin/:/usr/local/bin )
96dde76b 2657AC_SUBST(NROFF)
ae1912cb 2658
773e7e87
DS
2659if test -n "$NROFF"; then
2660 dnl only check for nroff options if an nroff command was found
2661
2662 AC_MSG_CHECKING([how to use *nroff to get plain text from man pages])
2663 MANOPT="-man"
37685848
DS
2664 mancheck=`echo foo | $NROFF $MANOPT 2>/dev/null`
2665 if test -z "$mancheck"; then
773e7e87
DS
2666 MANOPT="-mandoc"
2667 mancheck=`echo foo | $NROFF $MANOPT 2>/dev/null`
2668 if test -z "$mancheck"; then
2669 MANOPT=""
2670 AC_MSG_RESULT([failed])
2671 AC_MSG_WARN([found no *nroff option to get plaintext from man pages])
2672 else
2673 AC_MSG_RESULT([$MANOPT])
2674 fi
37685848
DS
2675 else
2676 AC_MSG_RESULT([$MANOPT])
2677 fi
773e7e87
DS
2678 AC_SUBST(MANOPT)
2679fi
2680
2681if test -z "$MANOPT"
2682then
2683 dnl if no nroff tool was found, or no option that could convert man pages
2684 dnl was found, then disable the built-in manual stuff
2685 AC_MSG_WARN([disabling built-in manual])
2686 USE_MANUAL="no";
37685848 2687fi
37685848 2688
a6d4807d
MW
2689dnl **********************************************************
2690dnl path of NTLM single-sign-on helper ntlm_auth
2691dnl
2692AC_ARG_WITH(ntlm-auth,
2693 AC_HELP_STRING([--with-ntlm-auth=PATH],
2694 [Where to look for ntlm_auth, path points to ntlm_auth installation (default: /usr/bin/ntlm_auth);])
2695 AC_HELP_STRING([--without-ntlm-auth],
2696 [disable ntlm single-sign-on by using ntlm_auth]),
2697ntlm_auth="$withval",
2698 [if test "$ac_cv_native_windows" = "yes"; then ntlm_auth="no"; else ntlm_auth="/usr/bin/ntlm_auth"; fi])
2699
2700AC_MSG_CHECKING([if using ntlm_auth is requested])
2701
2702if test "$ntlm_auth" != "no"; then
2703 AC_DEFINE(USE_NTLM_AUTH, 1, [Whether or not use Samba's 'winbind' daemon helper 'ntlm_auth' for NTLM single-sign-on])
2704 AC_SUBST(USE_NTLM_AUTH, [1])
2705 if test "$ntlm_auth" = "yes"; then
2706 dnl --with-ntlm-auth (without path) used, use default path
2707 ntlm_auth="/usr/bin/ntlm_auth"
2708 fi
2709 AC_MSG_RESULT($ntlm_auth)
2710else
2711 AC_MSG_RESULT(no)
2712fi
2713AC_SUBST(ntlm_auth)
2714AC_DEFINE_UNQUOTED(NTLM_AUTH, "$ntlm_auth", [Samba's 'winbind' daemon helper 'ntlm_auth' which can be used for NTLM single-sign-on])
2715
2716
f3663a9d
DS
2717dnl *************************************************************************
2718dnl If the manual variable still is set, then we go with providing a built-in
2719dnl manual
2720
2721if test "$USE_MANUAL" = "1"; then
2722 AC_DEFINE(USE_MANUAL, 1, [If you want to build curl with the built-in manual])
cff90cf3 2723 curl_manual_msg="enabled"
f3663a9d
DS
2724fi
2725
2726dnl set variable for use in automakefile(s)
2727AM_CONDITIONAL(USE_MANUAL, test x"$USE_MANUAL" = x1)
2728
22ed0f50
YT
2729CURL_CHECK_LIB_ARES
2730AM_CONDITIONAL(USE_EMBEDDED_ARES, test x$embedded_ares = xyes)
cd5e6743 2731
15aeb94f
YT
2732if test "x$ac_cv_native_windows" != "xyes" &&
2733 test "x$enable_shared" = "xyes"; then
b24e8725
YT
2734 build_libhostname=yes
2735else
2736 build_libhostname=no
2737fi
cfbdbf97 2738AM_CONDITIONAL(BUILD_LIBHOSTNAME, test x$build_libhostname = xyes)
b24e8725 2739
79dc74e8
DS
2740CURL_CHECK_OPTION_THREADED_RESOLVER
2741
2742if test "x$want_thres" = xyes && test "x$want_ares" = xyes; then
2743 AC_MSG_ERROR(
2744[Options --enable-threaded-resolver and --enable-ares are mutually exclusive])
2745fi
2746
2747if test "$want_thres" = "yes"; then
2748 AC_CHECK_HEADER(pthread.h,
2749 [ AC_DEFINE(HAVE_PTHREAD_H, 1, [if you have <pthread.h>])
2750 save_CFLAGS="$CFLAGS"
2751 CFLAGS="$CFLAGS -pthread"
2752 AC_CHECK_LIB(pthread, pthread_create,
2753 [ AC_MSG_NOTICE([using POSIX threaded DNS lookup])
2754 AC_DEFINE(USE_THREADS_POSIX, 1, [if you want POSIX threaded DNS lookup])
2755 USE_THREADS_POSIX=1
2756 curl_res_msg="threaded"
2757 ],
2758 [ CFLAGS="$save_CFLAGS"])
2759 ])
2760fi
2761
710e370c
DS
2762dnl ************************************************************
2763dnl disable verbose text strings
2764dnl
2765AC_MSG_CHECKING([whether to enable verbose strings])
2766AC_ARG_ENABLE(verbose,
2767AC_HELP_STRING([--enable-verbose],[Enable verbose strings])
2768AC_HELP_STRING([--disable-verbose],[Disable verbose strings]),
2769[ case "$enableval" in
2770 no)
2771 AC_MSG_RESULT(no)
2772 AC_DEFINE(CURL_DISABLE_VERBOSE_STRINGS, 1, [to disable verbose strings])
710e370c
DS
2773 curl_verbose_msg="no"
2774 ;;
2775 *) AC_MSG_RESULT(yes)
2776 ;;
2777 esac ],
2778 AC_MSG_RESULT(yes)
2779)
2780
8ed31c48
DS
2781dnl ************************************************************
2782dnl enable SSPI support
2783dnl
d8d3dc93 2784AC_MSG_CHECKING([whether to enable SSPI support (Windows native builds only)])
8ed31c48
DS
2785AC_ARG_ENABLE(sspi,
2786AC_HELP_STRING([--enable-sspi],[Enable SSPI])
2787AC_HELP_STRING([--disable-sspi],[Disable SSPI]),
2788[ case "$enableval" in
2789 yes)
d8d3dc93
YT
2790 if test "$ac_cv_native_windows" = "yes"; then
2791 AC_MSG_RESULT(yes)
2792 AC_DEFINE(USE_WINDOWS_SSPI, 1, [to enable SSPI support])
9b23b310 2793 AC_SUBST(USE_WINDOWS_SSPI, [1])
4a8a7314 2794 curl_sspi_msg="enabled"
d8d3dc93
YT
2795 else
2796 AC_MSG_RESULT(no)
2797 AC_MSG_WARN([--enable-sspi Ignored. Only supported on native Windows builds.])
2798 fi
8ed31c48
DS
2799 ;;
2800 *)
2801 AC_MSG_RESULT(no)
2802 ;;
2803 esac ],
2804 AC_MSG_RESULT(no)
2805)
2806
94043b11
DS
2807dnl ************************************************************
2808dnl disable cryptographic authentication
2809dnl
2810AC_MSG_CHECKING([whether to enable cryptographic authentication methods])
2811AC_ARG_ENABLE(crypto-auth,
2812AC_HELP_STRING([--enable-crypto-auth],[Enable cryptographic authentication])
2813AC_HELP_STRING([--disable-crypto-auth],[Disable cryptographic authentication]),
2814[ case "$enableval" in
2815 no)
2816 AC_MSG_RESULT(no)
2817 AC_DEFINE(CURL_DISABLE_CRYPTO_AUTH, 1, [to disable cryptographic authentication])
94043b11
DS
2818 ;;
2819 *) AC_MSG_RESULT(yes)
2820 ;;
2821 esac ],
2822 AC_MSG_RESULT(yes)
2823)
2824
59cf93cc
QS
2825dnl ************************************************************
2826dnl disable TLS-SRP authentication
2827dnl
2828AC_MSG_CHECKING([whether to enable TLS-SRP authentication])
2829AC_ARG_ENABLE(tls-srp,
2830AC_HELP_STRING([--enable-tls-srp],[Enable TLS-SRP authentication])
2831AC_HELP_STRING([--disable-tls-srp],[Disable TLS-SRP authentication]),
2832[ case "$enableval" in
2833 no)
2834 AC_MSG_RESULT(no)
2835 AC_DEFINE(CURL_DISABLE_TLS_SRP, 1, [to disable TLS-SRP authentication])
2836 want_tls_srp=no
2837 ;;
2838 *) AC_MSG_RESULT(yes)
2839 want_tls_srp=yes
2840 ;;
2841 esac ],
2842 AC_MSG_RESULT(yes)
2843 want_tls_srp=yes
2844)
2845
2531cd94 2846if test "$want_tls_srp" = "yes" && ( test "x$HAVE_GNUTLS_SRP" = "x1" || test "x$HAVE_SSLEAY_SRP" = "x1") ; then
59cf93cc 2847 AC_DEFINE(USE_TLS_SRP, 1, [Use TLS-SRP authentication])
4ba3d8bd 2848 USE_TLS_SRP=1
59cf93cc
QS
2849 curl_tls_srp_msg="enabled"
2850fi
2851
ac269a8f
DS
2852dnl ************************************************************
2853dnl disable cookies support
2854dnl
2855AC_MSG_CHECKING([whether to enable support for cookies])
2856AC_ARG_ENABLE(cookies,
2857AC_HELP_STRING([--enable-cookies],[Enable cookies support])
2858AC_HELP_STRING([--disable-cookies],[Disable cookies support]),
2859[ case "$enableval" in
2860 no)
2861 AC_MSG_RESULT(no)
2862 AC_DEFINE(CURL_DISABLE_COOKIES, 1, [to disable cookies support])
ac269a8f
DS
2863 ;;
2864 *) AC_MSG_RESULT(yes)
2865 ;;
2866 esac ],
2867 AC_MSG_RESULT(yes)
2868)
2869
59582a9d
DF
2870dnl ************************************************************
2871dnl Enable hiding of internal symbols in library to reduce its size and
2872dnl speed dynamic linking of applications. This currently is only supported
10489879 2873dnl on gcc >= 4.0 and SunPro C.
59582a9d
DF
2874dnl
2875AC_MSG_CHECKING([whether to enable hidden symbols in the library])
2876AC_ARG_ENABLE(hidden-symbols,
10489879 2877AC_HELP_STRING([--enable-hidden-symbols],[Hide internal symbols in library])
59582a9d
DF
2878AC_HELP_STRING([--disable-hidden-symbols],[Leave all symbols with default visibility in library]),
2879[ case "$enableval" in
2880 no)
2881 AC_MSG_RESULT(no)
2882 ;;
e16c1b8e 2883 *)
10489879 2884 AC_MSG_CHECKING([whether $CC supports it])
f13ac35e 2885 if test "$GCC" = yes ; then
f5d8c0be
DS
2886 if $CC --help --verbose 2>&1 | grep fvisibility= > /dev/null ||
2887 dnl clang always supports -fvisibility= but it doesn't show up
2888 dnl under --help.
2889 test "$compiler_id" = "CLANG"; then
77431568
GK
2890 AC_MSG_RESULT(yes)
2891 AC_DEFINE(CURL_HIDDEN_SYMBOLS, 1, [to enable hidden symbols])
77431568 2892 AC_DEFINE(CURL_EXTERN_SYMBOL, [__attribute__ ((visibility ("default")))], [to make a symbol visible])
77431568 2893 CFLAGS="$CFLAGS -fvisibility=hidden"
f13ac35e
DF
2894 else
2895 AC_MSG_RESULT(no)
2896 fi
10489879 2897
f13ac35e 2898 else
77431568
GK
2899 dnl Test for SunPro cc
2900 if $CC 2>&1 | grep flags >/dev/null && $CC -flags | grep xldscope= >/dev/null ; then
10489879 2901 AC_MSG_RESULT(yes)
77431568 2902 AC_DEFINE(CURL_HIDDEN_SYMBOLS, 1, [to enable hidden symbols])
77431568 2903 AC_DEFINE(CURL_EXTERN_SYMBOL, [__global], [to make a symbol visible])
77431568 2904 CFLAGS="$CFLAGS -xldscope=hidden"
10489879
DF
2905 else
2906 AC_MSG_RESULT(no)
2907 fi
f13ac35e 2908 fi
59582a9d
DF
2909 ;;
2910 esac ],
2911 AC_MSG_RESULT(no)
2912)
2913
8dabd344
DS
2914dnl ************************************************************
2915dnl enforce SONAME bump
966cc10f 2916dnl
8dabd344 2917
8dabd344
DS
2918AC_MSG_CHECKING([whether to enforce SONAME bump])
2919AC_ARG_ENABLE(soname-bump,
2920AC_HELP_STRING([--enable-soname-bump],[Enable enforced SONAME bump])
2921AC_HELP_STRING([--disable-soname-bump],[Disable enforced SONAME bump]),
2922[ case "$enableval" in
2923 yes) AC_MSG_RESULT(yes)
2924 soname_bump=yes
2925 ;;
2926 *)
d7d56184 2927 AC_MSG_RESULT(no)
8dabd344
DS
2928 ;;
2929 esac ],
3f3d6ebe 2930 AC_MSG_RESULT($soname_bump)
8dabd344
DS
2931)
2932AM_CONDITIONAL(SONAME_BUMP, test x$soname_bump = xyes)
2933
2934
59582a9d 2935dnl ************************************************************
560a82ae 2936if test ! -z "$winsock_LIB"; then
9f3d9da1
DS
2937
2938 dnl If ws2_32 is wanted, make sure it is the _last_ lib in LIBS (makes
2939 dnl things work when built with c-ares). But we can't just move it last
2940 dnl since then other stuff (SSL) won't build. So we simply append it to the
2941 dnl end.
2942
560a82ae
YT
2943 LIBS="$LIBS $winsock_LIB"
2944 TEST_SERVER_LIBS="$TEST_SERVER_LIBS $winsock_LIB"
9f3d9da1
DS
2945
2946fi
2947
a0a47f27
DF
2948dnl
2949dnl All the library dependencies put into $LIB apply to libcurl only.
2950dnl Those in $CURL_LIBS apply to the curl command-line client only.
c461254d 2951dnl Those in $TEST_SERVER_LIBS apply to test servers only.
a0a47f27
DF
2952dnl Those in $ALL_LIBS apply to all targets, including test targets.
2953dnl
2954LIBCURL_LIBS=$LIBS
a0a47f27
DF
2955
2956AC_SUBST(LIBCURL_LIBS)
2957AC_SUBST(CURL_LIBS)
2958AC_SUBST(TEST_SERVER_LIBS)
50a1d5ee 2959AC_SUBST(CURL_NETWORK_LIBS)
c461254d 2960LIBS=$ALL_LIBS dnl LIBS is a magic variable that's used for every link
a0a47f27 2961
20705ca3
DS
2962AM_CONDITIONAL(CROSSCOMPILING, test x$cross_compiling = xyes)
2963
a1312859
DS
2964dnl yes or no
2965ENABLE_SHARED="$enable_shared"
2966AC_SUBST(ENABLE_SHARED)
2967
bbc002a5
DS
2968dnl
2969dnl For keeping supported features and protocols also in pkg-config file
2970dnl since it is more cross-compile frient than curl-config
2971dnl
2972
2973if test "x$USE_SSLEAY" = "x1"; then
2974 SUPPORT_FEATURES="$SUPPORT_FEATURES SSL"
2975elif test -n "$SSL_ENABLED"; then
2976 SUPPORT_FEATURES="$SUPPORT_FEATURES SSL"
2977fi
2978if test "@KRB4_ENABLED@" = "x1"; then
2979 SUPPORT_FEATURES="$SUPPORT_FEATURES KRB4"
2980fi
2981if test "x$IPV6_ENABLED" = "x1"; then
2982 SUPPORT_FEATURES="$SUPPORT_FEATURES IPv6"
2983fi
2984if test "x$HAVE_LIBZ" = "x1"; then
2985 SUPPORT_FEATURES="$SUPPORT_FEATURES libz"
2986fi
79dc74e8 2987if test "x$USE_ARES" = "x1" -o "x$USE_THREADS_POSIX" = "x1"; then
bbc002a5
DS
2988 SUPPORT_FEATURES="$SUPPORT_FEATURES AsynchDNS"
2989fi
2990if test "x$IDN_ENABLED" = "x1"; then
2991 SUPPORT_FEATURES="$SUPPORT_FEATURES IDN"
2992fi
2993if test "x$USE_WINDOWS_SSPI" = "x1"; then
2994 SUPPORT_FEATURES="$SUPPORT_FEATURES SSPI"
2995fi
6eb48494
DF
2996if test "x$CURL_DISABLE_HTTP" != "x1"; then
2997 if test "x$USE_SSLEAY" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \
2998 -o "x$GNUTLS_ENABLED" = "x1" -o "x$NSS_ENABLED" = "x1"; then
2999 SUPPORT_FEATURES="$SUPPORT_FEATURES NTLM"
a6d4807d
MW
3000 if test "x$USE_NTLM_AUTH" = "x1"; then
3001 SUPPORT_FEATURES="$SUPPORT_FEATURES NTLM_SSO"
3002 fi
6eb48494 3003 fi
bbc002a5 3004fi
59cf93cc
QS
3005if test "x$USE_TLS_SRP" = "x1"; then
3006 SUPPORT_FEATURES="$SUPPORT_FEATURES TLS-SRP"
3007fi
bbc002a5
DS
3008
3009AC_SUBST(SUPPORT_FEATURES)
3010
3011dnl For supported protocols in pkg-config file
3012if test "x$CURL_DISABLE_HTTP" != "x1"; then
3013 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS HTTP"
3014 if test "x$SSL_ENABLED" = "x1"; then
3015 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS HTTPS"
3016 fi
3017fi
3018if test "x$CURL_DISABLE_FTP" != "x1"; then
3019 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS FTP"
3020 if test "x$SSL_ENABLED" = "x1"; then
3021 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS FTPS"
3022 fi
3023fi
3024if test "x$CURL_DISABLE_FILE" != "x1"; then
3025 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS FILE"
3026fi
3027if test "x$CURL_DISABLE_TELNET" != "x1"; then
3028 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS TELNET"
3029fi
89da5324 3030if test "x$CURL_DISABLE_LDAP" != "x1"; then
bbc002a5 3031 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS LDAP"
89da5324
YT
3032 if test "x$CURL_DISABLE_LDAPS" != "x1"; then
3033 if (test "x$USE_OPENLDAP" = "x1" && test "x$SSL_ENABLED" = "x1") ||
3034 (test "x$USE_OPENLDAP" != "x1" && test "x$HAVE_LDAP_SSL" = "x1"); then
3035 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS LDAPS"
3036 fi
b1c1b9bb 3037 fi
bbc002a5
DS
3038fi
3039if test "x$CURL_DISABLE_DICT" != "x1"; then
3040 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS DICT"
3041fi
3042if test "x$CURL_DISABLE_TFTP" != "x1"; then
3043 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS TFTP"
3044fi
201637d4
CK
3045if test "x$CURL_DISABLE_GOPHER" != "x1"; then
3046 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS GOPHER"
3047fi
92b9b468
DS
3048if test "x$CURL_DISABLE_POP3" != "x1"; then
3049 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS POP3"
30eb452a
DS
3050 if test "x$SSL_ENABLED" = "x1"; then
3051 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS POP3S"
3052 fi
92b9b468
DS
3053fi
3054if test "x$CURL_DISABLE_IMAP" != "x1"; then
3055 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS IMAP"
30eb452a
DS
3056 if test "x$SSL_ENABLED" = "x1"; then
3057 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS IMAPS"
3058 fi
92b9b468
DS
3059fi
3060if test "x$CURL_DISABLE_SMTP" != "x1"; then
3061 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SMTP"
30eb452a
DS
3062 if test "x$SSL_ENABLED" = "x1"; then
3063 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SMTPS"
3064 fi
92b9b468 3065fi
bbc002a5
DS
3066if test "x$USE_LIBSSH2" = "x1"; then
3067 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SCP"
3068 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SFTP"
3069fi
bc4582b6
DS
3070if test "x$CURL_DISABLE_RTSP" != "x1"; then
3071 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS RTSP"
3072fi
04cb15ae 3073if test "x$USE_LIBRTMP" = "x1"; then
027ceb37 3074 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS RTMP"
04cb15ae 3075fi
bbc002a5 3076
c047fe8e
DS
3077dnl replace spaces with newlines
3078dnl sort the lines
3079dnl replace the newlines back to spaces
3080SUPPORT_PROTOCOLS=`echo $SUPPORT_PROTOCOLS | tr ' ' '\012' | sort | tr '\012' ' '`
3081
bbc002a5
DS
3082AC_SUBST(SUPPORT_PROTOCOLS)
3083
d930280a
YT
3084dnl squeeze whitespace out of some variables
3085
be760bed
YT
3086squeeze CFLAGS
3087squeeze CPPFLAGS
3088squeeze DEFS
3089squeeze LDFLAGS
3090squeeze LIBS
3091
3092squeeze CURL_LIBS
3093squeeze LIBCURL_LIBS
3094squeeze TEST_SERVER_LIBS
50a1d5ee 3095squeeze CURL_NETWORK_LIBS
d930280a 3096
4a8a7314
YT
3097squeeze SUPPORT_FEATURES
3098squeeze SUPPORT_PROTOCOLS
3099
065047dc 3100if test "x$want_curldebug_assumed" = "xyes" &&
22ed0f50 3101 test "x$want_curldebug" = "xyes" && test "x$USE_ARES" = "x1"; then
675d6ec5
YT
3102 ac_configure_args="$ac_configure_args --enable-curldebug"
3103fi
3104
93c53424 3105AC_CONFIG_FILES([Makefile \
77431568 3106 docs/Makefile \
d54cdf29 3107 docs/examples/Makefile \
e22657ea 3108 docs/libcurl/Makefile \
77431568
GK
3109 include/Makefile \
3110 include/curl/Makefile \
3111 src/Makefile \
172f0ba1 3112 lib/Makefile \
044ca343 3113 tests/Makefile \
b915ca68 3114 tests/data/Makefile \
fd8bf5f1 3115 tests/server/Makefile \
2aa0c6c4 3116 tests/libtest/Makefile \
35e1d653 3117 tests/unit/Makefile \
77431568
GK
3118 packages/Makefile \
3119 packages/Win32/Makefile \
3120 packages/Win32/cygwin/Makefile \
3121 packages/Linux/Makefile \
3122 packages/Linux/RPM/Makefile \
3123 packages/Linux/RPM/curl.spec \
3124 packages/Linux/RPM/curl-ssl.spec \
c503930b 3125 packages/Solaris/Makefile \
34f9ab10
DS
3126 packages/EPM/curl.list \
3127 packages/EPM/Makefile \
f19cade5 3128 packages/vms/Makefile \
c7e9e60b
DS
3129 packages/AIX/Makefile \
3130 packages/AIX/RPM/Makefile \
15f2647d 3131 packages/AIX/RPM/curl.spec \
df3ca591
DS
3132 curl-config \
3133 libcurl.pc
93c53424
DS
3134])
3135AC_OUTPUT
cff90cf3 3136
ef24ecde
YT
3137CURL_GENERATE_CONFIGUREHELP_PM
3138
cff90cf3
DS
3139AC_MSG_NOTICE([Configured to build curl/libcurl:
3140
0355e33b 3141 curl version: ${CURLVERSION}
cff90cf3
DS
3142 Host setup: ${host}
3143 Install prefix: ${prefix}
3144 Compiler: ${CC}
3145 SSL support: ${curl_ssl_msg}
2147284c 3146 SSH support: ${curl_ssh_msg}
cff90cf3
DS
3147 zlib support: ${curl_zlib_msg}
3148 krb4 support: ${curl_krb4_msg}
3149 GSSAPI support: ${curl_gss_msg}
48975876 3150 SPNEGO support: ${curl_spnego_msg}
59cf93cc 3151 TLS-SRP support: ${curl_tls_srp_msg}
79dc74e8 3152 resolver: ${curl_res_msg}
cff90cf3 3153 ipv6 support: ${curl_ipv6_msg}
96002646 3154 IDN support: ${curl_idn_msg}
e16c1b8e 3155 Build libcurl: Shared=${enable_shared}, Static=${enable_static}
cff90cf3 3156 Built-in manual: ${curl_manual_msg}
710e370c 3157 Verbose errors: ${curl_verbose_msg}
8ed31c48 3158 SSPI support: ${curl_sspi_msg}
86cbb232
MM
3159 ca cert bundle: ${ca}
3160 ca cert path: ${capath}
d0edb478 3161 LDAP support: ${curl_ldap_msg}
966cc10f 3162 LDAPS support: ${curl_ldaps_msg}
bc4582b6 3163 RTSP support: ${curl_rtsp_msg}
04cb15ae 3164 RTMP support: ${curl_rtmp_msg}
19b8a80e 3165 Protocols: ${SUPPORT_PROTOCOLS}
cff90cf3 3166])
3f3d6ebe
DS
3167
3168if test "x$soname_bump" = "xyes"; then
3169
3170cat <<EOM
3171 SONAME bump: yes - WARNING: this library will be built with the SONAME
3172 number bumped due to (a detected) ABI breakage.
3173 See lib/README.curl_off_t for details on this.
3174EOM
3175
3176fi
3177