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_tls_srp_msg="no (--enable-tls-srp)"
155 curl_res_msg="default (--enable-ares / --enable-threaded-resolver)"
156 curl_ipv6_msg="no (--enable-ipv6)"
157 curl_unix_sockets_msg="no (--enable-unix-sockets)"
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 smb])
580 AC_HELP_STRING([--enable-smb],[Enable SMB/CIFS support])
581 AC_HELP_STRING([--disable-smb],[Disable SMB/CIFS support]),
582 [ case "$enableval" in
585 AC_DEFINE(CURL_DISABLE_SMB, 1, [to disable SMB/CIFS])
586 AC_SUBST(CURL_DISABLE_SMB, [1])
588 *) AC_MSG_RESULT(yes)
594 AC_MSG_CHECKING([whether to support smtp])
596 AC_HELP_STRING([--enable-smtp],[Enable SMTP support])
597 AC_HELP_STRING([--disable-smtp],[Disable SMTP support]),
598 [ case "$enableval" in
601 AC_DEFINE(CURL_DISABLE_SMTP, 1, [to disable SMTP])
602 AC_SUBST(CURL_DISABLE_SMTP, [1])
604 *) AC_MSG_RESULT(yes)
610 AC_MSG_CHECKING([whether to support gopher])
611 AC_ARG_ENABLE(gopher,
612 AC_HELP_STRING([--enable-gopher],[Enable Gopher support])
613 AC_HELP_STRING([--disable-gopher],[Disable Gopher support]),
614 [ case "$enableval" in
617 AC_DEFINE(CURL_DISABLE_GOPHER, 1, [to disable Gopher])
618 AC_SUBST(CURL_DISABLE_GOPHER, [1])
620 *) AC_MSG_RESULT(yes)
627 dnl **********************************************************************
628 dnl Check for built-in manual
629 dnl **********************************************************************
631 AC_MSG_CHECKING([whether to provide built-in manual])
632 AC_ARG_ENABLE(manual,
633 AC_HELP_STRING([--enable-manual],[Enable built-in manual])
634 AC_HELP_STRING([--disable-manual],[Disable built-in manual]),
635 [ case "$enableval" in
639 *) AC_MSG_RESULT(yes)
646 dnl The actual use of the USE_MANUAL variable is done much later in this
647 dnl script to allow other actions to disable it as well.
649 dnl ************************************************************
650 dnl disable C code generation support
652 AC_MSG_CHECKING([whether to enable generation of C code])
653 AC_ARG_ENABLE(libcurl_option,
654 AC_HELP_STRING([--enable-libcurl-option],[Enable --libcurl C code generation support])
655 AC_HELP_STRING([--disable-libcurl-option],[Disable --libcurl C code generation support]),
656 [ case "$enableval" in
659 AC_DEFINE(CURL_DISABLE_LIBCURL_OPTION, 1, [to disable --libcurl C code generation option])
660 curl_libcurl_msg="no"
662 *) AC_MSG_RESULT(yes)
668 dnl **********************************************************************
669 dnl Checks for libraries.
670 dnl **********************************************************************
672 AC_MSG_CHECKING([whether to use libgcc])
673 AC_ARG_ENABLE(libgcc,
674 AC_HELP_STRING([--enable-libgcc],[use libgcc when linking]),
675 [ case "$enableval" in
688 dnl gethostbyname without lib or in the nsl lib?
689 AC_CHECK_FUNC(gethostbyname,
690 [HAVE_GETHOSTBYNAME="1"
692 [ AC_CHECK_LIB(nsl, gethostbyname,
693 [HAVE_GETHOSTBYNAME="1"
698 if test "$HAVE_GETHOSTBYNAME" != "1"
700 dnl gethostbyname in the socket lib?
701 AC_CHECK_LIB(socket, gethostbyname,
702 [HAVE_GETHOSTBYNAME="1"
703 LIBS="-lsocket $LIBS"
707 if test "$HAVE_GETHOSTBYNAME" != "1"
709 dnl gethostbyname in the watt lib?
710 AC_CHECK_LIB(watt, gethostbyname,
711 [HAVE_GETHOSTBYNAME="1"
712 CPPFLAGS="-I/dev/env/WATT_ROOT/inc"
713 LDFLAGS="-L/dev/env/WATT_ROOT/lib"
718 dnl At least one system has been identified to require BOTH nsl and socket
719 dnl libs at the same time to link properly.
720 if test "$HAVE_GETHOSTBYNAME" != "1"
722 AC_MSG_CHECKING([for gethostbyname with both nsl and socket libs])
723 my_ac_save_LIBS=$LIBS
724 LIBS="-lnsl -lsocket $LIBS"
732 HAVE_GETHOSTBYNAME="1"
735 LIBS=$my_ac_save_LIBS
739 if test "$HAVE_GETHOSTBYNAME" != "1"
741 dnl This is for winsock systems
742 if test "$ac_cv_header_windows_h" = "yes"; then
743 if test "$ac_cv_header_winsock_h" = "yes"; then
746 winsock_LIB="-lwinsock"
749 winsock_LIB="-lwsock32"
753 if test "$ac_cv_header_winsock2_h" = "yes"; then
754 winsock_LIB="-lws2_32"
756 if test ! -z "$winsock_LIB"; then
757 my_ac_save_LIBS=$LIBS
758 LIBS="$winsock_LIB $LIBS"
759 AC_MSG_CHECKING([for gethostbyname in $winsock_LIB])
762 #ifdef HAVE_WINDOWS_H
763 #ifndef WIN32_LEAN_AND_MEAN
764 #define WIN32_LEAN_AND_MEAN
767 #ifdef HAVE_WINSOCK2_H
768 #include <winsock2.h>
770 #ifdef HAVE_WINSOCK_H
776 gethostbyname("www.dummysite.com");
780 HAVE_GETHOSTBYNAME="1"
784 LIBS=$my_ac_save_LIBS
790 if test "$HAVE_GETHOSTBYNAME" != "1"
792 dnl This is for Minix 3.1
793 AC_MSG_CHECKING([for gethostbyname for Minix 3])
796 /* Older Minix versions may need <net/gen/netdb.h> here instead */
799 gethostbyname("www.dummysite.com");
803 HAVE_GETHOSTBYNAME="1"
809 if test "$HAVE_GETHOSTBYNAME" != "1"
811 dnl This is for eCos with a stubbed DNS implementation
812 AC_MSG_CHECKING([for gethostbyname for eCos])
818 gethostbyname("www.dummysite.com");
822 HAVE_GETHOSTBYNAME="1"
828 if test "$HAVE_GETHOSTBYNAME" != "1"
830 dnl gethostbyname in the network lib - for Haiku OS
831 AC_CHECK_LIB(network, gethostbyname,
832 [HAVE_GETHOSTBYNAME="1"
833 LIBS="-lnetwork $LIBS"
837 if test "$HAVE_GETHOSTBYNAME" != "1"
839 dnl gethostbyname in the net lib - for BeOS
840 AC_CHECK_LIB(net, gethostbyname,
841 [HAVE_GETHOSTBYNAME="1"
847 if test "$HAVE_GETHOSTBYNAME" != "1"; then
848 AC_MSG_ERROR([couldn't find libraries for gethostbyname()])
852 AC_CHECK_FUNC(strcasecmp, , [ AC_CHECK_LIB(resolve, strcasecmp) ])
854 if test "$ac_cv_lib_resolve_strcasecmp" = "$ac_cv_func_strcasecmp"; then
855 AC_CHECK_LIB(resolve, strcasecmp,
856 [LIBS="-lresolve $LIBS"],
860 ac_cv_func_strcasecmp="no"
862 CURL_CHECK_LIBS_CONNECT
864 CURL_NETWORK_LIBS=$LIBS
866 dnl **********************************************************************
867 dnl In case that function clock_gettime with monotonic timer is available,
868 dnl check for additional required libraries.
869 dnl **********************************************************************
870 CURL_CHECK_LIBS_CLOCK_GETTIME_MONOTONIC
872 dnl **********************************************************************
873 dnl The preceding library checks are all potentially useful for test
874 dnl servers and libtest cases which require networking and clock_gettime
875 dnl support. Save the list of required libraries at this point for use
876 dnl while linking those test servers and programs.
877 dnl **********************************************************************
878 CURL_NETWORK_AND_TIME_LIBS=$LIBS
880 dnl **********************************************************************
881 dnl Check for the presence of ZLIB libraries and headers
882 dnl **********************************************************************
884 dnl Check for & handle argument to --with-zlib.
886 clean_CPPFLAGS=$CPPFLAGS
887 clean_LDFLAGS=$LDFLAGS
891 AC_HELP_STRING([--with-zlib=PATH],[search for zlib in PATH])
892 AC_HELP_STRING([--without-zlib],[disable use of zlib]),
893 [OPT_ZLIB="$withval"])
895 if test "$OPT_ZLIB" = "no" ; then
896 AC_MSG_WARN([zlib disabled])
898 if test "$OPT_ZLIB" = "yes" ; then
902 if test -z "$OPT_ZLIB" ; then
903 dnl check for the lib first without setting any new path, since many
904 dnl people have it in the default path
906 AC_CHECK_LIB(z, inflateEnd,
907 dnl libz found, set the variable
910 dnl if no lib found, try /usr/local
911 [OPT_ZLIB="/usr/local"])
915 dnl Add a nonempty path to the compiler flags
916 if test -n "$OPT_ZLIB"; then
917 CPPFLAGS="$CPPFLAGS -I$OPT_ZLIB/include"
918 LDFLAGS="$LDFLAGS -L$OPT_ZLIB/lib$libsuff"
921 AC_CHECK_HEADER(zlib.h,
925 dnl if the lib wasn't found already, try again with the new paths
926 if test "$HAVE_LIBZ" != "1"; then
927 AC_CHECK_LIB(z, gzread,
929 dnl the lib was found!
933 [ CPPFLAGS=$clean_CPPFLAGS
934 LDFLAGS=$clean_LDFLAGS])
938 dnl zlib.h was not found, restore the flags
939 CPPFLAGS=$clean_CPPFLAGS
940 LDFLAGS=$clean_LDFLAGS]
943 if test "$HAVE_LIBZ" = "1" && test "$HAVE_ZLIB_H" != "1"
945 AC_MSG_WARN([configure found only the libz lib, not the header file!])
947 CPPFLAGS=$clean_CPPFLAGS
948 LDFLAGS=$clean_LDFLAGS
950 elif test "$HAVE_LIBZ" != "1" && test "$HAVE_ZLIB_H" = "1"
952 AC_MSG_WARN([configure found only the libz header file, not the lib!])
953 CPPFLAGS=$clean_CPPFLAGS
954 LDFLAGS=$clean_LDFLAGS
956 elif test "$HAVE_LIBZ" = "1" && test "$HAVE_ZLIB_H" = "1"
958 dnl both header and lib were found!
960 AC_DEFINE(HAVE_ZLIB_H, 1, [if you have the zlib.h header file])
961 AC_DEFINE(HAVE_LIBZ, 1, [if zlib is available])
964 LIBS="-lz $clean_LIBS"
966 dnl replace 'HAVE_LIBZ' in the automake makefile.ams
968 AC_MSG_NOTICE([found both libz and libz.h header])
969 curl_zlib_msg="enabled"
973 dnl set variable for use in automakefile(s)
974 AM_CONDITIONAL(HAVE_LIBZ, test x"$AMFIXLIB" = x1)
977 dnl **********************************************************************
979 dnl **********************************************************************
982 AC_ARG_WITH(ldap-lib,
983 AC_HELP_STRING([--with-ldap-lib=libname],[Specify name of ldap lib file]),
984 [LDAPLIBNAME="$withval"])
987 AC_ARG_WITH(lber-lib,
988 AC_HELP_STRING([--with-lber-lib=libname],[Specify name of lber lib file]),
989 [LBERLIBNAME="$withval"])
991 if test x$CURL_DISABLE_LDAP != x1 ; then
993 CURL_CHECK_HEADER_LBER
994 CURL_CHECK_HEADER_LDAP
995 CURL_CHECK_HEADER_LDAPSSL
996 CURL_CHECK_HEADER_LDAP_SSL
998 if test -z "$LDAPLIBNAME" ; then
999 if test "$ac_cv_native_windows" = "yes"; then
1000 dnl Windows uses a single and unique LDAP library name
1001 LDAPLIBNAME="wldap32"
1006 if test "$LDAPLIBNAME" ; then
1007 AC_CHECK_LIB("$LDAPLIBNAME", ldap_init,, [
1008 AC_MSG_WARN(["$LDAPLIBNAME" is not an LDAP library: LDAP disabled])
1009 AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP])
1010 AC_SUBST(CURL_DISABLE_LDAP, [1])
1011 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
1012 AC_SUBST(CURL_DISABLE_LDAPS, [1])])
1014 dnl Try to find the right ldap libraries for this system
1015 CURL_CHECK_LIBS_LDAP
1016 case X-"$curl_cv_ldap_LIBS" in
1018 AC_MSG_WARN([Cannot find libraries for LDAP support: LDAP disabled])
1019 AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP])
1020 AC_SUBST(CURL_DISABLE_LDAP, [1])
1021 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
1022 AC_SUBST(CURL_DISABLE_LDAPS, [1])
1028 if test x$CURL_DISABLE_LDAP != x1 ; then
1030 if test "$LBERLIBNAME" ; then
1031 dnl If name is "no" then don't define this library at all
1032 dnl (it's only needed if libldap.so's dependencies are broken).
1033 if test "$LBERLIBNAME" != "no" ; then
1034 AC_CHECK_LIB("$LBERLIBNAME", ber_free,, [
1035 AC_MSG_WARN(["$LBERLIBNAME" is not an LBER library: LDAP disabled])
1036 AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP])
1037 AC_SUBST(CURL_DISABLE_LDAP, [1])
1038 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
1039 AC_SUBST(CURL_DISABLE_LDAPS, [1])])
1044 if test x$CURL_DISABLE_LDAP != x1 ; then
1045 AC_CHECK_FUNCS([ldap_url_parse ldap_init_fd])
1047 if test "$LDAPLIBNAME" = "wldap32"; then
1048 curl_ldap_msg="enabled (winldap)"
1049 AC_DEFINE(CURL_LDAP_WIN, 1, [Use Windows LDAP implementation])
1051 curl_ldap_msg="enabled (OpenLDAP)"
1052 if test "x$ac_cv_func_ldap_init_fd" = "xyes"; then
1053 AC_DEFINE(USE_OPENLDAP, 1, [Use OpenLDAP-specific code])
1054 AC_SUBST(USE_OPENLDAP, [1])
1059 if test x$CURL_DISABLE_LDAPS != x1 ; then
1060 curl_ldaps_msg="enabled"
1063 dnl **********************************************************************
1065 dnl **********************************************************************
1067 AC_MSG_CHECKING([whether to enable IPv6])
1069 AC_HELP_STRING([--enable-ipv6],[Enable IPv6 (with IPv4) support])
1070 AC_HELP_STRING([--disable-ipv6],[Disable IPv6 support]),
1071 [ case "$enableval" in
1076 *) AC_MSG_RESULT(yes)
1081 AC_TRY_RUN([ /* is AF_INET6 available? */
1082 #include <sys/types.h>
1083 #include <sys/socket.h>
1084 #include <stdlib.h> /* for exit() */
1087 if (socket(AF_INET6, SOCK_STREAM, 0) < 0)
1101 if test "$ipv6" = "yes"; then
1102 curl_ipv6_msg="enabled"
1105 # Check if struct sockaddr_in6 have sin6_scope_id member
1106 if test "$ipv6" = yes; then
1107 AC_MSG_CHECKING([if struct sockaddr_in6 has sin6_scope_id member])
1109 #include <sys/types.h>
1110 #include <netinet/in.h>] ,
1111 struct sockaddr_in6 s; s.sin6_scope_id = 0; , have_sin6_scope_id=yes)
1112 if test "$have_sin6_scope_id" = yes; then
1113 AC_MSG_RESULT([yes])
1114 AC_DEFINE(HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID, 1, [Define to 1 if struct sockaddr_in6 has the sin6_scope_id member])
1120 dnl **********************************************************************
1121 dnl Check if the operating system allows programs to write to their own argv[]
1122 dnl **********************************************************************
1124 AC_MSG_CHECKING([if argv can be written to])
1127 int main(int argc, char ** argv) {
1129 return (argv[0][0] == ' ')?0:1;
1133 curl_cv_writable_argv=yes
1135 curl_cv_writable_argv=no
1137 curl_cv_writable_argv=cross
1139 case $curl_cv_writable_argv in
1141 AC_DEFINE(HAVE_WRITABLE_ARGV, 1, [Define this symbol if your OS supports changing the contents of argv])
1149 AC_MSG_WARN([the previous check could not be made default was used])
1153 dnl **********************************************************************
1154 dnl Check for GSS-API libraries
1155 dnl **********************************************************************
1157 dnl check for GSS-API stuff in the /usr as default
1160 AC_ARG_WITH(gssapi-includes,
1161 AC_HELP_STRING([--with-gssapi-includes=DIR],
1162 [Specify location of GSS-API headers]),
1163 [ GSSAPI_INCS="-I$withval"
1167 AC_ARG_WITH(gssapi-libs,
1168 AC_HELP_STRING([--with-gssapi-libs=DIR],
1169 [Specify location of GSS-API libs]),
1170 [ GSSAPI_LIB_DIR="-L$withval"
1175 AC_HELP_STRING([--with-gssapi=DIR],
1176 [Where to look for GSS-API]), [
1177 GSSAPI_ROOT="$withval"
1178 if test x"$GSSAPI_ROOT" != xno; then
1180 if test x"$GSSAPI_ROOT" = xyes; then
1181 dnl if yes, then use default root
1187 save_CPPFLAGS="$CPPFLAGS"
1188 AC_MSG_CHECKING([if GSS-API support is requested])
1189 if test x"$want_gss" = xyes; then
1192 if test -z "$GSSAPI_INCS"; then
1193 if test -n "$host_alias" -a -f "$GSSAPI_ROOT/bin/$host_alias-krb5-config"; then
1194 GSSAPI_INCS=`$GSSAPI_ROOT/bin/$host_alias-krb5-config --cflags gssapi`
1195 elif test -f "$GSSAPI_ROOT/bin/krb5-config"; then
1196 GSSAPI_INCS=`$GSSAPI_ROOT/bin/krb5-config --cflags gssapi`
1197 elif test "$GSSAPI_ROOT" != "yes"; then
1198 GSSAPI_INCS="-I$GSSAPI_ROOT/include"
1202 CPPFLAGS="$CPPFLAGS $GSSAPI_INCS"
1204 AC_CHECK_HEADER(gss.h,
1206 dnl found in the given dirs
1207 AC_DEFINE(HAVE_GSSGNU, 1, [if you have GNU GSS])
1211 dnl not found, check Heimdal or MIT
1212 AC_CHECK_HEADERS([gssapi/gssapi.h], [], [not_mit=1])
1214 [gssapi/gssapi_generic.h gssapi/gssapi_krb5.h],
1219 #ifdef HAVE_GSSAPI_GSSAPI_H
1220 #include <gssapi/gssapi.h>
1223 if test "x$not_mit" = "x1"; then
1224 dnl MIT not found, check for Heimdal
1225 AC_CHECK_HEADER(gssapi.h,
1228 AC_DEFINE(HAVE_GSSHEIMDAL, 1, [if you have Heimdal])
1231 dnl no header found, disabling GSS
1233 AC_MSG_WARN(disabling GSS-API support since no header files were found)
1238 AC_DEFINE(HAVE_GSSMIT, 1, [if you have MIT Kerberos])
1239 dnl check if we have a really old MIT Kerberos version (<= 1.2)
1240 AC_MSG_CHECKING([if GSS-API headers declare GSS_C_NT_HOSTBASED_SERVICE])
1243 #include <gssapi/gssapi.h>
1244 #include <gssapi/gssapi_generic.h>
1245 #include <gssapi/gssapi_krb5.h>
1250 GSS_C_NT_HOSTBASED_SERVICE,
1254 AC_MSG_RESULT([yes])
1257 AC_DEFINE(HAVE_OLD_GSSMIT, 1,
1258 [if you have an old MIT Kerberos version, lacking GSS_C_NT_HOSTBASED_SERVICE])
1266 if test x"$want_gss" = xyes; then
1267 AC_DEFINE(HAVE_GSSAPI, 1, [if you have GSS-API libraries])
1269 curl_gss_msg="enabled (MIT Kerberos/Heimdal)"
1271 if test -n "$gnu_gss"; then
1272 curl_gss_msg="enabled (GNU GSS)"
1273 LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR"
1275 elif test -z "$GSSAPI_LIB_DIR"; then
1278 LIBS="-lgssapi_krb5 -lresolv $LIBS"
1281 if test -n "$host_alias" -a -f "$GSSAPI_ROOT/bin/$host_alias-krb5-config"; then
1282 dnl krb5-config doesn't have --libs-only-L or similar, put everything
1284 gss_libs=`$GSSAPI_ROOT/bin/$host_alias-krb5-config --libs gssapi`
1285 LIBS="$gss_libs $LIBS"
1286 elif test -f "$GSSAPI_ROOT/bin/krb5-config"; then
1287 dnl krb5-config doesn't have --libs-only-L or similar, put everything
1289 gss_libs=`$GSSAPI_ROOT/bin/krb5-config --libs gssapi`
1290 LIBS="$gss_libs $LIBS"
1297 gss_libname="gssapi"
1301 if test "$GSSAPI_ROOT" != "yes"; then
1302 LDFLAGS="$LDFLAGS -L$GSSAPI_ROOT/lib$libsuff"
1303 LIBS="-l$gss_libname $LIBS"
1305 LIBS="-l$gss_libname $LIBS"
1311 LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR"
1317 LIBS="-lgssapi $LIBS"
1322 CPPFLAGS="$save_CPPFLAGS"
1325 dnl -------------------------------------------------
1326 dnl check winssl option before other SSL libraries
1327 dnl -------------------------------------------------
1330 AC_ARG_WITH(winssl,dnl
1331 AC_HELP_STRING([--with-winssl],[enable Windows native SSL/TLS])
1332 AC_HELP_STRING([--without-winssl], [disable Windows native SSL/TLS]),
1333 OPT_WINSSL=$withval)
1335 AC_MSG_CHECKING([whether to enable Windows native SSL/TLS (Windows native builds only)])
1336 if test "$curl_ssl_msg" = "$init_ssl_msg"; then
1337 if test "x$OPT_WINSSL" != "xno" &&
1338 test "x$ac_cv_native_windows" = "xyes"; then
1340 AC_DEFINE(USE_SCHANNEL, 1, [to enable Windows native SSL/TLS support])
1341 AC_SUBST(USE_SCHANNEL, [1])
1342 curl_ssl_msg="enabled (Windows-native)"
1344 # --with-winssl implies --enable-sspi
1345 AC_DEFINE(USE_WINDOWS_SSPI, 1, [to enable SSPI support])
1346 AC_SUBST(USE_WINDOWS_SSPI, [1])
1347 curl_sspi_msg="enabled"
1356 AC_ARG_WITH(darwinssl,dnl
1357 AC_HELP_STRING([--with-darwinssl],[enable iOS/Mac OS X native SSL/TLS])
1358 AC_HELP_STRING([--without-darwinssl], [disable iOS/Mac OS X native SSL/TLS]),
1359 OPT_DARWINSSL=$withval)
1361 AC_MSG_CHECKING([whether to enable iOS/Mac OS X native SSL/TLS])
1362 if test "$curl_ssl_msg" = "$init_ssl_msg"; then
1363 if test "x$OPT_DARWINSSL" != "xno" &&
1364 test -d "/System/Library/Frameworks/Security.framework"; then
1366 AC_DEFINE(USE_DARWINSSL, 1, [to enable iOS/Mac OS X native SSL/TLS support])
1367 AC_SUBST(USE_DARWINSSL, [1])
1368 curl_ssl_msg="enabled (iOS/Mac OS X-native)"
1370 LDFLAGS="$LDFLAGS -framework CoreFoundation -framework Security"
1378 dnl **********************************************************************
1379 dnl Check for the presence of SSL libraries and headers
1380 dnl **********************************************************************
1382 dnl Default to compiler & linker defaults for SSL files & libraries.
1384 dnl Default to no CA bundle
1387 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])
1388 AC_HELP_STRING([--without-ssl], [disable OpenSSL]),
1391 if test "$curl_ssl_msg" = "$init_ssl_msg" && test X"$OPT_SSL" != Xno; then
1392 dnl backup the pre-ssl variables
1393 CLEANLDFLAGS="$LDFLAGS"
1394 CLEANCPPFLAGS="$CPPFLAGS"
1399 dnl --with-ssl (without path) used
1400 if test x$cross_compiling != xyes; then
1401 dnl only do pkg-config magic when not cross-compiling
1404 PREFIX_OPENSSL=/usr/local/ssl
1405 LIB_OPENSSL="$PREFIX_OPENSSL/lib$libsuff"
1408 dnl no --with-ssl option given, just check default places
1409 if test x$cross_compiling != xyes; then
1410 dnl only do pkg-config magic when not cross-compiling
1416 dnl check the given --with-ssl spot
1418 PREFIX_OPENSSL=$OPT_SSL
1420 dnl Try pkg-config even when cross-compiling. Since we
1421 dnl specify PKG_CONFIG_LIBDIR we're only looking where
1422 dnl the user told us to look
1423 OPENSSL_PCDIR="$OPT_SSL/lib/pkgconfig"
1424 AC_MSG_NOTICE([PKG_CONFIG_LIBDIR will be set to "$OPENSSL_PCDIR"])
1425 if test -f "$OPENSSL_PCDIR/openssl.pc"; then
1429 dnl in case pkg-config comes up empty, use what we got
1431 LIB_OPENSSL="$PREFIX_OPENSSL/lib$libsuff"
1432 if test "$PREFIX_OPENSSL" != "/usr" ; then
1433 SSL_LDFLAGS="-L$LIB_OPENSSL"
1434 SSL_CPPFLAGS="-I$PREFIX_OPENSSL/include"
1436 SSL_CPPFLAGS="$SSL_CPPFLAGS -I$PREFIX_OPENSSL/include/openssl"
1440 if test "$PKGTEST" = "yes"; then
1442 CURL_CHECK_PKGCONFIG(openssl, [$OPENSSL_PCDIR])
1444 if test "$PKGCONFIG" != "no" ; then
1445 SSL_LIBS=`CURL_EXPORT_PCDIR([$OPENSSL_PCDIR]) dnl
1446 $PKGCONFIG --libs-only-l openssl 2>/dev/null`
1448 SSL_LDFLAGS=`CURL_EXPORT_PCDIR([$OPENSSL_PCDIR]) dnl
1449 $PKGCONFIG --libs-only-L openssl 2>/dev/null`
1451 SSL_CPPFLAGS=`CURL_EXPORT_PCDIR([$OPENSSL_PCDIR]) dnl
1452 $PKGCONFIG --cflags-only-I openssl 2>/dev/null`
1454 AC_MSG_NOTICE([pkg-config: SSL_LIBS: "$SSL_LIBS"])
1455 AC_MSG_NOTICE([pkg-config: SSL_LDFLAGS: "$SSL_LDFLAGS"])
1456 AC_MSG_NOTICE([pkg-config: SSL_CPPFLAGS: "$SSL_CPPFLAGS"])
1458 LIB_OPENSSL=`echo $SSL_LDFLAGS | sed -e 's/-L//g'`
1460 dnl use the values pkg-config reported. This is here
1461 dnl instead of below with CPPFLAGS and LDFLAGS because we only
1462 dnl learn about this via pkg-config. If we only have
1463 dnl the argument to --with-ssl we don't know what
1464 dnl additional libs may be necessary. Hope that we
1466 LIBS="$SSL_LIBS $LIBS"
1470 dnl finally, set flags to use SSL
1471 CPPFLAGS="$CPPFLAGS $SSL_CPPFLAGS"
1472 LDFLAGS="$LDFLAGS $SSL_LDFLAGS"
1474 dnl This is for Msys/Mingw
1476 *-*-msys* | *-*-mingw*)
1477 AC_MSG_CHECKING([for gdi32])
1478 my_ac_save_LIBS=$LIBS
1479 LIBS="-lgdi32 $LIBS"
1480 AC_TRY_LINK([#include <windef.h>
1481 #include <wingdi.h>],
1484 AC_MSG_RESULT([yes])],
1485 [ dnl failed, restore LIBS
1486 LIBS=$my_ac_save_LIBS
1492 AC_CHECK_LIB(crypto, CRYPTO_lock,[
1494 LIBS="-lcrypto $LIBS"
1496 LDFLAGS="$CLEANLDFLAGS -L$LIB_OPENSSL"
1497 CPPFLAGS="$CLEANCPPFLAGS -I$PREFIX_OPENSSL/include/openssl -I$PREFIX_OPENSSL/include"
1498 AC_CHECK_LIB(crypto, CRYPTO_add_lock,[
1500 LIBS="-lcrypto $LIBS"], [
1501 LDFLAGS="$CLEANLDFLAGS"
1502 CPPFLAGS="$CLEANCPPFLAGS"
1508 if test X"$HAVECRYPTO" = X"yes"; then
1509 dnl This is only reasonable to do if crypto actually is there: check for
1510 dnl SSL libs NOTE: it is important to do this AFTER the crypto lib
1512 AC_CHECK_LIB(ssl, SSL_connect)
1514 if test "$ac_cv_lib_ssl_SSL_connect" != yes; then
1515 dnl we didn't find the SSL lib, try the RSAglue/rsaref stuff
1516 AC_MSG_CHECKING(for ssl with RSAglue/rsaref libs in use);
1518 LIBS="-lRSAglue -lrsaref $LIBS"
1519 AC_CHECK_LIB(ssl, SSL_connect)
1520 if test "$ac_cv_lib_ssl_SSL_connect" != yes; then
1521 dnl still no SSL_connect
1530 dnl Have the libraries--check for SSLeay/OpenSSL headers
1531 AC_CHECK_HEADERS(openssl/x509.h openssl/rsa.h openssl/crypto.h \
1532 openssl/pem.h openssl/ssl.h openssl/err.h,
1533 curl_ssl_msg="enabled (OpenSSL)"
1535 AC_DEFINE(USE_OPENSSL, 1, [if OpenSSL is in use]))
1537 if test $ac_cv_header_openssl_x509_h = no; then
1538 dnl we don't use the "action" part of the AC_CHECK_HEADERS macro
1539 dnl since 'err.h' might in fact find a krb4 header with the same
1541 AC_CHECK_HEADERS(x509.h rsa.h crypto.h pem.h ssl.h err.h)
1543 if test $ac_cv_header_x509_h = yes &&
1544 test $ac_cv_header_crypto_h = yes &&
1545 test $ac_cv_header_ssl_h = yes; then
1547 curl_ssl_msg="enabled (OpenSSL)"
1553 if test X"$OPENSSL_ENABLED" = X"1"; then
1554 AC_DEFINE(USE_SSLEAY, 1, [if SSL is enabled])
1556 dnl is there a pkcs12.h header present?
1557 AC_CHECK_HEADERS(openssl/pkcs12.h)
1561 dnl USE_SSLEAY is the historical name for what configure calls
1562 dnl OPENSSL_ENABLED; the names should really be unified
1563 USE_SSLEAY="$OPENSSL_ENABLED"
1564 AC_SUBST(USE_SSLEAY)
1566 if test X"$OPT_SSL" != Xoff &&
1567 test "$OPENSSL_ENABLED" != "1"; then
1568 AC_MSG_ERROR([OpenSSL libs and/or directories were not found where specified!])
1572 if test X"$OPENSSL_ENABLED" = X"1"; then
1573 dnl If the ENGINE library seems to be around, check for the OpenSSL engine
1574 dnl stuff, it is kind of "separated" from the main SSL check
1575 AC_CHECK_FUNC(ENGINE_init,
1577 AC_CHECK_HEADERS(openssl/engine.h)
1578 AC_CHECK_FUNCS( ENGINE_load_builtin_engines )
1581 dnl these can only exist if openssl exists
1582 dnl yassl doesn't have SSL_get_shutdown
1584 AC_CHECK_FUNCS( RAND_status \
1588 CRYPTO_cleanup_all_ex_data \
1590 SSLv2_client_method )
1592 dnl Make an attempt to detect if this is actually yassl's headers and
1593 dnl OpenSSL emulation layer. We still leave everything else believing
1594 dnl and acting like OpenSSL.
1596 AC_MSG_CHECKING([for yaSSL using OpenSSL compatibility mode])
1599 #include <openssl/ssl.h>
1601 #if defined(YASSL_VERSION) && defined(OPENSSL_VERSION_NUMBER)
1602 int dummy = SSL_ERROR_NONE;
1604 Not the yaSSL OpenSSL compatibility header.
1608 AC_MSG_RESULT([yes])
1609 AC_DEFINE_UNQUOTED(USE_YASSLEMUL, 1,
1610 [Define to 1 if using yaSSL in OpenSSL compatibility mode.])
1611 curl_ssl_msg="enabled (OpenSSL emulation by yaSSL)"
1617 if test "$OPENSSL_ENABLED" = "1"; then
1618 if test -n "$LIB_OPENSSL"; then
1619 dnl when the ssl shared libs were found in a path that the run-time
1620 dnl linker doesn't search through, we need to add it to LD_LIBRARY_PATH
1621 dnl to prevent further configure tests to fail due to this
1622 if test "x$cross_compiling" != "xyes"; then
1623 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_OPENSSL"
1624 export LD_LIBRARY_PATH
1625 AC_MSG_NOTICE([Added $LIB_OPENSSL to LD_LIBRARY_PATH])
1628 CURL_CHECK_OPENSSL_API
1633 dnl **********************************************************************
1634 dnl Check for the random seed preferences
1635 dnl **********************************************************************
1637 if test X"$OPENSSL_ENABLED" = X"1"; then
1638 AC_ARG_WITH(egd-socket,
1639 AC_HELP_STRING([--with-egd-socket=FILE],
1640 [Entropy Gathering Daemon socket pathname]),
1641 [ EGD_SOCKET="$withval" ]
1643 if test -n "$EGD_SOCKET" ; then
1644 AC_DEFINE_UNQUOTED(EGD_SOCKET, "$EGD_SOCKET",
1645 [your Entropy Gathering Daemon socket pathname] )
1648 dnl Check for user-specified random device
1650 AC_HELP_STRING([--with-random=FILE],
1651 [read randomness from FILE (default=/dev/urandom)]),
1652 [ RANDOM_FILE="$withval" ],
1654 if test x$cross_compiling != xyes; then
1655 dnl Check for random device
1656 AC_CHECK_FILE("/dev/urandom", [ RANDOM_FILE="/dev/urandom"] )
1658 AC_MSG_WARN([skipped the /dev/urandom detection when cross-compiling])
1662 if test -n "$RANDOM_FILE" && test X"$RANDOM_FILE" != Xno ; then
1663 AC_SUBST(RANDOM_FILE)
1664 AC_DEFINE_UNQUOTED(RANDOM_FILE, "$RANDOM_FILE",
1665 [a suitable file to read random data from])
1670 dnl We require OpenSSL with SRP support.
1672 if test "$OPENSSL_ENABLED" = "1"; then
1673 AC_CHECK_LIB(crypto, SRP_Calc_client_key,
1675 AC_DEFINE(HAVE_SSLEAY_SRP, 1, [if you have the function SRP_Calc_client_key])
1676 AC_SUBST(HAVE_SSLEAY_SRP, [1])
1680 dnl ----------------------------------------------------
1681 dnl check for GnuTLS
1682 dnl ----------------------------------------------------
1684 dnl Default to compiler & linker defaults for GnuTLS files & libraries.
1687 AC_ARG_WITH(gnutls,dnl
1688 AC_HELP_STRING([--with-gnutls=PATH],[where to look for GnuTLS, PATH points to the installation root])
1689 AC_HELP_STRING([--without-gnutls], [disable GnuTLS detection]),
1690 OPT_GNUTLS=$withval)
1692 if test "$curl_ssl_msg" = "$init_ssl_msg"; then
1694 if test X"$OPT_GNUTLS" != Xno; then
1702 if test "x$OPT_GNUTLS" = "xyes"; then
1703 dnl this is with no partiular path given
1704 CURL_CHECK_PKGCONFIG(gnutls)
1706 if test "$PKGCONFIG" != "no" ; then
1707 addlib=`$PKGCONFIG --libs-only-l gnutls`
1708 addld=`$PKGCONFIG --libs-only-L gnutls`
1709 addcflags=`$PKGCONFIG --cflags-only-I gnutls`
1710 version=`$PKGCONFIG --modversion gnutls`
1711 gtlslib=`echo $addld | $SED -e 's/-L//'`
1713 dnl without pkg-config, we try libgnutls-config as that was how it
1715 check=`libgnutls-config --version 2>/dev/null`
1716 if test -n "$check"; then
1717 addlib=`libgnutls-config --libs`
1718 addcflags=`libgnutls-config --cflags`
1719 version=`libgnutls-config --version`
1720 gtlslib=`libgnutls-config --prefix`/lib$libsuff
1724 dnl this is with a given path, first check if there's a libgnutls-config
1725 dnl there and if not, make an educated guess
1726 cfg=$OPT_GNUTLS/bin/libgnutls-config
1727 check=`$cfg --version 2>/dev/null`
1728 if test -n "$check"; then
1729 addlib=`$cfg --libs`
1730 addcflags=`$cfg --cflags`
1731 version=`$cfg --version`
1732 gtlslib=`$cfg --prefix`/lib$libsuff
1734 dnl without pkg-config and libgnutls-config, we guess a lot!
1736 addld=-L$OPT_GNUTLS/lib$libsuff
1737 addcflags=-I$OPT_GNUTLS/include
1738 version="" # we just don't know
1739 gtlslib=$OPT_GNUTLS/lib$libsuff
1743 if test -z "$version"; then
1744 dnl lots of efforts, still no go
1748 if test -n "$addlib"; then
1751 CLEANCPPFLAGS="$CPPFLAGS"
1752 CLEANLDFLAGS="$LDFLAGS"
1754 LIBS="$addlib $LIBS"
1755 LDFLAGS="$LDFLAGS $addld"
1756 if test "$addcflags" != "-I/usr/include"; then
1757 CPPFLAGS="$CPPFLAGS $addcflags"
1760 AC_CHECK_LIB(gnutls, gnutls_check_version,
1762 AC_DEFINE(USE_GNUTLS, 1, [if GnuTLS is enabled])
1763 AC_SUBST(USE_GNUTLS, [1])
1766 curl_ssl_msg="enabled (GnuTLS)"
1770 CPPFLAGS="$CLEANCPPFLAGS"
1773 if test "x$USE_GNUTLS" = "xyes"; then
1774 AC_MSG_NOTICE([detected GnuTLS version $version])
1776 if test -n "$gtlslib"; then
1777 dnl when shared libs were found in a path that the run-time
1778 dnl linker doesn't search through, we need to add it to
1779 dnl LD_LIBRARY_PATH to prevent further configure tests to fail
1781 if test "x$cross_compiling" != "xyes"; then
1782 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$gtlslib"
1783 export LD_LIBRARY_PATH
1784 AC_MSG_NOTICE([Added $gtlslib to LD_LIBRARY_PATH])
1791 fi dnl GNUTLS not disabled
1796 dnl Check which crypto backend GnuTLS uses
1799 if test "$GNUTLS_ENABLED" = "1"; then
1801 # First check if we can detect either crypto library via transitive linking
1802 AC_CHECK_LIB(gnutls, nettle_MD5Init, [ USE_GNUTLS_NETTLE=1 ])
1803 if test "$USE_GNUTLS_NETTLE" = ""; then
1804 AC_CHECK_LIB(gnutls, gcry_control, [ USE_GNUTLS_NETTLE=0 ])
1806 # If not, try linking directly to both of them to see if they are available
1807 if test "$USE_GNUTLS_NETTLE" = ""; then
1808 AC_CHECK_LIB(nettle, nettle_MD5Init, [ USE_GNUTLS_NETTLE=1 ])
1810 if test "$USE_GNUTLS_NETTLE" = ""; then
1811 AC_CHECK_LIB(gcrypt, gcry_control, [ USE_GNUTLS_NETTLE=0 ])
1813 if test "$USE_GNUTLS_NETTLE" = ""; then
1814 AC_MSG_ERROR([GnuTLS found, but neither gcrypt nor nettle found])
1816 if test "$USE_GNUTLS_NETTLE" = "1"; then
1817 AC_DEFINE(USE_GNUTLS_NETTLE, 1, [if GnuTLS uses nettle as crypto backend])
1818 AC_SUBST(USE_GNUTLS_NETTLE, [1])
1819 LIBS="-lnettle $LIBS"
1821 LIBS="-lgcrypt $LIBS"
1826 dnl We require GnuTLS with SRP support.
1828 if test "$GNUTLS_ENABLED" = "1"; then
1829 AC_CHECK_LIB(gnutls, gnutls_srp_verifier,
1831 AC_DEFINE(HAVE_GNUTLS_SRP, 1, [if you have the function gnutls_srp_verifier])
1832 AC_SUBST(HAVE_GNUTLS_SRP, [1])
1836 dnl ----------------------------------------------------
1837 dnl check for PolarSSL
1838 dnl ----------------------------------------------------
1840 dnl Default to compiler & linker defaults for PolarSSL files & libraries.
1845 AC_ARG_WITH(polarssl,dnl
1846 AC_HELP_STRING([--with-polarssl=PATH],[where to look for PolarSSL, PATH points to the installation root])
1847 AC_HELP_STRING([--without-polarssl], [disable PolarSSL detection]),
1848 OPT_POLARSSL=$withval)
1850 if test "$curl_ssl_msg" = "$init_ssl_msg"; then
1852 if test X"$OPT_POLARSSL" != Xno; then
1854 if test "$OPT_POLARSSL" = "yes"; then
1858 if test -z "$OPT_POLARSSL" ; then
1859 dnl check for lib first without setting any new path
1861 AC_CHECK_LIB(polarssl, havege_init,
1862 dnl libpolarssl found, set the variable
1864 AC_DEFINE(USE_POLARSSL, 1, [if PolarSSL is enabled])
1865 AC_SUBST(USE_POLARSSL, [1])
1868 curl_ssl_msg="enabled (PolarSSL)"
1877 if test "x$USE_POLARSSL" != "xyes"; then
1878 dnl add the path and test again
1879 addld=-L$OPT_POLARSSL/lib$libsuff
1880 addcflags=-I$OPT_POLARSSL/include
1881 polarssllib=$OPT_POLARSSL/lib$libsuff
1883 LDFLAGS="$LDFLAGS $addld"
1884 if test "$addcflags" != "-I/usr/include"; then
1885 CPPFLAGS="$CPPFLAGS $addcflags"
1888 AC_CHECK_LIB(polarssl, ssl_init,
1890 AC_DEFINE(USE_POLARSSL, 1, [if PolarSSL is enabled])
1891 AC_SUBST(USE_POLARSSL, [1])
1894 curl_ssl_msg="enabled (PolarSSL)"
1902 if test "x$USE_POLARSSL" = "xyes"; then
1903 AC_MSG_NOTICE([detected PolarSSL])
1905 LIBS="-lpolarssl $LIBS"
1907 if test -n "$polarssllib"; then
1908 dnl when shared libs were found in a path that the run-time
1909 dnl linker doesn't search through, we need to add it to
1910 dnl LD_LIBRARY_PATH to prevent further configure tests to fail
1912 if test "x$cross_compiling" != "xyes"; then
1913 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$polarssllib"
1914 export LD_LIBRARY_PATH
1915 AC_MSG_NOTICE([Added $polarssllib to LD_LIBRARY_PATH])
1920 fi dnl PolarSSL not disabled
1924 dnl ----------------------------------------------------
1925 dnl check for CyaSSL
1926 dnl ----------------------------------------------------
1928 dnl Default to compiler & linker defaults for CyaSSL files & libraries.
1933 AC_ARG_WITH(cyassl,dnl
1934 AC_HELP_STRING([--with-cyassl=PATH],[where to look for CyaSSL, PATH points to the installation root (default: system lib default)])
1935 AC_HELP_STRING([--without-cyassl], [disable CyaSSL detection]),
1936 OPT_CYASSL=$withval)
1938 if test "$curl_ssl_msg" = "$init_ssl_msg"; then
1940 if test X"$OPT_CYASSL" != Xno; then
1942 if test "$OPT_CYASSL" = "yes"; then
1946 if test -z "$OPT_CYASSL" ; then
1947 dnl check for lib in system default first
1949 AC_CHECK_LIB(cyassl, CyaSSL_Init,
1950 dnl libcyassl found, set the variable
1952 AC_DEFINE(USE_CYASSL, 1, [if CyaSSL is enabled])
1953 AC_SUBST(USE_CYASSL, [1])
1956 curl_ssl_msg="enabled (CyaSSL)"
1965 if test "x$USE_CYASSL" != "xyes"; then
1966 dnl add the path and test again
1967 addld=-L$OPT_CYASSL/lib$libsuff
1968 addcflags=-I$OPT_CYASSL/include
1969 cyassllib=$OPT_CYASSL/lib$libsuff
1971 LDFLAGS="$LDFLAGS $addld"
1972 if test "$addcflags" != "-I/usr/include"; then
1973 CPPFLAGS="$CPPFLAGS $addcflags"
1976 AC_CHECK_LIB(cyassl, CyaSSL_Init,
1978 AC_DEFINE(USE_CYASSL, 1, [if CyaSSL is enabled])
1979 AC_SUBST(USE_CYASSL, [1])
1982 curl_ssl_msg="enabled (CyaSSL)"
1990 if test "x$USE_CYASSL" = "xyes"; then
1991 AC_MSG_NOTICE([detected CyaSSL])
1993 dnl cyassl/ctaocrypt/types.h needs SIZEOF_LONG_LONG defined!
1994 AC_CHECK_SIZEOF(long long)
1996 dnl Versions since at least 2.9.4 renamed error.h to error-ssl.h
1997 AC_CHECK_HEADERS(cyassl/error-ssl.h)
1999 LIBS="-lcyassl -lm $LIBS"
2001 if test -n "$cyassllib"; then
2002 dnl when shared libs were found in a path that the run-time
2003 dnl linker doesn't search through, we need to add it to
2004 dnl LD_LIBRARY_PATH to prevent further configure tests to fail
2006 if test "x$cross_compiling" != "xyes"; then
2007 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$cyassllib"
2008 export LD_LIBRARY_PATH
2009 AC_MSG_NOTICE([Added $cyassllib to LD_LIBRARY_PATH])
2015 fi dnl CyaSSL not disabled
2019 dnl ----------------------------------------------------
2020 dnl NSS. Only check if GnuTLS and OpenSSL are not enabled
2021 dnl ----------------------------------------------------
2023 dnl Default to compiler & linker defaults for NSS files & libraries.
2027 AC_HELP_STRING([--with-nss=PATH],[where to look for NSS, PATH points to the installation root])
2028 AC_HELP_STRING([--without-nss], [disable NSS detection]),
2031 if test "$curl_ssl_msg" = "$init_ssl_msg"; then
2033 if test X"$OPT_NSS" != Xno; then
2041 if test "x$OPT_NSS" = "xyes"; then
2043 CURL_CHECK_PKGCONFIG(nss)
2045 if test "$PKGCONFIG" != "no" ; then
2046 addlib=`$PKGCONFIG --libs nss`
2047 addcflags=`$PKGCONFIG --cflags nss`
2048 version=`$PKGCONFIG --modversion nss`
2049 nssprefix=`$PKGCONFIG --variable=prefix nss`
2051 dnl Without pkg-config, we check for nss-config
2053 check=`nss-config --version 2>/dev/null`
2054 if test -n "$check"; then
2055 addlib=`nss-config --libs`
2056 addcflags=`nss-config --cflags`
2057 version=`nss-config --version`
2058 nssprefix=`nss-config --prefix`
2066 # Without pkg-config, we'll kludge in some defaults
2067 addlib="-L$OPT_NSS/lib -lssl3 -lsmime3 -lnss3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl"
2068 addcflags="-I$OPT_NSS/include"
2073 if test -n "$addlib"; then
2076 CLEANCPPFLAGS="$CPPFLAGS"
2078 LIBS="$addlib $LIBS"
2079 if test "$addcflags" != "-I/usr/include"; then
2080 CPPFLAGS="$CPPFLAGS $addcflags"
2083 dnl The function SSL_VersionRangeSet() is needed to enable TLS > 1.0
2084 AC_CHECK_LIB(nss3, SSL_VersionRangeSet,
2086 AC_DEFINE(USE_NSS, 1, [if NSS is enabled])
2087 AC_SUBST(USE_NSS, [1])
2090 curl_ssl_msg="enabled (NSS)"
2094 CPPFLAGS="$CLEANCPPFLAGS"
2097 if test "x$USE_NSS" = "xyes"; then
2098 AC_MSG_NOTICE([detected NSS version $version])
2100 dnl needed when linking the curl tool without USE_EXPLICIT_LIB_DEPS
2102 AC_SUBST([NSS_LIBS])
2104 dnl when shared libs were found in a path that the run-time
2105 dnl linker doesn't search through, we need to add it to
2106 dnl LD_LIBRARY_PATH to prevent further configure tests to fail
2108 if test "x$cross_compiling" != "xyes"; then
2109 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$nssprefix/lib$libsuff"
2110 export LD_LIBRARY_PATH
2111 AC_MSG_NOTICE([Added $nssprefix/lib$libsuff to LD_LIBRARY_PATH])
2117 fi dnl NSS not disabled
2119 fi dnl curl_ssl_msg = init_ssl_msg
2123 AC_ARG_WITH(axtls,dnl
2124 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.])
2125 AC_HELP_STRING([--without-axtls], [disable axTLS]),
2128 if test "$curl_ssl_msg" = "$init_ssl_msg"; then
2129 if test X"$OPT_AXTLS" != Xno; then
2130 dnl backup the pre-axtls variables
2131 CLEANLDFLAGS="$LDFLAGS"
2132 CLEANCPPFLAGS="$CPPFLAGS"
2135 case "$OPT_AXTLS" in
2137 dnl --with-axtls (without path) used
2138 PREFIX_AXTLS=/usr/local
2139 LIB_AXTLS="$PREFIX_AXTLS/lib"
2140 LDFLAGS="$LDFLAGS -L$LIB_AXTLS"
2141 CPPFLAGS="$CPPFLAGS -I$PREFIX_AXTLS/include"
2144 dnl no --with-axtls option given, just check default places
2148 dnl check the given --with-axtls spot
2149 PREFIX_AXTLS=$OPT_AXTLS
2150 LIB_AXTLS="$PREFIX_AXTLS/lib"
2151 LDFLAGS="$LDFLAGS -L$LIB_AXTLS"
2152 CPPFLAGS="$CPPFLAGS -I$PREFIX_AXTLS/include"
2156 AC_CHECK_LIB(axtls, ssl_version,[
2157 LIBS="-laxtls $LIBS"
2158 AC_DEFINE(USE_AXTLS, 1, [if axTLS is enabled])
2159 AC_SUBST(USE_AXTLS, [1])
2162 curl_ssl_msg="enabled (axTLS)"
2164 if test "x$cross_compiling" != "xyes"; then
2165 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_AXTLS"
2166 export LD_LIBRARY_PATH
2167 AC_MSG_NOTICE([Added $LIB_AXTLS to LD_LIBRARY_PATH])
2170 LDFLAGS="$CLEANLDFLAGS"
2171 CPPFLAGS="$CLEANCPPFLAGS"
2177 if test "x$OPENSSL_ENABLED$GNUTLS_ENABLED$NSS_ENABLED$POLARSSL_ENABLED$AXTLS_ENABLED$CYASSL_ENABLED$WINSSL_ENABLED$DARWINSSL_ENABLED" = "x"; then
2178 AC_MSG_WARN([SSL disabled, you will not be able to use HTTPS, FTPS, NTLM and more.])
2179 AC_MSG_WARN([Use --with-ssl, --with-gnutls, --with-polarssl, --with-cyassl, --with-nss, --with-axtls, --with-winssl, or --with-darwinssl to address this.])
2181 # SSL is enabled, genericly
2182 AC_SUBST(SSL_ENABLED)
2186 dnl **********************************************************************
2187 dnl Check for the CA bundle
2188 dnl **********************************************************************
2190 CURL_CHECK_CA_BUNDLE
2192 dnl **********************************************************************
2193 dnl Check for libmetalink
2194 dnl **********************************************************************
2198 AC_ARG_WITH(libmetalink,dnl
2199 AC_HELP_STRING([--with-libmetalink=PATH],[where to look for libmetalink, PATH points to the installation root])
2200 AC_HELP_STRING([--without-libmetalink], [disable libmetalink detection]),
2201 OPT_LIBMETALINK=$withval)
2203 if test X"$OPT_LIBMETALINK" != Xno; then
2212 if test "x$OPT_LIBMETALINK" = "xyes"; then
2213 dnl this is with no partiular path given
2215 CURL_CHECK_PKGCONFIG(libmetalink)
2217 dnl When particular path is given, set PKG_CONFIG_LIBDIR using the path.
2218 LIBMETALINK_PCDIR="$OPT_LIBMETALINK/lib/pkgconfig"
2219 AC_MSG_NOTICE([PKG_CONFIG_LIBDIR will be set to "$LIBMETALINK_PCDIR"])
2220 if test -f "$LIBMETALINK_PCDIR/libmetalink.pc"; then
2223 if test "$PKGTEST" = "yes"; then
2224 CURL_CHECK_PKGCONFIG(libmetalink, [$LIBMETALINK_PCDIR])
2227 if test "$PKGTEST" = "yes" && test "$PKGCONFIG" != "no"; then
2228 addlib=`CURL_EXPORT_PCDIR([$LIBMETALINK_PCDIR]) dnl
2229 $PKGCONFIG --libs-only-l libmetalink`
2230 addld=`CURL_EXPORT_PCDIR([$LIBMETALINK_PCDIR]) dnl
2231 $PKGCONFIG --libs-only-L libmetalink`
2232 addcflags=`CURL_EXPORT_PCDIR([$LIBMETALINK_PCDIR]) dnl
2233 $PKGCONFIG --cflags-only-I libmetalink`
2234 version=`CURL_EXPORT_PCDIR([$LIBMETALINK_PCDIR]) dnl
2235 $PKGCONFIG --modversion libmetalink`
2236 libmetalinklib=`echo $addld | $SED -e 's/-L//'`
2238 if test -n "$addlib"; then
2240 clean_CPPFLAGS="$CPPFLAGS"
2241 clean_LDFLAGS="$LDFLAGS"
2243 CPPFLAGS="$addcflags $clean_CPPFLAGS"
2244 LDFLAGS="$addld $clean_LDFLAGS"
2245 LIBS="$addlib $clean_LIBS"
2246 AC_MSG_CHECKING([if libmetalink is recent enough])
2249 # include <metalink/metalink.h>
2251 if(0 != metalink_strerror(0)) /* added in 0.1.0 */
2255 AC_MSG_RESULT([yes ($version)])
2258 AC_MSG_RESULT([no ($version)])
2259 AC_MSG_NOTICE([libmetalink library defective or too old])
2262 CPPFLAGS="$clean_CPPFLAGS"
2263 LDFLAGS="$clean_LDFLAGS"
2265 if test "$want_metalink" = "yes"; then
2266 dnl finally libmetalink will be used
2267 AC_DEFINE(USE_METALINK, 1, [Define to enable metalink support])
2268 LIBMETALINK_LIBS=$addlib
2269 LIBMETALINK_LDFLAGS=$addld
2270 LIBMETALINK_CPPFLAGS=$addcflags
2271 AC_SUBST([LIBMETALINK_LIBS])
2272 AC_SUBST([LIBMETALINK_LDFLAGS])
2273 AC_SUBST([LIBMETALINK_CPPFLAGS])
2274 curl_mtlnk_msg="enabled"
2280 dnl **********************************************************************
2281 dnl Check for the presence of LIBSSH2 libraries and headers
2282 dnl **********************************************************************
2284 dnl Default to compiler & linker defaults for LIBSSH2 files & libraries.
2286 AC_ARG_WITH(libssh2,dnl
2287 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])
2288 AC_HELP_STRING([--without-libssh2], [disable LIBSSH2]),
2289 OPT_LIBSSH2=$withval)
2291 if test X"$OPT_LIBSSH2" != Xno; then
2292 dnl backup the pre-libssh2 variables
2293 CLEANLDFLAGS="$LDFLAGS"
2294 CLEANCPPFLAGS="$CPPFLAGS"
2297 case "$OPT_LIBSSH2" in
2299 dnl --with-libssh2 (without path) used
2300 CURL_CHECK_PKGCONFIG(libssh2)
2302 if test "$PKGCONFIG" != "no" ; then
2303 LIB_SSH2=`$PKGCONFIG --libs-only-l libssh2`
2304 LD_SSH2=`$PKGCONFIG --libs-only-L libssh2`
2305 CPP_SSH2=`$PKGCONFIG --cflags-only-I libssh2`
2306 version=`$PKGCONFIG --modversion libssh2`
2307 DIR_SSH2=`echo $LD_SSH2 | $SED -e 's/-L//'`
2312 dnl no --with-libssh2 option given, just check default places
2315 dnl use the given --with-libssh2 spot
2316 PREFIX_SSH2=$OPT_LIBSSH2
2320 dnl if given with a prefix, we set -L and -I based on that
2321 if test -n "$PREFIX_SSH2"; then
2323 LD_SSH2=-L${PREFIX_SSH2}/lib$libsuff
2324 CPP_SSH2=-I${PREFIX_SSH2}/include
2325 DIR_SSH2=${PREFIX_SSH2}/lib$libsuff
2328 LDFLAGS="$LDFLAGS $LD_SSH2"
2329 CPPFLAGS="$CPPFLAGS $CPP_SSH2"
2330 LIBS="$LIB_SSH2 $LIBS"
2332 AC_CHECK_LIB(ssh2, libssh2_channel_open_ex)
2334 AC_CHECK_HEADERS(libssh2.h,
2335 curl_ssh_msg="enabled (libSSH2)"
2337 AC_DEFINE(USE_LIBSSH2, 1, [if libSSH2 is in use])
2338 AC_SUBST(USE_LIBSSH2, [1])
2341 if test X"$OPT_LIBSSH2" != Xoff &&
2342 test "$LIBSSH2_ENABLED" != "1"; then
2343 AC_MSG_ERROR([libSSH2 libs and/or directories were not found where specified!])
2346 if test "$LIBSSH2_ENABLED" = "1"; then
2347 if test -n "$DIR_SSH2"; then
2348 dnl when the libssh2 shared libs were found in a path that the run-time
2349 dnl linker doesn't search through, we need to add it to LD_LIBRARY_PATH
2350 dnl to prevent further configure tests to fail due to this
2352 if test "x$cross_compiling" != "xyes"; then
2353 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DIR_SSH2"
2354 export LD_LIBRARY_PATH
2355 AC_MSG_NOTICE([Added $DIR_SSH2 to LD_LIBRARY_PATH])
2359 dnl no libssh2, revert back to clean variables
2360 LDFLAGS=$CLEANLDFLAGS
2361 CPPFLAGS=$CLEANCPPFLAGS
2366 dnl **********************************************************************
2367 dnl Check for the presence of LIBRTMP libraries and headers
2368 dnl **********************************************************************
2370 dnl Default to compiler & linker defaults for LIBRTMP files & libraries.
2372 AC_ARG_WITH(librtmp,dnl
2373 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])
2374 AC_HELP_STRING([--without-librtmp], [disable LIBRTMP]),
2375 OPT_LIBRTMP=$withval)
2377 if test X"$OPT_LIBRTMP" != Xno; then
2378 dnl backup the pre-librtmp variables
2379 CLEANLDFLAGS="$LDFLAGS"
2380 CLEANCPPFLAGS="$CPPFLAGS"
2383 case "$OPT_LIBRTMP" in
2385 dnl --with-librtmp (without path) used
2386 CURL_CHECK_PKGCONFIG(librtmp)
2388 if test "$PKGCONFIG" != "no" ; then
2389 LIB_RTMP=`$PKGCONFIG --libs-only-l librtmp`
2390 LD_RTMP=`$PKGCONFIG --libs-only-L librtmp`
2391 CPP_RTMP=`$PKGCONFIG --cflags-only-I librtmp`
2392 version=`$PKGCONFIG --modversion librtmp`
2393 DIR_RTMP=`echo $LD_RTMP | $SED -e 's/-L//'`
2395 dnl To avoid link errors, we do not allow --librtmp without
2396 dnl a pkgconfig file
2397 AC_MSG_ERROR([--librtmp was specified but could not find librtmp pkgconfig file.])
2402 dnl no --with-librtmp option given, just check default places
2406 dnl use the given --with-librtmp spot
2407 PREFIX_RTMP=$OPT_LIBRTMP
2411 dnl if given with a prefix, we set -L and -I based on that
2412 if test -n "$PREFIX_RTMP"; then
2413 LD_RTMP=-L${PREFIX_RTMP}/lib$libsuff
2414 CPP_RTMP=-I${PREFIX_RTMP}/include
2415 DIR_RTMP=${PREFIX_RTMP}/lib$libsuff
2418 LDFLAGS="$LDFLAGS $LD_RTMP"
2419 CPPFLAGS="$CPPFLAGS $CPP_RTMP"
2420 LIBS="$LIB_RTMP $LIBS"
2422 AC_CHECK_LIB(rtmp, RTMP_Init,
2424 AC_CHECK_HEADERS(librtmp/rtmp.h,
2425 curl_rtmp_msg="enabled (librtmp)"
2427 AC_DEFINE(USE_LIBRTMP, 1, [if librtmp is in use])
2428 AC_SUBST(USE_LIBRTMP, [1])
2431 dnl not found, revert back to clean variables
2432 LDFLAGS=$CLEANLDFLAGS
2433 CPPFLAGS=$CLEANCPPFLAGS
2437 if test X"$OPT_LIBRTMP" != Xoff &&
2438 test "$LIBRTMP_ENABLED" != "1"; then
2439 AC_MSG_ERROR([librtmp libs and/or directories were not found where specified!])
2444 dnl **********************************************************************
2445 dnl Check for linker switch for versioned symbols
2446 dnl **********************************************************************
2448 versioned_symbols_flavour=
2449 AC_MSG_CHECKING([whether versioned symbols are wanted])
2450 AC_ARG_ENABLE(versioned-symbols,
2451 AC_HELP_STRING([--enable-versioned-symbols], [Enable versioned symbols in shared library])
2452 AC_HELP_STRING([--disable-versioned-symbols], [Disable versioned symbols in shared library]),
2453 [ case "$enableval" in
2454 yes) AC_MSG_RESULT(yes)
2455 AC_MSG_CHECKING([if libraries can be versioned])
2456 GLD=`$LD --help < /dev/null 2>/dev/null | grep version-script`
2457 if test -z "$GLD"; then
2459 AC_MSG_WARN([You need an ld version supporting the --version-script option])
2462 if test "x$OPENSSL_ENABLED" = "x1"; then
2463 versioned_symbols_flavour="OPENSSL_"
2464 elif test "x$GNUTLS_ENABLED" = "x1"; then
2465 versioned_symbols_flavour="GNUTLS_"
2466 elif test "x$NSS_ENABLED" = "x1"; then
2467 versioned_symbols_flavour="NSS_"
2468 elif test "x$POLARSSL_ENABLED" = "x1"; then
2469 versioned_symbols_flavour="POLARSSL_"
2470 elif test "x$CYASSL_ENABLED" = "x1"; then
2471 versioned_symbols_flavour="CYASSL_"
2472 elif test "x$AXTLS_ENABLED" = "x1"; then
2473 versioned_symbols_flavour="AXTLS_"
2474 elif test "x$WINSSL_ENABLED" = "x1"; then
2475 versioned_symbols_flavour="WINSSL_"
2476 elif test "x$DARWINSSL_ENABLED" = "x1"; then
2477 versioned_symbols_flavour="DARWINSSL_"
2479 versioned_symbols_flavour=""
2481 versioned_symbols="yes"
2485 *) AC_MSG_RESULT(no)
2493 AC_SUBST([CURL_LT_SHLIB_VERSIONED_FLAVOUR],
2494 ["$versioned_symbols_flavour"])
2495 AM_CONDITIONAL([CURL_LT_SHLIB_USE_VERSIONED_SYMBOLS],
2496 [test "x$versioned_symbols" = 'xyes'])
2498 dnl -------------------------------------------------
2499 dnl check winidn option before other IDN libraries
2500 dnl -------------------------------------------------
2502 AC_MSG_CHECKING([whether to enable Windows native IDN (Windows native builds only)])
2503 OPT_WINIDN="default"
2505 AC_HELP_STRING([--with-winidn=PATH],[enable Windows native IDN])
2506 AC_HELP_STRING([--without-winidn], [disable Windows native IDN]),
2507 OPT_WINIDN=$withval)
2508 case "$OPT_WINIDN" in
2510 dnl --without-winidn option used or configure option not specified
2515 dnl --with-winidn option used without path
2517 want_winidn_path="default"
2518 AC_MSG_RESULT([yes])
2521 dnl --with-winidn option used with path
2523 want_winidn_path="$withval"
2524 AC_MSG_RESULT([yes ($withval)])
2528 if test "$want_winidn" = "yes"; then
2529 dnl winidn library support has been requested
2530 clean_CPPFLAGS="$CPPFLAGS"
2531 clean_LDFLAGS="$LDFLAGS"
2533 WINIDN_LIBS="-lnormaliz"
2535 if test "$want_winidn_path" != "default"; then
2536 dnl path has been specified
2537 dnl pkg-config not available or provides no info
2538 WINIDN_LDFLAGS="-L$want_winidn_path/lib$libsuff"
2539 WINIDN_CPPFLAGS="-I$want_winidn_path/include"
2540 WINIDN_DIR="$want_winidn_path/lib$libsuff"
2543 CPPFLAGS="$WINIDN_CPPFLAGS $CPPFLAGS"
2544 LDFLAGS="$WINIDN_LDFLAGS $LDFLAGS"
2545 LIBS="$WINIDN_LIBS $LIBS"
2547 AC_MSG_CHECKING([if IdnToUnicode can be linked])
2549 AC_LANG_FUNC_LINK_TRY([IdnToUnicode])
2551 AC_MSG_RESULT([yes])
2552 tst_links_winidn="yes"
2555 tst_links_winidn="no"
2558 if test "$tst_links_winidn" = "yes"; then
2559 AC_DEFINE(USE_WIN32_IDN, 1, [Define to 1 if you have the `normaliz' (WinIDN) library (-lnormaliz).])
2560 AC_DEFINE(WANT_IDN_PROTOTYPES, 1, [Define to 1 to provide own prototypes.])
2561 AC_SUBST([IDN_ENABLED], [1])
2562 curl_idn_msg="enabled (Windows-native)"
2564 AC_MSG_WARN([Cannot find libraries for IDN support: IDN disabled])
2565 CPPFLAGS="$clean_CPPFLAGS"
2566 LDFLAGS="$clean_LDFLAGS"
2571 dnl **********************************************************************
2572 dnl Check for the presence of IDN libraries and headers
2573 dnl **********************************************************************
2575 AC_MSG_CHECKING([whether to build with libidn])
2578 AC_HELP_STRING([--with-libidn=PATH],[Enable libidn usage])
2579 AC_HELP_STRING([--without-libidn],[Disable libidn usage]),
2583 dnl --without-libidn option used
2588 dnl configure option not specified
2590 want_idn_path="default"
2591 AC_MSG_RESULT([(assumed) yes])
2594 dnl --with-libidn option used without path
2596 want_idn_path="default"
2597 AC_MSG_RESULT([yes])
2600 dnl --with-libidn option used with path
2602 want_idn_path="$withval"
2603 AC_MSG_RESULT([yes ($withval)])
2607 if test "$want_idn" = "yes"; then
2608 dnl idn library support has been requested
2609 clean_CPPFLAGS="$CPPFLAGS"
2610 clean_LDFLAGS="$LDFLAGS"
2614 if test "$want_idn_path" != "default"; then
2615 dnl path has been specified
2616 IDN_PCDIR="$want_idn_path/lib$libsuff/pkgconfig"
2617 CURL_CHECK_PKGCONFIG(libidn, [$IDN_PCDIR])
2618 if test "$PKGCONFIG" != "no"; then
2619 IDN_LIBS=`CURL_EXPORT_PCDIR([$IDN_PCDIR]) dnl
2620 $PKGCONFIG --libs-only-l libidn 2>/dev/null`
2621 IDN_LDFLAGS=`CURL_EXPORT_PCDIR([$IDN_PCDIR]) dnl
2622 $PKGCONFIG --libs-only-L libidn 2>/dev/null`
2623 IDN_CPPFLAGS=`CURL_EXPORT_PCDIR([$IDN_PCDIR]) dnl
2624 $PKGCONFIG --cflags-only-I libidn 2>/dev/null`
2625 IDN_DIR=`echo $IDN_LDFLAGS | $SED -e 's/-L//'`
2627 dnl pkg-config not available or provides no info
2629 IDN_LDFLAGS="-L$want_idn_path/lib$libsuff"
2630 IDN_CPPFLAGS="-I$want_idn_path/include"
2631 IDN_DIR="$want_idn_path/lib$libsuff"
2634 dnl path not specified
2635 CURL_CHECK_PKGCONFIG(libidn)
2636 if test "$PKGCONFIG" != "no"; then
2637 IDN_LIBS=`$PKGCONFIG --libs-only-l libidn 2>/dev/null`
2638 IDN_LDFLAGS=`$PKGCONFIG --libs-only-L libidn 2>/dev/null`
2639 IDN_CPPFLAGS=`$PKGCONFIG --cflags-only-I libidn 2>/dev/null`
2640 IDN_DIR=`echo $IDN_LDFLAGS | $SED -e 's/-L//'`
2642 dnl pkg-config not available or provides no info
2647 if test "$PKGCONFIG" != "no"; then
2648 AC_MSG_NOTICE([pkg-config: IDN_LIBS: "$IDN_LIBS"])
2649 AC_MSG_NOTICE([pkg-config: IDN_LDFLAGS: "$IDN_LDFLAGS"])
2650 AC_MSG_NOTICE([pkg-config: IDN_CPPFLAGS: "$IDN_CPPFLAGS"])
2651 AC_MSG_NOTICE([pkg-config: IDN_DIR: "$IDN_DIR"])
2653 AC_MSG_NOTICE([IDN_LIBS: "$IDN_LIBS"])
2654 AC_MSG_NOTICE([IDN_LDFLAGS: "$IDN_LDFLAGS"])
2655 AC_MSG_NOTICE([IDN_CPPFLAGS: "$IDN_CPPFLAGS"])
2656 AC_MSG_NOTICE([IDN_DIR: "$IDN_DIR"])
2659 CPPFLAGS="$IDN_CPPFLAGS $CPPFLAGS"
2660 LDFLAGS="$IDN_LDFLAGS $LDFLAGS"
2661 LIBS="$IDN_LIBS $LIBS"
2663 AC_MSG_CHECKING([if idna_to_ascii_4i can be linked])
2665 AC_LANG_FUNC_LINK_TRY([idna_to_ascii_4i])
2667 AC_MSG_RESULT([yes])
2668 tst_links_libidn="yes"
2671 tst_links_libidn="no"
2673 if test "$tst_links_libidn" = "no"; then
2674 AC_MSG_CHECKING([if idna_to_ascii_lz can be linked])
2676 AC_LANG_FUNC_LINK_TRY([idna_to_ascii_lz])
2678 AC_MSG_RESULT([yes])
2679 tst_links_libidn="yes"
2682 tst_links_libidn="no"
2686 if test "$tst_links_libidn" = "yes"; then
2687 AC_DEFINE(HAVE_LIBIDN, 1, [Define to 1 if you have the `idn' library (-lidn).])
2688 dnl different versions of libidn have different setups of these:
2689 AC_CHECK_FUNCS( idn_free idna_strerror tld_strerror )
2690 AC_CHECK_HEADERS( idn-free.h tld.h )
2691 if test "x$ac_cv_header_tld_h" = "xyes"; then
2692 AC_SUBST([IDN_ENABLED], [1])
2693 curl_idn_msg="enabled"
2694 if test -n "$IDN_DIR" -a "x$cross_compiling" != "xyes"; then
2695 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$IDN_DIR"
2696 export LD_LIBRARY_PATH
2697 AC_MSG_NOTICE([Added $IDN_DIR to LD_LIBRARY_PATH])
2700 AC_MSG_WARN([Libraries for IDN support too old: IDN disabled])
2701 CPPFLAGS="$clean_CPPFLAGS"
2702 LDFLAGS="$clean_LDFLAGS"
2706 AC_MSG_WARN([Cannot find libraries for IDN support: IDN disabled])
2707 CPPFLAGS="$clean_CPPFLAGS"
2708 LDFLAGS="$clean_LDFLAGS"
2714 dnl Let's hope this split URL remains working:
2715 dnl http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixprggd/ \
2716 dnl genprogc/thread_quick_ref.htm
2719 dnl **********************************************************************
2720 dnl Check for nghttp2
2721 dnl **********************************************************************
2724 AC_ARG_WITH(nghttp2,
2725 AC_HELP_STRING([--with-nghttp2=PATH],[Enable nghttp2 usage])
2726 AC_HELP_STRING([--without-nghttp2],[Disable nghttp2 usage]),
2730 dnl --without-nghttp2 option used
2734 dnl --with-nghttp2 option used without path
2739 dnl --with-nghttp2 option used with path
2741 want_h2_path="$withval/lib/pkgconfig"
2745 curl_h2_msg="disabled (--with-nghttp2)"
2746 if test X"$want_h2" != Xno; then
2747 dnl backup the pre-nghttp2 variables
2748 CLEANLDFLAGS="$LDFLAGS"
2749 CLEANCPPFLAGS="$CPPFLAGS"
2752 CURL_CHECK_PKGCONFIG(libnghttp2, $want_h2_path)
2754 if test "$PKGCONFIG" != "no" ; then
2755 LIB_H2=`CURL_EXPORT_PCDIR([$want_h2_path])
2756 $PKGCONFIG --libs-only-l libnghttp2`
2757 AC_MSG_NOTICE([-l is $LIB_H2])
2759 CPP_H2=`CURL_EXPORT_PCDIR([$want_h2_path]) dnl
2760 $PKGCONFIG --cflags-only-I libnghttp2`
2761 AC_MSG_NOTICE([-I is $CPP_H2])
2763 LD_H2=`CURL_EXPORT_PCDIR([$want_h2_path])
2764 $PKGCONFIG --libs-only-L libnghttp2`
2765 AC_MSG_NOTICE([-L is $LD_H2])
2767 LDFLAGS="$LDFLAGS $LD_H2"
2768 CPPFLAGS="$CPPFLAGS $CPP_H2"
2769 LIBS="$LIB_H2 $LIBS"
2771 AC_CHECK_LIB(nghttp2, nghttp2_session_callbacks_set_send_callback,
2773 AC_CHECK_HEADERS(nghttp2/nghttp2.h,
2774 curl_h2_msg="enabled (nghttp2)"
2776 AC_DEFINE(USE_NGHTTP2, 1, [if nghttp2 is in use])
2777 AC_SUBST(USE_NGHTTP2, [1])
2780 dnl not found, revert back to clean variables
2781 LDFLAGS=$CLEANLDFLAGS
2782 CPPFLAGS=$CLEANCPPFLAGS
2787 dnl no nghttp2 pkg-config found, deal with it
2788 if test X"$want_h2" != Xdefault; then
2789 dnl To avoid link errors, we do not allow --with-nghttp2 without
2790 dnl a pkgconfig file
2791 AC_MSG_ERROR([--with-nghttp2 was specified but could not find libnghttp2 pkg-config file.])
2797 dnl **********************************************************************
2798 dnl Back to "normal" configuring
2799 dnl **********************************************************************
2801 dnl Checks for header files.
2804 CURL_CHECK_HEADER_MALLOC
2805 CURL_CHECK_HEADER_MEMORY
2807 dnl Now check for the very most basic headers. Then we can use these
2808 dnl ones as default-headers when checking for the rest!
2851 dnl to do if not found
2855 dnl default includes
2857 #ifdef HAVE_SYS_TYPES_H
2858 #include <sys/types.h>
2860 #ifdef HAVE_SYS_TIME_H
2861 #include <sys/time.h>
2863 #ifdef HAVE_SYS_SELECT_H
2864 #include <sys/select.h>
2866 #ifdef HAVE_SYS_SOCKET_H
2867 #include <sys/socket.h>
2869 #ifdef HAVE_NETINET_IN_H
2870 #include <netinet/in.h>
2872 #ifdef HAVE_SYS_UN_H
2878 dnl Checks for typedefs, structures, and compiler characteristics.
2880 CURL_CHECK_VARIADIC_MACROS
2883 CURL_CHECK_STRUCT_TIMEVAL
2884 CURL_VERIFY_RUNTIMELIBS
2886 AC_CHECK_SIZEOF(size_t)
2887 AC_CHECK_SIZEOF(long)
2888 AC_CHECK_SIZEOF(int)
2889 AC_CHECK_SIZEOF(short)
2891 AC_CHECK_SIZEOF(time_t)
2892 AC_CHECK_SIZEOF(off_t)
2895 if test x"$ac_cv_native_windows" != "xyes" &&
2896 test $ac_cv_sizeof_off_t -ne $curl_sizeof_curl_off_t; then
2897 AC_MSG_WARN([This libcurl built is probably not ABI compatible with previous])
2898 AC_MSG_WARN([builds! You MUST read lib/README.curl_off_t to figure it out.])
2903 AC_CHECK_TYPE(long long,
2904 [AC_DEFINE(HAVE_LONGLONG, 1,
2905 [Define to 1 if the compiler supports the 'long long' data type.])]
2909 if test "xyes" = "x$longlong"; then
2910 AC_MSG_CHECKING([if numberLL works])
2914 long long val = 1000LL;
2917 AC_MSG_RESULT([yes])
2918 AC_DEFINE(HAVE_LL, 1, [if your compiler supports LL])
2926 AC_CHECK_TYPE(ssize_t, ,
2927 AC_DEFINE(ssize_t, int, [the signed version of size_t]))
2929 # check for bool type
2930 AC_CHECK_TYPE([bool],[
2931 AC_DEFINE(HAVE_BOOL_T, 1,
2932 [Define to 1 if bool is an available type.])
2934 #ifdef HAVE_SYS_TYPES_H
2935 #include <sys/types.h>
2937 #ifdef HAVE_STDBOOL_H
2938 #include <stdbool.h>
2942 CURL_CONFIGURE_CURL_SOCKLEN_T
2944 CURL_CONFIGURE_PULL_SYS_POLL
2948 TYPE_SOCKADDR_STORAGE
2954 CURL_CHECK_FUNC_SELECT
2956 CURL_CHECK_FUNC_RECV
2957 CURL_CHECK_FUNC_SEND
2958 CURL_CHECK_MSG_NOSIGNAL
2960 CURL_CHECK_FUNC_ALARM
2961 CURL_CHECK_FUNC_BASENAME
2962 CURL_CHECK_FUNC_CLOSESOCKET
2963 CURL_CHECK_FUNC_CLOSESOCKET_CAMEL
2964 CURL_CHECK_FUNC_CONNECT
2965 CURL_CHECK_FUNC_FCNTL
2966 CURL_CHECK_FUNC_FDOPEN
2967 CURL_CHECK_FUNC_FREEADDRINFO
2968 CURL_CHECK_FUNC_FREEIFADDRS
2969 CURL_CHECK_FUNC_FSETXATTR
2970 CURL_CHECK_FUNC_FTRUNCATE
2971 CURL_CHECK_FUNC_GETADDRINFO
2972 CURL_CHECK_FUNC_GAI_STRERROR
2973 CURL_CHECK_FUNC_GETHOSTBYADDR
2974 CURL_CHECK_FUNC_GETHOSTBYADDR_R
2975 CURL_CHECK_FUNC_GETHOSTBYNAME
2976 CURL_CHECK_FUNC_GETHOSTBYNAME_R
2977 CURL_CHECK_FUNC_GETHOSTNAME
2978 CURL_CHECK_FUNC_GETIFADDRS
2979 CURL_CHECK_FUNC_GETSERVBYPORT_R
2980 CURL_CHECK_FUNC_GMTIME_R
2981 CURL_CHECK_FUNC_INET_NTOA_R
2982 CURL_CHECK_FUNC_INET_NTOP
2983 CURL_CHECK_FUNC_INET_PTON
2984 CURL_CHECK_FUNC_IOCTL
2985 CURL_CHECK_FUNC_IOCTLSOCKET
2986 CURL_CHECK_FUNC_IOCTLSOCKET_CAMEL
2987 CURL_CHECK_FUNC_LOCALTIME_R
2988 CURL_CHECK_FUNC_MEMRCHR
2989 CURL_CHECK_FUNC_POLL
2990 CURL_CHECK_FUNC_SETSOCKOPT
2991 CURL_CHECK_FUNC_SIGACTION
2992 CURL_CHECK_FUNC_SIGINTERRUPT
2993 CURL_CHECK_FUNC_SIGNAL
2994 CURL_CHECK_FUNC_SIGSETJMP
2995 CURL_CHECK_FUNC_SOCKET
2996 CURL_CHECK_FUNC_SOCKETPAIR
2997 CURL_CHECK_FUNC_STRCASECMP
2998 CURL_CHECK_FUNC_STRCMPI
2999 CURL_CHECK_FUNC_STRDUP
3000 CURL_CHECK_FUNC_STRERROR_R
3001 CURL_CHECK_FUNC_STRICMP
3002 CURL_CHECK_FUNC_STRNCASECMP
3003 CURL_CHECK_FUNC_STRNCMPI
3004 CURL_CHECK_FUNC_STRNICMP
3005 CURL_CHECK_FUNC_STRSTR
3006 CURL_CHECK_FUNC_STRTOK_R
3007 CURL_CHECK_FUNC_STRTOLL
3008 CURL_CHECK_FUNC_WRITEV
3014 AC_MSG_NOTICE([skip check for pipe on msdosdjgpp])
3018 AC_CHECK_FUNCS([fork \
3039 eval skipcheck=\$skipcheck_$func
3040 if test "x$skipcheck" != "xyes"; then
3041 AC_MSG_CHECKING([deeper for $func])
3048 AC_MSG_RESULT([yes])
3049 eval "ac_cv_func_$func=yes"
3050 AC_DEFINE_UNQUOTED(XC_SH_TR_CPP([HAVE_$func]), [1],
3051 [Define to 1 if you have the $func function.])
3053 AC_MSG_RESULT([but still no])
3058 dnl Check if the getnameinfo function is available
3059 dnl and get the types of five of its arguments.
3060 CURL_CHECK_FUNC_GETNAMEINFO
3062 if test "$ipv6" = "yes"; then
3063 if test "$ac_cv_func_getaddrinfo" = "yes"; then
3064 AC_DEFINE(ENABLE_IPV6, 1, [Define if you want to enable IPv6 support])
3066 AC_SUBST(IPV6_ENABLED)
3068 CURL_CHECK_NI_WITHSCOPEID
3071 CURL_CHECK_NONBLOCKING_SOCKET
3073 dnl ************************************************************
3074 dnl nroff tool stuff
3077 AC_PATH_PROG( PERL, perl, ,
3078 $PATH:/usr/local/bin/perl:/usr/bin/:/usr/local/bin )
3081 AC_PATH_PROGS( NROFF, gnroff nroff, ,
3082 $PATH:/usr/bin/:/usr/local/bin )
3085 if test -n "$NROFF"; then
3086 dnl only check for nroff options if an nroff command was found
3088 AC_MSG_CHECKING([how to use *nroff to get plain text from man pages])
3090 mancheck=`echo foo | $NROFF $MANOPT 2>/dev/null`
3091 if test -z "$mancheck"; then
3093 mancheck=`echo foo | $NROFF $MANOPT 2>/dev/null`
3094 if test -z "$mancheck"; then
3096 AC_MSG_RESULT([failed])
3097 AC_MSG_WARN([found no *nroff option to get plaintext from man pages])
3099 AC_MSG_RESULT([$MANOPT])
3102 AC_MSG_RESULT([$MANOPT])
3107 if test -z "$MANOPT"
3109 dnl if no nroff tool was found, or no option that could convert man pages
3110 dnl was found, then disable the built-in manual stuff
3111 AC_MSG_WARN([disabling built-in manual])
3115 dnl *************************************************************************
3116 dnl If the manual variable still is set, then we go with providing a built-in
3119 if test "$USE_MANUAL" = "1"; then
3120 AC_DEFINE(USE_MANUAL, 1, [If you want to build curl with the built-in manual])
3121 curl_manual_msg="enabled"
3124 dnl set variable for use in automakefile(s)
3125 AM_CONDITIONAL(USE_MANUAL, test x"$USE_MANUAL" = x1)
3128 AM_CONDITIONAL(USE_EMBEDDED_ARES, test x$embedded_ares = xyes)
3130 if test "x$ac_cv_native_windows" != "xyes" &&
3131 test "x$enable_shared" = "xyes"; then
3132 build_libhostname=yes
3134 build_libhostname=no
3136 AM_CONDITIONAL(BUILD_LIBHOSTNAME, test x$build_libhostname = xyes)
3138 CURL_CHECK_OPTION_THREADED_RESOLVER
3140 if test "x$want_thres" = xyes && test "x$want_ares" = xyes; then
3142 [Options --enable-threaded-resolver and --enable-ares are mutually exclusive])
3145 if test "$want_thres" = "yes"; then
3146 AC_CHECK_HEADER(pthread.h,
3147 [ AC_DEFINE(HAVE_PTHREAD_H, 1, [if you have <pthread.h>])
3148 save_CFLAGS="$CFLAGS"
3150 dnl first check for function without lib
3151 AC_CHECK_FUNC(pthread_create, [USE_THREADS_POSIX=1] )
3153 dnl if it wasn't found without lib, search for it in pthread lib
3154 if test "$USE_THREADS_POSIX" != "1"
3156 CFLAGS="$CFLAGS -pthread"
3157 AC_CHECK_LIB(pthread, pthread_create,
3158 [USE_THREADS_POSIX=1],
3159 [ CFLAGS="$save_CFLAGS"])
3162 if test "x$USE_THREADS_POSIX" = "x1"
3164 AC_DEFINE(USE_THREADS_POSIX, 1, [if you want POSIX threaded DNS lookup])
3165 curl_res_msg="POSIX threaded"
3172 dnl ************************************************************
3173 dnl disable verbose text strings
3175 AC_MSG_CHECKING([whether to enable verbose strings])
3176 AC_ARG_ENABLE(verbose,
3177 AC_HELP_STRING([--enable-verbose],[Enable verbose strings])
3178 AC_HELP_STRING([--disable-verbose],[Disable verbose strings]),
3179 [ case "$enableval" in
3182 AC_DEFINE(CURL_DISABLE_VERBOSE_STRINGS, 1, [to disable verbose strings])
3183 curl_verbose_msg="no"
3185 *) AC_MSG_RESULT(yes)
3191 dnl ************************************************************
3192 dnl enable SSPI support
3194 AC_MSG_CHECKING([whether to enable SSPI support (Windows native builds only)])
3196 AC_HELP_STRING([--enable-sspi],[Enable SSPI])
3197 AC_HELP_STRING([--disable-sspi],[Disable SSPI]),
3198 [ case "$enableval" in
3200 if test "$ac_cv_native_windows" = "yes"; then
3202 AC_DEFINE(USE_WINDOWS_SSPI, 1, [to enable SSPI support])
3203 AC_SUBST(USE_WINDOWS_SSPI, [1])
3204 curl_sspi_msg="enabled"
3207 AC_MSG_WARN([--enable-sspi Ignored. Only supported on native Windows builds.])
3211 if test "x$WINSSL_ENABLED" = "x1"; then
3212 # --with-winssl implies --enable-sspi
3219 if test "x$WINSSL_ENABLED" = "x1"; then
3220 # --with-winssl implies --enable-sspi
3227 dnl ************************************************************
3228 dnl disable cryptographic authentication
3230 AC_MSG_CHECKING([whether to enable cryptographic authentication methods])
3231 AC_ARG_ENABLE(crypto-auth,
3232 AC_HELP_STRING([--enable-crypto-auth],[Enable cryptographic authentication])
3233 AC_HELP_STRING([--disable-crypto-auth],[Disable cryptographic authentication]),
3234 [ case "$enableval" in
3237 AC_DEFINE(CURL_DISABLE_CRYPTO_AUTH, 1, [to disable cryptographic authentication])
3238 CURL_DISABLE_CRYPTO_AUTH=1
3240 *) AC_MSG_RESULT(yes)
3246 CURL_CHECK_OPTION_NTLM_WB
3250 dnl ************************************************************
3251 dnl disable TLS-SRP authentication
3253 AC_MSG_CHECKING([whether to enable TLS-SRP authentication])
3254 AC_ARG_ENABLE(tls-srp,
3255 AC_HELP_STRING([--enable-tls-srp],[Enable TLS-SRP authentication])
3256 AC_HELP_STRING([--disable-tls-srp],[Disable TLS-SRP authentication]),
3257 [ case "$enableval" in
3260 AC_DEFINE(CURL_DISABLE_TLS_SRP, 1, [to disable TLS-SRP authentication])
3263 *) AC_MSG_RESULT(yes)
3271 if test "$want_tls_srp" = "yes" && ( test "x$HAVE_GNUTLS_SRP" = "x1" || test "x$HAVE_SSLEAY_SRP" = "x1") ; then
3272 AC_DEFINE(USE_TLS_SRP, 1, [Use TLS-SRP authentication])
3274 curl_tls_srp_msg="enabled"
3277 dnl ************************************************************
3278 dnl disable Unix domain sockets support
3280 AC_MSG_CHECKING([whether to enable Unix domain sockets])
3281 AC_ARG_ENABLE(unix-sockets,
3282 AC_HELP_STRING([--enable-unix-sockets],[Enable Unix domain sockets])
3283 AC_HELP_STRING([--disable-unix-sockets],[Disable Unix domain sockets]),
3284 [ case "$enableval" in
3285 no) AC_MSG_RESULT(no)
3286 want_unix_sockets=no
3288 *) AC_MSG_RESULT(yes)
3289 want_unix_sockets=yes
3293 want_unix_sockets=auto
3296 if test "x$want_unix_sockets" != "xno"; then
3297 AC_CHECK_MEMBER([struct sockaddr_un.sun_path], [
3298 AC_DEFINE(USE_UNIX_SOCKETS, 1, [Use Unix domain sockets])
3299 AC_SUBST(USE_UNIX_SOCKETS, [1])
3300 curl_unix_sockets_msg="enabled"
3302 if test "x$want_unix_sockets" = "xyes"; then
3303 AC_MSG_ERROR([--enable-unix-sockets is not available on this platform!])
3310 dnl ************************************************************
3311 dnl disable cookies support
3313 AC_MSG_CHECKING([whether to enable support for cookies])
3314 AC_ARG_ENABLE(cookies,
3315 AC_HELP_STRING([--enable-cookies],[Enable cookies support])
3316 AC_HELP_STRING([--disable-cookies],[Disable cookies support]),
3317 [ case "$enableval" in
3320 AC_DEFINE(CURL_DISABLE_COOKIES, 1, [to disable cookies support])
3322 *) AC_MSG_RESULT(yes)
3328 dnl ************************************************************
3329 dnl hiding of library internal symbols
3331 CURL_CONFIGURE_SYMBOL_HIDING
3333 dnl ************************************************************
3334 dnl enforce SONAME bump
3337 AC_MSG_CHECKING([whether to enforce SONAME bump])
3338 AC_ARG_ENABLE(soname-bump,
3339 AC_HELP_STRING([--enable-soname-bump],[Enable enforced SONAME bump])
3340 AC_HELP_STRING([--disable-soname-bump],[Disable enforced SONAME bump]),
3341 [ case "$enableval" in
3342 yes) AC_MSG_RESULT(yes)
3349 AC_MSG_RESULT($soname_bump)
3351 AM_CONDITIONAL(SONAME_BUMP, test x$soname_bump = xyes)
3354 dnl All the library dependencies put into $LIB apply to libcurl only.
3358 AC_SUBST(LIBCURL_LIBS)
3359 AC_SUBST(CURL_NETWORK_LIBS)
3360 AC_SUBST(CURL_NETWORK_AND_TIME_LIBS)
3362 dnl BLANK_AT_MAKETIME may be used in our Makefile.am files to blank
3363 dnl LIBS variable used in generated makefile at makefile processing
3364 dnl time. Doing this functionally prevents LIBS from being used for
3365 dnl all link targets in given makefile.
3367 AC_SUBST(BLANK_AT_MAKETIME)
3369 AM_CONDITIONAL(CROSSCOMPILING, test x$cross_compiling = xyes)
3372 ENABLE_SHARED="$enable_shared"
3373 AC_SUBST(ENABLE_SHARED)
3375 dnl to let curl-config output the static libraries correctly
3376 ENABLE_STATIC="$enable_static"
3377 AC_SUBST(ENABLE_STATIC)
3381 dnl For keeping supported features and protocols also in pkg-config file
3382 dnl since it is more cross-compile friendly than curl-config
3385 if test "x$USE_SSLEAY" = "x1"; then
3386 SUPPORT_FEATURES="$SUPPORT_FEATURES SSL"
3387 elif test -n "$SSL_ENABLED"; then
3388 SUPPORT_FEATURES="$SUPPORT_FEATURES SSL"
3390 if test "x$IPV6_ENABLED" = "x1"; then
3391 SUPPORT_FEATURES="$SUPPORT_FEATURES IPv6"
3393 if test "x$USE_UNIX_SOCKETS" = "x1"; then
3394 SUPPORT_FEATURES="$SUPPORT_FEATURES UnixSockets"
3396 if test "x$HAVE_LIBZ" = "x1"; then
3397 SUPPORT_FEATURES="$SUPPORT_FEATURES libz"
3399 if test "x$USE_ARES" = "x1" -o "x$USE_THREADS_POSIX" = "x1"; then
3400 SUPPORT_FEATURES="$SUPPORT_FEATURES AsynchDNS"
3402 if test "x$IDN_ENABLED" = "x1"; then
3403 SUPPORT_FEATURES="$SUPPORT_FEATURES IDN"
3405 if test "x$USE_WINDOWS_SSPI" = "x1"; then
3406 SUPPORT_FEATURES="$SUPPORT_FEATURES SSPI"
3409 if test "x$HAVE_GSSAPI" = "x1"; then
3410 SUPPORT_FEATURES="$SUPPORT_FEATURES GSS-API"
3413 if test "x$CURL_DISABLE_CRYPTO_AUTH" != "x1" -a \
3414 \( "x$HAVE_GSSAPI" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \); then
3415 SUPPORT_FEATURES="$SUPPORT_FEATURES SPNEGO"
3418 if test "x$CURL_DISABLE_CRYPTO_AUTH" != "x1" -a \
3419 \( "x$HAVE_GSSAPI" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \); then
3420 SUPPORT_FEATURES="$SUPPORT_FEATURES Kerberos"
3423 if test "x$CURL_DISABLE_CRYPTO_AUTH" != "x1"; then
3424 if test "x$USE_SSLEAY" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \
3425 -o "x$GNUTLS_ENABLED" = "x1" -o "x$NSS_ENABLED" = "x1" \
3426 -o "x$DARWINSSL_ENABLED" = "x1"; then
3427 SUPPORT_FEATURES="$SUPPORT_FEATURES NTLM"
3429 if test "x$CURL_DISABLE_HTTP" != "x1" -a \
3430 "x$NTLM_WB_ENABLED" = "x1"; then
3431 SUPPORT_FEATURES="$SUPPORT_FEATURES NTLM_WB"
3436 if test "x$USE_TLS_SRP" = "x1"; then
3437 SUPPORT_FEATURES="$SUPPORT_FEATURES TLS-SRP"
3440 if test "x$USE_NGHTTP2" = "x1"; then
3441 SUPPORT_FEATURES="$SUPPORT_FEATURES HTTP2"
3444 AC_SUBST(SUPPORT_FEATURES)
3446 dnl For supported protocols in pkg-config file
3447 if test "x$CURL_DISABLE_HTTP" != "x1"; then
3448 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS HTTP"
3449 if test "x$SSL_ENABLED" = "x1"; then
3450 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS HTTPS"
3453 if test "x$CURL_DISABLE_FTP" != "x1"; then
3454 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS FTP"
3455 if test "x$SSL_ENABLED" = "x1"; then
3456 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS FTPS"
3459 if test "x$CURL_DISABLE_FILE" != "x1"; then
3460 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS FILE"
3462 if test "x$CURL_DISABLE_TELNET" != "x1"; then
3463 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS TELNET"
3465 if test "x$CURL_DISABLE_LDAP" != "x1"; then
3466 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS LDAP"
3467 if test "x$CURL_DISABLE_LDAPS" != "x1"; then
3468 if (test "x$USE_OPENLDAP" = "x1" && test "x$SSL_ENABLED" = "x1") ||
3469 (test "x$USE_OPENLDAP" != "x1" && test "x$HAVE_LDAP_SSL" = "x1"); then
3470 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS LDAPS"
3474 if test "x$CURL_DISABLE_DICT" != "x1"; then
3475 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS DICT"
3477 if test "x$CURL_DISABLE_TFTP" != "x1"; then
3478 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS TFTP"
3480 if test "x$CURL_DISABLE_GOPHER" != "x1"; then
3481 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS GOPHER"
3483 if test "x$CURL_DISABLE_POP3" != "x1"; then
3484 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS POP3"
3485 if test "x$SSL_ENABLED" = "x1"; then
3486 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS POP3S"
3489 if test "x$CURL_DISABLE_IMAP" != "x1"; then
3490 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS IMAP"
3491 if test "x$SSL_ENABLED" = "x1"; then
3492 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS IMAPS"
3495 if test "x$CURL_DISABLE_SMB" != "x1" \
3496 -a "x$CURL_DISABLE_CRYPTO_AUTH" != "x1" \
3497 -a \( "x$USE_SSLEAY" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \
3498 -o "x$GNUTLS_ENABLED" = "x1" -o "x$NSS_ENABLED" = "x1" \
3499 -o "x$DARWINSSL_ENABLED" = "x1" \); then
3500 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SMB"
3501 if test "x$SSL_ENABLED" = "x1"; then
3502 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SMBS"
3505 if test "x$CURL_DISABLE_SMTP" != "x1"; then
3506 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SMTP"
3507 if test "x$SSL_ENABLED" = "x1"; then
3508 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SMTPS"
3511 if test "x$USE_LIBSSH2" = "x1"; then
3512 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SCP"
3513 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SFTP"
3515 if test "x$CURL_DISABLE_RTSP" != "x1"; then
3516 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS RTSP"
3518 if test "x$USE_LIBRTMP" = "x1"; then
3519 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS RTMP"
3522 dnl replace spaces with newlines
3524 dnl replace the newlines back to spaces
3525 SUPPORT_PROTOCOLS=`echo $SUPPORT_PROTOCOLS | tr ' ' '\012' | sort | tr '\012' ' '`
3527 AC_SUBST(SUPPORT_PROTOCOLS)
3529 dnl squeeze whitespace out of some variables
3537 squeeze LIBCURL_LIBS
3538 squeeze CURL_NETWORK_LIBS
3539 squeeze CURL_NETWORK_AND_TIME_LIBS
3541 squeeze SUPPORT_FEATURES
3542 squeeze SUPPORT_PROTOCOLS
3544 XC_CHECK_BUILD_FLAGS
3546 if test "x$want_curldebug_assumed" = "xyes" &&
3547 test "x$want_curldebug" = "xyes" && test "x$USE_ARES" = "x1"; then
3548 ac_configure_args="$ac_configure_args --enable-curldebug"
3551 AC_CONFIG_FILES([Makefile \
3553 docs/examples/Makefile \
3554 docs/libcurl/Makefile \
3555 docs/libcurl/opts/Makefile \
3557 include/curl/Makefile \
3562 tests/certs/Makefile \
3563 tests/certs/scripts/Makefile \
3564 tests/data/Makefile \
3565 tests/server/Makefile \
3566 tests/libtest/Makefile \
3567 tests/unit/Makefile \
3569 packages/Win32/Makefile \
3570 packages/Win32/cygwin/Makefile \
3571 packages/Linux/Makefile \
3572 packages/Linux/RPM/Makefile \
3573 packages/Linux/RPM/curl.spec \
3574 packages/Linux/RPM/curl-ssl.spec \
3575 packages/Solaris/Makefile \
3576 packages/EPM/curl.list \
3577 packages/EPM/Makefile \
3578 packages/vms/Makefile \
3579 packages/AIX/Makefile \
3580 packages/AIX/RPM/Makefile \
3581 packages/AIX/RPM/curl.spec \
3587 CURL_GENERATE_CONFIGUREHELP_PM
3589 XC_AMEND_DISTCLEAN([lib src tests/unit tests/server tests/libtest docs/examples])
3591 AC_MSG_NOTICE([Configured to build curl/libcurl:
3593 curl version: ${CURLVERSION}
3595 Install prefix: ${prefix}
3597 SSL support: ${curl_ssl_msg}
3598 SSH support: ${curl_ssh_msg}
3599 zlib support: ${curl_zlib_msg}
3600 GSS-API support: ${curl_gss_msg}
3601 TLS-SRP support: ${curl_tls_srp_msg}
3602 resolver: ${curl_res_msg}
3603 IPv6 support: ${curl_ipv6_msg}
3604 Unix sockets support: ${curl_unix_sockets_msg}
3605 IDN support: ${curl_idn_msg}
3606 Build libcurl: Shared=${enable_shared}, Static=${enable_static}
3607 Built-in manual: ${curl_manual_msg}
3608 --libcurl option: ${curl_libcurl_msg}
3609 Verbose errors: ${curl_verbose_msg}
3610 SSPI support: ${curl_sspi_msg}
3611 ca cert bundle: ${ca}
3612 ca cert path: ${capath}
3613 LDAP support: ${curl_ldap_msg}
3614 LDAPS support: ${curl_ldaps_msg}
3615 RTSP support: ${curl_rtsp_msg}
3616 RTMP support: ${curl_rtmp_msg}
3617 metalink support: ${curl_mtlnk_msg}
3618 HTTP2 support: ${curl_h2_msg}
3619 Protocols: ${SUPPORT_PROTOCOLS}
3622 if test "x$soname_bump" = "xyes"; then
3625 SONAME bump: yes - WARNING: this library will be built with the SONAME
3626 number bumped due to (a detected) ABI breakage.
3627 See lib/README.curl_off_t for details on this.