1 #***************************************************************************
3 # Project ___| | | | _ \| |
5 # | (__| |_| | _ <| |___
6 # \___|\___/|_| \_\_____|
8 # Copyright (C) 1998 - 2011, 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/])
29 CURL_OVERRIDE_AUTOCONF
31 dnl configure script copyright
32 AC_COPYRIGHT([Copyright (c) 1998 - 2011 Daniel Stenberg, <daniel@haxx.se>
33 This configure script may be copied, distributed and modified under the
34 terms of the curl license; see COPYING for more details])
36 AC_CONFIG_SRCDIR([lib/urldata.h])
37 AM_CONFIG_HEADER(lib/curl_config.h src/curl_config.h include/curl/curlbuild.h)
40 CURL_CHECK_OPTION_DEBUG
41 CURL_CHECK_OPTION_OPTIMIZE
42 CURL_CHECK_OPTION_WARNINGS
43 CURL_CHECK_OPTION_WERROR
44 CURL_CHECK_OPTION_CURLDEBUG
45 CURL_CHECK_OPTION_ARES
47 CURL_CHECK_PATH_SEPARATOR_REQUIRED
50 # save the configure arguments
52 CONFIGURE_OPTIONS="\"$ac_configure_args\""
53 AC_SUBST(CONFIGURE_OPTIONS)
56 if test X"$want_werror" = Xyes; then
57 CURL_CFLAG_EXTRAS="-Werror"
59 AC_SUBST(CURL_CFLAG_EXTRAS)
61 dnl SED is mandatory for configure process and libtool.
62 dnl Set it now, allowing it to be changed later.
63 if test -z "$SED"; then
64 dnl allow it to be overridden
65 AC_PATH_PROG([SED], [sed], [not_found],
66 [$PATH:/usr/bin:/usr/local/bin])
67 if test -z "$SED" || test "$SED" = "not_found"; then
68 AC_MSG_ERROR([sed not found in PATH. Cannot continue without sed.])
73 dnl GREP is mandatory for configure process and libtool.
74 dnl Set it now, allowing it to be changed later.
75 if test -z "$GREP"; then
76 dnl allow it to be overridden
77 AC_PATH_PROG([GREP], [grep], [not_found],
78 [$PATH:/usr/bin:/usr/local/bin])
79 if test -z "$GREP" || test "$GREP" = "not_found"; then
80 AC_MSG_ERROR([grep not found in PATH. Cannot continue without grep.])
85 dnl EGREP is mandatory for configure process and libtool.
86 dnl Set it now, allowing it to be changed later.
87 if test -z "$EGREP"; then
88 dnl allow it to be overridden
89 if echo a | ($GREP -E '(a|b)') >/dev/null 2>&1; then
90 AC_MSG_CHECKING([for egrep])
92 AC_MSG_RESULT([$EGREP])
94 AC_PATH_PROG([EGREP], [egrep], [not_found],
95 [$PATH:/usr/bin:/usr/local/bin])
98 if test -z "$EGREP" || test "$EGREP" = "not_found"; then
99 AC_MSG_ERROR([egrep not found in PATH. Cannot continue without egrep.])
103 dnl AR is mandatory for configure process and libtool.
104 dnl This is target dependent, so check it as a tool.
105 if test -z "$AR"; then
106 dnl allow it to be overridden
107 AC_PATH_TOOL([AR], [ar], [not_found],
108 [$PATH:/usr/bin:/usr/local/bin])
109 if test -z "$AR" || test "$AR" = "not_found"; then
110 AC_MSG_ERROR([ar not found in PATH. Cannot continue without ar.])
117 dnl Remove non-configure distributed curlbuild.h
118 if test -f ${srcdir}/include/curl/curlbuild.h; then
119 rm -f ${srcdir}/include/curl/curlbuild.h
122 dnl figure out the libcurl version
123 VERSION=`$SED -ne 's/^#define LIBCURL_VERSION "\(.*\)"/\1/p' ${srcdir}/include/curl/curlver.h`
124 AM_INIT_AUTOMAKE(curl,$VERSION)
125 AC_MSG_CHECKING([curl version])
126 AC_MSG_RESULT($VERSION)
129 dnl we extract the numerical version for curl-config only
130 VERSIONNUM=`$SED -ne 's/^#define LIBCURL_VERSION_NUM 0x\(.*\)/\1/p' ${srcdir}/include/curl/curlver.h`
133 dnl Solaris pkgadd support definitions
134 PKGADD_PKG="HAXXcurl"
135 PKGADD_NAME="cURL - a client that groks URLs"
136 PKGADD_VENDOR="curl.haxx.se"
138 AC_SUBST(PKGADD_NAME)
139 AC_SUBST(PKGADD_VENDOR)
142 dnl initialize all the info variables
143 curl_ssl_msg="no (--with-{ssl,gnutls,nss,polarssl,cyassl,axtls} )"
144 curl_ssh_msg="no (--with-libssh2)"
145 curl_zlib_msg="no (--with-zlib)"
146 curl_krb4_msg="no (--with-krb4*)"
147 curl_gss_msg="no (--with-gssapi)"
148 curl_spnego_msg="no (--with-spnego)"
149 curl_tls_srp_msg="no (--enable-tls-srp)"
150 curl_res_msg="default (--enable-ares / --enable-threaded-resolver)"
151 curl_ipv6_msg="no (--enable-ipv6)"
152 curl_idn_msg="no (--with-libidn)"
153 curl_manual_msg="no (--enable-manual)"
154 curl_verbose_msg="enabled (--disable-verbose)"
155 curl_sspi_msg="no (--enable-sspi)"
156 curl_ldap_msg="no (--enable-ldap / --with-ldap-lib / --with-lber-lib)"
157 curl_ldaps_msg="no (--enable-ldaps)"
158 curl_rtsp_msg="no (--enable-rtsp)"
159 curl_rtmp_msg="no (--with-librtmp)"
160 init_ssl_msg=${curl_ssl_msg}
163 dnl Save anything in $LIBS for later
168 dnl Detect the canonical host and target build environment
172 dnl Get system canonical name
173 AC_DEFINE_UNQUOTED(OS, "${host}", [cpu-machine-OS])
175 dnl Checks for programs.
178 dnl Our curl_off_t internal and external configure settings
179 CURL_CONFIGURE_CURL_OFF_T
181 dnl This defines _ALL_SOURCE for AIX
182 CURL_CHECK_AIX_ALL_SOURCE
184 dnl Our configure and build reentrant settings
185 CURL_CONFIGURE_THREAD_SAFE
186 CURL_CONFIGURE_REENTRANT
188 dnl check for how to do large files
191 dnl support building of Windows DLLs
194 dnl force libtool to build static libraries with PIC on AMD64-Linux & FreeBSD
195 AC_MSG_CHECKING([if arch-OS host is AMD64-Linux/FreeBSD (to build static libraries with PIC)])
197 x86_64*linux*|amd64*freebsd*|ia64*freebsd*)
206 AC_MSG_CHECKING([if compiler is icc (to build with PIC)])
220 AC_MSG_CHECKING([if we need -mimpure-text])
224 if test "$GCC" = "yes"; then
231 AC_MSG_RESULT($mimpure)
232 AM_CONDITIONAL(MIMPURE, test x$mimpure = xyes)
234 dnl 'STATICLIB' is, in spite of its name, not generic but only for static-only
235 dnl builds on Windows
236 AM_CONDITIONAL(STATICLIB, false)
238 AC_MSG_CHECKING([if we need BUILDING_LIBCURL])
241 AC_DEFINE(BUILDING_LIBCURL, 1, [when building libcurl itself])
243 AC_MSG_CHECKING([if we need CURL_STATICLIB])
244 if test "X$enable_shared" = "Xno"
246 AC_DEFINE(CURL_STATICLIB, 1, [when not building a shared library])
248 AM_CONDITIONAL(STATICLIB, true)
258 # Determine whether all dependent libraries must be specified when linking
259 if test "X$enable_shared" = "Xyes" -a "X$link_all_deplibs" = "Xno"
265 AC_SUBST(REQUIRE_LIB_DEPS)
267 dnl The install stuff has already been taken care of by the automake stuff
271 dnl check if there's a way to force code inline
274 dnl **********************************************************************
275 dnl platform/compiler/architecture specific checks/flags
276 dnl **********************************************************************
279 CURL_SET_COMPILER_BASIC_OPTS
280 CURL_SET_COMPILER_DEBUG_OPTS
281 CURL_SET_COMPILER_OPTIMIZE_OPTS
282 CURL_SET_COMPILER_WARNING_OPTS
284 if test "$compiler_id" = "INTEL_UNIX_C"; then
286 if test "$compiler_num" -ge "1000"; then
287 dnl icc 10.X or later
288 CFLAGS="$CFLAGS -shared-intel"
289 elif test "$compiler_num" -ge "900"; then
291 CFLAGS="$CFLAGS -i-dynamic"
296 CURL_CHECK_COMPILER_HALT_ON_ERROR
297 CURL_CHECK_COMPILER_ARRAY_SIZE_NEGATIVE
299 CURL_CHECK_NO_UNDEFINED
300 AM_CONDITIONAL(NO_UNDEFINED, test x$need_no_undefined = xyes)
303 AM_CONDITIONAL(CURLDEBUG, test x$want_curldebug = xyes)
305 dnl **********************************************************************
306 dnl Compilation based checks should not be done before this point.
307 dnl **********************************************************************
309 dnl **********************************************************************
310 dnl Make sure that our checks for headers windows.h winsock.h winsock2.h
311 dnl and ws2tcpip.h take precedence over any other further checks which
312 dnl could be done later using AC_CHECK_HEADER or AC_CHECK_HEADERS for
313 dnl this specific header files. And do them before its results are used.
314 dnl **********************************************************************
316 CURL_CHECK_HEADER_WINDOWS
317 CURL_CHECK_NATIVE_WINDOWS
318 case X-"$ac_cv_native_windows" in
320 CURL_CHECK_HEADER_WINSOCK
321 CURL_CHECK_HEADER_WINSOCK2
322 CURL_CHECK_HEADER_WS2TCPIP
323 CURL_CHECK_HEADER_WINLDAP
324 CURL_CHECK_HEADER_WINBER
327 ac_cv_header_winsock_h="no"
328 ac_cv_header_winsock2_h="no"
329 ac_cv_header_ws2tcpip_h="no"
330 ac_cv_header_winldap_h="no"
331 ac_cv_header_winber_h="no"
334 CURL_CHECK_WIN32_LARGEFILE
336 dnl ************************************************************
337 dnl switch off particular protocols
339 AC_MSG_CHECKING([whether to support http])
341 AC_HELP_STRING([--enable-http],[Enable HTTP support])
342 AC_HELP_STRING([--disable-http],[Disable HTTP support]),
343 [ case "$enableval" in
346 AC_DEFINE(CURL_DISABLE_HTTP, 1, [to disable HTTP])
347 AC_MSG_WARN([disable HTTP disables FTP over proxy and RTSP])
348 AC_SUBST(CURL_DISABLE_HTTP, [1])
349 AC_DEFINE(CURL_DISABLE_RTSP, 1, [to disable RTSP])
350 AC_SUBST(CURL_DISABLE_RTSP, [1])
352 *) AC_MSG_RESULT(yes)
357 AC_MSG_CHECKING([whether to support ftp])
359 AC_HELP_STRING([--enable-ftp],[Enable FTP support])
360 AC_HELP_STRING([--disable-ftp],[Disable FTP support]),
361 [ case "$enableval" in
364 AC_DEFINE(CURL_DISABLE_FTP, 1, [to disable FTP])
365 AC_SUBST(CURL_DISABLE_FTP, [1])
367 *) AC_MSG_RESULT(yes)
372 AC_MSG_CHECKING([whether to support file])
374 AC_HELP_STRING([--enable-file],[Enable FILE support])
375 AC_HELP_STRING([--disable-file],[Disable FILE support]),
376 [ case "$enableval" in
379 AC_DEFINE(CURL_DISABLE_FILE, 1, [to disable FILE])
380 AC_SUBST(CURL_DISABLE_FILE, [1])
382 *) AC_MSG_RESULT(yes)
387 AC_MSG_CHECKING([whether to support ldap])
389 AC_HELP_STRING([--enable-ldap],[Enable LDAP support])
390 AC_HELP_STRING([--disable-ldap],[Disable LDAP support]),
391 [ case "$enableval" in
394 AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP])
395 AC_SUBST(CURL_DISABLE_LDAP, [1])
403 AC_MSG_CHECKING([whether to support ldaps])
405 AC_HELP_STRING([--enable-ldaps],[Enable LDAPS support])
406 AC_HELP_STRING([--disable-ldaps],[Disable LDAPS support]),
407 [ case "$enableval" in
410 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
411 AC_SUBST(CURL_DISABLE_LDAPS, [1])
413 *) if test "x$CURL_DISABLE_LDAP" = "x1" ; then
414 AC_MSG_RESULT(LDAP needs to be enabled to support LDAPS)
415 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
416 AC_SUBST(CURL_DISABLE_LDAPS, [1])
419 AC_DEFINE(HAVE_LDAP_SSL, 1, [Use LDAPS implementation])
420 AC_SUBST(HAVE_LDAP_SSL, [1])
424 if test "x$CURL_DISABLE_LDAP" = "x1" ; then
426 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
427 AC_SUBST(CURL_DISABLE_LDAPS, [1])
430 AC_DEFINE(HAVE_LDAP_SSL, 1, [Use LDAPS implementation])
431 AC_SUBST(HAVE_LDAP_SSL, [1])
435 AC_MSG_CHECKING([whether to support rtsp])
437 AC_HELP_STRING([--enable-rtsp],[Enable RTSP support])
438 AC_HELP_STRING([--disable-rtsp],[Disable RTSP support]),
439 [ case "$enableval" in
442 AC_DEFINE(CURL_DISABLE_RTSP, 1, [to disable RTSP])
443 AC_SUBST(CURL_DISABLE_RTSP, [1])
445 *) if test x$CURL_DISABLE_HTTP = x1 ; then
446 AC_MSG_ERROR(HTTP support needs to be enabled in order to enable RTSP support!)
449 curl_rtsp_msg="enabled"
453 if test "x$CURL_DISABLE_HTTP" != "x1"; then
455 curl_rtsp_msg="enabled"
461 AC_MSG_CHECKING([whether to support proxies])
463 AC_HELP_STRING([--enable-proxy],[Enable proxy support])
464 AC_HELP_STRING([--disable-proxy],[Disable proxy support]),
465 [ case "$enableval" in
468 AC_DEFINE(CURL_DISABLE_PROXY, 1, [to disable proxies])
469 AC_SUBST(CURL_DISABLE_PROXY, [1])
471 *) AC_MSG_RESULT(yes)
477 AC_MSG_CHECKING([whether to support dict])
479 AC_HELP_STRING([--enable-dict],[Enable DICT support])
480 AC_HELP_STRING([--disable-dict],[Disable DICT support]),
481 [ case "$enableval" in
484 AC_DEFINE(CURL_DISABLE_DICT, 1, [to disable DICT])
485 AC_SUBST(CURL_DISABLE_DICT, [1])
487 *) AC_MSG_RESULT(yes)
492 AC_MSG_CHECKING([whether to support telnet])
493 AC_ARG_ENABLE(telnet,
494 AC_HELP_STRING([--enable-telnet],[Enable TELNET support])
495 AC_HELP_STRING([--disable-telnet],[Disable TELNET support]),
496 [ case "$enableval" in
499 AC_DEFINE(CURL_DISABLE_TELNET, 1, [to disable TELNET])
500 AC_SUBST(CURL_DISABLE_TELNET, [1])
502 *) AC_MSG_RESULT(yes)
507 AC_MSG_CHECKING([whether to support tftp])
509 AC_HELP_STRING([--enable-tftp],[Enable TFTP support])
510 AC_HELP_STRING([--disable-tftp],[Disable TFTP support]),
511 [ case "$enableval" in
514 AC_DEFINE(CURL_DISABLE_TFTP, 1, [to disable TFTP])
515 AC_SUBST(CURL_DISABLE_TFTP, [1])
517 *) AC_MSG_RESULT(yes)
523 AC_MSG_CHECKING([whether to support pop3])
525 AC_HELP_STRING([--enable-pop3],[Enable POP3 support])
526 AC_HELP_STRING([--disable-pop3],[Disable POP3 support]),
527 [ case "$enableval" in
530 AC_DEFINE(CURL_DISABLE_POP3, 1, [to disable POP3])
531 AC_SUBST(CURL_DISABLE_POP3, [1])
533 *) AC_MSG_RESULT(yes)
540 AC_MSG_CHECKING([whether to support imap])
542 AC_HELP_STRING([--enable-imap],[Enable IMAP support])
543 AC_HELP_STRING([--disable-imap],[Disable IMAP support]),
544 [ case "$enableval" in
547 AC_DEFINE(CURL_DISABLE_IMAP, 1, [to disable IMAP])
548 AC_SUBST(CURL_DISABLE_IMAP, [1])
550 *) AC_MSG_RESULT(yes)
557 AC_MSG_CHECKING([whether to support smtp])
559 AC_HELP_STRING([--enable-smtp],[Enable SMTP support])
560 AC_HELP_STRING([--disable-smtp],[Disable SMTP support]),
561 [ case "$enableval" in
564 AC_DEFINE(CURL_DISABLE_SMTP, 1, [to disable SMTP])
565 AC_SUBST(CURL_DISABLE_SMTP, [1])
567 *) AC_MSG_RESULT(yes)
573 AC_MSG_CHECKING([whether to support gopher])
574 AC_ARG_ENABLE(gopher,
575 AC_HELP_STRING([--enable-gopher],[Enable Gopher support])
576 AC_HELP_STRING([--disable-gopher],[Disable Gopher support]),
577 [ case "$enableval" in
580 AC_DEFINE(CURL_DISABLE_GOPHER, 1, [to disable Gopher])
581 AC_SUBST(CURL_DISABLE_GOPHER, [1])
583 *) AC_MSG_RESULT(yes)
590 dnl **********************************************************************
591 dnl Check for built-in manual
592 dnl **********************************************************************
594 AC_MSG_CHECKING([whether to provide built-in manual])
595 AC_ARG_ENABLE(manual,
596 AC_HELP_STRING([--enable-manual],[Enable built-in manual])
597 AC_HELP_STRING([--disable-manual],[Disable built-in manual]),
598 [ case "$enableval" in
602 *) AC_MSG_RESULT(yes)
609 dnl The actual use of the USE_MANUAL variable is done much later in this
610 dnl script to allow other actions to disable it as well.
612 dnl **********************************************************************
613 dnl Checks for libraries.
614 dnl **********************************************************************
618 dnl gethostbyname without lib or in the nsl lib?
619 AC_CHECK_FUNC(gethostbyname,
620 [HAVE_GETHOSTBYNAME="1"
622 [ AC_CHECK_LIB(nsl, gethostbyname,
623 [HAVE_GETHOSTBYNAME="1"
628 if test "$HAVE_GETHOSTBYNAME" != "1"
630 dnl gethostbyname in the socket lib?
631 AC_CHECK_LIB(socket, gethostbyname,
632 [HAVE_GETHOSTBYNAME="1"
633 LIBS="$LIBS -lsocket"
637 dnl At least one system has been identified to require BOTH nsl and socket
638 dnl libs at the same time to link properly.
639 if test "$HAVE_GETHOSTBYNAME" != "1"
641 AC_MSG_CHECKING([for gethostbyname with both nsl and socket libs])
642 my_ac_save_LIBS=$LIBS
643 LIBS="-lnsl -lsocket $LIBS"
651 HAVE_GETHOSTBYNAME="1"
654 LIBS=$my_ac_save_LIBS
658 if test "$HAVE_GETHOSTBYNAME" != "1"
660 dnl This is for winsock systems
661 if test "$ac_cv_header_windows_h" = "yes"; then
662 if test "$ac_cv_header_winsock_h" = "yes"; then
665 winsock_LIB="-lwinsock"
668 winsock_LIB="-lwsock32"
672 if test "$ac_cv_header_winsock2_h" = "yes"; then
673 winsock_LIB="-lws2_32"
675 if test ! -z "$winsock_LIB"; then
676 my_ac_save_LIBS=$LIBS
677 LIBS="$winsock_LIB $LIBS"
678 AC_MSG_CHECKING([for gethostbyname in $winsock_LIB])
681 #ifdef HAVE_WINDOWS_H
682 #ifndef WIN32_LEAN_AND_MEAN
683 #define WIN32_LEAN_AND_MEAN
686 #ifdef HAVE_WINSOCK2_H
687 #include <winsock2.h>
689 #ifdef HAVE_WINSOCK_H
695 gethostbyname("www.dummysite.com");
699 HAVE_GETHOSTBYNAME="1"
703 LIBS=$my_ac_save_LIBS
709 if test "$HAVE_GETHOSTBYNAME" != "1"
711 dnl This is for Minix 3.1
712 AC_MSG_CHECKING([for gethostbyname for Minix 3])
715 /* Older Minix versions may need <net/gen/netdb.h> here instead */
718 gethostbyname("www.dummysite.com");
722 HAVE_GETHOSTBYNAME="1"
728 if test "$HAVE_GETHOSTBYNAME" != "1"
730 dnl This is for eCos with a stubbed DNS implementation
731 AC_MSG_CHECKING([for gethostbyname for eCos])
737 gethostbyname("www.dummysite.com");
741 HAVE_GETHOSTBYNAME="1"
747 if test "$HAVE_GETHOSTBYNAME" != "1"
749 dnl gethostbyname in the network lib - for Haiku OS
750 AC_CHECK_LIB(network, gethostbyname,
751 [HAVE_GETHOSTBYNAME="1"
752 LIBS="$LIBS -lnetwork"
756 if test "$HAVE_GETHOSTBYNAME" != "1"
758 dnl gethostbyname in the net lib - for BeOS
759 AC_CHECK_LIB(net, gethostbyname,
760 [HAVE_GETHOSTBYNAME="1"
766 if test "$HAVE_GETHOSTBYNAME" != "1"; then
767 AC_MSG_ERROR([couldn't find libraries for gethostbyname()])
771 AC_CHECK_FUNC(strcasecmp, , [ AC_CHECK_LIB(resolve, strcasecmp) ])
773 if test "$ac_cv_lib_resolve_strcasecmp" = "$ac_cv_func_strcasecmp"; then
774 AC_CHECK_LIB(resolve, strcasecmp,
775 [LIBS="-lresolve $LIBS"],
779 ac_cv_func_strcasecmp="no"
781 CURL_CHECK_LIBS_CONNECT
783 CURL_NETWORK_LIBS=$LIBS
785 dnl **********************************************************************
786 dnl In case that function clock_gettime with monotonic timer is available,
787 dnl check for additional required libraries.
788 dnl **********************************************************************
789 CURL_CHECK_LIBS_CLOCK_GETTIME_MONOTONIC
791 dnl **********************************************************************
792 dnl The preceding library checks are all potentially useful for test
793 dnl servers (for providing networking support). Save the list of required
794 dnl libraries at this point for use while linking those test servers.
795 dnl **********************************************************************
796 TEST_SERVER_LIBS=$LIBS
798 dnl **********************************************************************
799 AC_MSG_CHECKING([whether to use libgcc])
800 AC_ARG_ENABLE(libgcc,
801 AC_HELP_STRING([--enable-libgcc],[use libgcc when linking]),
802 [ case "$enableval" in
804 ALL_LIBS="$ALL_LIBS -lgcc"
813 dnl **********************************************************************
815 dnl **********************************************************************
818 AC_ARG_WITH(ldap-lib,
819 AC_HELP_STRING([--with-ldap-lib=libname],[Specify name of ldap lib file]),
820 [LDAPLIBNAME="$withval"])
823 AC_ARG_WITH(lber-lib,
824 AC_HELP_STRING([--with-lber-lib=libname],[Specify name of lber lib file]),
825 [LBERLIBNAME="$withval"])
827 if test x$CURL_DISABLE_LDAP != x1 ; then
829 CURL_CHECK_HEADER_LBER
830 CURL_CHECK_HEADER_LDAP
831 CURL_CHECK_HEADER_LDAPSSL
832 CURL_CHECK_HEADER_LDAP_SSL
834 if test -z "$LDAPLIBNAME" ; then
835 if test "$ac_cv_native_windows" = "yes"; then
836 dnl Windows uses a single and unique LDAP library name
837 LDAPLIBNAME="wldap32"
842 if test "$LDAPLIBNAME" ; then
843 AC_CHECK_LIB("$LDAPLIBNAME", ldap_init,, [
844 AC_MSG_WARN(["$LDAPLIBNAME" is not an LDAP library: LDAP disabled])
845 AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP])
846 AC_SUBST(CURL_DISABLE_LDAP, [1])])
847 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
848 AC_SUBST(CURL_DISABLE_LDAPS, [1])
850 dnl Try to find the right ldap libraries for this system
852 case X-"$curl_cv_ldap_LIBS" in
854 AC_MSG_WARN([Cannot find libraries for LDAP support: LDAP disabled])
855 AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP])
856 AC_SUBST(CURL_DISABLE_LDAP, [1])
857 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
858 AC_SUBST(CURL_DISABLE_LDAPS, [1])
864 if test x$CURL_DISABLE_LDAP != x1 ; then
866 if test "$LBERLIBNAME" ; then
867 dnl If name is "no" then don't define this library at all
868 dnl (it's only needed if libldap.so's dependencies are broken).
869 if test "$LBERLIBNAME" != "no" ; then
870 AC_CHECK_LIB("$LBERLIBNAME", ber_free,, [
871 AC_MSG_WARN(["$LBERLIBNAME" is not an LBER library: LDAP disabled])
872 AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP])
873 AC_SUBST(CURL_DISABLE_LDAP, [1])])
874 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
875 AC_SUBST(CURL_DISABLE_LDAPS, [1])
880 if test x$CURL_DISABLE_LDAP != x1 ; then
881 AC_CHECK_FUNCS([ldap_url_parse ldap_init_fd])
883 if test "$LDAPLIBNAME" = "wldap32"; then
884 curl_ldap_msg="enabled (winldap)"
885 AC_DEFINE(CURL_LDAP_WIN, 1, [Use Windows LDAP implementation])
887 curl_ldap_msg="enabled (OpenLDAP)"
888 if test "x$ac_cv_func_ldap_init_fd" = "xyes"; then
889 AC_DEFINE(USE_OPENLDAP, 1, [Use OpenLDAP-specific code])
890 AC_SUBST(USE_OPENLDAP, [1])
895 if test x$CURL_DISABLE_LDAPS != x1 ; then
896 curl_ldaps_msg="enabled"
899 dnl **********************************************************************
901 dnl **********************************************************************
903 AC_MSG_CHECKING([whether to enable ipv6])
905 AC_HELP_STRING([--enable-ipv6],[Enable ipv6 (with ipv4) support])
906 AC_HELP_STRING([--disable-ipv6],[Disable ipv6 support]),
907 [ case "$enableval" in
912 *) AC_MSG_RESULT(yes)
917 AC_TRY_RUN([ /* is AF_INET6 available? */
918 #include <sys/types.h>
919 #include <sys/socket.h>
922 if (socket(AF_INET6, SOCK_STREAM, 0) < 0)
936 if test "$ipv6" = "yes"; then
937 curl_ipv6_msg="enabled"
940 # Check if struct sockaddr_in6 have sin6_scope_id member
941 if test "$ipv6" = yes; then
942 AC_MSG_CHECKING([if struct sockaddr_in6 has sin6_scope_id member])
944 #include <sys/types.h>
945 #include <netinet/in.h>] ,
946 struct sockaddr_in6 s; s.sin6_scope_id = 0; , have_sin6_scope_id=yes)
947 if test "$have_sin6_scope_id" = yes; then
949 AC_DEFINE(HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID, 1, [Define to 1 if struct sockaddr_in6 has the sin6_scope_id member])
955 dnl **********************************************************************
956 dnl Check if the operating system allows programs to write to their own argv[]
957 dnl **********************************************************************
959 AC_MSG_CHECKING([if argv can be written to])
962 int main(int argc, char ** argv) {
964 return (argv[0][0] == ' ')?0:1;
968 curl_cv_writable_argv=yes
970 curl_cv_writable_argv=no
972 curl_cv_writable_argv=cross
974 case $curl_cv_writable_argv in
976 AC_DEFINE(HAVE_WRITABLE_ARGV, 1, [Define this symbol if your OS supports changing the contents of argv])
984 AC_MSG_WARN([the previous check could not be made default was used])
988 dnl **********************************************************************
989 dnl Check for the presence of Kerberos4 libraries and headers
990 dnl **********************************************************************
992 AC_ARG_WITH(krb4-includes,
993 AC_HELP_STRING([--with-krb4-includes=DIR],
994 [Specify location of kerberos4 headers]),[
995 CPPFLAGS="$CPPFLAGS -I$withval"
1000 AC_ARG_WITH(krb4-libs,
1001 AC_HELP_STRING([--with-krb4-libs=DIR],[Specify location of kerberos4 libs]),[
1002 LDFLAGS="$LDFLAGS -L$withval"
1009 AC_ARG_WITH(krb4,dnl
1010 AC_HELP_STRING([--with-krb4=DIR],[where to look for Kerberos4]),[
1012 if test X"$OPT_KRB4" != Xno; then
1014 if test X"$OPT_KRB4" != Xyes; then
1015 LDFLAGS="$LDFLAGS -L$OPT_KRB4/lib$libsuff"
1016 KRB4LIB="$OPT_KRB4/lib$libsuff"
1017 CPPFLAGS="$CPPFLAGS -I$OPT_KRB4/include"
1018 KRB4INC="$OPT_KRB4/include"
1023 AC_MSG_CHECKING([if Kerberos4 support is requested])
1025 if test "$want_krb4" = yes
1027 if test "$ipv6" = "yes"; then
1028 echo krb4 is not compatible with IPv6
1033 dnl Check for & handle argument to --with-krb4
1035 AC_MSG_CHECKING(where to look for Kerberos4)
1036 if test X"$OPT_KRB4" = Xyes
1038 AC_MSG_RESULT([defaults])
1040 AC_MSG_RESULT([libs in $KRB4LIB, headers in $KRB4INC])
1043 dnl Check for DES library
1044 AC_CHECK_LIB(des, des_pcbc_encrypt,
1046 AC_CHECK_HEADERS(des.h)
1049 AC_CHECK_FUNC(res_search, , [AC_CHECK_LIB(resolv, res_search)])
1051 dnl Check for the Kerberos4 library
1052 AC_CHECK_LIB(krb, krb_net_read,
1054 dnl Check for header files
1055 AC_CHECK_HEADERS(krb.h)
1057 dnl we found the required libraries, add to LIBS
1058 LIBS="-lkrb -lcom_err -ldes $LIBS"
1060 dnl Check for function krb_get_our_ip_for_realm
1061 dnl this is needed for NAT networks
1062 AC_CHECK_FUNCS(krb_get_our_ip_for_realm)
1065 AC_DEFINE(HAVE_KRB4, 1,
1066 [if you have the Kerberos4 libraries (including -ldes)])
1068 dnl substitute it too!
1070 AC_SUBST(KRB4_ENABLED)
1072 curl_krb4_msg="enabled"
1074 dnl the krb4 stuff needs a strlcpy()
1075 AC_CHECK_FUNCS(strlcpy)
1083 dnl **********************************************************************
1084 dnl Check for FBopenssl(SPNEGO) libraries
1085 dnl **********************************************************************
1088 AC_HELP_STRING([--with-spnego=DIR],
1089 [Specify location of SPNEGO library fbopenssl]), [
1090 SPNEGO_ROOT="$withval"
1091 if test x"$SPNEGO_ROOT" != xno; then
1096 AC_MSG_CHECKING([if SPNEGO support is requested])
1097 if test x"$want_spnego" = xyes; then
1099 if test X"$SPNEGO_ROOT" = Xyes; then
1100 AC_MSG_ERROR([FBOpenSSL libs and/or directories were not found where specified!])
1103 if test -z "$SPNEGO_LIB_DIR"; then
1104 LDFLAGS="$LDFLAGS -L$SPNEGO_ROOT -lfbopenssl"
1106 LDFLAGS="$LDFLAGS $SPNEGO_LIB_DIR"
1110 AC_DEFINE(HAVE_SPNEGO, 1,
1111 [Define this if you have the SPNEGO library fbopenssl])
1112 curl_spnego_msg="enabled"
1118 dnl **********************************************************************
1119 dnl Check for GSS-API libraries
1120 dnl **********************************************************************
1122 dnl check for gss stuff in the /usr as default
1125 AC_ARG_WITH(gssapi-includes,
1126 AC_HELP_STRING([--with-gssapi-includes=DIR],
1127 [Specify location of GSSAPI header]),
1128 [ GSSAPI_INCS="-I$withval"
1132 AC_ARG_WITH(gssapi-libs,
1133 AC_HELP_STRING([--with-gssapi-libs=DIR],
1134 [Specify location of GSSAPI libs]),
1135 [ GSSAPI_LIB_DIR="-L$withval"
1140 AC_HELP_STRING([--with-gssapi=DIR],
1141 [Where to look for GSSAPI]), [
1142 GSSAPI_ROOT="$withval"
1143 if test x"$GSSAPI_ROOT" != xno; then
1145 if test x"$GSSAPI_ROOT" = xyes; then
1146 dnl if yes, then use default root
1152 save_CPPFLAGS="$CPPFLAGS"
1153 AC_MSG_CHECKING([if GSSAPI support is requested])
1154 if test x"$want_gss" = xyes; then
1157 if test -z "$GSSAPI_INCS"; then
1158 if test -f "$GSSAPI_ROOT/bin/krb5-config"; then
1159 GSSAPI_INCS=`$GSSAPI_ROOT/bin/krb5-config --cflags gssapi`
1160 elif test "$GSSAPI_ROOT" != "yes"; then
1161 GSSAPI_INCS="-I$GSSAPI_ROOT/include"
1165 CPPFLAGS="$CPPFLAGS $GSSAPI_INCS"
1167 AC_CHECK_HEADER(gss.h,
1169 dnl found in the given dirs
1170 AC_DEFINE(HAVE_GSSGNU, 1, [if you have the GNU gssapi libraries])
1174 dnl not found, check Heimdal or MIT
1175 AC_CHECK_HEADERS([gssapi/gssapi.h], [], [not_mit=1])
1177 [gssapi/gssapi_generic.h gssapi/gssapi_krb5.h],
1182 #ifdef HAVE_GSSAPI_GSSAPI_H
1183 #include <gssapi/gssapi.h>
1186 if test "x$not_mit" = "x1"; then
1187 dnl MIT not found, check for Heimdal
1188 AC_CHECK_HEADER(gssapi.h,
1191 AC_DEFINE(HAVE_GSSHEIMDAL, 1, [if you have the Heimdal gssapi libraries])
1194 dnl no header found, disabling GSS
1196 AC_MSG_WARN(disabling GSSAPI since no header files was found)
1201 AC_DEFINE(HAVE_GSSMIT, 1, [if you have the MIT gssapi libraries])
1202 dnl check if we have a really old MIT kerberos (<= 1.2)
1203 AC_MSG_CHECKING([if gssapi headers declare GSS_C_NT_HOSTBASED_SERVICE])
1206 #include <gssapi/gssapi.h>
1207 #include <gssapi/gssapi_generic.h>
1208 #include <gssapi/gssapi_krb5.h>
1213 GSS_C_NT_HOSTBASED_SERVICE,
1217 AC_MSG_RESULT([yes])
1220 AC_DEFINE(HAVE_OLD_GSSMIT, 1,
1221 [if you have an old MIT gssapi library, lacking GSS_C_NT_HOSTBASED_SERVICE])
1229 if test x"$want_gss" = xyes; then
1230 AC_DEFINE(HAVE_GSSAPI, 1, [if you have the gssapi libraries])
1232 curl_gss_msg="enabled (MIT/Heimdal)"
1234 if test -n "$gnu_gss"; then
1235 curl_gss_msg="enabled (GNU GSS)"
1236 LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR"
1238 elif test -z "$GSSAPI_LIB_DIR"; then
1241 LIBS="$LIBS -lgssapi_krb5 -lresolv"
1244 if test -f "$GSSAPI_ROOT/bin/krb5-config"; then
1245 dnl krb5-config doesn't have --libs-only-L or similar, put everything
1247 gss_libs=`$GSSAPI_ROOT/bin/krb5-config --libs gssapi`
1248 LIBS="$LIBS $gss_libs"
1249 elif test "$GSSAPI_ROOT" != "yes"; then
1250 LDFLAGS="$LDFLAGS -L$GSSAPI_ROOT/lib$libsuff"
1251 LIBS="$LIBS -lgssapi"
1253 LIBS="$LIBS -lgssapi"
1258 LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR"
1259 LIBS="$LIBS -lgssapi"
1262 CPPFLAGS="$save_CPPFLAGS"
1265 dnl **********************************************************************
1266 dnl Check for the presence of SSL libraries and headers
1267 dnl **********************************************************************
1269 dnl Default to compiler & linker defaults for SSL files & libraries.
1271 dnl Default to no CA bundle
1274 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])
1275 AC_HELP_STRING([--without-ssl], [disable OpenSSL]),
1278 if test X"$OPT_SSL" != Xno; then
1279 dnl backup the pre-ssl variables
1280 CLEANLDFLAGS="$LDFLAGS"
1281 CLEANCPPFLAGS="$CPPFLAGS"
1286 dnl --with-ssl (without path) used
1287 if test x$cross_compiling != xyes; then
1288 dnl only do pkg-config magic when not cross-compiling
1291 PREFIX_OPENSSL=/usr/local/ssl
1292 LIB_OPENSSL="$PREFIX_OPENSSL/lib$libsuff"
1295 dnl no --with-ssl option given, just check default places
1296 if test x$cross_compiling != xyes; then
1297 dnl only do pkg-config magic when not cross-compiling
1303 dnl check the given --with-ssl spot
1305 PREFIX_OPENSSL=$OPT_SSL
1307 dnl Try pkg-config even when cross-compiling. Since we
1308 dnl specify PKG_CONFIG_LIBDIR we're only looking where
1309 dnl the user told us to look
1310 OPENSSL_PCDIR="$OPT_SSL/lib/pkgconfig"
1311 AC_MSG_NOTICE([PKG_CONFIG_LIBDIR will be set to "$OPENSSL_PCDIR"])
1312 if test -e "$OPENSSL_PCDIR/openssl.pc"; then
1316 dnl in case pkg-config comes up empty, use what we got
1318 LIB_OPENSSL="$PREFIX_OPENSSL/lib$libsuff"
1319 if test "$PREFIX_OPENSSL" != "/usr" ; then
1320 SSL_LDFLAGS="-L$LIB_OPENSSL"
1321 SSL_CPPFLAGS="-I$PREFIX_OPENSSL/include"
1323 SSL_CPPFLAGS="$SSL_CPPFLAGS -I$PREFIX_OPENSSL/include/openssl"
1327 if test "$PKGTEST" = "yes"; then
1329 CURL_CHECK_PKGCONFIG(openssl, [$OPENSSL_PCDIR])
1331 if test "$PKGCONFIG" != "no" ; then
1332 SSL_LIBS=`CURL_EXPORT_PCDIR([$OPENSSL_PCDIR]) dnl
1333 $PKGCONFIG --libs-only-l openssl 2>/dev/null`
1335 SSL_LDFLAGS=`CURL_EXPORT_PCDIR([$OPENSSL_PCDIR]) dnl
1336 $PKGCONFIG --libs-only-L openssl 2>/dev/null`
1338 SSL_CPPFLAGS=`CURL_EXPORT_PCDIR([$OPENSSL_PCDIR]) dnl
1339 $PKGCONFIG --cflags-only-I openssl 2>/dev/null`
1341 AC_MSG_NOTICE([pkg-config: SSL_LIBS: "$SSL_LIBS"])
1342 AC_MSG_NOTICE([pkg-config: SSL_LDFLAGS: "$SSL_LDFLAGS"])
1343 AC_MSG_NOTICE([pkg-config: SSL_CPPFLAGS: "$SSL_CPPFLAGS"])
1345 LIB_OPENSSL=`echo $SSL_LDFLAGS | sed -e 's/-L//g'`
1347 dnl use the values pkg-config reported. This is here
1348 dnl instead of below with CPPFLAGS and LDFLAGS because we only
1349 dnl learn about this via pkg-config. If we only have
1350 dnl the argument to --with-ssl we don't know what
1351 dnl additional libs may be necessary. Hope that we
1353 LIBS="$LIBS $SSL_LIBS"
1357 dnl finally, set flags to use SSL
1358 CPPFLAGS="$CPPFLAGS $SSL_CPPFLAGS"
1359 LDFLAGS="$LDFLAGS $SSL_LDFLAGS"
1361 dnl This is for Msys/Mingw
1363 *-*-msys* | *-*-mingw*)
1364 AC_MSG_CHECKING([for gdi32])
1365 my_ac_save_LIBS=$LIBS
1366 LIBS="-lgdi32 $LIBS"
1367 AC_TRY_LINK([#include <windef.h>
1368 #include <wingdi.h>],
1371 AC_MSG_RESULT([yes])],
1372 [ dnl failed, restore LIBS
1373 LIBS=$my_ac_save_LIBS
1379 AC_CHECK_LIB(crypto, CRYPTO_lock,[
1381 LIBS="-lcrypto $LIBS"
1383 LDFLAGS="$CLEANLDFLAGS -L$LIB_OPENSSL"
1384 CPPFLAGS="$CLEANCPPFLAGS -I$PREFIX_OPENSSL/include/openssl -I$PREFIX_OPENSSL/include"
1385 AC_CHECK_LIB(crypto, CRYPTO_add_lock,[
1387 LIBS="-lcrypto $LIBS"], [
1388 LDFLAGS="$CLEANLDFLAGS"
1389 CPPFLAGS="$CLEANCPPFLAGS"
1395 if test X"$HAVECRYPTO" = X"yes"; then
1396 dnl This is only reasonable to do if crypto actually is there: check for
1397 dnl SSL libs NOTE: it is important to do this AFTER the crypto lib
1399 AC_CHECK_LIB(ssl, SSL_connect)
1401 if test "$ac_cv_lib_ssl_SSL_connect" != yes; then
1402 dnl we didn't find the SSL lib, try the RSAglue/rsaref stuff
1403 AC_MSG_CHECKING(for ssl with RSAglue/rsaref libs in use);
1405 LIBS="$LIBS -lRSAglue -lrsaref"
1406 AC_CHECK_LIB(ssl, SSL_connect)
1407 if test "$ac_cv_lib_ssl_SSL_connect" != yes; then
1408 dnl still no SSL_connect
1417 dnl Have the libraries--check for SSLeay/OpenSSL headers
1418 AC_CHECK_HEADERS(openssl/x509.h openssl/rsa.h openssl/crypto.h \
1419 openssl/pem.h openssl/ssl.h openssl/err.h,
1420 curl_ssl_msg="enabled (OpenSSL)"
1422 AC_DEFINE(USE_OPENSSL, 1, [if OpenSSL is in use]))
1424 if test $ac_cv_header_openssl_x509_h = no; then
1425 dnl we don't use the "action" part of the AC_CHECK_HEADERS macro
1426 dnl since 'err.h' might in fact find a krb4 header with the same
1428 AC_CHECK_HEADERS(x509.h rsa.h crypto.h pem.h ssl.h err.h)
1430 if test $ac_cv_header_x509_h = yes &&
1431 test $ac_cv_header_crypto_h = yes &&
1432 test $ac_cv_header_ssl_h = yes; then
1434 curl_ssl_msg="enabled (OpenSSL)"
1440 if test X"$OPENSSL_ENABLED" = X"1"; then
1441 AC_DEFINE(USE_SSLEAY, 1, [if SSL is enabled])
1443 dnl is there a pkcs12.h header present?
1444 AC_CHECK_HEADERS(openssl/pkcs12.h)
1448 dnl USE_SSLEAY is the historical name for what configure calls
1449 dnl OPENSSL_ENABLED; the names should really be unified
1450 USE_SSLEAY="$OPENSSL_ENABLED"
1451 AC_SUBST(USE_SSLEAY)
1453 if test X"$OPT_SSL" != Xoff &&
1454 test "$OPENSSL_ENABLED" != "1"; then
1455 AC_MSG_ERROR([OpenSSL libs and/or directories were not found where specified!])
1459 if test X"$OPENSSL_ENABLED" = X"1"; then
1460 dnl If the ENGINE library seems to be around, check for the OpenSSL engine
1461 dnl stuff, it is kind of "separated" from the main SSL check
1462 AC_CHECK_FUNC(ENGINE_init,
1464 AC_CHECK_HEADERS(openssl/engine.h)
1465 AC_CHECK_FUNCS( ENGINE_load_builtin_engines )
1468 dnl these can only exist if openssl exists
1469 dnl yassl doesn't have SSL_get_shutdown
1471 AC_CHECK_FUNCS( RAND_status \
1475 CRYPTO_cleanup_all_ex_data \
1478 dnl Make an attempt to detect if this is actually yassl's headers and
1479 dnl OpenSSL emulation layer. We still leave everything else believing
1480 dnl and acting like OpenSSL.
1482 AC_MSG_CHECKING([for yaSSL using OpenSSL compatibility mode])
1485 #include <openssl/ssl.h>
1487 #if defined(YASSL_VERSION) && defined(OPENSSL_VERSION_NUMBER)
1488 int dummy = SSL_ERROR_NONE;
1490 Not the yaSSL OpenSSL compatibility header.
1494 AC_MSG_RESULT([yes])
1495 AC_DEFINE_UNQUOTED(USE_YASSLEMUL, 1,
1496 [Define to 1 if using yaSSL in OpenSSL compatibility mode.])
1497 curl_ssl_msg="enabled (OpenSSL emulation by yaSSL)"
1503 if test "$OPENSSL_ENABLED" = "1"; then
1504 if test -n "$LIB_OPENSSL"; then
1505 dnl when the ssl shared libs were found in a path that the run-time
1506 dnl linker doesn't search through, we need to add it to LD_LIBRARY_PATH
1507 dnl to prevent further configure tests to fail due to this
1509 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_OPENSSL"
1510 export LD_LIBRARY_PATH
1511 AC_MSG_NOTICE([Added $LIB_OPENSSL to LD_LIBRARY_PATH])
1517 dnl **********************************************************************
1518 dnl Check for the presence of ZLIB libraries and headers
1519 dnl **********************************************************************
1521 dnl Check for & handle argument to --with-zlib.
1526 AC_HELP_STRING([--with-zlib=PATH],[search for zlib in PATH])
1527 AC_HELP_STRING([--without-zlib],[disable use of zlib]),
1528 [OPT_ZLIB="$withval"])
1530 if test "$OPT_ZLIB" = "no" ; then
1531 AC_MSG_WARN([zlib disabled])
1533 if test "$OPT_ZLIB" = "yes" ; then
1537 if test -z "$OPT_ZLIB" ; then
1538 dnl check for the lib first without setting any new path, since many
1539 dnl people have it in the default path
1541 AC_CHECK_LIB(z, inflateEnd,
1542 dnl libz found, set the variable
1544 dnl if no lib found, try /usr/local
1545 [OPT_ZLIB="/usr/local"])
1549 dnl Add a nonempty path to the compiler flags
1550 if test -n "$OPT_ZLIB"; then
1551 CPPFLAGS="$CPPFLAGS -I$OPT_ZLIB/include"
1552 LDFLAGS="$LDFLAGS -L$OPT_ZLIB/lib$libsuff"
1555 AC_CHECK_HEADER(zlib.h,
1557 dnl zlib.h was found
1559 dnl if the lib wasn't found already, try again with the new paths
1560 if test "$HAVE_LIBZ" != "1"; then
1561 AC_CHECK_LIB(z, gzread,
1563 dnl the lib was found!
1566 [ CPPFLAGS=$_cppflags
1571 dnl zlib.h was not found, restore the flags
1576 if test "$HAVE_LIBZ" = "1" && test "$HAVE_ZLIB_H" != "1"
1578 AC_MSG_WARN([configure found only the libz lib, not the header file!])
1580 elif test "$HAVE_LIBZ" != "1" && test "$HAVE_ZLIB_H" = "1"
1582 AC_MSG_WARN([configure found only the libz header file, not the lib!])
1583 elif test "$HAVE_LIBZ" = "1" && test "$HAVE_ZLIB_H" = "1"
1585 dnl both header and lib were found!
1587 AC_DEFINE(HAVE_ZLIB_H, 1, [if you have the zlib.h header file])
1588 AC_DEFINE(HAVE_LIBZ, 1, [if zlib is available])
1590 CURL_LIBS="$CURL_LIBS -lz"
1593 dnl replace 'HAVE_LIBZ' in the automake makefile.ams
1595 AC_MSG_NOTICE([found both libz and libz.h header])
1596 curl_zlib_msg="enabled"
1600 dnl set variable for use in automakefile(s)
1601 AM_CONDITIONAL(HAVE_LIBZ, test x"$AMFIXLIB" = x1)
1603 dnl **********************************************************************
1604 dnl Check for the random seed preferences
1605 dnl **********************************************************************
1607 if test X"$OPENSSL_ENABLED" = X"1"; then
1608 AC_ARG_WITH(egd-socket,
1609 AC_HELP_STRING([--with-egd-socket=FILE],
1610 [Entropy Gathering Daemon socket pathname]),
1611 [ EGD_SOCKET="$withval" ]
1613 if test -n "$EGD_SOCKET" ; then
1614 AC_DEFINE_UNQUOTED(EGD_SOCKET, "$EGD_SOCKET",
1615 [your Entropy Gathering Daemon socket pathname] )
1618 dnl Check for user-specified random device
1620 AC_HELP_STRING([--with-random=FILE],
1621 [read randomness from FILE (default=/dev/urandom)]),
1622 [ RANDOM_FILE="$withval" ],
1624 dnl Check for random device
1625 AC_CHECK_FILE("/dev/urandom", [ RANDOM_FILE="/dev/urandom"] )
1628 if test -n "$RANDOM_FILE" && test X"$RANDOM_FILE" != Xno ; then
1629 AC_SUBST(RANDOM_FILE)
1630 AC_DEFINE_UNQUOTED(RANDOM_FILE, "$RANDOM_FILE",
1631 [a suitable file to read random data from])
1635 dnl ----------------------------------------------------
1636 dnl check for GnuTLS
1637 dnl ----------------------------------------------------
1639 dnl Default to compiler & linker defaults for GnuTLS files & libraries.
1642 AC_ARG_WITH(gnutls,dnl
1643 AC_HELP_STRING([--with-gnutls=PATH],[where to look for GnuTLS, PATH points to the installation root (default: /usr/local/)])
1644 AC_HELP_STRING([--without-gnutls], [disable GnuTLS detection]),
1645 OPT_GNUTLS=$withval)
1647 if test "$OPENSSL_ENABLED" != "1"; then
1649 if test X"$OPT_GNUTLS" != Xno; then
1652 if test "x$OPT_GNUTLS" = "xyes"; then
1653 dnl this is with no partiular path given
1654 CURL_CHECK_PKGCONFIG(gnutls)
1656 if test "$PKGCONFIG" != "no" ; then
1657 addlib=`$PKGCONFIG --libs-only-l gnutls`
1658 addld=`$PKGCONFIG --libs-only-L gnutls`
1659 addcflags=`$PKGCONFIG --cflags-only-I gnutls`
1660 version=`$PKGCONFIG --modversion gnutls`
1661 gtlslib=`echo $addld | $SED -e 's/-L//'`
1663 dnl without pkg-config, we try libgnutls-config as that was how it
1665 check=`libgnutls-config --version 2>/dev/null`
1666 if test -n "$check"; then
1667 addlib=`libgnutls-config --libs`
1668 addcflags=`libgnutls-config --cflags`
1669 version=`libgnutls-config --version`
1670 gtlslib=`libgnutls-config --prefix`/lib$libsuff
1674 dnl this is with a given path, first check if there's a libgnutls-config
1675 dnl there and if not, make an educated guess
1676 cfg=$OPT_GNUTLS/bin/libgnutls-config
1677 check=`$cfg --version 2>/dev/null`
1678 if test -n "$check"; then
1679 addlib=`$cfg --libs`
1680 addcflags=`$cfg --cflags`
1681 version=`$cfg --version`
1682 gtlslib=`$cfg --prefix`/lib$libsuff
1684 dnl without pkg-config and libgnutls-config, we guess a lot!
1686 addld=-L$OPT_GNUTLS/lib$libsuff
1687 addcflags=-I$OPT_GNUTLS/include
1688 version="" # we just don't know
1689 gtlslib=$OPT_GNUTLS/lib$libsuff
1693 if test -z "$version"; then
1694 dnl lots of efforts, still no go
1698 if test -n "$addlib"; then
1701 CLEANCPPFLAGS="$CPPFLAGS"
1702 CLEADLDFLAGS="$LDFLAGS"
1704 LIBS="$LIBS $addlib"
1705 LDFLAGS="$LDFLAGS $addld"
1706 if test "$addcflags" != "-I/usr/include"; then
1707 CPPFLAGS="$CPPFLAGS $addcflags"
1710 AC_CHECK_LIB(gnutls, gnutls_check_version,
1712 AC_DEFINE(USE_GNUTLS, 1, [if GnuTLS is enabled])
1713 AC_SUBST(USE_GNUTLS, [1])
1716 curl_ssl_msg="enabled (GnuTLS)"
1720 CPPFLAGS="$CLEANCPPFLAGS"
1723 if test "x$USE_GNUTLS" = "xyes"; then
1724 AC_MSG_NOTICE([detected GnuTLS version $version])
1726 if test -n "$gtlslib"; then
1727 dnl when shared libs were found in a path that the run-time
1728 dnl linker doesn't search through, we need to add it to
1729 dnl LD_LIBRARY_PATH to prevent further configure tests to fail
1732 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$gtlslib"
1733 export LD_LIBRARY_PATH
1734 AC_MSG_NOTICE([Added $gtlslib to LD_LIBRARY_PATH])
1740 fi dnl GNUTLS not disabled
1745 dnl If GnuTLS is enabled, we MUST verify that it uses libgcrypt since
1746 dnl curl code relies on that but recent GnuTLS versions can in fact build
1747 dnl with different crypto libraries which curl right now cannot handle
1750 if test "$GNUTLS_ENABLED" = "1"; then
1751 AC_CHECK_LIB(gcrypt,
1754 AC_MSG_ERROR([need GnuTLS built with gcrypt to function with GnuTLS])
1759 dnl We require GnuTLS with SRP support.
1761 if test "$GNUTLS_ENABLED" = "1"; then
1762 AC_CHECK_LIB(gnutls, gnutls_srp_verifier,
1764 AC_DEFINE(HAVE_GNUTLS_SRP, 1, [if you have the function gnutls_srp_verifier])
1765 AC_SUBST(HAVE_GNUTLS_SRP, [1])
1769 dnl ----------------------------------------------------
1770 dnl check for PolarSSL
1771 dnl ----------------------------------------------------
1773 dnl Default to compiler & linker defaults for PolarSSL files & libraries.
1778 AC_ARG_WITH(polarssl,dnl
1779 AC_HELP_STRING([--with-polarssl=PATH],[where to look for PolarSSL, PATH points to the installation root (default: /usr/local/)])
1780 AC_HELP_STRING([--without-polarssl], [disable PolarSSL detection]),
1781 OPT_POLARSSL=$withval)
1783 if test "$OPENSSL_ENABLED" != "1"; then
1785 if test X"$OPT_POLARSSL" != Xno; then
1787 if test "$OPT_POLARSSL" = "yes"; then
1791 if test -z "$OPT_POLARSSL" ; then
1792 dnl check for lib first without setting any new path
1794 AC_CHECK_LIB(polarssl, havege_init,
1795 dnl libpolarssl found, set the variable
1797 AC_DEFINE(USE_POLARSSL, 1, [if PolarSSL is enabled])
1798 AC_SUBST(USE_POLARSSL, [1])
1801 curl_ssl_msg="enabled (PolarSSL)"
1805 if test "x$USE_POLARSSL" != "xyes"; then
1806 dnl add the path and test again
1807 addld=-L$OPT_POLARSSL/lib$libsuff
1808 addcflags=-I$OPT_POLARSSL/include
1809 polarssllib=$OPT_POLARSSL/lib$libsuff
1811 LDFLAGS="$LDFLAGS $addld"
1812 if test "$addcflags" != "-I/usr/include"; then
1813 CPPFLAGS="$CPPFLAGS $addcflags"
1816 AC_CHECK_LIB(polarssl, ssl_init,
1818 AC_DEFINE(USE_POLARSSL, 1, [if PolarSSL is enabled])
1819 AC_SUBST(USE_POLARSSL, [1])
1822 curl_ssl_msg="enabled (PolarSSL)"
1830 if test "x$USE_POLARSSL" = "xyes"; then
1831 AC_MSG_NOTICE([detected PolarSSL])
1833 CURL_LIBS="$CURL_LIBS -lpolarssl"
1834 LIBS="$LIBS -lpolarssl"
1836 if test -n "$polarssllib"; then
1837 dnl when shared libs were found in a path that the run-time
1838 dnl linker doesn't search through, we need to add it to
1839 dnl LD_LIBRARY_PATH to prevent further configure tests to fail
1842 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$polarssllib"
1843 export LD_LIBRARY_PATH
1844 AC_MSG_NOTICE([Added $polarssllib to LD_LIBRARY_PATH])
1849 fi dnl PolarSSL not disabled
1853 dnl ----------------------------------------------------
1854 dnl check for CyaSSL
1855 dnl ----------------------------------------------------
1857 dnl Default to compiler & linker defaults for CyaSSL files & libraries.
1862 AC_ARG_WITH(cyassl,dnl
1863 AC_HELP_STRING([--with-cyassl=PATH],[where to look for CyaSSL, PATH points to the installation root (default: /usr/local/cyassl)])
1864 AC_HELP_STRING([--without-cyassl], [disable CyaSSL detection]),
1865 OPT_CYASSL=$withval)
1867 if test "$OPENSSL_ENABLED" != "1"; then
1869 if test X"$OPT_CYASSL" != Xno; then
1871 if test "$OPT_CYASSL" = "yes"; then
1875 if test -z "$OPT_CYASSL" ; then
1876 dnl check for lib in default first
1878 trycyassldir="/usr/local/cyassl"
1880 LDFLAGS="$LDFLAGS -L$trycyassldir/lib"
1881 CPPFLAGS="$CPPFLAGS -I$trycyassldir/include"
1883 AC_CHECK_LIB(cyassl, InitCyaSSL,
1884 dnl libcyassl found, set the variable
1886 AC_DEFINE(USE_CYASSL, 1, [if CyaSSL is enabled])
1887 AC_SUBST(USE_CYASSL, [1])
1890 curl_ssl_msg="enabled (CyaSSL)"
1894 if test "x$USE_CYASSL" != "xyes"; then
1895 dnl add the path and test again
1896 addld=-L$OPT_CYASSL/lib$libsuff
1897 addcflags=-I$OPT_CYASSL/include
1898 cyassllib=$OPT_CYASSL/lib$libsuff
1900 LDFLAGS="$LDFLAGS $addld"
1901 if test "$addcflags" != "-I/usr/include"; then
1902 CPPFLAGS="$CPPFLAGS $addcflags"
1905 AC_CHECK_LIB(cyassl, InitCyaSSL,
1907 AC_DEFINE(USE_CYASSL, 1, [if CyaSSL is enabled])
1908 AC_SUBST(USE_CYASSL, [1])
1911 curl_ssl_msg="enabled (CyaSSL)"
1919 if test "x$USE_CYASSL" = "xyes"; then
1920 AC_MSG_NOTICE([detected CyaSSL])
1922 CURL_LIBS="$CURL_LIBS -lcyassl -lm"
1923 LIBS="$LIBS -lcyassl -lm"
1925 if test -n "$cyassllib"; then
1926 dnl when shared libs were found in a path that the run-time
1927 dnl linker doesn't search through, we need to add it to
1928 dnl LD_LIBRARY_PATH to prevent further configure tests to fail
1931 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$cyassllib"
1932 export LD_LIBRARY_PATH
1933 AC_MSG_NOTICE([Added $cyassllib to LD_LIBRARY_PATH])
1938 fi dnl CyaSSL not disabled
1942 dnl ----------------------------------------------------
1943 dnl NSS. Only check if GnuTLS and OpenSSL are not enabled
1944 dnl ----------------------------------------------------
1946 dnl Default to compiler & linker defaults for NSS files & libraries.
1950 AC_HELP_STRING([--with-nss=PATH],[where to look for NSS, PATH points to the installation root (default: /usr/local/)])
1951 AC_HELP_STRING([--without-nss], [disable NSS detection]),
1954 if test "$OPENSSL_ENABLED" != "1" -a "$GNUTLS_ENABLED" != "1"; then
1956 if test X"$OPT_NSS" != Xno; then
1957 if test "x$OPT_NSS" = "xyes"; then
1959 CURL_CHECK_PKGCONFIG(nss)
1961 if test "$PKGCONFIG" != "no" ; then
1962 addlib=`$PKGCONFIG --libs nss`
1963 addcflags=`$PKGCONFIG --cflags nss`
1964 version=`$PKGCONFIG --modversion nss`
1965 nssprefix=`$PKGCONFIG --variable=prefix nss`
1967 dnl Without pkg-config, we check for nss-config
1969 check=`nss-config --version 2>/dev/null`
1970 if test -n "$check"; then
1971 addlib=`nss-config --libs`
1972 addcflags=`nss-config --cflags`
1973 version=`nss-config --version`
1974 nssprefix=`nss-config --prefix`
1982 # Without pkg-config, we'll kludge in some defaults
1983 addlib="-L$OPT_NSS/lib -lssl3 -lsmime3 -lnss3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl"
1984 addcflags="-I$OPT_NSS/include"
1989 dnl Check for functionPK11_CreateGenericObject
1990 dnl this is needed for using the PEM PKCS#11 module
1991 AC_CHECK_LIB(nss3, PK11_CreateGenericObject,
1993 AC_DEFINE(HAVE_PK11_CREATEGENERICOBJECT, 1, [if you have the function PK11_CreateGenericObject])
1994 AC_SUBST(HAVE_PK11_CREATEGENERICOBJECT, [1])
1996 if test -n "$addlib"; then
1999 CLEANCPPFLAGS="$CPPFLAGS"
2001 LIBS="$LIBS $addlib"
2002 if test "$addcflags" != "-I/usr/include"; then
2003 CPPFLAGS="$CPPFLAGS $addcflags"
2006 AC_CHECK_LIB(nss3, NSS_Initialize,
2008 AC_DEFINE(USE_NSS, 1, [if NSS is enabled])
2009 AC_SUBST(USE_NSS, [1])
2012 curl_ssl_msg="enabled (NSS)"
2016 CPPFLAGS="$CLEANCPPFLAGS"
2019 if test "x$USE_NSS" = "xyes"; then
2020 AC_MSG_NOTICE([detected NSS version $version])
2022 dnl when shared libs were found in a path that the run-time
2023 dnl linker doesn't search through, we need to add it to
2024 dnl LD_LIBRARY_PATH to prevent further configure tests to fail
2027 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$nssprefix/lib$libsuff"
2028 export LD_LIBRARY_PATH
2029 AC_MSG_NOTICE([Added $nssprefix/lib$libsuff to LD_LIBRARY_PATH])
2034 fi dnl NSS not disabled
2036 fi dnl OPENSSL != 1 -a GNUTLS_ENABLED != 1
2040 AC_ARG_WITH(axtls,dnl
2041 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.])
2042 AC_HELP_STRING([--without-axtls], [disable axTLS]),
2045 if test "$curl_ssl_msg" = "$init_ssl_msg"; then
2046 if test X"$OPT_AXTLS" != Xno; then
2047 dnl backup the pre-axtls variables
2048 CLEANLDFLAGS="$LDFLAGS"
2049 CLEANCPPFLAGS="$CPPFLAGS"
2052 case "$OPT_AXTLS" in
2054 dnl --with-axtls (without path) used
2055 PREFIX_AXTLS=/usr/local
2056 LIB_AXTLS="$PREFIX_AXTLS/lib"
2057 LDFLAGS="$LDFLAGS -L$LIB_AXTLS"
2058 CPPFLAGS="$CPPFLAGS -I$PREFIX_AXTLS/include"
2061 dnl no --with-axtls option given, just check default places
2065 dnl check the given --with-axtls spot
2066 PREFIX_AXTLS=$OPT_AXTLS
2067 LIB_AXTLS="$PREFIX_AXTLS/lib"
2068 LDFLAGS="$LDFLAGS -L$LIB_AXTLS"
2069 CPPFLAGS="$CPPFLAGS -I$PREFIX_AXTLS/include"
2073 AC_CHECK_LIB(axtls, ssl_version,[
2074 LIBS="-laxtls $LIBS"
2075 AC_DEFINE(USE_AXTLS, 1, [if axTLS is enabled])
2076 AC_SUBST(USE_AXTLS, [1])
2079 curl_ssl_msg="enabled (axTLS)"
2082 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_AXTLS"
2083 export LD_LIBRARY_PATH
2084 AC_MSG_NOTICE([Added $LIB_AXTLS to LD_LIBRARY_PATH])
2086 LDFLAGS="$CLEANLDFLAGS"
2087 CPPFLAGS="$CLEANCPPFLAGS"
2093 if test "x$OPENSSL_ENABLED$GNUTLS_ENABLED$NSS_ENABLED$POLARSSL_ENABLED$AXTLS_ENABLED$CYASSL_ENABLED" = "x"; then
2094 AC_MSG_WARN([SSL disabled, you will not be able to use HTTPS, FTPS, NTLM and more.])
2095 AC_MSG_WARN([Use --with-ssl, --with-gnutls, --with-polarssl, --with-cyassl, --with-nss or --with-axtls to address this.])
2097 # SSL is enabled, genericly
2098 AC_SUBST(SSL_ENABLED)
2102 dnl **********************************************************************
2103 dnl Check for the CA bundle
2104 dnl **********************************************************************
2106 CURL_CHECK_CA_BUNDLE
2108 dnl **********************************************************************
2109 dnl Check for the presence of LIBSSH2 libraries and headers
2110 dnl **********************************************************************
2112 dnl Default to compiler & linker defaults for LIBSSH2 files & libraries.
2114 AC_ARG_WITH(libssh2,dnl
2115 AC_HELP_STRING([--with-libssh2=PATH],[Where to look for libssh2, PATH points to the LIBSSH2 installation (default: /usr/local/lib); when possible, set the PKG_CONFIG_PATH environment variable instead of using this option])
2116 AC_HELP_STRING([--without-libssh2], [disable LIBSSH2]),
2117 OPT_LIBSSH2=$withval)
2119 if test X"$OPT_LIBSSH2" != Xno; then
2120 dnl backup the pre-libssh2 variables
2121 CLEANLDFLAGS="$LDFLAGS"
2122 CLEANCPPFLAGS="$CPPFLAGS"
2125 case "$OPT_LIBSSH2" in
2127 dnl --with-libssh2 (without path) used
2128 CURL_CHECK_PKGCONFIG(libssh2)
2130 if test "$PKGCONFIG" != "no" ; then
2131 LIB_SSH2=`$PKGCONFIG --libs-only-l libssh2`
2132 LD_SSH2=`$PKGCONFIG --libs-only-L libssh2`
2133 CPP_SSH2=`$PKGCONFIG --cflags-only-I libssh2`
2134 version=`$PKGCONFIG --modversion libssh2`
2135 DIR_SSH2=`echo $LD_SSH2 | $SED -e 's/-L//'`
2140 dnl no --with-libssh2 option given, just check default places
2143 dnl use the given --with-libssh2 spot
2144 PREFIX_SSH2=$OPT_LIBSSH2
2148 dnl if given with a prefix, we set -L and -I based on that
2149 if test -n "$PREFIX_SSH2"; then
2150 LD_SSH2=-L${PREFIX_SSH2}/lib$libsuff
2151 CPP_SSH2=-I${PREFIX_SSH2}/include
2152 DIR_SSH2=${PREFIX_SSH2}/lib$libsuff
2155 LDFLAGS="$LDFLAGS $LD_SSH2"
2156 CPPFLAGS="$CPPFLAGS $CPP_SSH2"
2157 LIBS="$LIBS $LIB_SSH2"
2159 AC_CHECK_LIB(ssh2, libssh2_channel_open_ex)
2161 AC_CHECK_HEADERS(libssh2.h,
2162 curl_ssh_msg="enabled (libSSH2)"
2164 AC_DEFINE(USE_LIBSSH2, 1, [if libSSH2 is in use])
2165 AC_SUBST(USE_LIBSSH2, [1])
2168 if test X"$OPT_LIBSSH2" != Xoff &&
2169 test "$LIBSSH2_ENABLED" != "1"; then
2170 AC_MSG_ERROR([libSSH2 libs and/or directories were not found where specified!])
2173 if test "$LIBSSH2_ENABLED" = "1"; then
2174 if test -n "$DIR_SSH2"; then
2175 dnl when the libssh2 shared libs were found in a path that the run-time
2176 dnl linker doesn't search through, we need to add it to LD_LIBRARY_PATH
2177 dnl to prevent further configure tests to fail due to this
2179 dnl libssh2_version is a post 1.0 addition
2180 dnl libssh2_init and libssh2_exit were added in 1.2.5
2181 dnl libssh2_scp_send64 was added in 1.2.6
2182 dnl libssh2_session_handshake was added in 1.2.8
2183 AC_CHECK_FUNCS( libssh2_version libssh2_init libssh2_exit \
2184 libssh2_scp_send64 libssh2_session_handshake)
2186 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DIR_SSH2"
2187 export LD_LIBRARY_PATH
2188 AC_MSG_NOTICE([Added $DIR_SSH2 to LD_LIBRARY_PATH])
2191 dnl no libssh2, revert back to clean variables
2192 LDFLAGS=$CLEANLDFLAGS
2193 CPPFLAGS=$CLEANCPPFLAGS
2198 dnl **********************************************************************
2199 dnl Check for the presence of LIBRTMP libraries and headers
2200 dnl **********************************************************************
2202 dnl Default to compiler & linker defaults for LIBRTMP files & libraries.
2204 AC_ARG_WITH(librtmp,dnl
2205 AC_HELP_STRING([--with-librtmp=PATH],[Where to look for librtmp, PATH points to the LIBRTMP installation (default: /usr/local/lib); when possible, set the PKG_CONFIG_PATH environment variable instead of using this option])
2206 AC_HELP_STRING([--without-librtmp], [disable LIBRTMP]),
2207 OPT_LIBRTMP=$withval)
2209 if test X"$OPT_LIBRTMP" != Xno; then
2210 dnl backup the pre-librtmp variables
2211 CLEANLDFLAGS="$LDFLAGS"
2212 CLEANCPPFLAGS="$CPPFLAGS"
2215 case "$OPT_LIBRTMP" in
2217 dnl --with-librtmp (without path) used
2218 CURL_CHECK_PKGCONFIG(librtmp)
2220 if test "$PKGCONFIG" != "no" ; then
2221 LIB_RTMP=`$PKGCONFIG --libs-only-l librtmp`
2222 LD_RTMP=`$PKGCONFIG --libs-only-L librtmp`
2223 CPP_RTMP=`$PKGCONFIG --cflags-only-I librtmp`
2224 version=`$PKGCONFIG --modversion librtmp`
2225 DIR_RTMP=`echo $LD_RTMP | $SED -e 's/-L//'`
2227 dnl To avoid link errors, we do not allow --librtmp without
2228 dnl a pkgconfig file
2229 AC_MSG_ERROR([--librtmp was specified but could not find librtmp pkgconfig file.])
2234 dnl no --with-librtmp option given, just check default places
2238 dnl use the given --with-librtmp spot
2239 PREFIX_RTMP=$OPT_LIBRTMP
2243 dnl if given with a prefix, we set -L and -I based on that
2244 if test -n "$PREFIX_RTMP"; then
2245 LD_RTMP=-L${PREFIX_RTMP}/lib$libsuff
2246 CPP_RTMP=-I${PREFIX_RTMP}/include
2247 DIR_RTMP=${PREFIX_RTMP}/lib$libsuff
2250 LDFLAGS="$LDFLAGS $LD_RTMP"
2251 CPPFLAGS="$CPPFLAGS $CPP_RTMP"
2252 LIBS="$LIBS $LIB_RTMP"
2254 AC_CHECK_LIB(rtmp, RTMP_Init,
2256 AC_CHECK_HEADERS(librtmp/rtmp.h,
2257 curl_rtmp_msg="enabled (librtmp)"
2259 AC_DEFINE(USE_LIBRTMP, 1, [if librtmp is in use])
2260 AC_SUBST(USE_LIBRTMP, [1])
2263 dnl not found, revert back to clean variables
2264 LDFLAGS=$CLEANLDFLAGS
2265 CPPFLAGS=$CLEANCPPFLAGS
2269 if test X"$OPT_LIBRTMP" != Xoff &&
2270 test "$LIBRTMP_ENABLED" != "1"; then
2271 AC_MSG_ERROR([librtmp libs and/or directories were not found where specified!])
2276 dnl **********************************************************************
2277 dnl Check for the presence of IDN libraries and headers
2278 dnl **********************************************************************
2280 AC_MSG_CHECKING([whether to build with libidn])
2282 AC_HELP_STRING([--with-libidn=PATH],[Enable libidn usage])
2283 AC_HELP_STRING([--without-libidn],[Disable libidn usage]),
2284 [LIBIDN="$withval"])
2290 *) AC_MSG_RESULT(yes)
2293 dnl if there is a given path, check that FIRST
2294 if test -n "$LIBIDN"; then
2295 if test "x$LIBIDN" != "xyes"; then
2297 oldCPPFLAGS=$CPPFLAGS
2298 LDFLAGS="$LDFLAGS -L$LIBIDN/lib"
2299 CPPFLAGS="$CPPFLAGS -I$LIBIDN/include"
2301 AC_CHECK_LIB(idn, idna_to_ascii_4i, ,
2304 CPPFLAGS=$oldCPPFLAGS)
2308 if test "x$idn" != "xyes"; then
2309 dnl check with default paths
2311 AC_CHECK_LIB(idn, idna_to_ascii_lz, ,
2315 if test "x$idn" = "xyes"; then
2316 curl_idn_msg="enabled"
2317 AC_SUBST(IDN_ENABLED, [1])
2318 dnl different versions of libidn have different setups of these:
2319 AC_CHECK_FUNCS( idn_free idna_strerror tld_strerror)
2320 AC_CHECK_HEADERS( idn-free.h tld.h )
2327 dnl Let's hope this split URL remains working:
2328 dnl http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixprggd/ \
2329 dnl genprogc/thread_quick_ref.htm
2332 dnl **********************************************************************
2333 dnl Back to "normal" configuring
2334 dnl **********************************************************************
2336 dnl Checks for header files.
2339 CURL_CHECK_HEADER_MALLOC
2340 CURL_CHECK_HEADER_MEMORY
2342 dnl Now check for the very most basic headers. Then we can use these
2343 dnl ones as default-headers when checking for the rest!
2385 dnl to do if not found
2389 dnl default includes
2391 #ifdef HAVE_SYS_TYPES_H
2392 #include <sys/types.h>
2394 #ifdef HAVE_SYS_TIME_H
2395 #include <sys/time.h>
2397 #ifdef HAVE_SYS_SELECT_H
2398 #include <sys/select.h>
2400 #ifdef HAVE_SYS_SOCKET_H
2401 #include <sys/socket.h>
2403 #ifdef HAVE_NETINET_IN_H
2404 #include <netinet/in.h>
2406 #ifdef HAVE_SYS_UN_H
2412 dnl Checks for typedefs, structures, and compiler characteristics.
2414 CURL_CHECK_VARIADIC_MACROS
2417 CURL_CHECK_STRUCT_TIMEVAL
2418 CURL_VERIFY_RUNTIMELIBS
2420 AC_CHECK_SIZEOF(size_t)
2421 AC_CHECK_SIZEOF(long)
2422 AC_CHECK_SIZEOF(int)
2423 AC_CHECK_SIZEOF(short)
2425 AC_CHECK_SIZEOF(time_t)
2426 AC_CHECK_SIZEOF(off_t)
2429 if test x"$ac_cv_native_windows" != "xyes" &&
2430 test $ac_cv_sizeof_off_t -ne $curl_sizeof_curl_off_t; then
2431 AC_MSG_WARN([This libcurl built is probably not ABI compatible with previous])
2432 AC_MSG_WARN([builds! You MUST read lib/README.curl_off_t to figure it out.])
2437 AC_CHECK_TYPE(long long,
2438 [AC_DEFINE(HAVE_LONGLONG, 1,
2439 [Define to 1 if the compiler supports the 'long long' data type.])]
2443 if test "xyes" = "x$longlong"; then
2444 AC_MSG_CHECKING([if numberLL works])
2448 long long val = 1000LL;
2451 AC_MSG_RESULT([yes])
2452 AC_DEFINE(HAVE_LL, 1, [if your compiler supports LL])
2460 AC_CHECK_TYPE(ssize_t, ,
2461 AC_DEFINE(ssize_t, int, [the signed version of size_t]))
2463 # check for bool type
2464 AC_CHECK_TYPE([bool],[
2465 AC_DEFINE(HAVE_BOOL_T, 1,
2466 [Define to 1 if bool is an available type.])
2468 #ifdef HAVE_SYS_TYPES_H
2469 #include <sys/types.h>
2471 #ifdef HAVE_STDBOOL_H
2472 #include <stdbool.h>
2476 CURL_CONFIGURE_CURL_SOCKLEN_T
2480 TYPE_SOCKADDR_STORAGE
2486 CURL_CHECK_FUNC_SELECT
2488 CURL_CHECK_FUNC_RECV
2489 CURL_CHECK_FUNC_RECVFROM
2490 CURL_CHECK_FUNC_SEND
2491 CURL_CHECK_MSG_NOSIGNAL
2493 CURL_CHECK_FUNC_ALARM
2494 CURL_CHECK_FUNC_BASENAME
2495 CURL_CHECK_FUNC_CLOSESOCKET
2496 CURL_CHECK_FUNC_CLOSESOCKET_CAMEL
2497 CURL_CHECK_FUNC_CONNECT
2498 CURL_CHECK_FUNC_FCNTL
2499 CURL_CHECK_FUNC_FDOPEN
2500 CURL_CHECK_FUNC_FREEADDRINFO
2501 CURL_CHECK_FUNC_FREEIFADDRS
2502 CURL_CHECK_FUNC_FSETXATTR
2503 CURL_CHECK_FUNC_FTRUNCATE
2504 CURL_CHECK_FUNC_GETADDRINFO
2505 CURL_CHECK_FUNC_GETHOSTBYADDR
2506 CURL_CHECK_FUNC_GETHOSTBYADDR_R
2507 CURL_CHECK_FUNC_GETHOSTBYNAME
2508 CURL_CHECK_FUNC_GETHOSTBYNAME_R
2509 CURL_CHECK_FUNC_GETHOSTNAME
2510 CURL_CHECK_FUNC_GETIFADDRS
2511 CURL_CHECK_FUNC_GETSERVBYPORT_R
2512 CURL_CHECK_FUNC_GMTIME_R
2513 CURL_CHECK_FUNC_INET_NTOA_R
2514 CURL_CHECK_FUNC_INET_NTOP
2515 CURL_CHECK_FUNC_INET_PTON
2516 CURL_CHECK_FUNC_IOCTL
2517 CURL_CHECK_FUNC_IOCTLSOCKET
2518 CURL_CHECK_FUNC_IOCTLSOCKET_CAMEL
2519 CURL_CHECK_FUNC_LOCALTIME_R
2520 CURL_CHECK_FUNC_MEMRCHR
2521 CURL_CHECK_FUNC_POLL
2522 CURL_CHECK_FUNC_SETSOCKOPT
2523 CURL_CHECK_FUNC_SIGACTION
2524 CURL_CHECK_FUNC_SIGINTERRUPT
2525 CURL_CHECK_FUNC_SIGNAL
2526 CURL_CHECK_FUNC_SIGSETJMP
2527 CURL_CHECK_FUNC_SOCKET
2528 CURL_CHECK_FUNC_STRCASECMP
2529 CURL_CHECK_FUNC_STRCASESTR
2530 CURL_CHECK_FUNC_STRCMPI
2531 CURL_CHECK_FUNC_STRDUP
2532 CURL_CHECK_FUNC_STRERROR_R
2533 CURL_CHECK_FUNC_STRICMP
2534 CURL_CHECK_FUNC_STRLCAT
2535 CURL_CHECK_FUNC_STRNCASECMP
2536 CURL_CHECK_FUNC_STRNCMPI
2537 CURL_CHECK_FUNC_STRNICMP
2538 CURL_CHECK_FUNC_STRSTR
2539 CURL_CHECK_FUNC_STRTOK_R
2540 CURL_CHECK_FUNC_STRTOLL
2541 CURL_CHECK_FUNC_WRITEV
2547 AC_MSG_NOTICE([skip check for pipe on msdosdjgpp])
2551 AC_CHECK_FUNCS([fork \
2570 eval skipcheck=\$skipcheck_$func
2571 if test "x$skipcheck" != "xyes"; then
2572 AC_MSG_CHECKING([deeper for $func])
2579 AC_MSG_RESULT([yes])
2580 eval "ac_cv_func_$func=yes"
2581 AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_$func]), [1],
2582 [Define to 1 if you have the $func function.])
2584 AC_MSG_RESULT([but still no])
2589 dnl Check if the getnameinfo function is available
2590 dnl and get the types of five of its arguments.
2591 CURL_CHECK_FUNC_GETNAMEINFO
2593 if test "$ipv6" = "yes"; then
2594 if test "$ac_cv_func_getaddrinfo" = "yes"; then
2595 AC_DEFINE(ENABLE_IPV6, 1, [Define if you want to enable IPv6 support])
2597 AC_SUBST(IPV6_ENABLED)
2599 CURL_CHECK_NI_WITHSCOPEID
2602 dnl ************************************************************
2603 dnl enable non-blocking communications
2605 CURL_CHECK_OPTION_NONBLOCKING
2606 CURL_CHECK_NONBLOCKING_SOCKET
2608 dnl ************************************************************
2609 dnl nroff tool stuff
2612 AC_PATH_PROG( PERL, perl, ,
2613 $PATH:/usr/local/bin/perl:/usr/bin/:/usr/local/bin )
2616 AC_PATH_PROGS( NROFF, gnroff nroff, ,
2617 $PATH:/usr/bin/:/usr/local/bin )
2620 if test -n "$NROFF"; then
2621 dnl only check for nroff options if an nroff command was found
2623 AC_MSG_CHECKING([how to use *nroff to get plain text from man pages])
2625 mancheck=`echo foo | $NROFF $MANOPT 2>/dev/null`
2626 if test -z "$mancheck"; then
2628 mancheck=`echo foo | $NROFF $MANOPT 2>/dev/null`
2629 if test -z "$mancheck"; then
2631 AC_MSG_RESULT([failed])
2632 AC_MSG_WARN([found no *nroff option to get plaintext from man pages])
2634 AC_MSG_RESULT([$MANOPT])
2637 AC_MSG_RESULT([$MANOPT])
2642 if test -z "$MANOPT"
2644 dnl if no nroff tool was found, or no option that could convert man pages
2645 dnl was found, then disable the built-in manual stuff
2646 AC_MSG_WARN([disabling built-in manual])
2650 dnl *************************************************************************
2651 dnl If the manual variable still is set, then we go with providing a built-in
2654 if test "$USE_MANUAL" = "1"; then
2655 AC_DEFINE(USE_MANUAL, 1, [If you want to build curl with the built-in manual])
2656 curl_manual_msg="enabled"
2659 dnl set variable for use in automakefile(s)
2660 AM_CONDITIONAL(USE_MANUAL, test x"$USE_MANUAL" = x1)
2663 AM_CONDITIONAL(USE_EMBEDDED_ARES, test x$embedded_ares = xyes)
2665 if test "x$ac_cv_native_windows" != "xyes" &&
2666 test "x$enable_shared" = "xyes"; then
2667 build_libhostname=yes
2669 build_libhostname=no
2671 AM_CONDITIONAL(BUILD_LIBHOSTNAME, test x$build_libhostname = xyes)
2673 CURL_CHECK_OPTION_THREADED_RESOLVER
2675 if test "x$want_thres" = xyes && test "x$want_ares" = xyes; then
2677 [Options --enable-threaded-resolver and --enable-ares are mutually exclusive])
2680 if test "$want_thres" = "yes"; then
2681 AC_CHECK_HEADER(pthread.h,
2682 [ AC_DEFINE(HAVE_PTHREAD_H, 1, [if you have <pthread.h>])
2683 save_CFLAGS="$CFLAGS"
2684 CFLAGS="$CFLAGS -pthread"
2685 AC_CHECK_LIB(pthread, pthread_create,
2686 [ AC_MSG_NOTICE([using POSIX threaded DNS lookup])
2687 AC_DEFINE(USE_THREADS_POSIX, 1, [if you want POSIX threaded DNS lookup])
2689 curl_res_msg="threaded"
2691 [ CFLAGS="$save_CFLAGS"])
2695 dnl ************************************************************
2696 dnl disable verbose text strings
2698 AC_MSG_CHECKING([whether to enable verbose strings])
2699 AC_ARG_ENABLE(verbose,
2700 AC_HELP_STRING([--enable-verbose],[Enable verbose strings])
2701 AC_HELP_STRING([--disable-verbose],[Disable verbose strings]),
2702 [ case "$enableval" in
2705 AC_DEFINE(CURL_DISABLE_VERBOSE_STRINGS, 1, [to disable verbose strings])
2706 curl_verbose_msg="no"
2708 *) AC_MSG_RESULT(yes)
2714 dnl ************************************************************
2715 dnl enable SSPI support
2717 AC_MSG_CHECKING([whether to enable SSPI support (Windows native builds only)])
2719 AC_HELP_STRING([--enable-sspi],[Enable SSPI])
2720 AC_HELP_STRING([--disable-sspi],[Disable SSPI]),
2721 [ case "$enableval" in
2723 if test "$ac_cv_native_windows" = "yes"; then
2725 AC_DEFINE(USE_WINDOWS_SSPI, 1, [to enable SSPI support])
2726 AC_SUBST(USE_WINDOWS_SSPI, [1])
2727 curl_sspi_msg="enabled"
2730 AC_MSG_WARN([--enable-sspi Ignored. Only supported on native Windows builds.])
2740 dnl ************************************************************
2741 dnl disable cryptographic authentication
2743 AC_MSG_CHECKING([whether to enable cryptographic authentication methods])
2744 AC_ARG_ENABLE(crypto-auth,
2745 AC_HELP_STRING([--enable-crypto-auth],[Enable cryptographic authentication])
2746 AC_HELP_STRING([--disable-crypto-auth],[Disable cryptographic authentication]),
2747 [ case "$enableval" in
2750 AC_DEFINE(CURL_DISABLE_CRYPTO_AUTH, 1, [to disable cryptographic authentication])
2752 *) AC_MSG_RESULT(yes)
2758 dnl ************************************************************
2759 dnl disable TLS-SRP authentication
2761 AC_MSG_CHECKING([whether to enable TLS-SRP authentication])
2762 AC_ARG_ENABLE(tls-srp,
2763 AC_HELP_STRING([--enable-tls-srp],[Enable TLS-SRP authentication])
2764 AC_HELP_STRING([--disable-tls-srp],[Disable TLS-SRP authentication]),
2765 [ case "$enableval" in
2768 AC_DEFINE(CURL_DISABLE_TLS_SRP, 1, [to disable TLS-SRP authentication])
2771 *) AC_MSG_RESULT(yes)
2779 if test "$want_tls_srp" = "yes" && test "x$HAVE_GNUTLS_SRP" = "x1"; then
2780 AC_DEFINE(USE_TLS_SRP, 1, [Use TLS-SRP authentication])
2782 curl_tls_srp_msg="enabled"
2785 dnl ************************************************************
2786 dnl disable cookies support
2788 AC_MSG_CHECKING([whether to enable support for cookies])
2789 AC_ARG_ENABLE(cookies,
2790 AC_HELP_STRING([--enable-cookies],[Enable cookies support])
2791 AC_HELP_STRING([--disable-cookies],[Disable cookies support]),
2792 [ case "$enableval" in
2795 AC_DEFINE(CURL_DISABLE_COOKIES, 1, [to disable cookies support])
2797 *) AC_MSG_RESULT(yes)
2803 dnl ************************************************************
2804 dnl Enable hiding of internal symbols in library to reduce its size and
2805 dnl speed dynamic linking of applications. This currently is only supported
2806 dnl on gcc >= 4.0 and SunPro C.
2808 AC_MSG_CHECKING([whether to enable hidden symbols in the library])
2809 AC_ARG_ENABLE(hidden-symbols,
2810 AC_HELP_STRING([--enable-hidden-symbols],[Hide internal symbols in library])
2811 AC_HELP_STRING([--disable-hidden-symbols],[Leave all symbols with default visibility in library]),
2812 [ case "$enableval" in
2817 AC_MSG_CHECKING([whether $CC supports it])
2818 if test "$GCC" = yes ; then
2819 if $CC --help --verbose 2>&1 | grep fvisibility= > /dev/null ||
2820 dnl clang always supports -fvisibility= but it doesn't show up
2822 test "$compiler_id" = "CLANG"; then
2824 AC_DEFINE(CURL_HIDDEN_SYMBOLS, 1, [to enable hidden symbols])
2825 AC_DEFINE(CURL_EXTERN_SYMBOL, [__attribute__ ((visibility ("default")))], [to make a symbol visible])
2826 CFLAGS="$CFLAGS -fvisibility=hidden"
2832 dnl Test for SunPro cc
2833 if $CC 2>&1 | grep flags >/dev/null && $CC -flags | grep xldscope= >/dev/null ; then
2835 AC_DEFINE(CURL_HIDDEN_SYMBOLS, 1, [to enable hidden symbols])
2836 AC_DEFINE(CURL_EXTERN_SYMBOL, [__global], [to make a symbol visible])
2837 CFLAGS="$CFLAGS -xldscope=hidden"
2847 dnl ************************************************************
2848 dnl enforce SONAME bump
2851 AC_MSG_CHECKING([whether to enforce SONAME bump])
2852 AC_ARG_ENABLE(soname-bump,
2853 AC_HELP_STRING([--enable-soname-bump],[Enable enforced SONAME bump])
2854 AC_HELP_STRING([--disable-soname-bump],[Disable enforced SONAME bump]),
2855 [ case "$enableval" in
2856 yes) AC_MSG_RESULT(yes)
2863 AC_MSG_RESULT($soname_bump)
2865 AM_CONDITIONAL(SONAME_BUMP, test x$soname_bump = xyes)
2868 dnl ************************************************************
2869 if test ! -z "$winsock_LIB"; then
2871 dnl If ws2_32 is wanted, make sure it is the _last_ lib in LIBS (makes
2872 dnl things work when built with c-ares). But we can't just move it last
2873 dnl since then other stuff (SSL) won't build. So we simply append it to the
2876 LIBS="$LIBS $winsock_LIB"
2877 TEST_SERVER_LIBS="$TEST_SERVER_LIBS $winsock_LIB"
2882 dnl All the library dependencies put into $LIB apply to libcurl only.
2883 dnl Those in $CURL_LIBS apply to the curl command-line client only.
2884 dnl Those in $TEST_SERVER_LIBS apply to test servers only.
2885 dnl Those in $ALL_LIBS apply to all targets, including test targets.
2889 AC_SUBST(LIBCURL_LIBS)
2891 AC_SUBST(TEST_SERVER_LIBS)
2892 AC_SUBST(CURL_NETWORK_LIBS)
2893 LIBS=$ALL_LIBS dnl LIBS is a magic variable that's used for every link
2895 AM_CONDITIONAL(CROSSCOMPILING, test x$cross_compiling = xyes)
2898 ENABLE_SHARED="$enable_shared"
2899 AC_SUBST(ENABLE_SHARED)
2902 dnl For keeping supported features and protocols also in pkg-config file
2903 dnl since it is more cross-compile frient than curl-config
2906 if test "x$USE_SSLEAY" = "x1"; then
2907 SUPPORT_FEATURES="$SUPPORT_FEATURES SSL"
2908 elif test -n "$SSL_ENABLED"; then
2909 SUPPORT_FEATURES="$SUPPORT_FEATURES SSL"
2911 if test "@KRB4_ENABLED@" = "x1"; then
2912 SUPPORT_FEATURES="$SUPPORT_FEATURES KRB4"
2914 if test "x$IPV6_ENABLED" = "x1"; then
2915 SUPPORT_FEATURES="$SUPPORT_FEATURES IPv6"
2917 if test "x$HAVE_LIBZ" = "x1"; then
2918 SUPPORT_FEATURES="$SUPPORT_FEATURES libz"
2920 if test "x$USE_ARES" = "x1" -o "x$USE_THREADS_POSIX" = "x1"; then
2921 SUPPORT_FEATURES="$SUPPORT_FEATURES AsynchDNS"
2923 if test "x$IDN_ENABLED" = "x1"; then
2924 SUPPORT_FEATURES="$SUPPORT_FEATURES IDN"
2926 if test "x$USE_WINDOWS_SSPI" = "x1"; then
2927 SUPPORT_FEATURES="$SUPPORT_FEATURES SSPI"
2929 if test "x$USE_SSLEAY" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \
2930 -o "x$GNUTLS_ENABLED" = "x1" -o "x$NSS_ENABLED" = "x1"; then
2931 SUPPORT_FEATURES="$SUPPORT_FEATURES NTLM"
2933 if test "x$USE_TLS_SRP" = "x1"; then
2934 SUPPORT_FEATURES="$SUPPORT_FEATURES TLS-SRP"
2937 AC_SUBST(SUPPORT_FEATURES)
2939 dnl For supported protocols in pkg-config file
2940 if test "x$CURL_DISABLE_HTTP" != "x1"; then
2941 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS HTTP"
2942 if test "x$SSL_ENABLED" = "x1"; then
2943 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS HTTPS"
2946 if test "x$CURL_DISABLE_FTP" != "x1"; then
2947 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS FTP"
2948 if test "x$SSL_ENABLED" = "x1"; then
2949 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS FTPS"
2952 if test "x$CURL_DISABLE_FILE" != "x1"; then
2953 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS FILE"
2955 if test "x$CURL_DISABLE_TELNET" != "x1"; then
2956 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS TELNET"
2958 if test "x$CURL_DISABLE_LDAP" != "x1"; then
2959 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS LDAP"
2960 if test "x$CURL_DISABLE_LDAPS" != "x1"; then
2961 if (test "x$USE_OPENLDAP" = "x1" && test "x$SSL_ENABLED" = "x1") ||
2962 (test "x$USE_OPENLDAP" != "x1" && test "x$HAVE_LDAP_SSL" = "x1"); then
2963 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS LDAPS"
2967 if test "x$CURL_DISABLE_DICT" != "x1"; then
2968 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS DICT"
2970 if test "x$CURL_DISABLE_TFTP" != "x1"; then
2971 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS TFTP"
2973 if test "x$CURL_DISABLE_GOPHER" != "x1"; then
2974 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS GOPHER"
2976 if test "x$CURL_DISABLE_POP3" != "x1"; then
2977 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS POP3"
2978 if test "x$SSL_ENABLED" = "x1"; then
2979 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS POP3S"
2982 if test "x$CURL_DISABLE_IMAP" != "x1"; then
2983 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS IMAP"
2984 if test "x$SSL_ENABLED" = "x1"; then
2985 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS IMAPS"
2988 if test "x$CURL_DISABLE_SMTP" != "x1"; then
2989 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SMTP"
2990 if test "x$SSL_ENABLED" = "x1"; then
2991 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SMTPS"
2994 if test "x$USE_LIBSSH2" = "x1"; then
2995 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SCP"
2996 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SFTP"
2998 if test "x$CURL_DISABLE_RTSP" != "x1"; then
2999 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS RTSP"
3001 if test "x$USE_LIBRTMP" = "x1"; then
3002 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS RTMP"
3005 dnl replace spaces with newlines
3007 dnl replace the newlines back to spaces
3008 SUPPORT_PROTOCOLS=`echo $SUPPORT_PROTOCOLS | tr ' ' '\012' | sort | tr '\012' ' '`
3010 AC_SUBST(SUPPORT_PROTOCOLS)
3012 dnl squeeze whitespace out of some variables
3021 squeeze LIBCURL_LIBS
3022 squeeze TEST_SERVER_LIBS
3023 squeeze CURL_NETWORK_LIBS
3025 squeeze SUPPORT_FEATURES
3026 squeeze SUPPORT_PROTOCOLS
3028 if test "x$want_curldebug_assumed" = "xyes" &&
3029 test "x$want_curldebug" = "xyes" && test "x$USE_ARES" = "x1"; then
3030 ac_configure_args="$ac_configure_args --enable-curldebug"
3033 AC_CONFIG_FILES([Makefile \
3035 docs/examples/Makefile \
3036 docs/libcurl/Makefile \
3038 include/curl/Makefile \
3042 tests/data/Makefile \
3043 tests/server/Makefile \
3044 tests/libtest/Makefile \
3045 tests/unit/Makefile \
3047 packages/Win32/Makefile \
3048 packages/Win32/cygwin/Makefile \
3049 packages/Linux/Makefile \
3050 packages/Linux/RPM/Makefile \
3051 packages/Linux/RPM/curl.spec \
3052 packages/Linux/RPM/curl-ssl.spec \
3053 packages/Solaris/Makefile \
3054 packages/EPM/curl.list \
3055 packages/EPM/Makefile \
3056 packages/vms/Makefile \
3057 packages/AIX/Makefile \
3058 packages/AIX/RPM/Makefile \
3059 packages/AIX/RPM/curl.spec \
3065 CURL_GENERATE_CONFIGUREHELP_PM
3067 AC_MSG_NOTICE([Configured to build curl/libcurl:
3069 curl version: ${VERSION}
3071 Install prefix: ${prefix}
3073 SSL support: ${curl_ssl_msg}
3074 SSH support: ${curl_ssh_msg}
3075 zlib support: ${curl_zlib_msg}
3076 krb4 support: ${curl_krb4_msg}
3077 GSSAPI support: ${curl_gss_msg}
3078 SPNEGO support: ${curl_spnego_msg}
3079 TLS-SRP support: ${curl_tls_srp_msg}
3080 resolver: ${curl_res_msg}
3081 ipv6 support: ${curl_ipv6_msg}
3082 IDN support: ${curl_idn_msg}
3083 Build libcurl: Shared=${enable_shared}, Static=${enable_static}
3084 Built-in manual: ${curl_manual_msg}
3085 Verbose errors: ${curl_verbose_msg}
3086 SSPI support: ${curl_sspi_msg}
3087 ca cert bundle: ${ca}
3088 ca cert path: ${capath}
3089 LDAP support: ${curl_ldap_msg}
3090 LDAPS support: ${curl_ldaps_msg}
3091 RTSP support: ${curl_rtsp_msg}
3092 RTMP support: ${curl_rtmp_msg}
3093 Protocols: ${SUPPORT_PROTOCOLS}
3096 if test "x$soname_bump" = "xyes"; then
3099 SONAME bump: yes - WARNING: this library will be built with the SONAME
3100 number bumped due to (a detected) ABI breakage.
3101 See lib/README.curl_off_t for details on this.