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