1 #***************************************************************************
3 # Project ___| | | | _ \| |
5 # | (__| |_| | _ <| |___
6 # \___|\___/|_| \_\_____|
8 # Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
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.
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.
18 # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
19 # KIND, either express or implied.
21 #***************************************************************************
22 dnl Process this file with autoconf to produce a configure script.
26 dnl We don't know the version number "statically" so we use a dash here
27 AC_INIT([curl], [-], [a suitable curl mailing list: http://curl.haxx.se/mail/])
31 CURL_OVERRIDE_AUTOCONF
33 dnl configure script copyright
34 AC_COPYRIGHT([Copyright (c) 1998 - 2014 Daniel Stenberg, <daniel@haxx.se>
35 This configure script may be copied, distributed and modified under the
36 terms of the curl license; see COPYING for more details])
38 AC_CONFIG_SRCDIR([lib/urldata.h])
39 AC_CONFIG_HEADERS(lib/curl_config.h include/curl/curlbuild.h)
40 AC_CONFIG_MACRO_DIR([m4])
43 CURL_CHECK_OPTION_DEBUG
44 CURL_CHECK_OPTION_OPTIMIZE
45 CURL_CHECK_OPTION_WARNINGS
46 CURL_CHECK_OPTION_WERROR
47 CURL_CHECK_OPTION_CURLDEBUG
48 CURL_CHECK_OPTION_SYMBOL_HIDING
49 CURL_CHECK_OPTION_ARES
51 XC_CHECK_PATH_SEPARATOR
54 # save the configure arguments
56 CONFIGURE_OPTIONS="\"$ac_configure_args\""
57 AC_SUBST(CONFIGURE_OPTIONS)
60 if test X"$want_werror" = Xyes; then
61 CURL_CFLAG_EXTRAS="-Werror"
63 AC_SUBST(CURL_CFLAG_EXTRAS)
65 dnl SED is mandatory for configure process and libtool.
66 dnl Set it now, allowing it to be changed later.
67 if test -z "$SED"; then
68 dnl allow it to be overridden
69 AC_PATH_PROG([SED], [sed], [not_found],
70 [$PATH:/usr/bin:/usr/local/bin])
71 if test -z "$SED" || test "$SED" = "not_found"; then
72 AC_MSG_ERROR([sed not found in PATH. Cannot continue without sed.])
77 dnl GREP is mandatory for configure process and libtool.
78 dnl Set it now, allowing it to be changed later.
79 if test -z "$GREP"; then
80 dnl allow it to be overridden
81 AC_PATH_PROG([GREP], [grep], [not_found],
82 [$PATH:/usr/bin:/usr/local/bin])
83 if test -z "$GREP" || test "$GREP" = "not_found"; then
84 AC_MSG_ERROR([grep not found in PATH. Cannot continue without grep.])
89 dnl EGREP is mandatory for configure process and libtool.
90 dnl Set it now, allowing it to be changed later.
91 if test -z "$EGREP"; then
92 dnl allow it to be overridden
93 if echo a | ($GREP -E '(a|b)') >/dev/null 2>&1; then
94 AC_MSG_CHECKING([for egrep])
96 AC_MSG_RESULT([$EGREP])
98 AC_PATH_PROG([EGREP], [egrep], [not_found],
99 [$PATH:/usr/bin:/usr/local/bin])
102 if test -z "$EGREP" || test "$EGREP" = "not_found"; then
103 AC_MSG_ERROR([egrep not found in PATH. Cannot continue without egrep.])
107 dnl AR is mandatory for configure process and libtool.
108 dnl This is target dependent, so check it as a tool.
109 if test -z "$AR"; then
110 dnl allow it to be overridden
111 AC_PATH_TOOL([AR], [ar], [not_found],
112 [$PATH:/usr/bin:/usr/local/bin])
113 if test -z "$AR" || test "$AR" = "not_found"; then
114 AC_MSG_ERROR([ar not found in PATH. Cannot continue without ar.])
121 dnl Remove non-configure distributed curlbuild.h
122 if test -f ${srcdir}/include/curl/curlbuild.h; then
123 rm -f ${srcdir}/include/curl/curlbuild.h
126 dnl figure out the libcurl version
127 CURLVERSION=`$SED -ne 's/^#define LIBCURL_VERSION "\(.*\)"/\1/p' ${srcdir}/include/curl/curlver.h`
130 AC_MSG_CHECKING([curl version])
131 AC_MSG_RESULT($CURLVERSION)
133 AC_SUBST(CURLVERSION)
136 dnl we extract the numerical version for curl-config only
137 VERSIONNUM=`$SED -ne 's/^#define LIBCURL_VERSION_NUM 0x\(.*\)/\1/p' ${srcdir}/include/curl/curlver.h`
140 dnl Solaris pkgadd support definitions
141 PKGADD_PKG="HAXXcurl"
142 PKGADD_NAME="cURL - a client that groks URLs"
143 PKGADD_VENDOR="curl.haxx.se"
145 AC_SUBST(PKGADD_NAME)
146 AC_SUBST(PKGADD_VENDOR)
149 dnl initialize all the info variables
150 curl_ssl_msg="no (--with-{ssl,gnutls,nss,polarssl,cyassl,axtls,winssl,darwinssl} )"
151 curl_ssh_msg="no (--with-libssh2)"
152 curl_zlib_msg="no (--with-zlib)"
153 curl_gss_msg="no (--with-gssapi)"
154 curl_spnego_msg="no (--with-spnego)"
155 curl_tls_srp_msg="no (--enable-tls-srp)"
156 curl_res_msg="default (--enable-ares / --enable-threaded-resolver)"
157 curl_ipv6_msg="no (--enable-ipv6)"
158 curl_idn_msg="no (--with-{libidn,winidn})"
159 curl_manual_msg="no (--enable-manual)"
160 curl_libcurl_msg="enabled (--disable-libcurl-option)"
161 curl_verbose_msg="enabled (--disable-verbose)"
162 curl_sspi_msg="no (--enable-sspi)"
163 curl_ldap_msg="no (--enable-ldap / --with-ldap-lib / --with-lber-lib)"
164 curl_ldaps_msg="no (--enable-ldaps)"
165 curl_rtsp_msg="no (--enable-rtsp)"
166 curl_rtmp_msg="no (--with-librtmp)"
167 curl_mtlnk_msg="no (--with-libmetalink)"
169 init_ssl_msg=${curl_ssl_msg}
172 dnl Save some initial values the user might have provided
174 INITIAL_LDFLAGS=$LDFLAGS
178 dnl Detect the canonical host and target build environment
182 dnl Get system canonical name
183 AC_DEFINE_UNQUOTED(OS, "${host}", [cpu-machine-OS])
185 dnl Checks for programs.
187 dnl Our curl_off_t internal and external configure settings
188 CURL_CONFIGURE_CURL_OFF_T
190 dnl This defines _ALL_SOURCE for AIX
191 CURL_CHECK_AIX_ALL_SOURCE
193 dnl Our configure and build reentrant settings
194 CURL_CONFIGURE_THREAD_SAFE
195 CURL_CONFIGURE_REENTRANT
197 dnl check for how to do large files
203 # Automake conditionals based on libtool related checks
206 AM_CONDITIONAL([CURL_LT_SHLIB_USE_VERSION_INFO],
207 [test "x$xc_lt_shlib_use_version_info" = 'xyes'])
208 AM_CONDITIONAL([CURL_LT_SHLIB_USE_NO_UNDEFINED],
209 [test "x$xc_lt_shlib_use_no_undefined" = 'xyes'])
210 AM_CONDITIONAL([CURL_LT_SHLIB_USE_MIMPURE_TEXT],
211 [test "x$xc_lt_shlib_use_mimpure_text" = 'xyes'])
214 # Due to libtool and automake machinery limitations of not allowing
215 # specifying separate CPPFLAGS or CFLAGS when compiling objects for
216 # inclusion of these in shared or static libraries, we are forced to
217 # build using separate configure runs for shared and static libraries
218 # on systems where different CPPFLAGS or CFLAGS are mandatory in order
219 # to compile objects for each kind of library. Notice that relying on
220 # the '-DPIC' CFLAG that libtool provides is not valid given that the
221 # user might for example choose to build static libraries with PIC.
225 # Make our Makefile.am files use the staticlib CPPFLAG only when strictly
226 # targeting a static library and not building its shared counterpart.
229 AM_CONDITIONAL([USE_CPPFLAG_CURL_STATICLIB],
230 [test "x$xc_lt_build_static_only" = 'xyes'])
233 # Make staticlib CPPFLAG variable and its definition visible in output
234 # files unconditionally, providing an empty definition unless strictly
235 # targeting a static library and not building its shared counterpart.
238 CPPFLAG_CURL_STATICLIB=
239 if test "x$xc_lt_build_static_only" = 'xyes'; then
240 CPPFLAG_CURL_STATICLIB='-DCURL_STATICLIB'
242 AC_SUBST([CPPFLAG_CURL_STATICLIB])
245 # Determine whether all dependent libraries must be specified when linking
246 if test "X$enable_shared" = "Xyes" -a "X$link_all_deplibs" = "Xno"
252 AC_SUBST(REQUIRE_LIB_DEPS)
253 AM_CONDITIONAL(USE_EXPLICIT_LIB_DEPS, test x$REQUIRE_LIB_DEPS = xyes)
255 dnl check if there's a way to force code inline
258 dnl **********************************************************************
259 dnl platform/compiler/architecture specific checks/flags
260 dnl **********************************************************************
263 CURL_SET_COMPILER_BASIC_OPTS
264 CURL_SET_COMPILER_DEBUG_OPTS
265 CURL_SET_COMPILER_OPTIMIZE_OPTS
266 CURL_SET_COMPILER_WARNING_OPTS
268 if test "$compiler_id" = "INTEL_UNIX_C"; then
270 if test "$compiler_num" -ge "1000"; then
271 dnl icc 10.X or later
272 CFLAGS="$CFLAGS -shared-intel"
273 elif test "$compiler_num" -ge "900"; then
275 CFLAGS="$CFLAGS -i-dynamic"
280 CURL_CHECK_COMPILER_HALT_ON_ERROR
281 CURL_CHECK_COMPILER_ARRAY_SIZE_NEGATIVE
282 CURL_CHECK_COMPILER_PROTOTYPE_MISMATCH
283 CURL_CHECK_COMPILER_SYMBOL_HIDING
286 AM_CONDITIONAL(CURLDEBUG, test x$want_curldebug = xyes)
288 supports_unittests=yes
289 # cross-compilation of unit tests static library/programs fails when
290 # libcurl shared library is built. This might be due to a libtool or
291 # automake issue. In this case we disable unit tests.
292 if test "x$cross_compiling" != "xno" &&
293 test "x$enable_shared" != "xno"; then
294 supports_unittests=no
297 # IRIX 6.5.24 gcc 3.3 autobuilds fail unittests library compilation due to
298 # a problem related with OpenSSL headers and library versions not matching.
299 # Disable unit tests while time to further investigate this is found.
302 if test "$compiler_id" = "GNU_C"; then
303 supports_unittests=no
308 # All AIX autobuilds fails unit tests linking against unittests library
309 # due to unittests library being built with no symbols or members. Libtool ?
310 # Disable unit tests while time to further investigate this is found.
313 supports_unittests=no
317 dnl Build unit tests when option --enable-debug is given.
318 if test "x$want_debug" = "xyes" &&
319 test "x$supports_unittests" = "xyes"; then
324 AM_CONDITIONAL(BUILD_UNITTESTS, test x$want_unittests = xyes)
326 dnl **********************************************************************
327 dnl Compilation based checks should not be done before this point.
328 dnl **********************************************************************
330 dnl **********************************************************************
331 dnl Make sure that our checks for headers windows.h winsock.h winsock2.h
332 dnl and ws2tcpip.h take precedence over any other further checks which
333 dnl could be done later using AC_CHECK_HEADER or AC_CHECK_HEADERS for
334 dnl this specific header files. And do them before its results are used.
335 dnl **********************************************************************
337 CURL_CHECK_HEADER_WINDOWS
338 CURL_CHECK_NATIVE_WINDOWS
339 case X-"$ac_cv_native_windows" in
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
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"
355 CURL_CHECK_WIN32_LARGEFILE
357 dnl ************************************************************
358 dnl switch off particular protocols
360 AC_MSG_CHECKING([whether to support http])
362 AC_HELP_STRING([--enable-http],[Enable HTTP support])
363 AC_HELP_STRING([--disable-http],[Disable HTTP support]),
364 [ case "$enableval" in
367 AC_DEFINE(CURL_DISABLE_HTTP, 1, [to disable HTTP])
368 AC_MSG_WARN([disable HTTP disables FTP over proxy and RTSP])
369 AC_SUBST(CURL_DISABLE_HTTP, [1])
370 AC_DEFINE(CURL_DISABLE_RTSP, 1, [to disable RTSP])
371 AC_SUBST(CURL_DISABLE_RTSP, [1])
373 *) AC_MSG_RESULT(yes)
378 AC_MSG_CHECKING([whether to support ftp])
380 AC_HELP_STRING([--enable-ftp],[Enable FTP support])
381 AC_HELP_STRING([--disable-ftp],[Disable FTP support]),
382 [ case "$enableval" in
385 AC_DEFINE(CURL_DISABLE_FTP, 1, [to disable FTP])
386 AC_SUBST(CURL_DISABLE_FTP, [1])
388 *) AC_MSG_RESULT(yes)
393 AC_MSG_CHECKING([whether to support file])
395 AC_HELP_STRING([--enable-file],[Enable FILE support])
396 AC_HELP_STRING([--disable-file],[Disable FILE support]),
397 [ case "$enableval" in
400 AC_DEFINE(CURL_DISABLE_FILE, 1, [to disable FILE])
401 AC_SUBST(CURL_DISABLE_FILE, [1])
403 *) AC_MSG_RESULT(yes)
408 AC_MSG_CHECKING([whether to support ldap])
410 AC_HELP_STRING([--enable-ldap],[Enable LDAP support])
411 AC_HELP_STRING([--disable-ldap],[Disable LDAP support]),
412 [ case "$enableval" in
415 AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP])
416 AC_SUBST(CURL_DISABLE_LDAP, [1])
424 AC_MSG_CHECKING([whether to support ldaps])
426 AC_HELP_STRING([--enable-ldaps],[Enable LDAPS support])
427 AC_HELP_STRING([--disable-ldaps],[Disable LDAPS support]),
428 [ case "$enableval" in
431 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
432 AC_SUBST(CURL_DISABLE_LDAPS, [1])
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])
440 AC_DEFINE(HAVE_LDAP_SSL, 1, [Use LDAPS implementation])
441 AC_SUBST(HAVE_LDAP_SSL, [1])
445 if test "x$CURL_DISABLE_LDAP" = "x1" ; then
447 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
448 AC_SUBST(CURL_DISABLE_LDAPS, [1])
451 AC_DEFINE(HAVE_LDAP_SSL, 1, [Use LDAPS implementation])
452 AC_SUBST(HAVE_LDAP_SSL, [1])
456 AC_MSG_CHECKING([whether to support rtsp])
458 AC_HELP_STRING([--enable-rtsp],[Enable RTSP support])
459 AC_HELP_STRING([--disable-rtsp],[Disable RTSP support]),
460 [ case "$enableval" in
463 AC_DEFINE(CURL_DISABLE_RTSP, 1, [to disable RTSP])
464 AC_SUBST(CURL_DISABLE_RTSP, [1])
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!)
470 curl_rtsp_msg="enabled"
474 if test "x$CURL_DISABLE_HTTP" != "x1"; then
476 curl_rtsp_msg="enabled"
482 AC_MSG_CHECKING([whether to support proxies])
484 AC_HELP_STRING([--enable-proxy],[Enable proxy support])
485 AC_HELP_STRING([--disable-proxy],[Disable proxy support]),
486 [ case "$enableval" in
489 AC_DEFINE(CURL_DISABLE_PROXY, 1, [to disable proxies])
490 AC_SUBST(CURL_DISABLE_PROXY, [1])
492 *) AC_MSG_RESULT(yes)
498 AC_MSG_CHECKING([whether to support dict])
500 AC_HELP_STRING([--enable-dict],[Enable DICT support])
501 AC_HELP_STRING([--disable-dict],[Disable DICT support]),
502 [ case "$enableval" in
505 AC_DEFINE(CURL_DISABLE_DICT, 1, [to disable DICT])
506 AC_SUBST(CURL_DISABLE_DICT, [1])
508 *) AC_MSG_RESULT(yes)
513 AC_MSG_CHECKING([whether to support telnet])
514 AC_ARG_ENABLE(telnet,
515 AC_HELP_STRING([--enable-telnet],[Enable TELNET support])
516 AC_HELP_STRING([--disable-telnet],[Disable TELNET support]),
517 [ case "$enableval" in
520 AC_DEFINE(CURL_DISABLE_TELNET, 1, [to disable TELNET])
521 AC_SUBST(CURL_DISABLE_TELNET, [1])
523 *) AC_MSG_RESULT(yes)
528 AC_MSG_CHECKING([whether to support tftp])
530 AC_HELP_STRING([--enable-tftp],[Enable TFTP support])
531 AC_HELP_STRING([--disable-tftp],[Disable TFTP support]),
532 [ case "$enableval" in
535 AC_DEFINE(CURL_DISABLE_TFTP, 1, [to disable TFTP])
536 AC_SUBST(CURL_DISABLE_TFTP, [1])
538 *) AC_MSG_RESULT(yes)
544 AC_MSG_CHECKING([whether to support pop3])
546 AC_HELP_STRING([--enable-pop3],[Enable POP3 support])
547 AC_HELP_STRING([--disable-pop3],[Disable POP3 support]),
548 [ case "$enableval" in
551 AC_DEFINE(CURL_DISABLE_POP3, 1, [to disable POP3])
552 AC_SUBST(CURL_DISABLE_POP3, [1])
554 *) AC_MSG_RESULT(yes)
561 AC_MSG_CHECKING([whether to support imap])
563 AC_HELP_STRING([--enable-imap],[Enable IMAP support])
564 AC_HELP_STRING([--disable-imap],[Disable IMAP support]),
565 [ case "$enableval" in
568 AC_DEFINE(CURL_DISABLE_IMAP, 1, [to disable IMAP])
569 AC_SUBST(CURL_DISABLE_IMAP, [1])
571 *) AC_MSG_RESULT(yes)
578 AC_MSG_CHECKING([whether to support smtp])
580 AC_HELP_STRING([--enable-smtp],[Enable SMTP support])
581 AC_HELP_STRING([--disable-smtp],[Disable SMTP support]),
582 [ case "$enableval" in
585 AC_DEFINE(CURL_DISABLE_SMTP, 1, [to disable SMTP])
586 AC_SUBST(CURL_DISABLE_SMTP, [1])
588 *) AC_MSG_RESULT(yes)
594 AC_MSG_CHECKING([whether to support gopher])
595 AC_ARG_ENABLE(gopher,
596 AC_HELP_STRING([--enable-gopher],[Enable Gopher support])
597 AC_HELP_STRING([--disable-gopher],[Disable Gopher support]),
598 [ case "$enableval" in
601 AC_DEFINE(CURL_DISABLE_GOPHER, 1, [to disable Gopher])
602 AC_SUBST(CURL_DISABLE_GOPHER, [1])
604 *) AC_MSG_RESULT(yes)
611 dnl **********************************************************************
612 dnl Check for built-in manual
613 dnl **********************************************************************
615 AC_MSG_CHECKING([whether to provide built-in manual])
616 AC_ARG_ENABLE(manual,
617 AC_HELP_STRING([--enable-manual],[Enable built-in manual])
618 AC_HELP_STRING([--disable-manual],[Disable built-in manual]),
619 [ case "$enableval" in
623 *) AC_MSG_RESULT(yes)
630 dnl The actual use of the USE_MANUAL variable is done much later in this
631 dnl script to allow other actions to disable it as well.
633 dnl ************************************************************
634 dnl disable C code generation support
636 AC_MSG_CHECKING([whether to enable generation of C code])
637 AC_ARG_ENABLE(libcurl_option,
638 AC_HELP_STRING([--enable-libcurl-option],[Enable --libcurl C code generation support])
639 AC_HELP_STRING([--disable-libcurl-option],[Disable --libcurl C code generation support]),
640 [ case "$enableval" in
643 AC_DEFINE(CURL_DISABLE_LIBCURL_OPTION, 1, [to disable --libcurl C code generation option])
644 curl_libcurl_msg="no"
646 *) AC_MSG_RESULT(yes)
652 dnl **********************************************************************
653 dnl Checks for libraries.
654 dnl **********************************************************************
656 AC_MSG_CHECKING([whether to use libgcc])
657 AC_ARG_ENABLE(libgcc,
658 AC_HELP_STRING([--enable-libgcc],[use libgcc when linking]),
659 [ case "$enableval" in
672 dnl gethostbyname without lib or in the nsl lib?
673 AC_CHECK_FUNC(gethostbyname,
674 [HAVE_GETHOSTBYNAME="1"
676 [ AC_CHECK_LIB(nsl, gethostbyname,
677 [HAVE_GETHOSTBYNAME="1"
682 if test "$HAVE_GETHOSTBYNAME" != "1"
684 dnl gethostbyname in the socket lib?
685 AC_CHECK_LIB(socket, gethostbyname,
686 [HAVE_GETHOSTBYNAME="1"
687 LIBS="-lsocket $LIBS"
691 if test "$HAVE_GETHOSTBYNAME" != "1"
693 dnl gethostbyname in the watt lib?
694 AC_CHECK_LIB(watt, gethostbyname,
695 [HAVE_GETHOSTBYNAME="1"
696 CPPFLAGS="-I/dev/env/WATT_ROOT/inc"
697 LDFLAGS="-L/dev/env/WATT_ROOT/lib"
702 dnl At least one system has been identified to require BOTH nsl and socket
703 dnl libs at the same time to link properly.
704 if test "$HAVE_GETHOSTBYNAME" != "1"
706 AC_MSG_CHECKING([for gethostbyname with both nsl and socket libs])
707 my_ac_save_LIBS=$LIBS
708 LIBS="-lnsl -lsocket $LIBS"
716 HAVE_GETHOSTBYNAME="1"
719 LIBS=$my_ac_save_LIBS
723 if test "$HAVE_GETHOSTBYNAME" != "1"
725 dnl This is for winsock systems
726 if test "$ac_cv_header_windows_h" = "yes"; then
727 if test "$ac_cv_header_winsock_h" = "yes"; then
730 winsock_LIB="-lwinsock"
733 winsock_LIB="-lwsock32"
737 if test "$ac_cv_header_winsock2_h" = "yes"; then
738 winsock_LIB="-lws2_32"
740 if test ! -z "$winsock_LIB"; then
741 my_ac_save_LIBS=$LIBS
742 LIBS="$winsock_LIB $LIBS"
743 AC_MSG_CHECKING([for gethostbyname in $winsock_LIB])
746 #ifdef HAVE_WINDOWS_H
747 #ifndef WIN32_LEAN_AND_MEAN
748 #define WIN32_LEAN_AND_MEAN
751 #ifdef HAVE_WINSOCK2_H
752 #include <winsock2.h>
754 #ifdef HAVE_WINSOCK_H
760 gethostbyname("www.dummysite.com");
764 HAVE_GETHOSTBYNAME="1"
768 LIBS=$my_ac_save_LIBS
774 if test "$HAVE_GETHOSTBYNAME" != "1"
776 dnl This is for Minix 3.1
777 AC_MSG_CHECKING([for gethostbyname for Minix 3])
780 /* Older Minix versions may need <net/gen/netdb.h> here instead */
783 gethostbyname("www.dummysite.com");
787 HAVE_GETHOSTBYNAME="1"
793 if test "$HAVE_GETHOSTBYNAME" != "1"
795 dnl This is for eCos with a stubbed DNS implementation
796 AC_MSG_CHECKING([for gethostbyname for eCos])
802 gethostbyname("www.dummysite.com");
806 HAVE_GETHOSTBYNAME="1"
812 if test "$HAVE_GETHOSTBYNAME" != "1"
814 dnl gethostbyname in the network lib - for Haiku OS
815 AC_CHECK_LIB(network, gethostbyname,
816 [HAVE_GETHOSTBYNAME="1"
817 LIBS="-lnetwork $LIBS"
821 if test "$HAVE_GETHOSTBYNAME" != "1"
823 dnl gethostbyname in the net lib - for BeOS
824 AC_CHECK_LIB(net, gethostbyname,
825 [HAVE_GETHOSTBYNAME="1"
831 if test "$HAVE_GETHOSTBYNAME" != "1"; then
832 AC_MSG_ERROR([couldn't find libraries for gethostbyname()])
836 AC_CHECK_FUNC(strcasecmp, , [ AC_CHECK_LIB(resolve, strcasecmp) ])
838 if test "$ac_cv_lib_resolve_strcasecmp" = "$ac_cv_func_strcasecmp"; then
839 AC_CHECK_LIB(resolve, strcasecmp,
840 [LIBS="-lresolve $LIBS"],
844 ac_cv_func_strcasecmp="no"
846 CURL_CHECK_LIBS_CONNECT
848 CURL_NETWORK_LIBS=$LIBS
850 dnl **********************************************************************
851 dnl In case that function clock_gettime with monotonic timer is available,
852 dnl check for additional required libraries.
853 dnl **********************************************************************
854 CURL_CHECK_LIBS_CLOCK_GETTIME_MONOTONIC
856 dnl **********************************************************************
857 dnl The preceding library checks are all potentially useful for test
858 dnl servers and libtest cases which require networking and clock_gettime
859 dnl support. Save the list of required libraries at this point for use
860 dnl while linking those test servers and programs.
861 dnl **********************************************************************
862 CURL_NETWORK_AND_TIME_LIBS=$LIBS
864 dnl **********************************************************************
865 dnl Check for the presence of ZLIB libraries and headers
866 dnl **********************************************************************
868 dnl Check for & handle argument to --with-zlib.
870 clean_CPPFLAGS=$CPPFLAGS
871 clean_LDFLAGS=$LDFLAGS
875 AC_HELP_STRING([--with-zlib=PATH],[search for zlib in PATH])
876 AC_HELP_STRING([--without-zlib],[disable use of zlib]),
877 [OPT_ZLIB="$withval"])
879 if test "$OPT_ZLIB" = "no" ; then
880 AC_MSG_WARN([zlib disabled])
882 if test "$OPT_ZLIB" = "yes" ; then
886 if test -z "$OPT_ZLIB" ; then
887 dnl check for the lib first without setting any new path, since many
888 dnl people have it in the default path
890 AC_CHECK_LIB(z, inflateEnd,
891 dnl libz found, set the variable
894 dnl if no lib found, try /usr/local
895 [OPT_ZLIB="/usr/local"])
899 dnl Add a nonempty path to the compiler flags
900 if test -n "$OPT_ZLIB"; then
901 CPPFLAGS="$CPPFLAGS -I$OPT_ZLIB/include"
902 LDFLAGS="$LDFLAGS -L$OPT_ZLIB/lib$libsuff"
905 AC_CHECK_HEADER(zlib.h,
909 dnl if the lib wasn't found already, try again with the new paths
910 if test "$HAVE_LIBZ" != "1"; then
911 AC_CHECK_LIB(z, gzread,
913 dnl the lib was found!
917 [ CPPFLAGS=$clean_CPPFLAGS
918 LDFLAGS=$clean_LDFLAGS])
922 dnl zlib.h was not found, restore the flags
923 CPPFLAGS=$clean_CPPFLAGS
924 LDFLAGS=$clean_LDFLAGS]
927 if test "$HAVE_LIBZ" = "1" && test "$HAVE_ZLIB_H" != "1"
929 AC_MSG_WARN([configure found only the libz lib, not the header file!])
931 CPPFLAGS=$clean_CPPFLAGS
932 LDFLAGS=$clean_LDFLAGS
934 elif test "$HAVE_LIBZ" != "1" && test "$HAVE_ZLIB_H" = "1"
936 AC_MSG_WARN([configure found only the libz header file, not the lib!])
937 CPPFLAGS=$clean_CPPFLAGS
938 LDFLAGS=$clean_LDFLAGS
940 elif test "$HAVE_LIBZ" = "1" && test "$HAVE_ZLIB_H" = "1"
942 dnl both header and lib were found!
944 AC_DEFINE(HAVE_ZLIB_H, 1, [if you have the zlib.h header file])
945 AC_DEFINE(HAVE_LIBZ, 1, [if zlib is available])
948 LIBS="-lz $clean_LIBS"
950 dnl replace 'HAVE_LIBZ' in the automake makefile.ams
952 AC_MSG_NOTICE([found both libz and libz.h header])
953 curl_zlib_msg="enabled"
957 dnl set variable for use in automakefile(s)
958 AM_CONDITIONAL(HAVE_LIBZ, test x"$AMFIXLIB" = x1)
961 dnl **********************************************************************
963 dnl **********************************************************************
966 AC_ARG_WITH(ldap-lib,
967 AC_HELP_STRING([--with-ldap-lib=libname],[Specify name of ldap lib file]),
968 [LDAPLIBNAME="$withval"])
971 AC_ARG_WITH(lber-lib,
972 AC_HELP_STRING([--with-lber-lib=libname],[Specify name of lber lib file]),
973 [LBERLIBNAME="$withval"])
975 if test x$CURL_DISABLE_LDAP != x1 ; then
977 CURL_CHECK_HEADER_LBER
978 CURL_CHECK_HEADER_LDAP
979 CURL_CHECK_HEADER_LDAPSSL
980 CURL_CHECK_HEADER_LDAP_SSL
982 if test -z "$LDAPLIBNAME" ; then
983 if test "$ac_cv_native_windows" = "yes"; then
984 dnl Windows uses a single and unique LDAP library name
985 LDAPLIBNAME="wldap32"
990 if test "$LDAPLIBNAME" ; then
991 AC_CHECK_LIB("$LDAPLIBNAME", ldap_init,, [
992 AC_MSG_WARN(["$LDAPLIBNAME" is not an LDAP library: LDAP disabled])
993 AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP])
994 AC_SUBST(CURL_DISABLE_LDAP, [1])
995 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
996 AC_SUBST(CURL_DISABLE_LDAPS, [1])])
998 dnl Try to find the right ldap libraries for this system
1000 case X-"$curl_cv_ldap_LIBS" in
1002 AC_MSG_WARN([Cannot find libraries for LDAP support: LDAP disabled])
1003 AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP])
1004 AC_SUBST(CURL_DISABLE_LDAP, [1])
1005 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
1006 AC_SUBST(CURL_DISABLE_LDAPS, [1])
1012 if test x$CURL_DISABLE_LDAP != x1 ; then
1014 if test "$LBERLIBNAME" ; then
1015 dnl If name is "no" then don't define this library at all
1016 dnl (it's only needed if libldap.so's dependencies are broken).
1017 if test "$LBERLIBNAME" != "no" ; then
1018 AC_CHECK_LIB("$LBERLIBNAME", ber_free,, [
1019 AC_MSG_WARN(["$LBERLIBNAME" is not an LBER library: LDAP disabled])
1020 AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP])
1021 AC_SUBST(CURL_DISABLE_LDAP, [1])
1022 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
1023 AC_SUBST(CURL_DISABLE_LDAPS, [1])])
1028 if test x$CURL_DISABLE_LDAP != x1 ; then
1029 AC_CHECK_FUNCS([ldap_url_parse ldap_init_fd])
1031 if test "$LDAPLIBNAME" = "wldap32"; then
1032 curl_ldap_msg="enabled (winldap)"
1033 AC_DEFINE(CURL_LDAP_WIN, 1, [Use Windows LDAP implementation])
1035 curl_ldap_msg="enabled (OpenLDAP)"
1036 if test "x$ac_cv_func_ldap_init_fd" = "xyes"; then
1037 AC_DEFINE(USE_OPENLDAP, 1, [Use OpenLDAP-specific code])
1038 AC_SUBST(USE_OPENLDAP, [1])
1043 if test x$CURL_DISABLE_LDAPS != x1 ; then
1044 curl_ldaps_msg="enabled"
1047 dnl **********************************************************************
1049 dnl **********************************************************************
1051 AC_MSG_CHECKING([whether to enable ipv6])
1053 AC_HELP_STRING([--enable-ipv6],[Enable ipv6 (with ipv4) support])
1054 AC_HELP_STRING([--disable-ipv6],[Disable ipv6 support]),
1055 [ case "$enableval" in
1060 *) AC_MSG_RESULT(yes)
1065 AC_TRY_RUN([ /* is AF_INET6 available? */
1066 #include <sys/types.h>
1067 #include <sys/socket.h>
1068 #include <stdlib.h> /* for exit() */
1071 if (socket(AF_INET6, SOCK_STREAM, 0) < 0)
1085 if test "$ipv6" = "yes"; then
1086 curl_ipv6_msg="enabled"
1089 # Check if struct sockaddr_in6 have sin6_scope_id member
1090 if test "$ipv6" = yes; then
1091 AC_MSG_CHECKING([if struct sockaddr_in6 has sin6_scope_id member])
1093 #include <sys/types.h>
1094 #include <netinet/in.h>] ,
1095 struct sockaddr_in6 s; s.sin6_scope_id = 0; , have_sin6_scope_id=yes)
1096 if test "$have_sin6_scope_id" = yes; then
1097 AC_MSG_RESULT([yes])
1098 AC_DEFINE(HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID, 1, [Define to 1 if struct sockaddr_in6 has the sin6_scope_id member])
1104 dnl **********************************************************************
1105 dnl Check if the operating system allows programs to write to their own argv[]
1106 dnl **********************************************************************
1108 AC_MSG_CHECKING([if argv can be written to])
1111 int main(int argc, char ** argv) {
1113 return (argv[0][0] == ' ')?0:1;
1117 curl_cv_writable_argv=yes
1119 curl_cv_writable_argv=no
1121 curl_cv_writable_argv=cross
1123 case $curl_cv_writable_argv in
1125 AC_DEFINE(HAVE_WRITABLE_ARGV, 1, [Define this symbol if your OS supports changing the contents of argv])
1133 AC_MSG_WARN([the previous check could not be made default was used])
1137 dnl **********************************************************************
1138 dnl Check for FBopenssl(SPNEGO) libraries
1139 dnl **********************************************************************
1142 AC_HELP_STRING([--with-spnego=DIR],
1143 [Specify location of SPNEGO library fbopenssl]), [
1144 SPNEGO_ROOT="$withval"
1145 if test x"$SPNEGO_ROOT" != xno; then
1150 AC_MSG_CHECKING([if SPNEGO support is requested])
1151 if test x"$want_spnego" = xyes; then
1153 if test X"$SPNEGO_ROOT" = Xyes; then
1154 AC_MSG_ERROR([FBOpenSSL libs and/or directories were not found where specified!])
1157 if test -z "$SPNEGO_LIB_DIR"; then
1158 LDFLAGS="$LDFLAGS -L$SPNEGO_ROOT -lfbopenssl"
1160 LDFLAGS="$LDFLAGS $SPNEGO_LIB_DIR"
1164 AC_DEFINE(HAVE_SPNEGO, 1,
1165 [Define this if you have the SPNEGO library fbopenssl])
1166 curl_spnego_msg="enabled"
1172 dnl **********************************************************************
1173 dnl Check for GSS-API libraries
1174 dnl **********************************************************************
1176 dnl check for GSS-API stuff in the /usr as default
1179 AC_ARG_WITH(gssapi-includes,
1180 AC_HELP_STRING([--with-gssapi-includes=DIR],
1181 [Specify location of GSS-API headers]),
1182 [ GSSAPI_INCS="-I$withval"
1186 AC_ARG_WITH(gssapi-libs,
1187 AC_HELP_STRING([--with-gssapi-libs=DIR],
1188 [Specify location of GSS-API libs]),
1189 [ GSSAPI_LIB_DIR="-L$withval"
1194 AC_HELP_STRING([--with-gssapi=DIR],
1195 [Where to look for GSS-API]), [
1196 GSSAPI_ROOT="$withval"
1197 if test x"$GSSAPI_ROOT" != xno; then
1199 if test x"$GSSAPI_ROOT" = xyes; then
1200 dnl if yes, then use default root
1206 save_CPPFLAGS="$CPPFLAGS"
1207 AC_MSG_CHECKING([if GSS-API support is requested])
1208 if test x"$want_gss" = xyes; then
1211 if test -z "$GSSAPI_INCS"; then
1212 if test -n "$host_alias" -a -f "$GSSAPI_ROOT/bin/$host_alias-krb5-config"; then
1213 GSSAPI_INCS=`$GSSAPI_ROOT/bin/$host_alias-krb5-config --cflags gssapi`
1214 elif test -f "$GSSAPI_ROOT/bin/krb5-config"; then
1215 GSSAPI_INCS=`$GSSAPI_ROOT/bin/krb5-config --cflags gssapi`
1216 elif test "$GSSAPI_ROOT" != "yes"; then
1217 GSSAPI_INCS="-I$GSSAPI_ROOT/include"
1221 CPPFLAGS="$CPPFLAGS $GSSAPI_INCS"
1223 AC_CHECK_HEADER(gss.h,
1225 dnl found in the given dirs
1226 AC_DEFINE(HAVE_GSSGNU, 1, [if you have GNU GSS])
1230 dnl not found, check Heimdal or MIT
1231 AC_CHECK_HEADERS([gssapi/gssapi.h], [], [not_mit=1])
1233 [gssapi/gssapi_generic.h gssapi/gssapi_krb5.h],
1238 #ifdef HAVE_GSSAPI_GSSAPI_H
1239 #include <gssapi/gssapi.h>
1242 if test "x$not_mit" = "x1"; then
1243 dnl MIT not found, check for Heimdal
1244 AC_CHECK_HEADER(gssapi.h,
1247 AC_DEFINE(HAVE_GSSHEIMDAL, 1, [if you have Heimdal])
1250 dnl no header found, disabling GSS
1252 AC_MSG_WARN(disabling GSS-API support since no header files were found)
1257 AC_DEFINE(HAVE_GSSMIT, 1, [if you have MIT Kerberos])
1258 dnl check if we have a really old MIT Kerberos version (<= 1.2)
1259 AC_MSG_CHECKING([if GSS-API headers declare GSS_C_NT_HOSTBASED_SERVICE])
1262 #include <gssapi/gssapi.h>
1263 #include <gssapi/gssapi_generic.h>
1264 #include <gssapi/gssapi_krb5.h>
1269 GSS_C_NT_HOSTBASED_SERVICE,
1273 AC_MSG_RESULT([yes])
1276 AC_DEFINE(HAVE_OLD_GSSMIT, 1,
1277 [if you have an old MIT Kerberos version, lacking GSS_C_NT_HOSTBASED_SERVICE])
1285 if test x"$want_gss" = xyes; then
1286 AC_DEFINE(HAVE_GSSAPI, 1, [if you have GSS-API libraries])
1288 curl_gss_msg="enabled (MIT Kerberos/Heimdal)"
1290 if test -n "$gnu_gss"; then
1291 curl_gss_msg="enabled (GNU GSS)"
1292 LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR"
1294 elif test -z "$GSSAPI_LIB_DIR"; then
1297 LIBS="-lgssapi_krb5 -lresolv $LIBS"
1300 if test "$GSSAPI_ROOT" != "yes"; then
1301 LDFLAGS="$LDFLAGS -L$GSSAPI_ROOT/lib$libsuff"
1306 if test -n "$host_alias" -a -f "$GSSAPI_ROOT/bin/$host_alias-krb5-config"; then
1307 dnl krb5-config doesn't have --libs-only-L or similar, put everything
1309 gss_libs=`$GSSAPI_ROOT/bin/$host_alias-krb5-config --libs gssapi`
1310 LIBS="$gss_libs $LIBS"
1311 elif test -f "$GSSAPI_ROOT/bin/krb5-config"; then
1312 dnl krb5-config doesn't have --libs-only-L or similar, put everything
1314 gss_libs=`$GSSAPI_ROOT/bin/krb5-config --libs gssapi`
1315 LIBS="$gss_libs $LIBS"
1316 elif test "$GSSAPI_ROOT" != "yes"; then
1317 LDFLAGS="$LDFLAGS -L$GSSAPI_ROOT/lib$libsuff"
1318 LIBS="-lgssapi $LIBS"
1320 LIBS="-lgssapi $LIBS"
1325 LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR"
1331 LIBS="-lgssapi $LIBS"
1336 CPPFLAGS="$save_CPPFLAGS"
1339 dnl -------------------------------------------------
1340 dnl check winssl option before other SSL libraries
1341 dnl -------------------------------------------------
1344 AC_ARG_WITH(winssl,dnl
1345 AC_HELP_STRING([--with-winssl],[enable Windows native SSL/TLS])
1346 AC_HELP_STRING([--without-winssl], [disable Windows native SSL/TLS]),
1347 OPT_WINSSL=$withval)
1349 AC_MSG_CHECKING([whether to enable Windows native SSL/TLS (Windows native builds only)])
1350 if test "$curl_ssl_msg" = "$init_ssl_msg"; then
1351 if test "x$OPT_WINSSL" != "xno" &&
1352 test "x$ac_cv_native_windows" = "xyes"; then
1354 AC_DEFINE(USE_SCHANNEL, 1, [to enable Windows native SSL/TLS support])
1355 AC_SUBST(USE_SCHANNEL, [1])
1356 curl_ssl_msg="enabled (Windows-native)"
1358 # --with-winssl implies --enable-sspi
1359 AC_DEFINE(USE_WINDOWS_SSPI, 1, [to enable SSPI support])
1360 AC_SUBST(USE_WINDOWS_SSPI, [1])
1361 curl_sspi_msg="enabled"
1370 AC_ARG_WITH(darwinssl,dnl
1371 AC_HELP_STRING([--with-darwinssl],[enable iOS/Mac OS X native SSL/TLS])
1372 AC_HELP_STRING([--without-darwinssl], [disable iOS/Mac OS X native SSL/TLS]),
1373 OPT_DARWINSSL=$withval)
1375 AC_MSG_CHECKING([whether to enable iOS/Mac OS X native SSL/TLS])
1376 if test "$curl_ssl_msg" = "$init_ssl_msg"; then
1377 if test "x$OPT_DARWINSSL" != "xno" &&
1378 test -d "/System/Library/Frameworks/Security.framework"; then
1380 AC_DEFINE(USE_DARWINSSL, 1, [to enable iOS/Mac OS X native SSL/TLS support])
1381 AC_SUBST(USE_DARWINSSL, [1])
1382 curl_ssl_msg="enabled (iOS/Mac OS X-native)"
1384 LDFLAGS="$LDFLAGS -framework CoreFoundation -framework Security"
1392 dnl **********************************************************************
1393 dnl Check for the presence of SSL libraries and headers
1394 dnl **********************************************************************
1396 dnl Default to compiler & linker defaults for SSL files & libraries.
1398 dnl Default to no CA bundle
1401 AC_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])
1402 AC_HELP_STRING([--without-ssl], [disable OpenSSL]),
1405 if test "$curl_ssl_msg" = "$init_ssl_msg" && test X"$OPT_SSL" != Xno; then
1406 dnl backup the pre-ssl variables
1407 CLEANLDFLAGS="$LDFLAGS"
1408 CLEANCPPFLAGS="$CPPFLAGS"
1413 dnl --with-ssl (without path) used
1414 if test x$cross_compiling != xyes; then
1415 dnl only do pkg-config magic when not cross-compiling
1418 PREFIX_OPENSSL=/usr/local/ssl
1419 LIB_OPENSSL="$PREFIX_OPENSSL/lib$libsuff"
1422 dnl no --with-ssl option given, just check default places
1423 if test x$cross_compiling != xyes; then
1424 dnl only do pkg-config magic when not cross-compiling
1430 dnl check the given --with-ssl spot
1432 PREFIX_OPENSSL=$OPT_SSL
1434 dnl Try pkg-config even when cross-compiling. Since we
1435 dnl specify PKG_CONFIG_LIBDIR we're only looking where
1436 dnl the user told us to look
1437 OPENSSL_PCDIR="$OPT_SSL/lib/pkgconfig"
1438 AC_MSG_NOTICE([PKG_CONFIG_LIBDIR will be set to "$OPENSSL_PCDIR"])
1439 if test -f "$OPENSSL_PCDIR/openssl.pc"; then
1443 dnl in case pkg-config comes up empty, use what we got
1445 LIB_OPENSSL="$PREFIX_OPENSSL/lib$libsuff"
1446 if test "$PREFIX_OPENSSL" != "/usr" ; then
1447 SSL_LDFLAGS="-L$LIB_OPENSSL"
1448 SSL_CPPFLAGS="-I$PREFIX_OPENSSL/include"
1450 SSL_CPPFLAGS="$SSL_CPPFLAGS -I$PREFIX_OPENSSL/include/openssl"
1454 if test "$PKGTEST" = "yes"; then
1456 CURL_CHECK_PKGCONFIG(openssl, [$OPENSSL_PCDIR])
1458 if test "$PKGCONFIG" != "no" ; then
1459 SSL_LIBS=`CURL_EXPORT_PCDIR([$OPENSSL_PCDIR]) dnl
1460 $PKGCONFIG --libs-only-l openssl 2>/dev/null`
1462 SSL_LDFLAGS=`CURL_EXPORT_PCDIR([$OPENSSL_PCDIR]) dnl
1463 $PKGCONFIG --libs-only-L openssl 2>/dev/null`
1465 SSL_CPPFLAGS=`CURL_EXPORT_PCDIR([$OPENSSL_PCDIR]) dnl
1466 $PKGCONFIG --cflags-only-I openssl 2>/dev/null`
1468 AC_MSG_NOTICE([pkg-config: SSL_LIBS: "$SSL_LIBS"])
1469 AC_MSG_NOTICE([pkg-config: SSL_LDFLAGS: "$SSL_LDFLAGS"])
1470 AC_MSG_NOTICE([pkg-config: SSL_CPPFLAGS: "$SSL_CPPFLAGS"])
1472 LIB_OPENSSL=`echo $SSL_LDFLAGS | sed -e 's/-L//g'`
1474 dnl use the values pkg-config reported. This is here
1475 dnl instead of below with CPPFLAGS and LDFLAGS because we only
1476 dnl learn about this via pkg-config. If we only have
1477 dnl the argument to --with-ssl we don't know what
1478 dnl additional libs may be necessary. Hope that we
1480 LIBS="$SSL_LIBS $LIBS"
1484 dnl finally, set flags to use SSL
1485 CPPFLAGS="$CPPFLAGS $SSL_CPPFLAGS"
1486 LDFLAGS="$LDFLAGS $SSL_LDFLAGS"
1488 dnl This is for Msys/Mingw
1490 *-*-msys* | *-*-mingw*)
1491 AC_MSG_CHECKING([for gdi32])
1492 my_ac_save_LIBS=$LIBS
1493 LIBS="-lgdi32 $LIBS"
1494 AC_TRY_LINK([#include <windef.h>
1495 #include <wingdi.h>],
1498 AC_MSG_RESULT([yes])],
1499 [ dnl failed, restore LIBS
1500 LIBS=$my_ac_save_LIBS
1506 AC_CHECK_LIB(crypto, CRYPTO_lock,[
1508 LIBS="-lcrypto $LIBS"
1510 LDFLAGS="$CLEANLDFLAGS -L$LIB_OPENSSL"
1511 CPPFLAGS="$CLEANCPPFLAGS -I$PREFIX_OPENSSL/include/openssl -I$PREFIX_OPENSSL/include"
1512 AC_CHECK_LIB(crypto, CRYPTO_add_lock,[
1514 LIBS="-lcrypto $LIBS"], [
1515 LDFLAGS="$CLEANLDFLAGS"
1516 CPPFLAGS="$CLEANCPPFLAGS"
1522 if test X"$HAVECRYPTO" = X"yes"; then
1523 dnl This is only reasonable to do if crypto actually is there: check for
1524 dnl SSL libs NOTE: it is important to do this AFTER the crypto lib
1526 AC_CHECK_LIB(ssl, SSL_connect)
1528 if test "$ac_cv_lib_ssl_SSL_connect" != yes; then
1529 dnl we didn't find the SSL lib, try the RSAglue/rsaref stuff
1530 AC_MSG_CHECKING(for ssl with RSAglue/rsaref libs in use);
1532 LIBS="-lRSAglue -lrsaref $LIBS"
1533 AC_CHECK_LIB(ssl, SSL_connect)
1534 if test "$ac_cv_lib_ssl_SSL_connect" != yes; then
1535 dnl still no SSL_connect
1544 dnl Have the libraries--check for SSLeay/OpenSSL headers
1545 AC_CHECK_HEADERS(openssl/x509.h openssl/rsa.h openssl/crypto.h \
1546 openssl/pem.h openssl/ssl.h openssl/err.h,
1547 curl_ssl_msg="enabled (OpenSSL)"
1549 AC_DEFINE(USE_OPENSSL, 1, [if OpenSSL is in use]))
1551 if test $ac_cv_header_openssl_x509_h = no; then
1552 dnl we don't use the "action" part of the AC_CHECK_HEADERS macro
1553 dnl since 'err.h' might in fact find a krb4 header with the same
1555 AC_CHECK_HEADERS(x509.h rsa.h crypto.h pem.h ssl.h err.h)
1557 if test $ac_cv_header_x509_h = yes &&
1558 test $ac_cv_header_crypto_h = yes &&
1559 test $ac_cv_header_ssl_h = yes; then
1561 curl_ssl_msg="enabled (OpenSSL)"
1567 if test X"$OPENSSL_ENABLED" = X"1"; then
1568 AC_DEFINE(USE_SSLEAY, 1, [if SSL is enabled])
1570 dnl is there a pkcs12.h header present?
1571 AC_CHECK_HEADERS(openssl/pkcs12.h)
1575 dnl USE_SSLEAY is the historical name for what configure calls
1576 dnl OPENSSL_ENABLED; the names should really be unified
1577 USE_SSLEAY="$OPENSSL_ENABLED"
1578 AC_SUBST(USE_SSLEAY)
1580 if test X"$OPT_SSL" != Xoff &&
1581 test "$OPENSSL_ENABLED" != "1"; then
1582 AC_MSG_ERROR([OpenSSL libs and/or directories were not found where specified!])
1586 if test X"$OPENSSL_ENABLED" = X"1"; then
1587 dnl If the ENGINE library seems to be around, check for the OpenSSL engine
1588 dnl stuff, it is kind of "separated" from the main SSL check
1589 AC_CHECK_FUNC(ENGINE_init,
1591 AC_CHECK_HEADERS(openssl/engine.h)
1592 AC_CHECK_FUNCS( ENGINE_load_builtin_engines )
1595 dnl these can only exist if openssl exists
1596 dnl yassl doesn't have SSL_get_shutdown
1598 AC_CHECK_FUNCS( RAND_status \
1602 CRYPTO_cleanup_all_ex_data \
1604 SSLv2_client_method \
1605 SSL_CTX_set_next_proto_select_cb \
1606 SSL_CTX_set_alpn_protos \
1607 SSL_CTX_set_alpn_select_cb )
1609 dnl Make an attempt to detect if this is actually yassl's headers and
1610 dnl OpenSSL emulation layer. We still leave everything else believing
1611 dnl and acting like OpenSSL.
1613 AC_MSG_CHECKING([for yaSSL using OpenSSL compatibility mode])
1616 #include <openssl/ssl.h>
1618 #if defined(YASSL_VERSION) && defined(OPENSSL_VERSION_NUMBER)
1619 int dummy = SSL_ERROR_NONE;
1621 Not the yaSSL OpenSSL compatibility header.
1625 AC_MSG_RESULT([yes])
1626 AC_DEFINE_UNQUOTED(USE_YASSLEMUL, 1,
1627 [Define to 1 if using yaSSL in OpenSSL compatibility mode.])
1628 curl_ssl_msg="enabled (OpenSSL emulation by yaSSL)"
1634 if test "$OPENSSL_ENABLED" = "1"; then
1635 if test -n "$LIB_OPENSSL"; then
1636 dnl when the ssl shared libs were found in a path that the run-time
1637 dnl linker doesn't search through, we need to add it to LD_LIBRARY_PATH
1638 dnl to prevent further configure tests to fail due to this
1639 if test "x$cross_compiling" != "xyes"; then
1640 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_OPENSSL"
1641 export LD_LIBRARY_PATH
1642 AC_MSG_NOTICE([Added $LIB_OPENSSL to LD_LIBRARY_PATH])
1645 CURL_CHECK_OPENSSL_API
1650 dnl **********************************************************************
1651 dnl Check for the random seed preferences
1652 dnl **********************************************************************
1654 if test X"$OPENSSL_ENABLED" = X"1"; then
1655 AC_ARG_WITH(egd-socket,
1656 AC_HELP_STRING([--with-egd-socket=FILE],
1657 [Entropy Gathering Daemon socket pathname]),
1658 [ EGD_SOCKET="$withval" ]
1660 if test -n "$EGD_SOCKET" ; then
1661 AC_DEFINE_UNQUOTED(EGD_SOCKET, "$EGD_SOCKET",
1662 [your Entropy Gathering Daemon socket pathname] )
1665 dnl Check for user-specified random device
1667 AC_HELP_STRING([--with-random=FILE],
1668 [read randomness from FILE (default=/dev/urandom)]),
1669 [ RANDOM_FILE="$withval" ],
1671 if test x$cross_compiling != xyes; then
1672 dnl Check for random device
1673 AC_CHECK_FILE("/dev/urandom", [ RANDOM_FILE="/dev/urandom"] )
1675 AC_MSG_WARN([skipped the /dev/urandom detection when cross-compiling])
1679 if test -n "$RANDOM_FILE" && test X"$RANDOM_FILE" != Xno ; then
1680 AC_SUBST(RANDOM_FILE)
1681 AC_DEFINE_UNQUOTED(RANDOM_FILE, "$RANDOM_FILE",
1682 [a suitable file to read random data from])
1687 dnl We require OpenSSL with SRP support.
1689 if test "$OPENSSL_ENABLED" = "1"; then
1690 AC_CHECK_LIB(crypto, SRP_Calc_client_key,
1692 AC_DEFINE(HAVE_SSLEAY_SRP, 1, [if you have the function SRP_Calc_client_key])
1693 AC_SUBST(HAVE_SSLEAY_SRP, [1])
1697 dnl ----------------------------------------------------
1698 dnl check for GnuTLS
1699 dnl ----------------------------------------------------
1701 dnl Default to compiler & linker defaults for GnuTLS files & libraries.
1704 AC_ARG_WITH(gnutls,dnl
1705 AC_HELP_STRING([--with-gnutls=PATH],[where to look for GnuTLS, PATH points to the installation root])
1706 AC_HELP_STRING([--without-gnutls], [disable GnuTLS detection]),
1707 OPT_GNUTLS=$withval)
1709 if test "$curl_ssl_msg" = "$init_ssl_msg"; then
1711 if test X"$OPT_GNUTLS" != Xno; then
1719 if test "x$OPT_GNUTLS" = "xyes"; then
1720 dnl this is with no partiular path given
1721 CURL_CHECK_PKGCONFIG(gnutls)
1723 if test "$PKGCONFIG" != "no" ; then
1724 addlib=`$PKGCONFIG --libs-only-l gnutls`
1725 addld=`$PKGCONFIG --libs-only-L gnutls`
1726 addcflags=`$PKGCONFIG --cflags-only-I gnutls`
1727 version=`$PKGCONFIG --modversion gnutls`
1728 gtlslib=`echo $addld | $SED -e 's/-L//'`
1730 dnl without pkg-config, we try libgnutls-config as that was how it
1732 check=`libgnutls-config --version 2>/dev/null`
1733 if test -n "$check"; then
1734 addlib=`libgnutls-config --libs`
1735 addcflags=`libgnutls-config --cflags`
1736 version=`libgnutls-config --version`
1737 gtlslib=`libgnutls-config --prefix`/lib$libsuff
1741 dnl this is with a given path, first check if there's a libgnutls-config
1742 dnl there and if not, make an educated guess
1743 cfg=$OPT_GNUTLS/bin/libgnutls-config
1744 check=`$cfg --version 2>/dev/null`
1745 if test -n "$check"; then
1746 addlib=`$cfg --libs`
1747 addcflags=`$cfg --cflags`
1748 version=`$cfg --version`
1749 gtlslib=`$cfg --prefix`/lib$libsuff
1751 dnl without pkg-config and libgnutls-config, we guess a lot!
1753 addld=-L$OPT_GNUTLS/lib$libsuff
1754 addcflags=-I$OPT_GNUTLS/include
1755 version="" # we just don't know
1756 gtlslib=$OPT_GNUTLS/lib$libsuff
1760 if test -z "$version"; then
1761 dnl lots of efforts, still no go
1765 if test -n "$addlib"; then
1768 CLEANCPPFLAGS="$CPPFLAGS"
1769 CLEANLDFLAGS="$LDFLAGS"
1771 LIBS="$addlib $LIBS"
1772 LDFLAGS="$LDFLAGS $addld"
1773 if test "$addcflags" != "-I/usr/include"; then
1774 CPPFLAGS="$CPPFLAGS $addcflags"
1777 AC_CHECK_LIB(gnutls, gnutls_check_version,
1779 AC_DEFINE(USE_GNUTLS, 1, [if GnuTLS is enabled])
1780 AC_SUBST(USE_GNUTLS, [1])
1783 curl_ssl_msg="enabled (GnuTLS)"
1787 CPPFLAGS="$CLEANCPPFLAGS"
1790 if test "x$USE_GNUTLS" = "xyes"; then
1791 AC_MSG_NOTICE([detected GnuTLS version $version])
1793 if test -n "$gtlslib"; then
1794 dnl when shared libs were found in a path that the run-time
1795 dnl linker doesn't search through, we need to add it to
1796 dnl LD_LIBRARY_PATH to prevent further configure tests to fail
1798 if test "x$cross_compiling" != "xyes"; then
1799 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$gtlslib"
1800 export LD_LIBRARY_PATH
1801 AC_MSG_NOTICE([Added $gtlslib to LD_LIBRARY_PATH])
1808 fi dnl GNUTLS not disabled
1813 dnl Check which crypto backend GnuTLS uses
1816 if test "$GNUTLS_ENABLED" = "1"; then
1818 # First check if we can detect either crypto library via transitive linking
1819 AC_CHECK_LIB(gnutls, nettle_MD5Init, [ USE_GNUTLS_NETTLE=1 ])
1820 if test "$USE_GNUTLS_NETTLE" = ""; then
1821 AC_CHECK_LIB(gnutls, gcry_control, [ USE_GNUTLS_NETTLE=0 ])
1823 # If not, try linking directly to both of them to see if they are available
1824 if test "$USE_GNUTLS_NETTLE" = ""; then
1825 AC_CHECK_LIB(nettle, nettle_MD5Init, [ USE_GNUTLS_NETTLE=1 ])
1827 if test "$USE_GNUTLS_NETTLE" = ""; then
1828 AC_CHECK_LIB(gcrypt, gcry_control, [ USE_GNUTLS_NETTLE=0 ])
1830 if test "$USE_GNUTLS_NETTLE" = ""; then
1831 AC_MSG_ERROR([GnuTLS found, but neither gcrypt nor nettle found])
1833 if test "$USE_GNUTLS_NETTLE" = "1"; then
1834 AC_DEFINE(USE_GNUTLS_NETTLE, 1, [if GnuTLS uses nettle as crypto backend])
1835 AC_SUBST(USE_GNUTLS_NETTLE, [1])
1836 LIBS="-lnettle $LIBS"
1838 LIBS="-lgcrypt $LIBS"
1843 dnl We require GnuTLS with SRP support.
1845 if test "$GNUTLS_ENABLED" = "1"; then
1846 AC_CHECK_LIB(gnutls, gnutls_srp_verifier,
1848 AC_DEFINE(HAVE_GNUTLS_SRP, 1, [if you have the function gnutls_srp_verifier])
1849 AC_SUBST(HAVE_GNUTLS_SRP, [1])
1853 dnl ----------------------------------------------------
1854 dnl check for PolarSSL
1855 dnl ----------------------------------------------------
1857 dnl Default to compiler & linker defaults for PolarSSL files & libraries.
1862 AC_ARG_WITH(polarssl,dnl
1863 AC_HELP_STRING([--with-polarssl=PATH],[where to look for PolarSSL, PATH points to the installation root])
1864 AC_HELP_STRING([--without-polarssl], [disable PolarSSL detection]),
1865 OPT_POLARSSL=$withval)
1867 if test "$curl_ssl_msg" = "$init_ssl_msg"; then
1869 if test X"$OPT_POLARSSL" != Xno; then
1871 if test "$OPT_POLARSSL" = "yes"; then
1875 if test -z "$OPT_POLARSSL" ; then
1876 dnl check for lib first without setting any new path
1878 AC_CHECK_LIB(polarssl, havege_init,
1879 dnl libpolarssl found, set the variable
1881 AC_DEFINE(USE_POLARSSL, 1, [if PolarSSL is enabled])
1882 AC_SUBST(USE_POLARSSL, [1])
1885 curl_ssl_msg="enabled (PolarSSL)"
1894 if test "x$USE_POLARSSL" != "xyes"; then
1895 dnl add the path and test again
1896 addld=-L$OPT_POLARSSL/lib$libsuff
1897 addcflags=-I$OPT_POLARSSL/include
1898 polarssllib=$OPT_POLARSSL/lib$libsuff
1900 LDFLAGS="$LDFLAGS $addld"
1901 if test "$addcflags" != "-I/usr/include"; then
1902 CPPFLAGS="$CPPFLAGS $addcflags"
1905 AC_CHECK_LIB(polarssl, ssl_init,
1907 AC_DEFINE(USE_POLARSSL, 1, [if PolarSSL is enabled])
1908 AC_SUBST(USE_POLARSSL, [1])
1911 curl_ssl_msg="enabled (PolarSSL)"
1919 if test "x$USE_POLARSSL" = "xyes"; then
1920 AC_MSG_NOTICE([detected PolarSSL])
1922 LIBS="-lpolarssl $LIBS"
1924 if test -n "$polarssllib"; then
1925 dnl when shared libs were found in a path that the run-time
1926 dnl linker doesn't search through, we need to add it to
1927 dnl LD_LIBRARY_PATH to prevent further configure tests to fail
1929 if test "x$cross_compiling" != "xyes"; then
1930 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$polarssllib"
1931 export LD_LIBRARY_PATH
1932 AC_MSG_NOTICE([Added $polarssllib to LD_LIBRARY_PATH])
1937 fi dnl PolarSSL not disabled
1941 dnl ----------------------------------------------------
1942 dnl check for CyaSSL
1943 dnl ----------------------------------------------------
1945 dnl Default to compiler & linker defaults for CyaSSL files & libraries.
1950 AC_ARG_WITH(cyassl,dnl
1951 AC_HELP_STRING([--with-cyassl=PATH],[where to look for CyaSSL, PATH points to the installation root (default: system lib default)])
1952 AC_HELP_STRING([--without-cyassl], [disable CyaSSL detection]),
1953 OPT_CYASSL=$withval)
1955 if test "$curl_ssl_msg" = "$init_ssl_msg"; then
1957 if test X"$OPT_CYASSL" != Xno; then
1959 if test "$OPT_CYASSL" = "yes"; then
1963 if test -z "$OPT_CYASSL" ; then
1964 dnl check for lib in system default first
1966 AC_CHECK_LIB(cyassl, CyaSSL_Init,
1967 dnl libcyassl found, set the variable
1969 AC_DEFINE(USE_CYASSL, 1, [if CyaSSL is enabled])
1970 AC_SUBST(USE_CYASSL, [1])
1973 curl_ssl_msg="enabled (CyaSSL)"
1982 if test "x$USE_CYASSL" != "xyes"; then
1983 dnl add the path and test again
1984 addld=-L$OPT_CYASSL/lib$libsuff
1985 addcflags=-I$OPT_CYASSL/include
1986 cyassllib=$OPT_CYASSL/lib$libsuff
1988 LDFLAGS="$LDFLAGS $addld"
1989 if test "$addcflags" != "-I/usr/include"; then
1990 CPPFLAGS="$CPPFLAGS $addcflags"
1993 AC_CHECK_LIB(cyassl, CyaSSL_Init,
1995 AC_DEFINE(USE_CYASSL, 1, [if CyaSSL is enabled])
1996 AC_SUBST(USE_CYASSL, [1])
1999 curl_ssl_msg="enabled (CyaSSL)"
2007 if test "x$USE_CYASSL" = "xyes"; then
2008 AC_MSG_NOTICE([detected CyaSSL])
2010 dnl cyassl/ctaocrypt/types.h needs SIZEOF_LONG_LONG defined!
2011 AC_CHECK_SIZEOF(long long)
2013 dnl Versions since at least 2.9.4 renamed error.h to error-ssl.h
2014 AC_CHECK_HEADERS(cyassl/error-ssl.h)
2016 LIBS="-lcyassl -lm $LIBS"
2018 if test -n "$cyassllib"; then
2019 dnl when shared libs were found in a path that the run-time
2020 dnl linker doesn't search through, we need to add it to
2021 dnl LD_LIBRARY_PATH to prevent further configure tests to fail
2023 if test "x$cross_compiling" != "xyes"; then
2024 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$cyassllib"
2025 export LD_LIBRARY_PATH
2026 AC_MSG_NOTICE([Added $cyassllib to LD_LIBRARY_PATH])
2032 fi dnl CyaSSL not disabled
2036 dnl ----------------------------------------------------
2037 dnl NSS. Only check if GnuTLS and OpenSSL are not enabled
2038 dnl ----------------------------------------------------
2040 dnl Default to compiler & linker defaults for NSS files & libraries.
2044 AC_HELP_STRING([--with-nss=PATH],[where to look for NSS, PATH points to the installation root])
2045 AC_HELP_STRING([--without-nss], [disable NSS detection]),
2048 if test "$curl_ssl_msg" = "$init_ssl_msg"; then
2050 if test X"$OPT_NSS" != Xno; then
2058 if test "x$OPT_NSS" = "xyes"; then
2060 CURL_CHECK_PKGCONFIG(nss)
2062 if test "$PKGCONFIG" != "no" ; then
2063 addlib=`$PKGCONFIG --libs nss`
2064 addcflags=`$PKGCONFIG --cflags nss`
2065 version=`$PKGCONFIG --modversion nss`
2066 nssprefix=`$PKGCONFIG --variable=prefix nss`
2068 dnl Without pkg-config, we check for nss-config
2070 check=`nss-config --version 2>/dev/null`
2071 if test -n "$check"; then
2072 addlib=`nss-config --libs`
2073 addcflags=`nss-config --cflags`
2074 version=`nss-config --version`
2075 nssprefix=`nss-config --prefix`
2083 # Without pkg-config, we'll kludge in some defaults
2084 addlib="-L$OPT_NSS/lib -lssl3 -lsmime3 -lnss3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl"
2085 addcflags="-I$OPT_NSS/include"
2090 if test -n "$addlib"; then
2093 CLEANCPPFLAGS="$CPPFLAGS"
2095 LIBS="$addlib $LIBS"
2096 if test "$addcflags" != "-I/usr/include"; then
2097 CPPFLAGS="$CPPFLAGS $addcflags"
2100 dnl The function SSL_VersionRangeSet() is needed to enable TLS > 1.0
2101 AC_CHECK_LIB(nss3, SSL_VersionRangeSet,
2103 AC_DEFINE(USE_NSS, 1, [if NSS is enabled])
2104 AC_SUBST(USE_NSS, [1])
2107 curl_ssl_msg="enabled (NSS)"
2111 CPPFLAGS="$CLEANCPPFLAGS"
2114 if test "x$USE_NSS" = "xyes"; then
2115 AC_MSG_NOTICE([detected NSS version $version])
2117 dnl when shared libs were found in a path that the run-time
2118 dnl linker doesn't search through, we need to add it to
2119 dnl LD_LIBRARY_PATH to prevent further configure tests to fail
2121 if test "x$cross_compiling" != "xyes"; then
2122 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$nssprefix/lib$libsuff"
2123 export LD_LIBRARY_PATH
2124 AC_MSG_NOTICE([Added $nssprefix/lib$libsuff to LD_LIBRARY_PATH])
2130 fi dnl NSS not disabled
2132 fi dnl curl_ssl_msg = init_ssl_msg
2136 AC_ARG_WITH(axtls,dnl
2137 AC_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.])
2138 AC_HELP_STRING([--without-axtls], [disable axTLS]),
2141 if test "$curl_ssl_msg" = "$init_ssl_msg"; then
2142 if test X"$OPT_AXTLS" != Xno; then
2143 dnl backup the pre-axtls variables
2144 CLEANLDFLAGS="$LDFLAGS"
2145 CLEANCPPFLAGS="$CPPFLAGS"
2148 case "$OPT_AXTLS" in
2150 dnl --with-axtls (without path) used
2151 PREFIX_AXTLS=/usr/local
2152 LIB_AXTLS="$PREFIX_AXTLS/lib"
2153 LDFLAGS="$LDFLAGS -L$LIB_AXTLS"
2154 CPPFLAGS="$CPPFLAGS -I$PREFIX_AXTLS/include"
2157 dnl no --with-axtls option given, just check default places
2161 dnl check the given --with-axtls spot
2162 PREFIX_AXTLS=$OPT_AXTLS
2163 LIB_AXTLS="$PREFIX_AXTLS/lib"
2164 LDFLAGS="$LDFLAGS -L$LIB_AXTLS"
2165 CPPFLAGS="$CPPFLAGS -I$PREFIX_AXTLS/include"
2169 AC_CHECK_LIB(axtls, ssl_version,[
2170 LIBS="-laxtls $LIBS"
2171 AC_DEFINE(USE_AXTLS, 1, [if axTLS is enabled])
2172 AC_SUBST(USE_AXTLS, [1])
2175 curl_ssl_msg="enabled (axTLS)"
2177 if test "x$cross_compiling" != "xyes"; then
2178 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_AXTLS"
2179 export LD_LIBRARY_PATH
2180 AC_MSG_NOTICE([Added $LIB_AXTLS to LD_LIBRARY_PATH])
2183 LDFLAGS="$CLEANLDFLAGS"
2184 CPPFLAGS="$CLEANCPPFLAGS"
2190 if test "x$OPENSSL_ENABLED$GNUTLS_ENABLED$NSS_ENABLED$POLARSSL_ENABLED$AXTLS_ENABLED$CYASSL_ENABLED$WINSSL_ENABLED$DARWINSSL_ENABLED" = "x"; then
2191 AC_MSG_WARN([SSL disabled, you will not be able to use HTTPS, FTPS, NTLM and more.])
2192 AC_MSG_WARN([Use --with-ssl, --with-gnutls, --with-polarssl, --with-cyassl, --with-nss, --with-axtls, --with-winssl, or --with-darwinssl to address this.])
2194 # SSL is enabled, genericly
2195 AC_SUBST(SSL_ENABLED)
2199 dnl **********************************************************************
2200 dnl Check for the CA bundle
2201 dnl **********************************************************************
2203 CURL_CHECK_CA_BUNDLE
2205 dnl **********************************************************************
2206 dnl Check for libmetalink
2207 dnl **********************************************************************
2211 AC_ARG_WITH(libmetalink,dnl
2212 AC_HELP_STRING([--with-libmetalink=PATH],[where to look for libmetalink, PATH points to the installation root])
2213 AC_HELP_STRING([--without-libmetalink], [disable libmetalink detection]),
2214 OPT_LIBMETALINK=$withval)
2216 if test X"$OPT_LIBMETALINK" != Xno; then
2225 if test "x$OPT_LIBMETALINK" = "xyes"; then
2226 dnl this is with no partiular path given
2228 CURL_CHECK_PKGCONFIG(libmetalink)
2230 dnl When particular path is given, set PKG_CONFIG_LIBDIR using the path.
2231 LIBMETALINK_PCDIR="$OPT_LIBMETALINK/lib/pkgconfig"
2232 AC_MSG_NOTICE([PKG_CONFIG_LIBDIR will be set to "$LIBMETALINK_PCDIR"])
2233 if test -f "$LIBMETALINK_PCDIR/libmetalink.pc"; then
2236 if test "$PKGTEST" = "yes"; then
2237 CURL_CHECK_PKGCONFIG(libmetalink, [$LIBMETALINK_PCDIR])
2240 if test "$PKGTEST" = "yes" && test "$PKGCONFIG" != "no"; then
2241 addlib=`CURL_EXPORT_PCDIR([$LIBMETALINK_PCDIR]) dnl
2242 $PKGCONFIG --libs-only-l libmetalink`
2243 addld=`CURL_EXPORT_PCDIR([$LIBMETALINK_PCDIR]) dnl
2244 $PKGCONFIG --libs-only-L libmetalink`
2245 addcflags=`CURL_EXPORT_PCDIR([$LIBMETALINK_PCDIR]) dnl
2246 $PKGCONFIG --cflags-only-I libmetalink`
2247 version=`CURL_EXPORT_PCDIR([$LIBMETALINK_PCDIR]) dnl
2248 $PKGCONFIG --modversion libmetalink`
2249 libmetalinklib=`echo $addld | $SED -e 's/-L//'`
2251 if test -n "$addlib"; then
2253 clean_CPPFLAGS="$CPPFLAGS"
2254 clean_LDFLAGS="$LDFLAGS"
2256 CPPFLAGS="$addcflags $clean_CPPFLAGS"
2257 LDFLAGS="$addld $clean_LDFLAGS"
2258 LIBS="$addlib $clean_LIBS"
2259 AC_MSG_CHECKING([if libmetalink is recent enough])
2262 # include <metalink/metalink.h>
2264 if(0 != metalink_strerror(0)) /* added in 0.1.0 */
2268 AC_MSG_RESULT([yes ($version)])
2271 AC_MSG_RESULT([no ($version)])
2272 AC_MSG_NOTICE([libmetalink library defective or too old])
2275 CPPFLAGS="$clean_CPPFLAGS"
2276 LDFLAGS="$clean_LDFLAGS"
2278 if test "$want_metalink" = "yes"; then
2279 dnl finally libmetalink will be used
2280 AC_DEFINE(USE_METALINK, 1, [Define to enable metalink support])
2281 LIBMETALINK_LIBS=$addlib
2282 LIBMETALINK_LDFLAGS=$addld
2283 LIBMETALINK_CPPFLAGS=$addcflags
2284 AC_SUBST([LIBMETALINK_LIBS])
2285 AC_SUBST([LIBMETALINK_LDFLAGS])
2286 AC_SUBST([LIBMETALINK_CPPFLAGS])
2287 curl_mtlnk_msg="enabled"
2293 dnl **********************************************************************
2294 dnl Check for the presence of LIBSSH2 libraries and headers
2295 dnl **********************************************************************
2297 dnl Default to compiler & linker defaults for LIBSSH2 files & libraries.
2299 AC_ARG_WITH(libssh2,dnl
2300 AC_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])
2301 AC_HELP_STRING([--without-libssh2], [disable LIBSSH2]),
2302 OPT_LIBSSH2=$withval)
2304 if test X"$OPT_LIBSSH2" != Xno; then
2305 dnl backup the pre-libssh2 variables
2306 CLEANLDFLAGS="$LDFLAGS"
2307 CLEANCPPFLAGS="$CPPFLAGS"
2310 case "$OPT_LIBSSH2" in
2312 dnl --with-libssh2 (without path) used
2313 CURL_CHECK_PKGCONFIG(libssh2)
2315 if test "$PKGCONFIG" != "no" ; then
2316 LIB_SSH2=`$PKGCONFIG --libs-only-l libssh2`
2317 LD_SSH2=`$PKGCONFIG --libs-only-L libssh2`
2318 CPP_SSH2=`$PKGCONFIG --cflags-only-I libssh2`
2319 version=`$PKGCONFIG --modversion libssh2`
2320 DIR_SSH2=`echo $LD_SSH2 | $SED -e 's/-L//'`
2325 dnl no --with-libssh2 option given, just check default places
2328 dnl use the given --with-libssh2 spot
2329 PREFIX_SSH2=$OPT_LIBSSH2
2333 dnl if given with a prefix, we set -L and -I based on that
2334 if test -n "$PREFIX_SSH2"; then
2336 LD_SSH2=-L${PREFIX_SSH2}/lib$libsuff
2337 CPP_SSH2=-I${PREFIX_SSH2}/include
2338 DIR_SSH2=${PREFIX_SSH2}/lib$libsuff
2341 LDFLAGS="$LDFLAGS $LD_SSH2"
2342 CPPFLAGS="$CPPFLAGS $CPP_SSH2"
2343 LIBS="$LIB_SSH2 $LIBS"
2345 AC_CHECK_LIB(ssh2, libssh2_channel_open_ex)
2347 AC_CHECK_HEADERS(libssh2.h,
2348 curl_ssh_msg="enabled (libSSH2)"
2350 AC_DEFINE(USE_LIBSSH2, 1, [if libSSH2 is in use])
2351 AC_SUBST(USE_LIBSSH2, [1])
2354 if test X"$OPT_LIBSSH2" != Xoff &&
2355 test "$LIBSSH2_ENABLED" != "1"; then
2356 AC_MSG_ERROR([libSSH2 libs and/or directories were not found where specified!])
2359 if test "$LIBSSH2_ENABLED" = "1"; then
2360 if test -n "$DIR_SSH2"; then
2361 dnl when the libssh2 shared libs were found in a path that the run-time
2362 dnl linker doesn't search through, we need to add it to LD_LIBRARY_PATH
2363 dnl to prevent further configure tests to fail due to this
2365 dnl libssh2_version is a post 1.0 addition
2366 dnl libssh2_init and libssh2_exit were added in 1.2.5
2367 dnl libssh2_scp_send64 was added in 1.2.6
2368 dnl libssh2_session_handshake was added in 1.2.8
2369 AC_CHECK_FUNCS( libssh2_version libssh2_init libssh2_exit \
2370 libssh2_scp_send64 libssh2_session_handshake)
2371 if test "x$cross_compiling" != "xyes"; then
2372 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DIR_SSH2"
2373 export LD_LIBRARY_PATH
2374 AC_MSG_NOTICE([Added $DIR_SSH2 to LD_LIBRARY_PATH])
2378 dnl no libssh2, revert back to clean variables
2379 LDFLAGS=$CLEANLDFLAGS
2380 CPPFLAGS=$CLEANCPPFLAGS
2385 dnl **********************************************************************
2386 dnl Check for the presence of LIBRTMP libraries and headers
2387 dnl **********************************************************************
2389 dnl Default to compiler & linker defaults for LIBRTMP files & libraries.
2391 AC_ARG_WITH(librtmp,dnl
2392 AC_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])
2393 AC_HELP_STRING([--without-librtmp], [disable LIBRTMP]),
2394 OPT_LIBRTMP=$withval)
2396 if test X"$OPT_LIBRTMP" != Xno; then
2397 dnl backup the pre-librtmp variables
2398 CLEANLDFLAGS="$LDFLAGS"
2399 CLEANCPPFLAGS="$CPPFLAGS"
2402 case "$OPT_LIBRTMP" in
2404 dnl --with-librtmp (without path) used
2405 CURL_CHECK_PKGCONFIG(librtmp)
2407 if test "$PKGCONFIG" != "no" ; then
2408 LIB_RTMP=`$PKGCONFIG --libs-only-l librtmp`
2409 LD_RTMP=`$PKGCONFIG --libs-only-L librtmp`
2410 CPP_RTMP=`$PKGCONFIG --cflags-only-I librtmp`
2411 version=`$PKGCONFIG --modversion librtmp`
2412 DIR_RTMP=`echo $LD_RTMP | $SED -e 's/-L//'`
2414 dnl To avoid link errors, we do not allow --librtmp without
2415 dnl a pkgconfig file
2416 AC_MSG_ERROR([--librtmp was specified but could not find librtmp pkgconfig file.])
2421 dnl no --with-librtmp option given, just check default places
2425 dnl use the given --with-librtmp spot
2426 PREFIX_RTMP=$OPT_LIBRTMP
2430 dnl if given with a prefix, we set -L and -I based on that
2431 if test -n "$PREFIX_RTMP"; then
2432 LD_RTMP=-L${PREFIX_RTMP}/lib$libsuff
2433 CPP_RTMP=-I${PREFIX_RTMP}/include
2434 DIR_RTMP=${PREFIX_RTMP}/lib$libsuff
2437 LDFLAGS="$LDFLAGS $LD_RTMP"
2438 CPPFLAGS="$CPPFLAGS $CPP_RTMP"
2439 LIBS="$LIB_RTMP $LIBS"
2441 AC_CHECK_LIB(rtmp, RTMP_Init,
2443 AC_CHECK_HEADERS(librtmp/rtmp.h,
2444 curl_rtmp_msg="enabled (librtmp)"
2446 AC_DEFINE(USE_LIBRTMP, 1, [if librtmp is in use])
2447 AC_SUBST(USE_LIBRTMP, [1])
2450 dnl not found, revert back to clean variables
2451 LDFLAGS=$CLEANLDFLAGS
2452 CPPFLAGS=$CLEANCPPFLAGS
2456 if test X"$OPT_LIBRTMP" != Xoff &&
2457 test "$LIBRTMP_ENABLED" != "1"; then
2458 AC_MSG_ERROR([librtmp libs and/or directories were not found where specified!])
2463 dnl **********************************************************************
2464 dnl Check for linker switch for versioned symbols
2465 dnl **********************************************************************
2467 versioned_symbols_flavour=
2468 AC_MSG_CHECKING([whether versioned symbols are wanted])
2469 AC_ARG_ENABLE(versioned-symbols,
2470 AC_HELP_STRING([--enable-versioned-symbols], [Enable versioned symbols in shared library])
2471 AC_HELP_STRING([--disable-versioned-symbols], [Disable versioned symbols in shared library]),
2472 [ case "$enableval" in
2473 yes) AC_MSG_RESULT(yes)
2474 AC_MSG_CHECKING([if libraries can be versioned])
2475 GLD=`$LD --help < /dev/null 2>/dev/null | grep version-script`
2476 if test -z "$GLD"; then
2478 AC_MSG_WARN([You need an ld version supporting the --version-script option])
2481 if test "x$OPENSSL_ENABLED" = "x1"; then
2482 versioned_symbols_flavour="OPENSSL_"
2483 elif test "x$GNUTLS_ENABLED" = "x1"; then
2484 versioned_symbols_flavour="GNUTLS_"
2485 elif test "x$NSS_ENABLED" = "x1"; then
2486 versioned_symbols_flavour="NSS_"
2487 elif test "x$POLARSSL_ENABLED" = "x1"; then
2488 versioned_symbols_flavour="POLARSSL_"
2489 elif test "x$CYASSL_ENABLED" = "x1"; then
2490 versioned_symbols_flavour="CYASSL_"
2491 elif test "x$AXTLS_ENABLED" = "x1"; then
2492 versioned_symbols_flavour="AXTLS_"
2493 elif test "x$WINSSL_ENABLED" = "x1"; then
2494 versioned_symbols_flavour="WINSSL_"
2495 elif test "x$DARWINSSL_ENABLED" = "x1"; then
2496 versioned_symbols_flavour="DARWINSSL_"
2498 versioned_symbols_flavour=""
2500 versioned_symbols="yes"
2504 *) AC_MSG_RESULT(no)
2512 AC_SUBST([CURL_LT_SHLIB_VERSIONED_FLAVOUR],
2513 ["$versioned_symbols_flavour"])
2514 AM_CONDITIONAL([CURL_LT_SHLIB_USE_VERSIONED_SYMBOLS],
2515 [test "x$versioned_symbols" = 'xyes'])
2517 dnl -------------------------------------------------
2518 dnl check winidn option before other IDN libraries
2519 dnl -------------------------------------------------
2521 AC_MSG_CHECKING([whether to enable Windows native IDN (Windows native builds only)])
2522 OPT_WINIDN="default"
2524 AC_HELP_STRING([--with-winidn=PATH],[enable Windows native IDN])
2525 AC_HELP_STRING([--without-winidn], [disable Windows native IDN]),
2526 OPT_WINIDN=$withval)
2527 case "$OPT_WINIDN" in
2529 dnl --without-winidn option used or configure option not specified
2534 dnl --with-winidn option used without path
2536 want_winidn_path="default"
2537 AC_MSG_RESULT([yes])
2540 dnl --with-winidn option used with path
2542 want_winidn_path="$withval"
2543 AC_MSG_RESULT([yes ($withval)])
2547 if test "$want_winidn" = "yes"; then
2548 dnl winidn library support has been requested
2549 clean_CPPFLAGS="$CPPFLAGS"
2550 clean_LDFLAGS="$LDFLAGS"
2552 WINIDN_LIBS="-lnormaliz"
2554 if test "$want_winidn_path" != "default"; then
2555 dnl path has been specified
2556 dnl pkg-config not available or provides no info
2557 WINIDN_LDFLAGS="-L$want_winidn_path/lib$libsuff"
2558 WINIDN_CPPFLAGS="-I$want_winidn_path/include"
2559 WINIDN_DIR="$want_winidn_path/lib$libsuff"
2562 CPPFLAGS="$WINIDN_CPPFLAGS $CPPFLAGS"
2563 LDFLAGS="$WINIDN_LDFLAGS $LDFLAGS"
2564 LIBS="$WINIDN_LIBS $LIBS"
2566 AC_MSG_CHECKING([if IdnToUnicode can be linked])
2568 AC_LANG_FUNC_LINK_TRY([IdnToUnicode])
2570 AC_MSG_RESULT([yes])
2571 tst_links_winidn="yes"
2574 tst_links_winidn="no"
2577 if test "$tst_links_winidn" = "yes"; then
2578 AC_DEFINE(USE_WIN32_IDN, 1, [Define to 1 if you have the `normaliz' (WinIDN) library (-lnormaliz).])
2579 AC_DEFINE(WANT_IDN_PROTOTYPES, 1, [Define to 1 to provide own prototypes.])
2580 AC_SUBST([IDN_ENABLED], [1])
2581 curl_idn_msg="enabled (Windows-native)"
2583 AC_MSG_WARN([Cannot find libraries for IDN support: IDN disabled])
2584 CPPFLAGS="$clean_CPPFLAGS"
2585 LDFLAGS="$clean_LDFLAGS"
2590 dnl **********************************************************************
2591 dnl Check for the presence of IDN libraries and headers
2592 dnl **********************************************************************
2594 AC_MSG_CHECKING([whether to build with libidn])
2597 AC_HELP_STRING([--with-libidn=PATH],[Enable libidn usage])
2598 AC_HELP_STRING([--without-libidn],[Disable libidn usage]),
2602 dnl --without-libidn option used
2607 dnl configure option not specified
2609 want_idn_path="default"
2610 AC_MSG_RESULT([(assumed) yes])
2613 dnl --with-libidn option used without path
2615 want_idn_path="default"
2616 AC_MSG_RESULT([yes])
2619 dnl --with-libidn option used with path
2621 want_idn_path="$withval"
2622 AC_MSG_RESULT([yes ($withval)])
2626 if test "$want_idn" = "yes"; then
2627 dnl idn library support has been requested
2628 clean_CPPFLAGS="$CPPFLAGS"
2629 clean_LDFLAGS="$LDFLAGS"
2633 if test "$want_idn_path" != "default"; then
2634 dnl path has been specified
2635 IDN_PCDIR="$want_idn_path/lib$libsuff/pkgconfig"
2636 CURL_CHECK_PKGCONFIG(libidn, [$IDN_PCDIR])
2637 if test "$PKGCONFIG" != "no"; then
2638 IDN_LIBS=`CURL_EXPORT_PCDIR([$IDN_PCDIR]) dnl
2639 $PKGCONFIG --libs-only-l libidn 2>/dev/null`
2640 IDN_LDFLAGS=`CURL_EXPORT_PCDIR([$IDN_PCDIR]) dnl
2641 $PKGCONFIG --libs-only-L libidn 2>/dev/null`
2642 IDN_CPPFLAGS=`CURL_EXPORT_PCDIR([$IDN_PCDIR]) dnl
2643 $PKGCONFIG --cflags-only-I libidn 2>/dev/null`
2644 IDN_DIR=`echo $IDN_LDFLAGS | $SED -e 's/-L//'`
2646 dnl pkg-config not available or provides no info
2648 IDN_LDFLAGS="-L$want_idn_path/lib$libsuff"
2649 IDN_CPPFLAGS="-I$want_idn_path/include"
2650 IDN_DIR="$want_idn_path/lib$libsuff"
2653 dnl path not specified
2654 CURL_CHECK_PKGCONFIG(libidn)
2655 if test "$PKGCONFIG" != "no"; then
2656 IDN_LIBS=`$PKGCONFIG --libs-only-l libidn 2>/dev/null`
2657 IDN_LDFLAGS=`$PKGCONFIG --libs-only-L libidn 2>/dev/null`
2658 IDN_CPPFLAGS=`$PKGCONFIG --cflags-only-I libidn 2>/dev/null`
2659 IDN_DIR=`echo $IDN_LDFLAGS | $SED -e 's/-L//'`
2661 dnl pkg-config not available or provides no info
2666 if test "$PKGCONFIG" != "no"; then
2667 AC_MSG_NOTICE([pkg-config: IDN_LIBS: "$IDN_LIBS"])
2668 AC_MSG_NOTICE([pkg-config: IDN_LDFLAGS: "$IDN_LDFLAGS"])
2669 AC_MSG_NOTICE([pkg-config: IDN_CPPFLAGS: "$IDN_CPPFLAGS"])
2670 AC_MSG_NOTICE([pkg-config: IDN_DIR: "$IDN_DIR"])
2672 AC_MSG_NOTICE([IDN_LIBS: "$IDN_LIBS"])
2673 AC_MSG_NOTICE([IDN_LDFLAGS: "$IDN_LDFLAGS"])
2674 AC_MSG_NOTICE([IDN_CPPFLAGS: "$IDN_CPPFLAGS"])
2675 AC_MSG_NOTICE([IDN_DIR: "$IDN_DIR"])
2678 CPPFLAGS="$IDN_CPPFLAGS $CPPFLAGS"
2679 LDFLAGS="$IDN_LDFLAGS $LDFLAGS"
2680 LIBS="$IDN_LIBS $LIBS"
2682 AC_MSG_CHECKING([if idna_to_ascii_4i can be linked])
2684 AC_LANG_FUNC_LINK_TRY([idna_to_ascii_4i])
2686 AC_MSG_RESULT([yes])
2687 tst_links_libidn="yes"
2690 tst_links_libidn="no"
2692 if test "$tst_links_libidn" = "no"; then
2693 AC_MSG_CHECKING([if idna_to_ascii_lz can be linked])
2695 AC_LANG_FUNC_LINK_TRY([idna_to_ascii_lz])
2697 AC_MSG_RESULT([yes])
2698 tst_links_libidn="yes"
2701 tst_links_libidn="no"
2705 if test "$tst_links_libidn" = "yes"; then
2706 AC_DEFINE(HAVE_LIBIDN, 1, [Define to 1 if you have the `idn' library (-lidn).])
2707 dnl different versions of libidn have different setups of these:
2708 AC_CHECK_FUNCS( idn_free idna_strerror tld_strerror )
2709 AC_CHECK_HEADERS( idn-free.h tld.h )
2710 if test "x$ac_cv_header_tld_h" = "xyes"; then
2711 AC_SUBST([IDN_ENABLED], [1])
2712 curl_idn_msg="enabled"
2713 if test -n "$IDN_DIR" -a "x$cross_compiling" != "xyes"; then
2714 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$IDN_DIR"
2715 export LD_LIBRARY_PATH
2716 AC_MSG_NOTICE([Added $IDN_DIR to LD_LIBRARY_PATH])
2719 AC_MSG_WARN([Libraries for IDN support too old: IDN disabled])
2720 CPPFLAGS="$clean_CPPFLAGS"
2721 LDFLAGS="$clean_LDFLAGS"
2725 AC_MSG_WARN([Cannot find libraries for IDN support: IDN disabled])
2726 CPPFLAGS="$clean_CPPFLAGS"
2727 LDFLAGS="$clean_LDFLAGS"
2733 dnl Let's hope this split URL remains working:
2734 dnl http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixprggd/ \
2735 dnl genprogc/thread_quick_ref.htm
2738 dnl **********************************************************************
2739 dnl Check for nghttp2
2740 dnl **********************************************************************
2743 AC_ARG_WITH(nghttp2,
2744 AC_HELP_STRING([--with-nghttp2=PATH],[Enable nghttp2 usage])
2745 AC_HELP_STRING([--without-nghttp2],[Disable nghttp2 usage]),
2749 dnl --without-nghttp2 option used
2753 dnl --with-nghttp2 option used without path
2758 dnl --with-nghttp2 option used with path
2760 want_h2_path="$withval/lib/pkgconfig"
2764 curl_h2_msg="disabled (--with-nghttp2)"
2765 if test X"$want_h2" != Xno; then
2766 dnl backup the pre-nghttp2 variables
2767 CLEANLDFLAGS="$LDFLAGS"
2768 CLEANCPPFLAGS="$CPPFLAGS"
2771 CURL_CHECK_PKGCONFIG(libnghttp2, $want_h2_path)
2773 if test "$PKGCONFIG" != "no" ; then
2774 LIB_H2=`CURL_EXPORT_PCDIR([$want_h2_path])
2775 $PKGCONFIG --libs-only-l libnghttp2`
2776 AC_MSG_NOTICE([-l is $LIB_H2])
2778 CPP_H2=`CURL_EXPORT_PCDIR([$want_h2_path]) dnl
2779 $PKGCONFIG --cflags-only-I libnghttp2`
2780 AC_MSG_NOTICE([-I is $CPP_H2])
2782 LD_H2=`CURL_EXPORT_PCDIR([$want_h2_path])
2783 $PKGCONFIG --libs-only-L libnghttp2`
2784 AC_MSG_NOTICE([-L is $LD_H2])
2786 LDFLAGS="$LDFLAGS $LD_H2"
2787 CPPFLAGS="$CPPFLAGS $CPP_H2"
2788 LIBS="$LIB_H2 $LIBS"
2790 AC_CHECK_LIB(nghttp2, nghttp2_session_client_new,
2792 AC_CHECK_HEADERS(nghttp2/nghttp2.h,
2793 curl_h2_msg="enabled (nghttp2)"
2795 AC_DEFINE(USE_NGHTTP2, 1, [if nghttp2 is in use])
2796 AC_SUBST(USE_NGHTTP2, [1])
2799 dnl not found, revert back to clean variables
2800 LDFLAGS=$CLEANLDFLAGS
2801 CPPFLAGS=$CLEANCPPFLAGS
2806 dnl no nghttp2 pkg-config found, deal with it
2807 if test X"$want_h2" != Xdefault; then
2808 dnl To avoid link errors, we do not allow --with-nghttp2 without
2809 dnl a pkgconfig file
2810 AC_MSG_ERROR([--with-nghttp2 was specified but could not find libnghttp2 pkg-config file.])
2816 dnl **********************************************************************
2817 dnl Back to "normal" configuring
2818 dnl **********************************************************************
2820 dnl Checks for header files.
2823 CURL_CHECK_HEADER_MALLOC
2824 CURL_CHECK_HEADER_MEMORY
2826 dnl Now check for the very most basic headers. Then we can use these
2827 dnl ones as default-headers when checking for the rest!
2870 dnl to do if not found
2874 dnl default includes
2876 #ifdef HAVE_SYS_TYPES_H
2877 #include <sys/types.h>
2879 #ifdef HAVE_SYS_TIME_H
2880 #include <sys/time.h>
2882 #ifdef HAVE_SYS_SELECT_H
2883 #include <sys/select.h>
2885 #ifdef HAVE_SYS_SOCKET_H
2886 #include <sys/socket.h>
2888 #ifdef HAVE_NETINET_IN_H
2889 #include <netinet/in.h>
2891 #ifdef HAVE_SYS_UN_H
2897 dnl Checks for typedefs, structures, and compiler characteristics.
2899 CURL_CHECK_VARIADIC_MACROS
2902 CURL_CHECK_STRUCT_TIMEVAL
2903 CURL_VERIFY_RUNTIMELIBS
2905 AC_CHECK_SIZEOF(size_t)
2906 AC_CHECK_SIZEOF(long)
2907 AC_CHECK_SIZEOF(int)
2908 AC_CHECK_SIZEOF(short)
2910 AC_CHECK_SIZEOF(time_t)
2911 AC_CHECK_SIZEOF(off_t)
2914 if test x"$ac_cv_native_windows" != "xyes" &&
2915 test $ac_cv_sizeof_off_t -ne $curl_sizeof_curl_off_t; then
2916 AC_MSG_WARN([This libcurl built is probably not ABI compatible with previous])
2917 AC_MSG_WARN([builds! You MUST read lib/README.curl_off_t to figure it out.])
2922 AC_CHECK_TYPE(long long,
2923 [AC_DEFINE(HAVE_LONGLONG, 1,
2924 [Define to 1 if the compiler supports the 'long long' data type.])]
2928 if test "xyes" = "x$longlong"; then
2929 AC_MSG_CHECKING([if numberLL works])
2933 long long val = 1000LL;
2936 AC_MSG_RESULT([yes])
2937 AC_DEFINE(HAVE_LL, 1, [if your compiler supports LL])
2945 AC_CHECK_TYPE(ssize_t, ,
2946 AC_DEFINE(ssize_t, int, [the signed version of size_t]))
2948 # check for bool type
2949 AC_CHECK_TYPE([bool],[
2950 AC_DEFINE(HAVE_BOOL_T, 1,
2951 [Define to 1 if bool is an available type.])
2953 #ifdef HAVE_SYS_TYPES_H
2954 #include <sys/types.h>
2956 #ifdef HAVE_STDBOOL_H
2957 #include <stdbool.h>
2961 CURL_CONFIGURE_CURL_SOCKLEN_T
2963 CURL_CONFIGURE_PULL_SYS_POLL
2967 TYPE_SOCKADDR_STORAGE
2973 CURL_CHECK_FUNC_SELECT
2975 CURL_CHECK_FUNC_RECV
2976 CURL_CHECK_FUNC_SEND
2977 CURL_CHECK_MSG_NOSIGNAL
2979 CURL_CHECK_FUNC_ALARM
2980 CURL_CHECK_FUNC_BASENAME
2981 CURL_CHECK_FUNC_CLOSESOCKET
2982 CURL_CHECK_FUNC_CLOSESOCKET_CAMEL
2983 CURL_CHECK_FUNC_CONNECT
2984 CURL_CHECK_FUNC_FCNTL
2985 CURL_CHECK_FUNC_FDOPEN
2986 CURL_CHECK_FUNC_FREEADDRINFO
2987 CURL_CHECK_FUNC_FREEIFADDRS
2988 CURL_CHECK_FUNC_FSETXATTR
2989 CURL_CHECK_FUNC_FTRUNCATE
2990 CURL_CHECK_FUNC_GETADDRINFO
2991 CURL_CHECK_FUNC_GAI_STRERROR
2992 CURL_CHECK_FUNC_GETHOSTBYADDR
2993 CURL_CHECK_FUNC_GETHOSTBYADDR_R
2994 CURL_CHECK_FUNC_GETHOSTBYNAME
2995 CURL_CHECK_FUNC_GETHOSTBYNAME_R
2996 CURL_CHECK_FUNC_GETHOSTNAME
2997 CURL_CHECK_FUNC_GETIFADDRS
2998 CURL_CHECK_FUNC_GETSERVBYPORT_R
2999 CURL_CHECK_FUNC_GMTIME_R
3000 CURL_CHECK_FUNC_INET_NTOA_R
3001 CURL_CHECK_FUNC_INET_NTOP
3002 CURL_CHECK_FUNC_INET_PTON
3003 CURL_CHECK_FUNC_IOCTL
3004 CURL_CHECK_FUNC_IOCTLSOCKET
3005 CURL_CHECK_FUNC_IOCTLSOCKET_CAMEL
3006 CURL_CHECK_FUNC_LOCALTIME_R
3007 CURL_CHECK_FUNC_MEMRCHR
3008 CURL_CHECK_FUNC_POLL
3009 CURL_CHECK_FUNC_SETSOCKOPT
3010 CURL_CHECK_FUNC_SIGACTION
3011 CURL_CHECK_FUNC_SIGINTERRUPT
3012 CURL_CHECK_FUNC_SIGNAL
3013 CURL_CHECK_FUNC_SIGSETJMP
3014 CURL_CHECK_FUNC_SOCKET
3015 CURL_CHECK_FUNC_SOCKETPAIR
3016 CURL_CHECK_FUNC_STRCASECMP
3017 CURL_CHECK_FUNC_STRCMPI
3018 CURL_CHECK_FUNC_STRDUP
3019 CURL_CHECK_FUNC_STRERROR_R
3020 CURL_CHECK_FUNC_STRICMP
3021 CURL_CHECK_FUNC_STRNCASECMP
3022 CURL_CHECK_FUNC_STRNCMPI
3023 CURL_CHECK_FUNC_STRNICMP
3024 CURL_CHECK_FUNC_STRSTR
3025 CURL_CHECK_FUNC_STRTOK_R
3026 CURL_CHECK_FUNC_STRTOLL
3027 CURL_CHECK_FUNC_WRITEV
3033 AC_MSG_NOTICE([skip check for pipe on msdosdjgpp])
3037 AC_CHECK_FUNCS([fork \
3058 eval skipcheck=\$skipcheck_$func
3059 if test "x$skipcheck" != "xyes"; then
3060 AC_MSG_CHECKING([deeper for $func])
3067 AC_MSG_RESULT([yes])
3068 eval "ac_cv_func_$func=yes"
3069 AC_DEFINE_UNQUOTED(XC_SH_TR_CPP([HAVE_$func]), [1],
3070 [Define to 1 if you have the $func function.])
3072 AC_MSG_RESULT([but still no])
3077 dnl Check if the getnameinfo function is available
3078 dnl and get the types of five of its arguments.
3079 CURL_CHECK_FUNC_GETNAMEINFO
3081 if test "$ipv6" = "yes"; then
3082 if test "$ac_cv_func_getaddrinfo" = "yes"; then
3083 AC_DEFINE(ENABLE_IPV6, 1, [Define if you want to enable IPv6 support])
3085 AC_SUBST(IPV6_ENABLED)
3087 CURL_CHECK_NI_WITHSCOPEID
3090 CURL_CHECK_NONBLOCKING_SOCKET
3092 dnl ************************************************************
3093 dnl nroff tool stuff
3096 AC_PATH_PROG( PERL, perl, ,
3097 $PATH:/usr/local/bin/perl:/usr/bin/:/usr/local/bin )
3100 AC_PATH_PROGS( NROFF, gnroff nroff, ,
3101 $PATH:/usr/bin/:/usr/local/bin )
3104 if test -n "$NROFF"; then
3105 dnl only check for nroff options if an nroff command was found
3107 AC_MSG_CHECKING([how to use *nroff to get plain text from man pages])
3109 mancheck=`echo foo | $NROFF $MANOPT 2>/dev/null`
3110 if test -z "$mancheck"; then
3112 mancheck=`echo foo | $NROFF $MANOPT 2>/dev/null`
3113 if test -z "$mancheck"; then
3115 AC_MSG_RESULT([failed])
3116 AC_MSG_WARN([found no *nroff option to get plaintext from man pages])
3118 AC_MSG_RESULT([$MANOPT])
3121 AC_MSG_RESULT([$MANOPT])
3126 if test -z "$MANOPT"
3128 dnl if no nroff tool was found, or no option that could convert man pages
3129 dnl was found, then disable the built-in manual stuff
3130 AC_MSG_WARN([disabling built-in manual])
3134 dnl *************************************************************************
3135 dnl If the manual variable still is set, then we go with providing a built-in
3138 if test "$USE_MANUAL" = "1"; then
3139 AC_DEFINE(USE_MANUAL, 1, [If you want to build curl with the built-in manual])
3140 curl_manual_msg="enabled"
3143 dnl set variable for use in automakefile(s)
3144 AM_CONDITIONAL(USE_MANUAL, test x"$USE_MANUAL" = x1)
3147 AM_CONDITIONAL(USE_EMBEDDED_ARES, test x$embedded_ares = xyes)
3149 if test "x$ac_cv_native_windows" != "xyes" &&
3150 test "x$enable_shared" = "xyes"; then
3151 build_libhostname=yes
3153 build_libhostname=no
3155 AM_CONDITIONAL(BUILD_LIBHOSTNAME, test x$build_libhostname = xyes)
3157 CURL_CHECK_OPTION_THREADED_RESOLVER
3159 if test "x$want_thres" = xyes && test "x$want_ares" = xyes; then
3161 [Options --enable-threaded-resolver and --enable-ares are mutually exclusive])
3164 if test "$want_thres" = "yes"; then
3165 AC_CHECK_HEADER(pthread.h,
3166 [ AC_DEFINE(HAVE_PTHREAD_H, 1, [if you have <pthread.h>])
3167 save_CFLAGS="$CFLAGS"
3169 dnl first check for function without lib
3170 AC_CHECK_FUNC(pthread_create, [USE_THREADS_POSIX=1] )
3172 dnl if it wasn't found without lib, search for it in pthread lib
3173 if test "$USE_THREADS_POSIX" != "1"
3175 CFLAGS="$CFLAGS -pthread"
3176 AC_CHECK_LIB(pthread, pthread_create,
3177 [USE_THREADS_POSIX=1],
3178 [ CFLAGS="$save_CFLAGS"])
3181 if test "x$USE_THREADS_POSIX" = "x1"
3183 AC_DEFINE(USE_THREADS_POSIX, 1, [if you want POSIX threaded DNS lookup])
3184 curl_res_msg="POSIX threaded"
3191 dnl ************************************************************
3192 dnl disable verbose text strings
3194 AC_MSG_CHECKING([whether to enable verbose strings])
3195 AC_ARG_ENABLE(verbose,
3196 AC_HELP_STRING([--enable-verbose],[Enable verbose strings])
3197 AC_HELP_STRING([--disable-verbose],[Disable verbose strings]),
3198 [ case "$enableval" in
3201 AC_DEFINE(CURL_DISABLE_VERBOSE_STRINGS, 1, [to disable verbose strings])
3202 curl_verbose_msg="no"
3204 *) AC_MSG_RESULT(yes)
3210 dnl ************************************************************
3211 dnl enable SSPI support
3213 AC_MSG_CHECKING([whether to enable SSPI support (Windows native builds only)])
3215 AC_HELP_STRING([--enable-sspi],[Enable SSPI])
3216 AC_HELP_STRING([--disable-sspi],[Disable SSPI]),
3217 [ case "$enableval" in
3219 if test "$ac_cv_native_windows" = "yes"; then
3221 AC_DEFINE(USE_WINDOWS_SSPI, 1, [to enable SSPI support])
3222 AC_SUBST(USE_WINDOWS_SSPI, [1])
3223 curl_sspi_msg="enabled"
3226 AC_MSG_WARN([--enable-sspi Ignored. Only supported on native Windows builds.])
3230 if test "x$WINSSL_ENABLED" = "x1"; then
3231 # --with-winssl implies --enable-sspi
3238 if test "x$WINSSL_ENABLED" = "x1"; then
3239 # --with-winssl implies --enable-sspi
3246 dnl ************************************************************
3247 dnl disable cryptographic authentication
3249 AC_MSG_CHECKING([whether to enable cryptographic authentication methods])
3250 AC_ARG_ENABLE(crypto-auth,
3251 AC_HELP_STRING([--enable-crypto-auth],[Enable cryptographic authentication])
3252 AC_HELP_STRING([--disable-crypto-auth],[Disable cryptographic authentication]),
3253 [ case "$enableval" in
3256 AC_DEFINE(CURL_DISABLE_CRYPTO_AUTH, 1, [to disable cryptographic authentication])
3257 CURL_DISABLE_CRYPTO_AUTH=1
3259 *) AC_MSG_RESULT(yes)
3265 CURL_CHECK_OPTION_NTLM_WB
3269 dnl ************************************************************
3270 dnl disable TLS-SRP authentication
3272 AC_MSG_CHECKING([whether to enable TLS-SRP authentication])
3273 AC_ARG_ENABLE(tls-srp,
3274 AC_HELP_STRING([--enable-tls-srp],[Enable TLS-SRP authentication])
3275 AC_HELP_STRING([--disable-tls-srp],[Disable TLS-SRP authentication]),
3276 [ case "$enableval" in
3279 AC_DEFINE(CURL_DISABLE_TLS_SRP, 1, [to disable TLS-SRP authentication])
3282 *) AC_MSG_RESULT(yes)
3290 if test "$want_tls_srp" = "yes" && ( test "x$HAVE_GNUTLS_SRP" = "x1" || test "x$HAVE_SSLEAY_SRP" = "x1") ; then
3291 AC_DEFINE(USE_TLS_SRP, 1, [Use TLS-SRP authentication])
3293 curl_tls_srp_msg="enabled"
3296 dnl ************************************************************
3297 dnl disable cookies support
3299 AC_MSG_CHECKING([whether to enable support for cookies])
3300 AC_ARG_ENABLE(cookies,
3301 AC_HELP_STRING([--enable-cookies],[Enable cookies support])
3302 AC_HELP_STRING([--disable-cookies],[Disable cookies support]),
3303 [ case "$enableval" in
3306 AC_DEFINE(CURL_DISABLE_COOKIES, 1, [to disable cookies support])
3308 *) AC_MSG_RESULT(yes)
3314 dnl ************************************************************
3315 dnl hiding of library internal symbols
3317 CURL_CONFIGURE_SYMBOL_HIDING
3319 dnl ************************************************************
3320 dnl enforce SONAME bump
3323 AC_MSG_CHECKING([whether to enforce SONAME bump])
3324 AC_ARG_ENABLE(soname-bump,
3325 AC_HELP_STRING([--enable-soname-bump],[Enable enforced SONAME bump])
3326 AC_HELP_STRING([--disable-soname-bump],[Disable enforced SONAME bump]),
3327 [ case "$enableval" in
3328 yes) AC_MSG_RESULT(yes)
3335 AC_MSG_RESULT($soname_bump)
3337 AM_CONDITIONAL(SONAME_BUMP, test x$soname_bump = xyes)
3340 dnl All the library dependencies put into $LIB apply to libcurl only.
3344 AC_SUBST(LIBCURL_LIBS)
3345 AC_SUBST(CURL_NETWORK_LIBS)
3346 AC_SUBST(CURL_NETWORK_AND_TIME_LIBS)
3348 dnl BLANK_AT_MAKETIME may be used in our Makefile.am files to blank
3349 dnl LIBS variable used in generated makefile at makefile processing
3350 dnl time. Doing this functionally prevents LIBS from being used for
3351 dnl all link targets in given makefile.
3353 AC_SUBST(BLANK_AT_MAKETIME)
3355 AM_CONDITIONAL(CROSSCOMPILING, test x$cross_compiling = xyes)
3358 ENABLE_SHARED="$enable_shared"
3359 AC_SUBST(ENABLE_SHARED)
3361 dnl to let curl-config output the static libraries correctly
3362 ENABLE_STATIC="$enable_static"
3363 AC_SUBST(ENABLE_STATIC)
3367 dnl For keeping supported features and protocols also in pkg-config file
3368 dnl since it is more cross-compile friendly than curl-config
3371 if test "x$USE_SSLEAY" = "x1"; then
3372 SUPPORT_FEATURES="$SUPPORT_FEATURES SSL"
3373 elif test -n "$SSL_ENABLED"; then
3374 SUPPORT_FEATURES="$SUPPORT_FEATURES SSL"
3376 if test "x$IPV6_ENABLED" = "x1"; then
3377 SUPPORT_FEATURES="$SUPPORT_FEATURES IPv6"
3379 if test "x$HAVE_LIBZ" = "x1"; then
3380 SUPPORT_FEATURES="$SUPPORT_FEATURES libz"
3382 if test "x$USE_ARES" = "x1" -o "x$USE_THREADS_POSIX" = "x1"; then
3383 SUPPORT_FEATURES="$SUPPORT_FEATURES AsynchDNS"
3385 if test "x$IDN_ENABLED" = "x1"; then
3386 SUPPORT_FEATURES="$SUPPORT_FEATURES IDN"
3388 if test "x$USE_WINDOWS_SSPI" = "x1"; then
3389 SUPPORT_FEATURES="$SUPPORT_FEATURES SSPI"
3391 if test "x$CURL_DISABLE_HTTP" != "x1" -a \
3392 "x$CURL_DISABLE_CRYPTO_AUTH" != "x1"; then
3393 if test "x$USE_SSLEAY" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \
3394 -o "x$GNUTLS_ENABLED" = "x1" -o "x$NSS_ENABLED" = "x1" \
3395 -o "x$DARWINSSL_ENABLED" = "x1"; then
3396 SUPPORT_FEATURES="$SUPPORT_FEATURES NTLM"
3397 if test "x$NTLM_WB_ENABLED" = "x1"; then
3398 SUPPORT_FEATURES="$SUPPORT_FEATURES NTLM_WB"
3402 if test "x$USE_TLS_SRP" = "x1"; then
3403 SUPPORT_FEATURES="$SUPPORT_FEATURES TLS-SRP"
3406 if test "x$USE_NGHTTP2" = "x1"; then
3407 SUPPORT_FEATURES="$SUPPORT_FEATURES HTTP2"
3409 if test "x$curl_spnego_msg" = "xenabled"; then
3410 SUPPORT_FEATURES="$SUPPORT_FEATURES SPNEGO"
3412 if test "x$want_gss" = "xyes"; then
3413 SUPPORT_FEATURES="$SUPPORT_FEATURES GSS-API"
3416 AC_SUBST(SUPPORT_FEATURES)
3418 dnl For supported protocols in pkg-config file
3419 if test "x$CURL_DISABLE_HTTP" != "x1"; then
3420 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS HTTP"
3421 if test "x$SSL_ENABLED" = "x1"; then
3422 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS HTTPS"
3425 if test "x$CURL_DISABLE_FTP" != "x1"; then
3426 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS FTP"
3427 if test "x$SSL_ENABLED" = "x1"; then
3428 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS FTPS"
3431 if test "x$CURL_DISABLE_FILE" != "x1"; then
3432 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS FILE"
3434 if test "x$CURL_DISABLE_TELNET" != "x1"; then
3435 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS TELNET"
3437 if test "x$CURL_DISABLE_LDAP" != "x1"; then
3438 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS LDAP"
3439 if test "x$CURL_DISABLE_LDAPS" != "x1"; then
3440 if (test "x$USE_OPENLDAP" = "x1" && test "x$SSL_ENABLED" = "x1") ||
3441 (test "x$USE_OPENLDAP" != "x1" && test "x$HAVE_LDAP_SSL" = "x1"); then
3442 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS LDAPS"
3446 if test "x$CURL_DISABLE_DICT" != "x1"; then
3447 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS DICT"
3449 if test "x$CURL_DISABLE_TFTP" != "x1"; then
3450 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS TFTP"
3452 if test "x$CURL_DISABLE_GOPHER" != "x1"; then
3453 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS GOPHER"
3455 if test "x$CURL_DISABLE_POP3" != "x1"; then
3456 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS POP3"
3457 if test "x$SSL_ENABLED" = "x1"; then
3458 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS POP3S"
3461 if test "x$CURL_DISABLE_IMAP" != "x1"; then
3462 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS IMAP"
3463 if test "x$SSL_ENABLED" = "x1"; then
3464 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS IMAPS"
3467 if test "x$CURL_DISABLE_SMTP" != "x1"; then
3468 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SMTP"
3469 if test "x$SSL_ENABLED" = "x1"; then
3470 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SMTPS"
3473 if test "x$USE_LIBSSH2" = "x1"; then
3474 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SCP"
3475 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SFTP"
3477 if test "x$CURL_DISABLE_RTSP" != "x1"; then
3478 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS RTSP"
3480 if test "x$USE_LIBRTMP" = "x1"; then
3481 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS RTMP"
3484 dnl replace spaces with newlines
3486 dnl replace the newlines back to spaces
3487 SUPPORT_PROTOCOLS=`echo $SUPPORT_PROTOCOLS | tr ' ' '\012' | sort | tr '\012' ' '`
3489 AC_SUBST(SUPPORT_PROTOCOLS)
3491 dnl squeeze whitespace out of some variables
3499 squeeze LIBCURL_LIBS
3500 squeeze CURL_NETWORK_LIBS
3501 squeeze CURL_NETWORK_AND_TIME_LIBS
3503 squeeze SUPPORT_FEATURES
3504 squeeze SUPPORT_PROTOCOLS
3506 XC_CHECK_BUILD_FLAGS
3508 if test "x$want_curldebug_assumed" = "xyes" &&
3509 test "x$want_curldebug" = "xyes" && test "x$USE_ARES" = "x1"; then
3510 ac_configure_args="$ac_configure_args --enable-curldebug"
3513 AC_CONFIG_FILES([Makefile \
3515 docs/examples/Makefile \
3516 docs/libcurl/Makefile \
3517 docs/libcurl/opts/Makefile \
3519 include/curl/Makefile \
3524 tests/certs/Makefile \
3525 tests/certs/scripts/Makefile \
3526 tests/data/Makefile \
3527 tests/server/Makefile \
3528 tests/libtest/Makefile \
3529 tests/unit/Makefile \
3531 packages/Win32/Makefile \
3532 packages/Win32/cygwin/Makefile \
3533 packages/Linux/Makefile \
3534 packages/Linux/RPM/Makefile \
3535 packages/Linux/RPM/curl.spec \
3536 packages/Linux/RPM/curl-ssl.spec \
3537 packages/Solaris/Makefile \
3538 packages/EPM/curl.list \
3539 packages/EPM/Makefile \
3540 packages/vms/Makefile \
3541 packages/AIX/Makefile \
3542 packages/AIX/RPM/Makefile \
3543 packages/AIX/RPM/curl.spec \
3549 CURL_GENERATE_CONFIGUREHELP_PM
3551 XC_AMEND_DISTCLEAN([lib src tests/unit tests/server tests/libtest docs/examples])
3553 AC_MSG_NOTICE([Configured to build curl/libcurl:
3555 curl version: ${CURLVERSION}
3557 Install prefix: ${prefix}
3559 SSL support: ${curl_ssl_msg}
3560 SSH support: ${curl_ssh_msg}
3561 zlib support: ${curl_zlib_msg}
3562 GSS-API support: ${curl_gss_msg}
3563 SPNEGO support: ${curl_spnego_msg}
3564 TLS-SRP support: ${curl_tls_srp_msg}
3565 resolver: ${curl_res_msg}
3566 ipv6 support: ${curl_ipv6_msg}
3567 IDN support: ${curl_idn_msg}
3568 Build libcurl: Shared=${enable_shared}, Static=${enable_static}
3569 Built-in manual: ${curl_manual_msg}
3570 --libcurl option: ${curl_libcurl_msg}
3571 Verbose errors: ${curl_verbose_msg}
3572 SSPI support: ${curl_sspi_msg}
3573 ca cert bundle: ${ca}
3574 ca cert path: ${capath}
3575 LDAP support: ${curl_ldap_msg}
3576 LDAPS support: ${curl_ldaps_msg}
3577 RTSP support: ${curl_rtsp_msg}
3578 RTMP support: ${curl_rtmp_msg}
3579 metalink support: ${curl_mtlnk_msg}
3580 HTTP2 support: ${curl_h2_msg}
3581 Protocols: ${SUPPORT_PROTOCOLS}
3584 if test "x$soname_bump" = "xyes"; then
3587 SONAME bump: yes - WARNING: this library will be built with the SONAME
3588 number bumped due to (a detected) ABI breakage.
3589 See lib/README.curl_off_t for details on this.