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)
38 AC_CONFIG_MACRO_DIR([m4])
41 CURL_CHECK_OPTION_DEBUG
42 CURL_CHECK_OPTION_OPTIMIZE
43 CURL_CHECK_OPTION_WARNINGS
44 CURL_CHECK_OPTION_WERROR
45 CURL_CHECK_OPTION_CURLDEBUG
46 CURL_CHECK_OPTION_ARES
48 CURL_CHECK_PATH_SEPARATOR_REQUIRED
51 # save the configure arguments
53 CONFIGURE_OPTIONS="\"$ac_configure_args\""
54 AC_SUBST(CONFIGURE_OPTIONS)
57 if test X"$want_werror" = Xyes; then
58 CURL_CFLAG_EXTRAS="-Werror"
60 AC_SUBST(CURL_CFLAG_EXTRAS)
62 dnl SED is mandatory for configure process and libtool.
63 dnl Set it now, allowing it to be changed later.
64 if test -z "$SED"; then
65 dnl allow it to be overridden
66 AC_PATH_PROG([SED], [sed], [not_found],
67 [$PATH:/usr/bin:/usr/local/bin])
68 if test -z "$SED" || test "$SED" = "not_found"; then
69 AC_MSG_ERROR([sed not found in PATH. Cannot continue without sed.])
74 dnl GREP is mandatory for configure process and libtool.
75 dnl Set it now, allowing it to be changed later.
76 if test -z "$GREP"; then
77 dnl allow it to be overridden
78 AC_PATH_PROG([GREP], [grep], [not_found],
79 [$PATH:/usr/bin:/usr/local/bin])
80 if test -z "$GREP" || test "$GREP" = "not_found"; then
81 AC_MSG_ERROR([grep not found in PATH. Cannot continue without grep.])
86 dnl EGREP is mandatory for configure process and libtool.
87 dnl Set it now, allowing it to be changed later.
88 if test -z "$EGREP"; then
89 dnl allow it to be overridden
90 if echo a | ($GREP -E '(a|b)') >/dev/null 2>&1; then
91 AC_MSG_CHECKING([for egrep])
93 AC_MSG_RESULT([$EGREP])
95 AC_PATH_PROG([EGREP], [egrep], [not_found],
96 [$PATH:/usr/bin:/usr/local/bin])
99 if test -z "$EGREP" || test "$EGREP" = "not_found"; then
100 AC_MSG_ERROR([egrep not found in PATH. Cannot continue without egrep.])
104 dnl AR is mandatory for configure process and libtool.
105 dnl This is target dependent, so check it as a tool.
106 if test -z "$AR"; then
107 dnl allow it to be overridden
108 AC_PATH_TOOL([AR], [ar], [not_found],
109 [$PATH:/usr/bin:/usr/local/bin])
110 if test -z "$AR" || test "$AR" = "not_found"; then
111 AC_MSG_ERROR([ar not found in PATH. Cannot continue without ar.])
118 dnl Remove non-configure distributed curlbuild.h
119 if test -f ${srcdir}/include/curl/curlbuild.h; then
120 rm -f ${srcdir}/include/curl/curlbuild.h
123 dnl figure out the libcurl version
124 CURLVERSION=`$SED -ne 's/^#define LIBCURL_VERSION "\(.*\)"/\1/p' ${srcdir}/include/curl/curlver.h`
126 AC_MSG_CHECKING([curl version])
127 AC_MSG_RESULT($CURLVERSION)
129 AC_SUBST(CURLVERSION)
132 dnl we extract the numerical version for curl-config only
133 VERSIONNUM=`$SED -ne 's/^#define LIBCURL_VERSION_NUM 0x\(.*\)/\1/p' ${srcdir}/include/curl/curlver.h`
136 dnl Solaris pkgadd support definitions
137 PKGADD_PKG="HAXXcurl"
138 PKGADD_NAME="cURL - a client that groks URLs"
139 PKGADD_VENDOR="curl.haxx.se"
141 AC_SUBST(PKGADD_NAME)
142 AC_SUBST(PKGADD_VENDOR)
145 dnl initialize all the info variables
146 curl_ssl_msg="no (--with-{ssl,gnutls,nss,polarssl,cyassl,axtls} )"
147 curl_ssh_msg="no (--with-libssh2)"
148 curl_zlib_msg="no (--with-zlib)"
149 curl_krb4_msg="no (--with-krb4*)"
150 curl_gss_msg="no (--with-gssapi)"
151 curl_spnego_msg="no (--with-spnego)"
152 curl_tls_srp_msg="no (--enable-tls-srp)"
153 curl_res_msg="default (--enable-ares / --enable-threaded-resolver)"
154 curl_ipv6_msg="no (--enable-ipv6)"
155 curl_idn_msg="no (--with-libidn)"
156 curl_manual_msg="no (--enable-manual)"
157 curl_verbose_msg="enabled (--disable-verbose)"
158 curl_sspi_msg="no (--enable-sspi)"
159 curl_ldap_msg="no (--enable-ldap / --with-ldap-lib / --with-lber-lib)"
160 curl_ldaps_msg="no (--enable-ldaps)"
161 curl_rtsp_msg="no (--enable-rtsp)"
162 curl_rtmp_msg="no (--with-librtmp)"
163 init_ssl_msg=${curl_ssl_msg}
166 dnl Save anything in $LIBS for later
171 dnl Detect the canonical host and target build environment
175 dnl Get system canonical name
176 AC_DEFINE_UNQUOTED(OS, "${host}", [cpu-machine-OS])
178 dnl Checks for programs.
181 dnl Our curl_off_t internal and external configure settings
182 CURL_CONFIGURE_CURL_OFF_T
184 dnl This defines _ALL_SOURCE for AIX
185 CURL_CHECK_AIX_ALL_SOURCE
187 dnl Our configure and build reentrant settings
188 CURL_CONFIGURE_THREAD_SAFE
189 CURL_CONFIGURE_REENTRANT
191 dnl check for how to do large files
194 dnl support building of Windows DLLs
197 dnl force libtool to build static libraries with PIC on AMD64-Linux & FreeBSD
198 AC_MSG_CHECKING([if arch-OS host is AMD64-Linux/FreeBSD (to build static libraries with PIC)])
200 x86_64*linux*|amd64*freebsd*|ia64*freebsd*)
209 AC_MSG_CHECKING([if compiler is icc (to build with PIC)])
223 AC_MSG_CHECKING([if we need -mimpure-text])
227 if test "$GCC" = "yes"; then
234 AC_MSG_RESULT($mimpure)
235 AM_CONDITIONAL(MIMPURE, test x$mimpure = xyes)
237 dnl 'STATICLIB' is, in spite of its name, not generic but only for static-only
238 dnl builds on Windows
239 AM_CONDITIONAL(STATICLIB, false)
241 AC_MSG_CHECKING([if we need BUILDING_LIBCURL])
244 AC_DEFINE(BUILDING_LIBCURL, 1, [when building libcurl itself])
246 AC_MSG_CHECKING([if we need CURL_STATICLIB])
247 if test "X$enable_shared" = "Xno"
249 AC_DEFINE(CURL_STATICLIB, 1, [when not building a shared library])
251 AM_CONDITIONAL(STATICLIB, true)
261 # Determine whether all dependent libraries must be specified when linking
262 if test "X$enable_shared" = "Xyes" -a "X$link_all_deplibs" = "Xno"
268 AC_SUBST(REQUIRE_LIB_DEPS)
270 dnl The install stuff has already been taken care of by the automake stuff
274 dnl check if there's a way to force code inline
277 dnl **********************************************************************
278 dnl platform/compiler/architecture specific checks/flags
279 dnl **********************************************************************
282 CURL_SET_COMPILER_BASIC_OPTS
283 CURL_SET_COMPILER_DEBUG_OPTS
284 CURL_SET_COMPILER_OPTIMIZE_OPTS
285 CURL_SET_COMPILER_WARNING_OPTS
287 if test "$compiler_id" = "INTEL_UNIX_C"; then
289 if test "$compiler_num" -ge "1000"; then
290 dnl icc 10.X or later
291 CFLAGS="$CFLAGS -shared-intel"
292 elif test "$compiler_num" -ge "900"; then
294 CFLAGS="$CFLAGS -i-dynamic"
299 CURL_CHECK_COMPILER_HALT_ON_ERROR
300 CURL_CHECK_COMPILER_ARRAY_SIZE_NEGATIVE
302 CURL_CHECK_NO_UNDEFINED
303 AM_CONDITIONAL(NO_UNDEFINED, test x$need_no_undefined = xyes)
306 AM_CONDITIONAL(CURLDEBUG, test x$want_curldebug = xyes)
308 supports_unittests=yes
309 # cross-compilation of unit tests static library/programs fails when
310 # libcurl shared library is built. This might be due to a libtool or
311 # automake issue. In this case we disable unit tests.
312 if test "x$cross_compiling" != "xno" &&
313 test "x$enable_shared" != "xno"; then
314 supports_unittests=no
317 dnl Build unit tests when option --enable-debug is given.
318 if test "x$want_debug" = "xyes" &&
319 test "x$supports_unittests" = "xyes"; then
324 AM_CONDITIONAL(BUILD_UNITTESTS, test x$want_unittests = xyes)
326 dnl **********************************************************************
327 dnl Compilation based checks should not be done before this point.
328 dnl **********************************************************************
330 dnl **********************************************************************
331 dnl Make sure that our checks for headers windows.h winsock.h winsock2.h
332 dnl and ws2tcpip.h take precedence over any other further checks which
333 dnl could be done later using AC_CHECK_HEADER or AC_CHECK_HEADERS for
334 dnl this specific header files. And do them before its results are used.
335 dnl **********************************************************************
337 CURL_CHECK_HEADER_WINDOWS
338 CURL_CHECK_NATIVE_WINDOWS
339 case X-"$ac_cv_native_windows" in
341 CURL_CHECK_HEADER_WINSOCK
342 CURL_CHECK_HEADER_WINSOCK2
343 CURL_CHECK_HEADER_WS2TCPIP
344 CURL_CHECK_HEADER_WINLDAP
345 CURL_CHECK_HEADER_WINBER
348 ac_cv_header_winsock_h="no"
349 ac_cv_header_winsock2_h="no"
350 ac_cv_header_ws2tcpip_h="no"
351 ac_cv_header_winldap_h="no"
352 ac_cv_header_winber_h="no"
355 CURL_CHECK_WIN32_LARGEFILE
357 dnl ************************************************************
358 dnl switch off particular protocols
360 AC_MSG_CHECKING([whether to support http])
362 AC_HELP_STRING([--enable-http],[Enable HTTP support])
363 AC_HELP_STRING([--disable-http],[Disable HTTP support]),
364 [ case "$enableval" in
367 AC_DEFINE(CURL_DISABLE_HTTP, 1, [to disable HTTP])
368 AC_MSG_WARN([disable HTTP disables FTP over proxy and RTSP])
369 AC_SUBST(CURL_DISABLE_HTTP, [1])
370 AC_DEFINE(CURL_DISABLE_RTSP, 1, [to disable RTSP])
371 AC_SUBST(CURL_DISABLE_RTSP, [1])
373 *) AC_MSG_RESULT(yes)
378 AC_MSG_CHECKING([whether to support ftp])
380 AC_HELP_STRING([--enable-ftp],[Enable FTP support])
381 AC_HELP_STRING([--disable-ftp],[Disable FTP support]),
382 [ case "$enableval" in
385 AC_DEFINE(CURL_DISABLE_FTP, 1, [to disable FTP])
386 AC_SUBST(CURL_DISABLE_FTP, [1])
388 *) AC_MSG_RESULT(yes)
393 AC_MSG_CHECKING([whether to support file])
395 AC_HELP_STRING([--enable-file],[Enable FILE support])
396 AC_HELP_STRING([--disable-file],[Disable FILE support]),
397 [ case "$enableval" in
400 AC_DEFINE(CURL_DISABLE_FILE, 1, [to disable FILE])
401 AC_SUBST(CURL_DISABLE_FILE, [1])
403 *) AC_MSG_RESULT(yes)
408 AC_MSG_CHECKING([whether to support ldap])
410 AC_HELP_STRING([--enable-ldap],[Enable LDAP support])
411 AC_HELP_STRING([--disable-ldap],[Disable LDAP support]),
412 [ case "$enableval" in
415 AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP])
416 AC_SUBST(CURL_DISABLE_LDAP, [1])
424 AC_MSG_CHECKING([whether to support ldaps])
426 AC_HELP_STRING([--enable-ldaps],[Enable LDAPS support])
427 AC_HELP_STRING([--disable-ldaps],[Disable LDAPS support]),
428 [ case "$enableval" in
431 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
432 AC_SUBST(CURL_DISABLE_LDAPS, [1])
434 *) if test "x$CURL_DISABLE_LDAP" = "x1" ; then
435 AC_MSG_RESULT(LDAP needs to be enabled to support LDAPS)
436 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
437 AC_SUBST(CURL_DISABLE_LDAPS, [1])
440 AC_DEFINE(HAVE_LDAP_SSL, 1, [Use LDAPS implementation])
441 AC_SUBST(HAVE_LDAP_SSL, [1])
445 if test "x$CURL_DISABLE_LDAP" = "x1" ; then
447 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
448 AC_SUBST(CURL_DISABLE_LDAPS, [1])
451 AC_DEFINE(HAVE_LDAP_SSL, 1, [Use LDAPS implementation])
452 AC_SUBST(HAVE_LDAP_SSL, [1])
456 AC_MSG_CHECKING([whether to support rtsp])
458 AC_HELP_STRING([--enable-rtsp],[Enable RTSP support])
459 AC_HELP_STRING([--disable-rtsp],[Disable RTSP support]),
460 [ case "$enableval" in
463 AC_DEFINE(CURL_DISABLE_RTSP, 1, [to disable RTSP])
464 AC_SUBST(CURL_DISABLE_RTSP, [1])
466 *) if test x$CURL_DISABLE_HTTP = x1 ; then
467 AC_MSG_ERROR(HTTP support needs to be enabled in order to enable RTSP support!)
470 curl_rtsp_msg="enabled"
474 if test "x$CURL_DISABLE_HTTP" != "x1"; then
476 curl_rtsp_msg="enabled"
482 AC_MSG_CHECKING([whether to support proxies])
484 AC_HELP_STRING([--enable-proxy],[Enable proxy support])
485 AC_HELP_STRING([--disable-proxy],[Disable proxy support]),
486 [ case "$enableval" in
489 AC_DEFINE(CURL_DISABLE_PROXY, 1, [to disable proxies])
490 AC_SUBST(CURL_DISABLE_PROXY, [1])
492 *) AC_MSG_RESULT(yes)
498 AC_MSG_CHECKING([whether to support dict])
500 AC_HELP_STRING([--enable-dict],[Enable DICT support])
501 AC_HELP_STRING([--disable-dict],[Disable DICT support]),
502 [ case "$enableval" in
505 AC_DEFINE(CURL_DISABLE_DICT, 1, [to disable DICT])
506 AC_SUBST(CURL_DISABLE_DICT, [1])
508 *) AC_MSG_RESULT(yes)
513 AC_MSG_CHECKING([whether to support telnet])
514 AC_ARG_ENABLE(telnet,
515 AC_HELP_STRING([--enable-telnet],[Enable TELNET support])
516 AC_HELP_STRING([--disable-telnet],[Disable TELNET support]),
517 [ case "$enableval" in
520 AC_DEFINE(CURL_DISABLE_TELNET, 1, [to disable TELNET])
521 AC_SUBST(CURL_DISABLE_TELNET, [1])
523 *) AC_MSG_RESULT(yes)
528 AC_MSG_CHECKING([whether to support tftp])
530 AC_HELP_STRING([--enable-tftp],[Enable TFTP support])
531 AC_HELP_STRING([--disable-tftp],[Disable TFTP support]),
532 [ case "$enableval" in
535 AC_DEFINE(CURL_DISABLE_TFTP, 1, [to disable TFTP])
536 AC_SUBST(CURL_DISABLE_TFTP, [1])
538 *) AC_MSG_RESULT(yes)
544 AC_MSG_CHECKING([whether to support pop3])
546 AC_HELP_STRING([--enable-pop3],[Enable POP3 support])
547 AC_HELP_STRING([--disable-pop3],[Disable POP3 support]),
548 [ case "$enableval" in
551 AC_DEFINE(CURL_DISABLE_POP3, 1, [to disable POP3])
552 AC_SUBST(CURL_DISABLE_POP3, [1])
554 *) AC_MSG_RESULT(yes)
561 AC_MSG_CHECKING([whether to support imap])
563 AC_HELP_STRING([--enable-imap],[Enable IMAP support])
564 AC_HELP_STRING([--disable-imap],[Disable IMAP support]),
565 [ case "$enableval" in
568 AC_DEFINE(CURL_DISABLE_IMAP, 1, [to disable IMAP])
569 AC_SUBST(CURL_DISABLE_IMAP, [1])
571 *) AC_MSG_RESULT(yes)
578 AC_MSG_CHECKING([whether to support smtp])
580 AC_HELP_STRING([--enable-smtp],[Enable SMTP support])
581 AC_HELP_STRING([--disable-smtp],[Disable SMTP support]),
582 [ case "$enableval" in
585 AC_DEFINE(CURL_DISABLE_SMTP, 1, [to disable SMTP])
586 AC_SUBST(CURL_DISABLE_SMTP, [1])
588 *) AC_MSG_RESULT(yes)
594 AC_MSG_CHECKING([whether to support gopher])
595 AC_ARG_ENABLE(gopher,
596 AC_HELP_STRING([--enable-gopher],[Enable Gopher support])
597 AC_HELP_STRING([--disable-gopher],[Disable Gopher support]),
598 [ case "$enableval" in
601 AC_DEFINE(CURL_DISABLE_GOPHER, 1, [to disable Gopher])
602 AC_SUBST(CURL_DISABLE_GOPHER, [1])
604 *) AC_MSG_RESULT(yes)
611 dnl **********************************************************************
612 dnl Check for built-in manual
613 dnl **********************************************************************
615 AC_MSG_CHECKING([whether to provide built-in manual])
616 AC_ARG_ENABLE(manual,
617 AC_HELP_STRING([--enable-manual],[Enable built-in manual])
618 AC_HELP_STRING([--disable-manual],[Disable built-in manual]),
619 [ case "$enableval" in
623 *) AC_MSG_RESULT(yes)
630 dnl The actual use of the USE_MANUAL variable is done much later in this
631 dnl script to allow other actions to disable it as well.
633 dnl **********************************************************************
634 dnl Checks for libraries.
635 dnl **********************************************************************
639 dnl gethostbyname without lib or in the nsl lib?
640 AC_CHECK_FUNC(gethostbyname,
641 [HAVE_GETHOSTBYNAME="1"
643 [ AC_CHECK_LIB(nsl, gethostbyname,
644 [HAVE_GETHOSTBYNAME="1"
649 if test "$HAVE_GETHOSTBYNAME" != "1"
651 dnl gethostbyname in the socket lib?
652 AC_CHECK_LIB(socket, gethostbyname,
653 [HAVE_GETHOSTBYNAME="1"
654 LIBS="$LIBS -lsocket"
658 dnl At least one system has been identified to require BOTH nsl and socket
659 dnl libs at the same time to link properly.
660 if test "$HAVE_GETHOSTBYNAME" != "1"
662 AC_MSG_CHECKING([for gethostbyname with both nsl and socket libs])
663 my_ac_save_LIBS=$LIBS
664 LIBS="-lnsl -lsocket $LIBS"
672 HAVE_GETHOSTBYNAME="1"
675 LIBS=$my_ac_save_LIBS
679 if test "$HAVE_GETHOSTBYNAME" != "1"
681 dnl This is for winsock systems
682 if test "$ac_cv_header_windows_h" = "yes"; then
683 if test "$ac_cv_header_winsock_h" = "yes"; then
686 winsock_LIB="-lwinsock"
689 winsock_LIB="-lwsock32"
693 if test "$ac_cv_header_winsock2_h" = "yes"; then
694 winsock_LIB="-lws2_32"
696 if test ! -z "$winsock_LIB"; then
697 my_ac_save_LIBS=$LIBS
698 LIBS="$winsock_LIB $LIBS"
699 AC_MSG_CHECKING([for gethostbyname in $winsock_LIB])
702 #ifdef HAVE_WINDOWS_H
703 #ifndef WIN32_LEAN_AND_MEAN
704 #define WIN32_LEAN_AND_MEAN
707 #ifdef HAVE_WINSOCK2_H
708 #include <winsock2.h>
710 #ifdef HAVE_WINSOCK_H
716 gethostbyname("www.dummysite.com");
720 HAVE_GETHOSTBYNAME="1"
724 LIBS=$my_ac_save_LIBS
730 if test "$HAVE_GETHOSTBYNAME" != "1"
732 dnl This is for Minix 3.1
733 AC_MSG_CHECKING([for gethostbyname for Minix 3])
736 /* Older Minix versions may need <net/gen/netdb.h> here instead */
739 gethostbyname("www.dummysite.com");
743 HAVE_GETHOSTBYNAME="1"
749 if test "$HAVE_GETHOSTBYNAME" != "1"
751 dnl This is for eCos with a stubbed DNS implementation
752 AC_MSG_CHECKING([for gethostbyname for eCos])
758 gethostbyname("www.dummysite.com");
762 HAVE_GETHOSTBYNAME="1"
768 if test "$HAVE_GETHOSTBYNAME" != "1"
770 dnl gethostbyname in the network lib - for Haiku OS
771 AC_CHECK_LIB(network, gethostbyname,
772 [HAVE_GETHOSTBYNAME="1"
773 LIBS="$LIBS -lnetwork"
777 if test "$HAVE_GETHOSTBYNAME" != "1"
779 dnl gethostbyname in the net lib - for BeOS
780 AC_CHECK_LIB(net, gethostbyname,
781 [HAVE_GETHOSTBYNAME="1"
787 if test "$HAVE_GETHOSTBYNAME" != "1"; then
788 AC_MSG_ERROR([couldn't find libraries for gethostbyname()])
792 AC_CHECK_FUNC(strcasecmp, , [ AC_CHECK_LIB(resolve, strcasecmp) ])
794 if test "$ac_cv_lib_resolve_strcasecmp" = "$ac_cv_func_strcasecmp"; then
795 AC_CHECK_LIB(resolve, strcasecmp,
796 [LIBS="-lresolve $LIBS"],
800 ac_cv_func_strcasecmp="no"
802 CURL_CHECK_LIBS_CONNECT
804 CURL_NETWORK_LIBS=$LIBS
806 dnl **********************************************************************
807 dnl In case that function clock_gettime with monotonic timer is available,
808 dnl check for additional required libraries.
809 dnl **********************************************************************
810 CURL_CHECK_LIBS_CLOCK_GETTIME_MONOTONIC
812 dnl **********************************************************************
813 dnl The preceding library checks are all potentially useful for test
814 dnl servers (for providing networking support). Save the list of required
815 dnl libraries at this point for use while linking those test servers.
816 dnl **********************************************************************
817 TEST_SERVER_LIBS=$LIBS
819 dnl **********************************************************************
820 AC_MSG_CHECKING([whether to use libgcc])
821 AC_ARG_ENABLE(libgcc,
822 AC_HELP_STRING([--enable-libgcc],[use libgcc when linking]),
823 [ case "$enableval" in
825 ALL_LIBS="$ALL_LIBS -lgcc"
834 dnl **********************************************************************
836 dnl **********************************************************************
839 AC_ARG_WITH(ldap-lib,
840 AC_HELP_STRING([--with-ldap-lib=libname],[Specify name of ldap lib file]),
841 [LDAPLIBNAME="$withval"])
844 AC_ARG_WITH(lber-lib,
845 AC_HELP_STRING([--with-lber-lib=libname],[Specify name of lber lib file]),
846 [LBERLIBNAME="$withval"])
848 if test x$CURL_DISABLE_LDAP != x1 ; then
850 CURL_CHECK_HEADER_LBER
851 CURL_CHECK_HEADER_LDAP
852 CURL_CHECK_HEADER_LDAPSSL
853 CURL_CHECK_HEADER_LDAP_SSL
855 if test -z "$LDAPLIBNAME" ; then
856 if test "$ac_cv_native_windows" = "yes"; then
857 dnl Windows uses a single and unique LDAP library name
858 LDAPLIBNAME="wldap32"
863 if test "$LDAPLIBNAME" ; then
864 AC_CHECK_LIB("$LDAPLIBNAME", ldap_init,, [
865 AC_MSG_WARN(["$LDAPLIBNAME" is not an LDAP library: LDAP disabled])
866 AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP])
867 AC_SUBST(CURL_DISABLE_LDAP, [1])])
868 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
869 AC_SUBST(CURL_DISABLE_LDAPS, [1])
871 dnl Try to find the right ldap libraries for this system
873 case X-"$curl_cv_ldap_LIBS" in
875 AC_MSG_WARN([Cannot find libraries for LDAP support: LDAP disabled])
876 AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP])
877 AC_SUBST(CURL_DISABLE_LDAP, [1])
878 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
879 AC_SUBST(CURL_DISABLE_LDAPS, [1])
885 if test x$CURL_DISABLE_LDAP != x1 ; then
887 if test "$LBERLIBNAME" ; then
888 dnl If name is "no" then don't define this library at all
889 dnl (it's only needed if libldap.so's dependencies are broken).
890 if test "$LBERLIBNAME" != "no" ; then
891 AC_CHECK_LIB("$LBERLIBNAME", ber_free,, [
892 AC_MSG_WARN(["$LBERLIBNAME" is not an LBER library: LDAP disabled])
893 AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP])
894 AC_SUBST(CURL_DISABLE_LDAP, [1])])
895 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
896 AC_SUBST(CURL_DISABLE_LDAPS, [1])
901 if test x$CURL_DISABLE_LDAP != x1 ; then
902 AC_CHECK_FUNCS([ldap_url_parse ldap_init_fd])
904 if test "$LDAPLIBNAME" = "wldap32"; then
905 curl_ldap_msg="enabled (winldap)"
906 AC_DEFINE(CURL_LDAP_WIN, 1, [Use Windows LDAP implementation])
908 curl_ldap_msg="enabled (OpenLDAP)"
909 if test "x$ac_cv_func_ldap_init_fd" = "xyes"; then
910 AC_DEFINE(USE_OPENLDAP, 1, [Use OpenLDAP-specific code])
911 AC_SUBST(USE_OPENLDAP, [1])
916 if test x$CURL_DISABLE_LDAPS != x1 ; then
917 curl_ldaps_msg="enabled"
920 dnl **********************************************************************
922 dnl **********************************************************************
924 AC_MSG_CHECKING([whether to enable ipv6])
926 AC_HELP_STRING([--enable-ipv6],[Enable ipv6 (with ipv4) support])
927 AC_HELP_STRING([--disable-ipv6],[Disable ipv6 support]),
928 [ case "$enableval" in
933 *) AC_MSG_RESULT(yes)
938 AC_TRY_RUN([ /* is AF_INET6 available? */
939 #include <sys/types.h>
940 #include <sys/socket.h>
943 if (socket(AF_INET6, SOCK_STREAM, 0) < 0)
957 if test "$ipv6" = "yes"; then
958 curl_ipv6_msg="enabled"
961 # Check if struct sockaddr_in6 have sin6_scope_id member
962 if test "$ipv6" = yes; then
963 AC_MSG_CHECKING([if struct sockaddr_in6 has sin6_scope_id member])
965 #include <sys/types.h>
966 #include <netinet/in.h>] ,
967 struct sockaddr_in6 s; s.sin6_scope_id = 0; , have_sin6_scope_id=yes)
968 if test "$have_sin6_scope_id" = yes; then
970 AC_DEFINE(HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID, 1, [Define to 1 if struct sockaddr_in6 has the sin6_scope_id member])
976 dnl **********************************************************************
977 dnl Check if the operating system allows programs to write to their own argv[]
978 dnl **********************************************************************
980 AC_MSG_CHECKING([if argv can be written to])
983 int main(int argc, char ** argv) {
985 return (argv[0][0] == ' ')?0:1;
989 curl_cv_writable_argv=yes
991 curl_cv_writable_argv=no
993 curl_cv_writable_argv=cross
995 case $curl_cv_writable_argv in
997 AC_DEFINE(HAVE_WRITABLE_ARGV, 1, [Define this symbol if your OS supports changing the contents of argv])
1005 AC_MSG_WARN([the previous check could not be made default was used])
1009 dnl **********************************************************************
1010 dnl Check for the presence of Kerberos4 libraries and headers
1011 dnl **********************************************************************
1013 AC_ARG_WITH(krb4-includes,
1014 AC_HELP_STRING([--with-krb4-includes=DIR],
1015 [Specify location of kerberos4 headers]),[
1016 CPPFLAGS="$CPPFLAGS -I$withval"
1021 AC_ARG_WITH(krb4-libs,
1022 AC_HELP_STRING([--with-krb4-libs=DIR],[Specify location of kerberos4 libs]),[
1023 LDFLAGS="$LDFLAGS -L$withval"
1030 AC_ARG_WITH(krb4,dnl
1031 AC_HELP_STRING([--with-krb4=DIR],[where to look for Kerberos4]),[
1033 if test X"$OPT_KRB4" != Xno; then
1035 if test X"$OPT_KRB4" != Xyes; then
1036 LDFLAGS="$LDFLAGS -L$OPT_KRB4/lib$libsuff"
1037 KRB4LIB="$OPT_KRB4/lib$libsuff"
1038 CPPFLAGS="$CPPFLAGS -I$OPT_KRB4/include"
1039 KRB4INC="$OPT_KRB4/include"
1044 AC_MSG_CHECKING([if Kerberos4 support is requested])
1046 if test "$want_krb4" = yes
1048 if test "$ipv6" = "yes"; then
1049 echo krb4 is not compatible with IPv6
1054 dnl Check for & handle argument to --with-krb4
1056 AC_MSG_CHECKING(where to look for Kerberos4)
1057 if test X"$OPT_KRB4" = Xyes
1059 AC_MSG_RESULT([defaults])
1061 AC_MSG_RESULT([libs in $KRB4LIB, headers in $KRB4INC])
1064 dnl Check for DES library
1065 AC_CHECK_LIB(des, des_pcbc_encrypt,
1067 AC_CHECK_HEADERS(des.h)
1070 AC_CHECK_FUNC(res_search, , [AC_CHECK_LIB(resolv, res_search)])
1072 dnl Check for the Kerberos4 library
1073 AC_CHECK_LIB(krb, krb_net_read,
1075 dnl Check for header files
1076 AC_CHECK_HEADERS(krb.h)
1078 dnl we found the required libraries, add to LIBS
1079 LIBS="-lkrb -lcom_err -ldes $LIBS"
1081 dnl Check for function krb_get_our_ip_for_realm
1082 dnl this is needed for NAT networks
1083 AC_CHECK_FUNCS(krb_get_our_ip_for_realm)
1086 AC_DEFINE(HAVE_KRB4, 1,
1087 [if you have the Kerberos4 libraries (including -ldes)])
1089 dnl substitute it too!
1091 AC_SUBST(KRB4_ENABLED)
1093 curl_krb4_msg="enabled"
1095 dnl the krb4 stuff needs a strlcpy()
1096 AC_CHECK_FUNCS(strlcpy)
1104 dnl **********************************************************************
1105 dnl Check for FBopenssl(SPNEGO) libraries
1106 dnl **********************************************************************
1109 AC_HELP_STRING([--with-spnego=DIR],
1110 [Specify location of SPNEGO library fbopenssl]), [
1111 SPNEGO_ROOT="$withval"
1112 if test x"$SPNEGO_ROOT" != xno; then
1117 AC_MSG_CHECKING([if SPNEGO support is requested])
1118 if test x"$want_spnego" = xyes; then
1120 if test X"$SPNEGO_ROOT" = Xyes; then
1121 AC_MSG_ERROR([FBOpenSSL libs and/or directories were not found where specified!])
1124 if test -z "$SPNEGO_LIB_DIR"; then
1125 LDFLAGS="$LDFLAGS -L$SPNEGO_ROOT -lfbopenssl"
1127 LDFLAGS="$LDFLAGS $SPNEGO_LIB_DIR"
1131 AC_DEFINE(HAVE_SPNEGO, 1,
1132 [Define this if you have the SPNEGO library fbopenssl])
1133 curl_spnego_msg="enabled"
1139 dnl **********************************************************************
1140 dnl Check for GSS-API libraries
1141 dnl **********************************************************************
1143 dnl check for gss stuff in the /usr as default
1146 AC_ARG_WITH(gssapi-includes,
1147 AC_HELP_STRING([--with-gssapi-includes=DIR],
1148 [Specify location of GSSAPI header]),
1149 [ GSSAPI_INCS="-I$withval"
1153 AC_ARG_WITH(gssapi-libs,
1154 AC_HELP_STRING([--with-gssapi-libs=DIR],
1155 [Specify location of GSSAPI libs]),
1156 [ GSSAPI_LIB_DIR="-L$withval"
1161 AC_HELP_STRING([--with-gssapi=DIR],
1162 [Where to look for GSSAPI]), [
1163 GSSAPI_ROOT="$withval"
1164 if test x"$GSSAPI_ROOT" != xno; then
1166 if test x"$GSSAPI_ROOT" = xyes; then
1167 dnl if yes, then use default root
1173 save_CPPFLAGS="$CPPFLAGS"
1174 AC_MSG_CHECKING([if GSSAPI support is requested])
1175 if test x"$want_gss" = xyes; then
1178 if test -z "$GSSAPI_INCS"; then
1179 if test -f "$GSSAPI_ROOT/bin/krb5-config"; then
1180 GSSAPI_INCS=`$GSSAPI_ROOT/bin/krb5-config --cflags gssapi`
1181 elif test "$GSSAPI_ROOT" != "yes"; then
1182 GSSAPI_INCS="-I$GSSAPI_ROOT/include"
1186 CPPFLAGS="$CPPFLAGS $GSSAPI_INCS"
1188 AC_CHECK_HEADER(gss.h,
1190 dnl found in the given dirs
1191 AC_DEFINE(HAVE_GSSGNU, 1, [if you have the GNU gssapi libraries])
1195 dnl not found, check Heimdal or MIT
1196 AC_CHECK_HEADERS([gssapi/gssapi.h], [], [not_mit=1])
1198 [gssapi/gssapi_generic.h gssapi/gssapi_krb5.h],
1203 #ifdef HAVE_GSSAPI_GSSAPI_H
1204 #include <gssapi/gssapi.h>
1207 if test "x$not_mit" = "x1"; then
1208 dnl MIT not found, check for Heimdal
1209 AC_CHECK_HEADER(gssapi.h,
1212 AC_DEFINE(HAVE_GSSHEIMDAL, 1, [if you have the Heimdal gssapi libraries])
1215 dnl no header found, disabling GSS
1217 AC_MSG_WARN(disabling GSSAPI since no header files was found)
1222 AC_DEFINE(HAVE_GSSMIT, 1, [if you have the MIT gssapi libraries])
1223 dnl check if we have a really old MIT kerberos (<= 1.2)
1224 AC_MSG_CHECKING([if gssapi headers declare GSS_C_NT_HOSTBASED_SERVICE])
1227 #include <gssapi/gssapi.h>
1228 #include <gssapi/gssapi_generic.h>
1229 #include <gssapi/gssapi_krb5.h>
1234 GSS_C_NT_HOSTBASED_SERVICE,
1238 AC_MSG_RESULT([yes])
1241 AC_DEFINE(HAVE_OLD_GSSMIT, 1,
1242 [if you have an old MIT gssapi library, lacking GSS_C_NT_HOSTBASED_SERVICE])
1250 if test x"$want_gss" = xyes; then
1251 AC_DEFINE(HAVE_GSSAPI, 1, [if you have the gssapi libraries])
1253 curl_gss_msg="enabled (MIT/Heimdal)"
1255 if test -n "$gnu_gss"; then
1256 curl_gss_msg="enabled (GNU GSS)"
1257 LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR"
1259 elif test -z "$GSSAPI_LIB_DIR"; then
1262 LIBS="$LIBS -lgssapi_krb5 -lresolv"
1265 if test -f "$GSSAPI_ROOT/bin/krb5-config"; then
1266 dnl krb5-config doesn't have --libs-only-L or similar, put everything
1268 gss_libs=`$GSSAPI_ROOT/bin/krb5-config --libs gssapi`
1269 LIBS="$LIBS $gss_libs"
1270 elif test "$GSSAPI_ROOT" != "yes"; then
1271 LDFLAGS="$LDFLAGS -L$GSSAPI_ROOT/lib$libsuff"
1272 LIBS="$LIBS -lgssapi"
1274 LIBS="$LIBS -lgssapi"
1279 LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR"
1280 LIBS="$LIBS -lgssapi"
1283 CPPFLAGS="$save_CPPFLAGS"
1286 dnl **********************************************************************
1287 dnl Check for the presence of SSL libraries and headers
1288 dnl **********************************************************************
1290 dnl Default to compiler & linker defaults for SSL files & libraries.
1292 dnl Default to no CA bundle
1295 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])
1296 AC_HELP_STRING([--without-ssl], [disable OpenSSL]),
1299 if test X"$OPT_SSL" != Xno; then
1300 dnl backup the pre-ssl variables
1301 CLEANLDFLAGS="$LDFLAGS"
1302 CLEANCPPFLAGS="$CPPFLAGS"
1307 dnl --with-ssl (without path) used
1308 if test x$cross_compiling != xyes; then
1309 dnl only do pkg-config magic when not cross-compiling
1312 PREFIX_OPENSSL=/usr/local/ssl
1313 LIB_OPENSSL="$PREFIX_OPENSSL/lib$libsuff"
1316 dnl no --with-ssl option given, just check default places
1317 if test x$cross_compiling != xyes; then
1318 dnl only do pkg-config magic when not cross-compiling
1324 dnl check the given --with-ssl spot
1326 PREFIX_OPENSSL=$OPT_SSL
1328 dnl Try pkg-config even when cross-compiling. Since we
1329 dnl specify PKG_CONFIG_LIBDIR we're only looking where
1330 dnl the user told us to look
1331 OPENSSL_PCDIR="$OPT_SSL/lib/pkgconfig"
1332 AC_MSG_NOTICE([PKG_CONFIG_LIBDIR will be set to "$OPENSSL_PCDIR"])
1333 if test -e "$OPENSSL_PCDIR/openssl.pc"; then
1337 dnl in case pkg-config comes up empty, use what we got
1339 LIB_OPENSSL="$PREFIX_OPENSSL/lib$libsuff"
1340 if test "$PREFIX_OPENSSL" != "/usr" ; then
1341 SSL_LDFLAGS="-L$LIB_OPENSSL"
1342 SSL_CPPFLAGS="-I$PREFIX_OPENSSL/include"
1344 SSL_CPPFLAGS="$SSL_CPPFLAGS -I$PREFIX_OPENSSL/include/openssl"
1348 if test "$PKGTEST" = "yes"; then
1350 CURL_CHECK_PKGCONFIG(openssl, [$OPENSSL_PCDIR])
1352 if test "$PKGCONFIG" != "no" ; then
1353 SSL_LIBS=`CURL_EXPORT_PCDIR([$OPENSSL_PCDIR]) dnl
1354 $PKGCONFIG --libs-only-l openssl 2>/dev/null`
1356 SSL_LDFLAGS=`CURL_EXPORT_PCDIR([$OPENSSL_PCDIR]) dnl
1357 $PKGCONFIG --libs-only-L openssl 2>/dev/null`
1359 SSL_CPPFLAGS=`CURL_EXPORT_PCDIR([$OPENSSL_PCDIR]) dnl
1360 $PKGCONFIG --cflags-only-I openssl 2>/dev/null`
1362 AC_MSG_NOTICE([pkg-config: SSL_LIBS: "$SSL_LIBS"])
1363 AC_MSG_NOTICE([pkg-config: SSL_LDFLAGS: "$SSL_LDFLAGS"])
1364 AC_MSG_NOTICE([pkg-config: SSL_CPPFLAGS: "$SSL_CPPFLAGS"])
1366 LIB_OPENSSL=`echo $SSL_LDFLAGS | sed -e 's/-L//g'`
1368 dnl use the values pkg-config reported. This is here
1369 dnl instead of below with CPPFLAGS and LDFLAGS because we only
1370 dnl learn about this via pkg-config. If we only have
1371 dnl the argument to --with-ssl we don't know what
1372 dnl additional libs may be necessary. Hope that we
1374 LIBS="$LIBS $SSL_LIBS"
1378 dnl finally, set flags to use SSL
1379 CPPFLAGS="$CPPFLAGS $SSL_CPPFLAGS"
1380 LDFLAGS="$LDFLAGS $SSL_LDFLAGS"
1382 dnl This is for Msys/Mingw
1384 *-*-msys* | *-*-mingw*)
1385 AC_MSG_CHECKING([for gdi32])
1386 my_ac_save_LIBS=$LIBS
1387 LIBS="-lgdi32 $LIBS"
1388 AC_TRY_LINK([#include <windef.h>
1389 #include <wingdi.h>],
1392 AC_MSG_RESULT([yes])],
1393 [ dnl failed, restore LIBS
1394 LIBS=$my_ac_save_LIBS
1400 AC_CHECK_LIB(crypto, CRYPTO_lock,[
1402 LIBS="-lcrypto $LIBS"
1404 LDFLAGS="$CLEANLDFLAGS -L$LIB_OPENSSL"
1405 CPPFLAGS="$CLEANCPPFLAGS -I$PREFIX_OPENSSL/include/openssl -I$PREFIX_OPENSSL/include"
1406 AC_CHECK_LIB(crypto, CRYPTO_add_lock,[
1408 LIBS="-lcrypto $LIBS"], [
1409 LDFLAGS="$CLEANLDFLAGS"
1410 CPPFLAGS="$CLEANCPPFLAGS"
1416 if test X"$HAVECRYPTO" = X"yes"; then
1417 dnl This is only reasonable to do if crypto actually is there: check for
1418 dnl SSL libs NOTE: it is important to do this AFTER the crypto lib
1420 AC_CHECK_LIB(ssl, SSL_connect)
1422 if test "$ac_cv_lib_ssl_SSL_connect" != yes; then
1423 dnl we didn't find the SSL lib, try the RSAglue/rsaref stuff
1424 AC_MSG_CHECKING(for ssl with RSAglue/rsaref libs in use);
1426 LIBS="$LIBS -lRSAglue -lrsaref"
1427 AC_CHECK_LIB(ssl, SSL_connect)
1428 if test "$ac_cv_lib_ssl_SSL_connect" != yes; then
1429 dnl still no SSL_connect
1438 dnl Have the libraries--check for SSLeay/OpenSSL headers
1439 AC_CHECK_HEADERS(openssl/x509.h openssl/rsa.h openssl/crypto.h \
1440 openssl/pem.h openssl/ssl.h openssl/err.h,
1441 curl_ssl_msg="enabled (OpenSSL)"
1443 AC_DEFINE(USE_OPENSSL, 1, [if OpenSSL is in use]))
1445 if test $ac_cv_header_openssl_x509_h = no; then
1446 dnl we don't use the "action" part of the AC_CHECK_HEADERS macro
1447 dnl since 'err.h' might in fact find a krb4 header with the same
1449 AC_CHECK_HEADERS(x509.h rsa.h crypto.h pem.h ssl.h err.h)
1451 if test $ac_cv_header_x509_h = yes &&
1452 test $ac_cv_header_crypto_h = yes &&
1453 test $ac_cv_header_ssl_h = yes; then
1455 curl_ssl_msg="enabled (OpenSSL)"
1461 if test X"$OPENSSL_ENABLED" = X"1"; then
1462 AC_DEFINE(USE_SSLEAY, 1, [if SSL is enabled])
1464 dnl is there a pkcs12.h header present?
1465 AC_CHECK_HEADERS(openssl/pkcs12.h)
1469 dnl USE_SSLEAY is the historical name for what configure calls
1470 dnl OPENSSL_ENABLED; the names should really be unified
1471 USE_SSLEAY="$OPENSSL_ENABLED"
1472 AC_SUBST(USE_SSLEAY)
1474 if test X"$OPT_SSL" != Xoff &&
1475 test "$OPENSSL_ENABLED" != "1"; then
1476 AC_MSG_ERROR([OpenSSL libs and/or directories were not found where specified!])
1480 if test X"$OPENSSL_ENABLED" = X"1"; then
1481 dnl If the ENGINE library seems to be around, check for the OpenSSL engine
1482 dnl stuff, it is kind of "separated" from the main SSL check
1483 AC_CHECK_FUNC(ENGINE_init,
1485 AC_CHECK_HEADERS(openssl/engine.h)
1486 AC_CHECK_FUNCS( ENGINE_load_builtin_engines )
1489 dnl these can only exist if openssl exists
1490 dnl yassl doesn't have SSL_get_shutdown
1492 AC_CHECK_FUNCS( RAND_status \
1496 CRYPTO_cleanup_all_ex_data \
1499 dnl Make an attempt to detect if this is actually yassl's headers and
1500 dnl OpenSSL emulation layer. We still leave everything else believing
1501 dnl and acting like OpenSSL.
1503 AC_MSG_CHECKING([for yaSSL using OpenSSL compatibility mode])
1506 #include <openssl/ssl.h>
1508 #if defined(YASSL_VERSION) && defined(OPENSSL_VERSION_NUMBER)
1509 int dummy = SSL_ERROR_NONE;
1511 Not the yaSSL OpenSSL compatibility header.
1515 AC_MSG_RESULT([yes])
1516 AC_DEFINE_UNQUOTED(USE_YASSLEMUL, 1,
1517 [Define to 1 if using yaSSL in OpenSSL compatibility mode.])
1518 curl_ssl_msg="enabled (OpenSSL emulation by yaSSL)"
1524 if test "$OPENSSL_ENABLED" = "1"; then
1525 if test -n "$LIB_OPENSSL"; then
1526 dnl when the ssl shared libs were found in a path that the run-time
1527 dnl linker doesn't search through, we need to add it to LD_LIBRARY_PATH
1528 dnl to prevent further configure tests to fail due to this
1530 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_OPENSSL"
1531 export LD_LIBRARY_PATH
1532 AC_MSG_NOTICE([Added $LIB_OPENSSL to LD_LIBRARY_PATH])
1534 CURL_CHECK_OPENSSL_ADD_ALL_ALGORITHMS_API
1535 CURL_CHECK_OPENSSL_DES_RANDOM_KEY_API
1536 CURL_CHECK_OPENSSL_HEADERS_VERSION
1537 CURL_CHECK_OPENSSL_LIBRARY_VERSION
1542 dnl **********************************************************************
1543 dnl Check for the presence of ZLIB libraries and headers
1544 dnl **********************************************************************
1546 dnl Check for & handle argument to --with-zlib.
1551 AC_HELP_STRING([--with-zlib=PATH],[search for zlib in PATH])
1552 AC_HELP_STRING([--without-zlib],[disable use of zlib]),
1553 [OPT_ZLIB="$withval"])
1555 if test "$OPT_ZLIB" = "no" ; then
1556 AC_MSG_WARN([zlib disabled])
1558 if test "$OPT_ZLIB" = "yes" ; then
1562 if test -z "$OPT_ZLIB" ; then
1563 dnl check for the lib first without setting any new path, since many
1564 dnl people have it in the default path
1566 AC_CHECK_LIB(z, inflateEnd,
1567 dnl libz found, set the variable
1569 dnl if no lib found, try /usr/local
1570 [OPT_ZLIB="/usr/local"])
1574 dnl Add a nonempty path to the compiler flags
1575 if test -n "$OPT_ZLIB"; then
1576 CPPFLAGS="$CPPFLAGS -I$OPT_ZLIB/include"
1577 LDFLAGS="$LDFLAGS -L$OPT_ZLIB/lib$libsuff"
1580 AC_CHECK_HEADER(zlib.h,
1582 dnl zlib.h was found
1584 dnl if the lib wasn't found already, try again with the new paths
1585 if test "$HAVE_LIBZ" != "1"; then
1586 AC_CHECK_LIB(z, gzread,
1588 dnl the lib was found!
1591 [ CPPFLAGS=$_cppflags
1596 dnl zlib.h was not found, restore the flags
1601 if test "$HAVE_LIBZ" = "1" && test "$HAVE_ZLIB_H" != "1"
1603 AC_MSG_WARN([configure found only the libz lib, not the header file!])
1605 elif test "$HAVE_LIBZ" != "1" && test "$HAVE_ZLIB_H" = "1"
1607 AC_MSG_WARN([configure found only the libz header file, not the lib!])
1608 elif test "$HAVE_LIBZ" = "1" && test "$HAVE_ZLIB_H" = "1"
1610 dnl both header and lib were found!
1612 AC_DEFINE(HAVE_ZLIB_H, 1, [if you have the zlib.h header file])
1613 AC_DEFINE(HAVE_LIBZ, 1, [if zlib is available])
1615 CURL_LIBS="$CURL_LIBS -lz"
1618 dnl replace 'HAVE_LIBZ' in the automake makefile.ams
1620 AC_MSG_NOTICE([found both libz and libz.h header])
1621 curl_zlib_msg="enabled"
1625 dnl set variable for use in automakefile(s)
1626 AM_CONDITIONAL(HAVE_LIBZ, test x"$AMFIXLIB" = x1)
1628 dnl **********************************************************************
1629 dnl Check for the random seed preferences
1630 dnl **********************************************************************
1632 if test X"$OPENSSL_ENABLED" = X"1"; then
1633 AC_ARG_WITH(egd-socket,
1634 AC_HELP_STRING([--with-egd-socket=FILE],
1635 [Entropy Gathering Daemon socket pathname]),
1636 [ EGD_SOCKET="$withval" ]
1638 if test -n "$EGD_SOCKET" ; then
1639 AC_DEFINE_UNQUOTED(EGD_SOCKET, "$EGD_SOCKET",
1640 [your Entropy Gathering Daemon socket pathname] )
1643 dnl Check for user-specified random device
1645 AC_HELP_STRING([--with-random=FILE],
1646 [read randomness from FILE (default=/dev/urandom)]),
1647 [ RANDOM_FILE="$withval" ],
1649 if test x$cross_compiling != xyes; then
1650 dnl Check for random device
1651 AC_CHECK_FILE("/dev/urandom", [ RANDOM_FILE="/dev/urandom"] )
1653 AC_MSG_WARN([skipped the /dev/urandom detection when cross-compiling])
1657 if test -n "$RANDOM_FILE" && test X"$RANDOM_FILE" != Xno ; then
1658 AC_SUBST(RANDOM_FILE)
1659 AC_DEFINE_UNQUOTED(RANDOM_FILE, "$RANDOM_FILE",
1660 [a suitable file to read random data from])
1665 dnl We require OpenSSL with SRP support.
1667 if test "$OPENSSL_ENABLED" = "1"; then
1668 AC_CHECK_LIB(crypto, SRP_Calc_client_key,
1670 AC_DEFINE(HAVE_SSLEAY_SRP, 1, [if you have the function SRP_Calc_client_key])
1671 AC_SUBST(HAVE_SSLEAY_SRP, [1])
1675 dnl ----------------------------------------------------
1676 dnl check for GnuTLS
1677 dnl ----------------------------------------------------
1679 dnl Default to compiler & linker defaults for GnuTLS files & libraries.
1682 AC_ARG_WITH(gnutls,dnl
1683 AC_HELP_STRING([--with-gnutls=PATH],[where to look for GnuTLS, PATH points to the installation root])
1684 AC_HELP_STRING([--without-gnutls], [disable GnuTLS detection]),
1685 OPT_GNUTLS=$withval)
1687 if test "$OPENSSL_ENABLED" != "1"; then
1689 if test X"$OPT_GNUTLS" != Xno; then
1692 if test "x$OPT_GNUTLS" = "xyes"; then
1693 dnl this is with no partiular path given
1694 CURL_CHECK_PKGCONFIG(gnutls)
1696 if test "$PKGCONFIG" != "no" ; then
1697 addlib=`$PKGCONFIG --libs-only-l gnutls`
1698 addld=`$PKGCONFIG --libs-only-L gnutls`
1699 addcflags=`$PKGCONFIG --cflags-only-I gnutls`
1700 version=`$PKGCONFIG --modversion gnutls`
1701 gtlslib=`echo $addld | $SED -e 's/-L//'`
1703 dnl without pkg-config, we try libgnutls-config as that was how it
1705 check=`libgnutls-config --version 2>/dev/null`
1706 if test -n "$check"; then
1707 addlib=`libgnutls-config --libs`
1708 addcflags=`libgnutls-config --cflags`
1709 version=`libgnutls-config --version`
1710 gtlslib=`libgnutls-config --prefix`/lib$libsuff
1714 dnl this is with a given path, first check if there's a libgnutls-config
1715 dnl there and if not, make an educated guess
1716 cfg=$OPT_GNUTLS/bin/libgnutls-config
1717 check=`$cfg --version 2>/dev/null`
1718 if test -n "$check"; then
1719 addlib=`$cfg --libs`
1720 addcflags=`$cfg --cflags`
1721 version=`$cfg --version`
1722 gtlslib=`$cfg --prefix`/lib$libsuff
1724 dnl without pkg-config and libgnutls-config, we guess a lot!
1726 addld=-L$OPT_GNUTLS/lib$libsuff
1727 addcflags=-I$OPT_GNUTLS/include
1728 version="" # we just don't know
1729 gtlslib=$OPT_GNUTLS/lib$libsuff
1733 if test -z "$version"; then
1734 dnl lots of efforts, still no go
1738 if test -n "$addlib"; then
1741 CLEANCPPFLAGS="$CPPFLAGS"
1742 CLEADLDFLAGS="$LDFLAGS"
1744 LIBS="$LIBS $addlib"
1745 LDFLAGS="$LDFLAGS $addld"
1746 if test "$addcflags" != "-I/usr/include"; then
1747 CPPFLAGS="$CPPFLAGS $addcflags"
1750 AC_CHECK_LIB(gnutls, gnutls_check_version,
1752 AC_DEFINE(USE_GNUTLS, 1, [if GnuTLS is enabled])
1753 AC_SUBST(USE_GNUTLS, [1])
1756 curl_ssl_msg="enabled (GnuTLS)"
1760 CPPFLAGS="$CLEANCPPFLAGS"
1763 if test "x$USE_GNUTLS" = "xyes"; then
1764 AC_MSG_NOTICE([detected GnuTLS version $version])
1766 if test -n "$gtlslib"; then
1767 dnl when shared libs were found in a path that the run-time
1768 dnl linker doesn't search through, we need to add it to
1769 dnl LD_LIBRARY_PATH to prevent further configure tests to fail
1772 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$gtlslib"
1773 export LD_LIBRARY_PATH
1774 AC_MSG_NOTICE([Added $gtlslib to LD_LIBRARY_PATH])
1780 fi dnl GNUTLS not disabled
1785 dnl If GnuTLS is enabled, we MUST verify that it uses libgcrypt since
1786 dnl curl code relies on that but recent GnuTLS versions can in fact build
1787 dnl with different crypto libraries which curl right now cannot handle
1790 if test "$GNUTLS_ENABLED" = "1"; then
1791 AC_CHECK_LIB(gcrypt,
1794 AC_MSG_ERROR([need GnuTLS built with gcrypt to function with GnuTLS])
1799 dnl We require GnuTLS with SRP support.
1801 if test "$GNUTLS_ENABLED" = "1"; then
1802 AC_CHECK_LIB(gnutls, gnutls_srp_verifier,
1804 AC_DEFINE(HAVE_GNUTLS_SRP, 1, [if you have the function gnutls_srp_verifier])
1805 AC_SUBST(HAVE_GNUTLS_SRP, [1])
1809 dnl ----------------------------------------------------
1810 dnl check for PolarSSL
1811 dnl ----------------------------------------------------
1813 dnl Default to compiler & linker defaults for PolarSSL files & libraries.
1818 AC_ARG_WITH(polarssl,dnl
1819 AC_HELP_STRING([--with-polarssl=PATH],[where to look for PolarSSL, PATH points to the installation root])
1820 AC_HELP_STRING([--without-polarssl], [disable PolarSSL detection]),
1821 OPT_POLARSSL=$withval)
1823 if test "$OPENSSL_ENABLED" != "1"; then
1825 if test X"$OPT_POLARSSL" != Xno; then
1827 if test "$OPT_POLARSSL" = "yes"; then
1831 if test -z "$OPT_POLARSSL" ; then
1832 dnl check for lib first without setting any new path
1834 AC_CHECK_LIB(polarssl, havege_init,
1835 dnl libpolarssl found, set the variable
1837 AC_DEFINE(USE_POLARSSL, 1, [if PolarSSL is enabled])
1838 AC_SUBST(USE_POLARSSL, [1])
1841 curl_ssl_msg="enabled (PolarSSL)"
1845 if test "x$USE_POLARSSL" != "xyes"; then
1846 dnl add the path and test again
1847 addld=-L$OPT_POLARSSL/lib$libsuff
1848 addcflags=-I$OPT_POLARSSL/include
1849 polarssllib=$OPT_POLARSSL/lib$libsuff
1851 LDFLAGS="$LDFLAGS $addld"
1852 if test "$addcflags" != "-I/usr/include"; then
1853 CPPFLAGS="$CPPFLAGS $addcflags"
1856 AC_CHECK_LIB(polarssl, ssl_init,
1858 AC_DEFINE(USE_POLARSSL, 1, [if PolarSSL is enabled])
1859 AC_SUBST(USE_POLARSSL, [1])
1862 curl_ssl_msg="enabled (PolarSSL)"
1870 if test "x$USE_POLARSSL" = "xyes"; then
1871 AC_MSG_NOTICE([detected PolarSSL])
1873 CURL_LIBS="$CURL_LIBS -lpolarssl"
1874 LIBS="$LIBS -lpolarssl"
1876 if test -n "$polarssllib"; then
1877 dnl when shared libs were found in a path that the run-time
1878 dnl linker doesn't search through, we need to add it to
1879 dnl LD_LIBRARY_PATH to prevent further configure tests to fail
1882 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$polarssllib"
1883 export LD_LIBRARY_PATH
1884 AC_MSG_NOTICE([Added $polarssllib to LD_LIBRARY_PATH])
1889 fi dnl PolarSSL not disabled
1893 dnl ----------------------------------------------------
1894 dnl check for CyaSSL
1895 dnl ----------------------------------------------------
1897 dnl Default to compiler & linker defaults for CyaSSL files & libraries.
1902 AC_ARG_WITH(cyassl,dnl
1903 AC_HELP_STRING([--with-cyassl=PATH],[where to look for CyaSSL, PATH points to the installation root (default: /usr/local/cyassl)])
1904 AC_HELP_STRING([--without-cyassl], [disable CyaSSL detection]),
1905 OPT_CYASSL=$withval)
1907 if test "$OPENSSL_ENABLED" != "1"; then
1909 if test X"$OPT_CYASSL" != Xno; then
1911 if test "$OPT_CYASSL" = "yes"; then
1915 if test -z "$OPT_CYASSL" ; then
1916 dnl check for lib in default first
1918 trycyassldir="/usr/local/cyassl"
1920 LDFLAGS="$LDFLAGS -L$trycyassldir/lib"
1921 CPPFLAGS="$CPPFLAGS -I$trycyassldir/include"
1923 AC_CHECK_LIB(cyassl, InitCyaSSL,
1924 dnl libcyassl found, set the variable
1926 AC_DEFINE(USE_CYASSL, 1, [if CyaSSL is enabled])
1927 AC_SUBST(USE_CYASSL, [1])
1930 curl_ssl_msg="enabled (CyaSSL)"
1934 if test "x$USE_CYASSL" != "xyes"; then
1935 dnl add the path and test again
1936 addld=-L$OPT_CYASSL/lib$libsuff
1937 addcflags=-I$OPT_CYASSL/include
1938 cyassllib=$OPT_CYASSL/lib$libsuff
1940 LDFLAGS="$LDFLAGS $addld"
1941 if test "$addcflags" != "-I/usr/include"; then
1942 CPPFLAGS="$CPPFLAGS $addcflags"
1945 AC_CHECK_LIB(cyassl, InitCyaSSL,
1947 AC_DEFINE(USE_CYASSL, 1, [if CyaSSL is enabled])
1948 AC_SUBST(USE_CYASSL, [1])
1951 curl_ssl_msg="enabled (CyaSSL)"
1959 if test "x$USE_CYASSL" = "xyes"; then
1960 AC_MSG_NOTICE([detected CyaSSL])
1962 CURL_LIBS="$CURL_LIBS -lcyassl -lm"
1963 LIBS="$LIBS -lcyassl -lm"
1965 if test -n "$cyassllib"; then
1966 dnl when shared libs were found in a path that the run-time
1967 dnl linker doesn't search through, we need to add it to
1968 dnl LD_LIBRARY_PATH to prevent further configure tests to fail
1971 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$cyassllib"
1972 export LD_LIBRARY_PATH
1973 AC_MSG_NOTICE([Added $cyassllib to LD_LIBRARY_PATH])
1978 fi dnl CyaSSL not disabled
1982 dnl ----------------------------------------------------
1983 dnl NSS. Only check if GnuTLS and OpenSSL are not enabled
1984 dnl ----------------------------------------------------
1986 dnl Default to compiler & linker defaults for NSS files & libraries.
1990 AC_HELP_STRING([--with-nss=PATH],[where to look for NSS, PATH points to the installation root])
1991 AC_HELP_STRING([--without-nss], [disable NSS detection]),
1994 if test "$OPENSSL_ENABLED" != "1" -a "$GNUTLS_ENABLED" != "1"; then
1996 if test X"$OPT_NSS" != Xno; then
1997 if test "x$OPT_NSS" = "xyes"; then
1999 CURL_CHECK_PKGCONFIG(nss)
2001 if test "$PKGCONFIG" != "no" ; then
2002 addlib=`$PKGCONFIG --libs nss`
2003 addcflags=`$PKGCONFIG --cflags nss`
2004 version=`$PKGCONFIG --modversion nss`
2005 nssprefix=`$PKGCONFIG --variable=prefix nss`
2007 dnl Without pkg-config, we check for nss-config
2009 check=`nss-config --version 2>/dev/null`
2010 if test -n "$check"; then
2011 addlib=`nss-config --libs`
2012 addcflags=`nss-config --cflags`
2013 version=`nss-config --version`
2014 nssprefix=`nss-config --prefix`
2022 # Without pkg-config, we'll kludge in some defaults
2023 addlib="-L$OPT_NSS/lib -lssl3 -lsmime3 -lnss3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl"
2024 addcflags="-I$OPT_NSS/include"
2029 dnl Check for functionPK11_CreateGenericObject
2030 dnl this is needed for using the PEM PKCS#11 module
2031 AC_CHECK_LIB(nss3, PK11_CreateGenericObject,
2033 AC_DEFINE(HAVE_PK11_CREATEGENERICOBJECT, 1, [if you have the function PK11_CreateGenericObject])
2034 AC_SUBST(HAVE_PK11_CREATEGENERICOBJECT, [1])
2036 if test -n "$addlib"; then
2039 CLEANCPPFLAGS="$CPPFLAGS"
2041 LIBS="$LIBS $addlib"
2042 if test "$addcflags" != "-I/usr/include"; then
2043 CPPFLAGS="$CPPFLAGS $addcflags"
2046 AC_CHECK_LIB(nss3, NSS_Initialize,
2048 AC_DEFINE(USE_NSS, 1, [if NSS is enabled])
2049 AC_SUBST(USE_NSS, [1])
2052 curl_ssl_msg="enabled (NSS)"
2056 CPPFLAGS="$CLEANCPPFLAGS"
2059 if test "x$USE_NSS" = "xyes"; then
2060 AC_MSG_NOTICE([detected NSS version $version])
2062 dnl when shared libs were found in a path that the run-time
2063 dnl linker doesn't search through, we need to add it to
2064 dnl LD_LIBRARY_PATH to prevent further configure tests to fail
2067 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$nssprefix/lib$libsuff"
2068 export LD_LIBRARY_PATH
2069 AC_MSG_NOTICE([Added $nssprefix/lib$libsuff to LD_LIBRARY_PATH])
2074 fi dnl NSS not disabled
2076 fi dnl OPENSSL != 1 -a GNUTLS_ENABLED != 1
2080 AC_ARG_WITH(axtls,dnl
2081 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.])
2082 AC_HELP_STRING([--without-axtls], [disable axTLS]),
2085 if test "$curl_ssl_msg" = "$init_ssl_msg"; then
2086 if test X"$OPT_AXTLS" != Xno; then
2087 dnl backup the pre-axtls variables
2088 CLEANLDFLAGS="$LDFLAGS"
2089 CLEANCPPFLAGS="$CPPFLAGS"
2092 case "$OPT_AXTLS" in
2094 dnl --with-axtls (without path) used
2095 PREFIX_AXTLS=/usr/local
2096 LIB_AXTLS="$PREFIX_AXTLS/lib"
2097 LDFLAGS="$LDFLAGS -L$LIB_AXTLS"
2098 CPPFLAGS="$CPPFLAGS -I$PREFIX_AXTLS/include"
2101 dnl no --with-axtls option given, just check default places
2105 dnl check the given --with-axtls spot
2106 PREFIX_AXTLS=$OPT_AXTLS
2107 LIB_AXTLS="$PREFIX_AXTLS/lib"
2108 LDFLAGS="$LDFLAGS -L$LIB_AXTLS"
2109 CPPFLAGS="$CPPFLAGS -I$PREFIX_AXTLS/include"
2113 AC_CHECK_LIB(axtls, ssl_version,[
2114 LIBS="-laxtls $LIBS"
2115 AC_DEFINE(USE_AXTLS, 1, [if axTLS is enabled])
2116 AC_SUBST(USE_AXTLS, [1])
2119 curl_ssl_msg="enabled (axTLS)"
2122 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_AXTLS"
2123 export LD_LIBRARY_PATH
2124 AC_MSG_NOTICE([Added $LIB_AXTLS to LD_LIBRARY_PATH])
2126 LDFLAGS="$CLEANLDFLAGS"
2127 CPPFLAGS="$CLEANCPPFLAGS"
2133 if test "x$OPENSSL_ENABLED$GNUTLS_ENABLED$NSS_ENABLED$POLARSSL_ENABLED$AXTLS_ENABLED$CYASSL_ENABLED" = "x"; then
2134 AC_MSG_WARN([SSL disabled, you will not be able to use HTTPS, FTPS, NTLM and more.])
2135 AC_MSG_WARN([Use --with-ssl, --with-gnutls, --with-polarssl, --with-cyassl, --with-nss or --with-axtls to address this.])
2137 # SSL is enabled, genericly
2138 AC_SUBST(SSL_ENABLED)
2142 dnl **********************************************************************
2143 dnl Check for the CA bundle
2144 dnl **********************************************************************
2146 CURL_CHECK_CA_BUNDLE
2148 dnl **********************************************************************
2149 dnl Check for the presence of LIBSSH2 libraries and headers
2150 dnl **********************************************************************
2152 dnl Default to compiler & linker defaults for LIBSSH2 files & libraries.
2154 AC_ARG_WITH(libssh2,dnl
2155 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])
2156 AC_HELP_STRING([--without-libssh2], [disable LIBSSH2]),
2157 OPT_LIBSSH2=$withval)
2159 if test X"$OPT_LIBSSH2" != Xno; then
2160 dnl backup the pre-libssh2 variables
2161 CLEANLDFLAGS="$LDFLAGS"
2162 CLEANCPPFLAGS="$CPPFLAGS"
2165 case "$OPT_LIBSSH2" in
2167 dnl --with-libssh2 (without path) used
2168 CURL_CHECK_PKGCONFIG(libssh2)
2170 if test "$PKGCONFIG" != "no" ; then
2171 LIB_SSH2=`$PKGCONFIG --libs-only-l libssh2`
2172 LD_SSH2=`$PKGCONFIG --libs-only-L libssh2`
2173 CPP_SSH2=`$PKGCONFIG --cflags-only-I libssh2`
2174 version=`$PKGCONFIG --modversion libssh2`
2175 DIR_SSH2=`echo $LD_SSH2 | $SED -e 's/-L//'`
2180 dnl no --with-libssh2 option given, just check default places
2183 dnl use the given --with-libssh2 spot
2184 PREFIX_SSH2=$OPT_LIBSSH2
2188 dnl if given with a prefix, we set -L and -I based on that
2189 if test -n "$PREFIX_SSH2"; then
2191 LD_SSH2=-L${PREFIX_SSH2}/lib$libsuff
2192 CPP_SSH2=-I${PREFIX_SSH2}/include
2193 DIR_SSH2=${PREFIX_SSH2}/lib$libsuff
2196 LDFLAGS="$LDFLAGS $LD_SSH2"
2197 CPPFLAGS="$CPPFLAGS $CPP_SSH2"
2198 LIBS="$LIBS $LIB_SSH2"
2200 AC_CHECK_LIB(ssh2, libssh2_channel_open_ex)
2202 AC_CHECK_HEADERS(libssh2.h,
2203 curl_ssh_msg="enabled (libSSH2)"
2205 AC_DEFINE(USE_LIBSSH2, 1, [if libSSH2 is in use])
2206 AC_SUBST(USE_LIBSSH2, [1])
2209 if test X"$OPT_LIBSSH2" != Xoff &&
2210 test "$LIBSSH2_ENABLED" != "1"; then
2211 AC_MSG_ERROR([libSSH2 libs and/or directories were not found where specified!])
2214 if test "$LIBSSH2_ENABLED" = "1"; then
2215 if test -n "$DIR_SSH2"; then
2216 dnl when the libssh2 shared libs were found in a path that the run-time
2217 dnl linker doesn't search through, we need to add it to LD_LIBRARY_PATH
2218 dnl to prevent further configure tests to fail due to this
2220 dnl libssh2_version is a post 1.0 addition
2221 dnl libssh2_init and libssh2_exit were added in 1.2.5
2222 dnl libssh2_scp_send64 was added in 1.2.6
2223 dnl libssh2_session_handshake was added in 1.2.8
2224 AC_CHECK_FUNCS( libssh2_version libssh2_init libssh2_exit \
2225 libssh2_scp_send64 libssh2_session_handshake)
2227 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DIR_SSH2"
2228 export LD_LIBRARY_PATH
2229 AC_MSG_NOTICE([Added $DIR_SSH2 to LD_LIBRARY_PATH])
2232 dnl no libssh2, revert back to clean variables
2233 LDFLAGS=$CLEANLDFLAGS
2234 CPPFLAGS=$CLEANCPPFLAGS
2239 dnl **********************************************************************
2240 dnl Check for the presence of LIBRTMP libraries and headers
2241 dnl **********************************************************************
2243 dnl Default to compiler & linker defaults for LIBRTMP files & libraries.
2245 AC_ARG_WITH(librtmp,dnl
2246 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])
2247 AC_HELP_STRING([--without-librtmp], [disable LIBRTMP]),
2248 OPT_LIBRTMP=$withval)
2250 if test X"$OPT_LIBRTMP" != Xno; then
2251 dnl backup the pre-librtmp variables
2252 CLEANLDFLAGS="$LDFLAGS"
2253 CLEANCPPFLAGS="$CPPFLAGS"
2256 case "$OPT_LIBRTMP" in
2258 dnl --with-librtmp (without path) used
2259 CURL_CHECK_PKGCONFIG(librtmp)
2261 if test "$PKGCONFIG" != "no" ; then
2262 LIB_RTMP=`$PKGCONFIG --libs-only-l librtmp`
2263 LD_RTMP=`$PKGCONFIG --libs-only-L librtmp`
2264 CPP_RTMP=`$PKGCONFIG --cflags-only-I librtmp`
2265 version=`$PKGCONFIG --modversion librtmp`
2266 DIR_RTMP=`echo $LD_RTMP | $SED -e 's/-L//'`
2268 dnl To avoid link errors, we do not allow --librtmp without
2269 dnl a pkgconfig file
2270 AC_MSG_ERROR([--librtmp was specified but could not find librtmp pkgconfig file.])
2275 dnl no --with-librtmp option given, just check default places
2279 dnl use the given --with-librtmp spot
2280 PREFIX_RTMP=$OPT_LIBRTMP
2284 dnl if given with a prefix, we set -L and -I based on that
2285 if test -n "$PREFIX_RTMP"; then
2286 LD_RTMP=-L${PREFIX_RTMP}/lib$libsuff
2287 CPP_RTMP=-I${PREFIX_RTMP}/include
2288 DIR_RTMP=${PREFIX_RTMP}/lib$libsuff
2291 LDFLAGS="$LDFLAGS $LD_RTMP"
2292 CPPFLAGS="$CPPFLAGS $CPP_RTMP"
2293 LIBS="$LIBS $LIB_RTMP"
2295 AC_CHECK_LIB(rtmp, RTMP_Init,
2297 AC_CHECK_HEADERS(librtmp/rtmp.h,
2298 curl_rtmp_msg="enabled (librtmp)"
2300 AC_DEFINE(USE_LIBRTMP, 1, [if librtmp is in use])
2301 AC_SUBST(USE_LIBRTMP, [1])
2304 dnl not found, revert back to clean variables
2305 LDFLAGS=$CLEANLDFLAGS
2306 CPPFLAGS=$CLEANCPPFLAGS
2310 if test X"$OPT_LIBRTMP" != Xoff &&
2311 test "$LIBRTMP_ENABLED" != "1"; then
2312 AC_MSG_ERROR([librtmp libs and/or directories were not found where specified!])
2317 dnl **********************************************************************
2318 dnl Check for the presence of IDN libraries and headers
2319 dnl **********************************************************************
2321 AC_MSG_CHECKING([whether to build with libidn])
2323 AC_HELP_STRING([--with-libidn=PATH],[Enable libidn usage])
2324 AC_HELP_STRING([--without-libidn],[Disable libidn usage]),
2325 [LIBIDN="$withval"])
2331 *) AC_MSG_RESULT(yes)
2334 dnl if there is a given path, check that FIRST
2335 if test -n "$LIBIDN"; then
2336 if test "x$LIBIDN" != "xyes"; then
2338 oldCPPFLAGS=$CPPFLAGS
2339 LDFLAGS="$LDFLAGS -L$LIBIDN/lib"
2340 CPPFLAGS="$CPPFLAGS -I$LIBIDN/include"
2342 AC_CHECK_LIB(idn, idna_to_ascii_4i, ,
2345 CPPFLAGS=$oldCPPFLAGS)
2349 if test "x$idn" != "xyes"; then
2350 dnl check with default paths
2352 AC_CHECK_LIB(idn, idna_to_ascii_lz, ,
2356 if test "x$idn" = "xyes"; then
2357 curl_idn_msg="enabled"
2358 AC_SUBST(IDN_ENABLED, [1])
2359 dnl different versions of libidn have different setups of these:
2360 AC_CHECK_FUNCS( idn_free idna_strerror tld_strerror)
2361 AC_CHECK_HEADERS( idn-free.h tld.h )
2368 dnl Let's hope this split URL remains working:
2369 dnl http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixprggd/ \
2370 dnl genprogc/thread_quick_ref.htm
2373 dnl **********************************************************************
2374 dnl Back to "normal" configuring
2375 dnl **********************************************************************
2377 dnl Checks for header files.
2380 CURL_CHECK_HEADER_MALLOC
2381 CURL_CHECK_HEADER_MEMORY
2383 dnl Now check for the very most basic headers. Then we can use these
2384 dnl ones as default-headers when checking for the rest!
2426 dnl to do if not found
2430 dnl default includes
2432 #ifdef HAVE_SYS_TYPES_H
2433 #include <sys/types.h>
2435 #ifdef HAVE_SYS_TIME_H
2436 #include <sys/time.h>
2438 #ifdef HAVE_SYS_SELECT_H
2439 #include <sys/select.h>
2441 #ifdef HAVE_SYS_SOCKET_H
2442 #include <sys/socket.h>
2444 #ifdef HAVE_NETINET_IN_H
2445 #include <netinet/in.h>
2447 #ifdef HAVE_SYS_UN_H
2453 dnl Checks for typedefs, structures, and compiler characteristics.
2455 CURL_CHECK_VARIADIC_MACROS
2458 CURL_CHECK_STRUCT_TIMEVAL
2459 CURL_VERIFY_RUNTIMELIBS
2461 AC_CHECK_SIZEOF(size_t)
2462 AC_CHECK_SIZEOF(long)
2463 AC_CHECK_SIZEOF(int)
2464 AC_CHECK_SIZEOF(short)
2466 AC_CHECK_SIZEOF(time_t)
2467 AC_CHECK_SIZEOF(off_t)
2470 if test x"$ac_cv_native_windows" != "xyes" &&
2471 test $ac_cv_sizeof_off_t -ne $curl_sizeof_curl_off_t; then
2472 AC_MSG_WARN([This libcurl built is probably not ABI compatible with previous])
2473 AC_MSG_WARN([builds! You MUST read lib/README.curl_off_t to figure it out.])
2478 AC_CHECK_TYPE(long long,
2479 [AC_DEFINE(HAVE_LONGLONG, 1,
2480 [Define to 1 if the compiler supports the 'long long' data type.])]
2484 if test "xyes" = "x$longlong"; then
2485 AC_MSG_CHECKING([if numberLL works])
2489 long long val = 1000LL;
2492 AC_MSG_RESULT([yes])
2493 AC_DEFINE(HAVE_LL, 1, [if your compiler supports LL])
2501 AC_CHECK_TYPE(ssize_t, ,
2502 AC_DEFINE(ssize_t, int, [the signed version of size_t]))
2504 # check for bool type
2505 AC_CHECK_TYPE([bool],[
2506 AC_DEFINE(HAVE_BOOL_T, 1,
2507 [Define to 1 if bool is an available type.])
2509 #ifdef HAVE_SYS_TYPES_H
2510 #include <sys/types.h>
2512 #ifdef HAVE_STDBOOL_H
2513 #include <stdbool.h>
2517 CURL_CONFIGURE_CURL_SOCKLEN_T
2521 TYPE_SOCKADDR_STORAGE
2527 CURL_CHECK_FUNC_SELECT
2529 CURL_CHECK_FUNC_RECV
2530 CURL_CHECK_FUNC_RECVFROM
2531 CURL_CHECK_FUNC_SEND
2532 CURL_CHECK_MSG_NOSIGNAL
2534 CURL_CHECK_FUNC_ALARM
2535 CURL_CHECK_FUNC_BASENAME
2536 CURL_CHECK_FUNC_CLOSESOCKET
2537 CURL_CHECK_FUNC_CLOSESOCKET_CAMEL
2538 CURL_CHECK_FUNC_CONNECT
2539 CURL_CHECK_FUNC_FCNTL
2540 CURL_CHECK_FUNC_FDOPEN
2541 CURL_CHECK_FUNC_FREEADDRINFO
2542 CURL_CHECK_FUNC_FREEIFADDRS
2543 CURL_CHECK_FUNC_FSETXATTR
2544 CURL_CHECK_FUNC_FTRUNCATE
2545 CURL_CHECK_FUNC_GETADDRINFO
2546 CURL_CHECK_FUNC_GAI_STRERROR
2547 CURL_CHECK_FUNC_GETHOSTBYADDR
2548 CURL_CHECK_FUNC_GETHOSTBYADDR_R
2549 CURL_CHECK_FUNC_GETHOSTBYNAME
2550 CURL_CHECK_FUNC_GETHOSTBYNAME_R
2551 CURL_CHECK_FUNC_GETHOSTNAME
2552 CURL_CHECK_FUNC_GETIFADDRS
2553 CURL_CHECK_FUNC_GETSERVBYPORT_R
2554 CURL_CHECK_FUNC_GMTIME_R
2555 CURL_CHECK_FUNC_INET_NTOA_R
2556 CURL_CHECK_FUNC_INET_NTOP
2557 CURL_CHECK_FUNC_INET_PTON
2558 CURL_CHECK_FUNC_IOCTL
2559 CURL_CHECK_FUNC_IOCTLSOCKET
2560 CURL_CHECK_FUNC_IOCTLSOCKET_CAMEL
2561 CURL_CHECK_FUNC_LOCALTIME_R
2562 CURL_CHECK_FUNC_MEMRCHR
2563 CURL_CHECK_FUNC_POLL
2564 CURL_CHECK_FUNC_SETSOCKOPT
2565 CURL_CHECK_FUNC_SIGACTION
2566 CURL_CHECK_FUNC_SIGINTERRUPT
2567 CURL_CHECK_FUNC_SIGNAL
2568 CURL_CHECK_FUNC_SIGSETJMP
2569 CURL_CHECK_FUNC_SOCKET
2570 CURL_CHECK_FUNC_STRCASECMP
2571 CURL_CHECK_FUNC_STRCASESTR
2572 CURL_CHECK_FUNC_STRCMPI
2573 CURL_CHECK_FUNC_STRDUP
2574 CURL_CHECK_FUNC_STRERROR_R
2575 CURL_CHECK_FUNC_STRICMP
2576 CURL_CHECK_FUNC_STRLCAT
2577 CURL_CHECK_FUNC_STRNCASECMP
2578 CURL_CHECK_FUNC_STRNCMPI
2579 CURL_CHECK_FUNC_STRNICMP
2580 CURL_CHECK_FUNC_STRSTR
2581 CURL_CHECK_FUNC_STRTOK_R
2582 CURL_CHECK_FUNC_STRTOLL
2583 CURL_CHECK_FUNC_WRITEV
2589 AC_MSG_NOTICE([skip check for pipe on msdosdjgpp])
2593 AC_CHECK_FUNCS([fork \
2612 eval skipcheck=\$skipcheck_$func
2613 if test "x$skipcheck" != "xyes"; then
2614 AC_MSG_CHECKING([deeper for $func])
2621 AC_MSG_RESULT([yes])
2622 eval "ac_cv_func_$func=yes"
2623 AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_$func]), [1],
2624 [Define to 1 if you have the $func function.])
2626 AC_MSG_RESULT([but still no])
2631 dnl Check if the getnameinfo function is available
2632 dnl and get the types of five of its arguments.
2633 CURL_CHECK_FUNC_GETNAMEINFO
2635 if test "$ipv6" = "yes"; then
2636 if test "$ac_cv_func_getaddrinfo" = "yes"; then
2637 AC_DEFINE(ENABLE_IPV6, 1, [Define if you want to enable IPv6 support])
2639 AC_SUBST(IPV6_ENABLED)
2641 CURL_CHECK_NI_WITHSCOPEID
2644 dnl ************************************************************
2645 dnl enable non-blocking communications
2647 CURL_CHECK_OPTION_NONBLOCKING
2648 CURL_CHECK_NONBLOCKING_SOCKET
2650 dnl ************************************************************
2651 dnl nroff tool stuff
2654 AC_PATH_PROG( PERL, perl, ,
2655 $PATH:/usr/local/bin/perl:/usr/bin/:/usr/local/bin )
2658 AC_PATH_PROGS( NROFF, gnroff nroff, ,
2659 $PATH:/usr/bin/:/usr/local/bin )
2662 if test -n "$NROFF"; then
2663 dnl only check for nroff options if an nroff command was found
2665 AC_MSG_CHECKING([how to use *nroff to get plain text from man pages])
2667 mancheck=`echo foo | $NROFF $MANOPT 2>/dev/null`
2668 if test -z "$mancheck"; then
2670 mancheck=`echo foo | $NROFF $MANOPT 2>/dev/null`
2671 if test -z "$mancheck"; then
2673 AC_MSG_RESULT([failed])
2674 AC_MSG_WARN([found no *nroff option to get plaintext from man pages])
2676 AC_MSG_RESULT([$MANOPT])
2679 AC_MSG_RESULT([$MANOPT])
2684 if test -z "$MANOPT"
2686 dnl if no nroff tool was found, or no option that could convert man pages
2687 dnl was found, then disable the built-in manual stuff
2688 AC_MSG_WARN([disabling built-in manual])
2692 dnl *************************************************************************
2693 dnl If the manual variable still is set, then we go with providing a built-in
2696 if test "$USE_MANUAL" = "1"; then
2697 AC_DEFINE(USE_MANUAL, 1, [If you want to build curl with the built-in manual])
2698 curl_manual_msg="enabled"
2701 dnl set variable for use in automakefile(s)
2702 AM_CONDITIONAL(USE_MANUAL, test x"$USE_MANUAL" = x1)
2705 AM_CONDITIONAL(USE_EMBEDDED_ARES, test x$embedded_ares = xyes)
2707 if test "x$ac_cv_native_windows" != "xyes" &&
2708 test "x$enable_shared" = "xyes"; then
2709 build_libhostname=yes
2711 build_libhostname=no
2713 AM_CONDITIONAL(BUILD_LIBHOSTNAME, test x$build_libhostname = xyes)
2715 CURL_CHECK_OPTION_THREADED_RESOLVER
2717 if test "x$want_thres" = xyes && test "x$want_ares" = xyes; then
2719 [Options --enable-threaded-resolver and --enable-ares are mutually exclusive])
2722 if test "$want_thres" = "yes"; then
2723 AC_CHECK_HEADER(pthread.h,
2724 [ AC_DEFINE(HAVE_PTHREAD_H, 1, [if you have <pthread.h>])
2725 save_CFLAGS="$CFLAGS"
2726 CFLAGS="$CFLAGS -pthread"
2727 AC_CHECK_LIB(pthread, pthread_create,
2728 [ AC_MSG_NOTICE([using POSIX threaded DNS lookup])
2729 AC_DEFINE(USE_THREADS_POSIX, 1, [if you want POSIX threaded DNS lookup])
2731 curl_res_msg="threaded"
2733 [ CFLAGS="$save_CFLAGS"])
2737 dnl ************************************************************
2738 dnl disable verbose text strings
2740 AC_MSG_CHECKING([whether to enable verbose strings])
2741 AC_ARG_ENABLE(verbose,
2742 AC_HELP_STRING([--enable-verbose],[Enable verbose strings])
2743 AC_HELP_STRING([--disable-verbose],[Disable verbose strings]),
2744 [ case "$enableval" in
2747 AC_DEFINE(CURL_DISABLE_VERBOSE_STRINGS, 1, [to disable verbose strings])
2748 curl_verbose_msg="no"
2750 *) AC_MSG_RESULT(yes)
2756 dnl ************************************************************
2757 dnl enable SSPI support
2759 AC_MSG_CHECKING([whether to enable SSPI support (Windows native builds only)])
2761 AC_HELP_STRING([--enable-sspi],[Enable SSPI])
2762 AC_HELP_STRING([--disable-sspi],[Disable SSPI]),
2763 [ case "$enableval" in
2765 if test "$ac_cv_native_windows" = "yes"; then
2767 AC_DEFINE(USE_WINDOWS_SSPI, 1, [to enable SSPI support])
2768 AC_SUBST(USE_WINDOWS_SSPI, [1])
2769 curl_sspi_msg="enabled"
2772 AC_MSG_WARN([--enable-sspi Ignored. Only supported on native Windows builds.])
2782 dnl ************************************************************
2783 dnl disable cryptographic authentication
2785 AC_MSG_CHECKING([whether to enable cryptographic authentication methods])
2786 AC_ARG_ENABLE(crypto-auth,
2787 AC_HELP_STRING([--enable-crypto-auth],[Enable cryptographic authentication])
2788 AC_HELP_STRING([--disable-crypto-auth],[Disable cryptographic authentication]),
2789 [ case "$enableval" in
2792 AC_DEFINE(CURL_DISABLE_CRYPTO_AUTH, 1, [to disable cryptographic authentication])
2794 *) AC_MSG_RESULT(yes)
2800 dnl ************************************************************
2801 dnl disable TLS-SRP authentication
2803 AC_MSG_CHECKING([whether to enable TLS-SRP authentication])
2804 AC_ARG_ENABLE(tls-srp,
2805 AC_HELP_STRING([--enable-tls-srp],[Enable TLS-SRP authentication])
2806 AC_HELP_STRING([--disable-tls-srp],[Disable TLS-SRP authentication]),
2807 [ case "$enableval" in
2810 AC_DEFINE(CURL_DISABLE_TLS_SRP, 1, [to disable TLS-SRP authentication])
2813 *) AC_MSG_RESULT(yes)
2821 if test "$want_tls_srp" = "yes" && ( test "x$HAVE_GNUTLS_SRP" = "x1" || test "x$HAVE_SSLEAY_SRP" = "x1") ; then
2822 AC_DEFINE(USE_TLS_SRP, 1, [Use TLS-SRP authentication])
2824 curl_tls_srp_msg="enabled"
2827 dnl ************************************************************
2828 dnl disable cookies support
2830 AC_MSG_CHECKING([whether to enable support for cookies])
2831 AC_ARG_ENABLE(cookies,
2832 AC_HELP_STRING([--enable-cookies],[Enable cookies support])
2833 AC_HELP_STRING([--disable-cookies],[Disable cookies support]),
2834 [ case "$enableval" in
2837 AC_DEFINE(CURL_DISABLE_COOKIES, 1, [to disable cookies support])
2839 *) AC_MSG_RESULT(yes)
2845 dnl ************************************************************
2846 dnl Enable hiding of internal symbols in library to reduce its size and
2847 dnl speed dynamic linking of applications. This currently is only supported
2848 dnl on gcc >= 4.0 and SunPro C.
2850 AC_MSG_CHECKING([whether to enable hidden symbols in the library])
2851 AC_ARG_ENABLE(hidden-symbols,
2852 AC_HELP_STRING([--enable-hidden-symbols],[Hide internal symbols in library])
2853 AC_HELP_STRING([--disable-hidden-symbols],[Leave all symbols with default visibility in library]),
2854 [ case "$enableval" in
2859 AC_MSG_CHECKING([whether $CC supports it])
2860 if test "$GCC" = yes ; then
2861 if $CC --help --verbose 2>&1 | grep fvisibility= > /dev/null ||
2862 dnl clang always supports -fvisibility= but it doesn't show up
2864 test "$compiler_id" = "CLANG"; then
2866 AC_DEFINE(CURL_HIDDEN_SYMBOLS, 1, [to enable hidden symbols])
2867 AC_DEFINE(CURL_EXTERN_SYMBOL, [__attribute__ ((visibility ("default")))], [to make a symbol visible])
2868 CFLAGS="$CFLAGS -fvisibility=hidden"
2874 dnl Test for SunPro cc
2875 if $CC 2>&1 | grep flags >/dev/null && $CC -flags | grep xldscope= >/dev/null ; then
2877 AC_DEFINE(CURL_HIDDEN_SYMBOLS, 1, [to enable hidden symbols])
2878 AC_DEFINE(CURL_EXTERN_SYMBOL, [__global], [to make a symbol visible])
2879 CFLAGS="$CFLAGS -xldscope=hidden"
2889 dnl ************************************************************
2890 dnl enforce SONAME bump
2893 AC_MSG_CHECKING([whether to enforce SONAME bump])
2894 AC_ARG_ENABLE(soname-bump,
2895 AC_HELP_STRING([--enable-soname-bump],[Enable enforced SONAME bump])
2896 AC_HELP_STRING([--disable-soname-bump],[Disable enforced SONAME bump]),
2897 [ case "$enableval" in
2898 yes) AC_MSG_RESULT(yes)
2905 AC_MSG_RESULT($soname_bump)
2907 AM_CONDITIONAL(SONAME_BUMP, test x$soname_bump = xyes)
2910 dnl ************************************************************
2911 if test ! -z "$winsock_LIB"; then
2913 dnl If ws2_32 is wanted, make sure it is the _last_ lib in LIBS (makes
2914 dnl things work when built with c-ares). But we can't just move it last
2915 dnl since then other stuff (SSL) won't build. So we simply append it to the
2918 LIBS="$LIBS $winsock_LIB"
2919 TEST_SERVER_LIBS="$TEST_SERVER_LIBS $winsock_LIB"
2924 dnl All the library dependencies put into $LIB apply to libcurl only.
2925 dnl Those in $CURL_LIBS apply to the curl command-line client only.
2926 dnl Those in $TEST_SERVER_LIBS apply to test servers only.
2927 dnl Those in $ALL_LIBS apply to all targets, including test targets.
2931 AC_SUBST(LIBCURL_LIBS)
2933 AC_SUBST(TEST_SERVER_LIBS)
2934 AC_SUBST(CURL_NETWORK_LIBS)
2935 LIBS=$ALL_LIBS dnl LIBS is a magic variable that's used for every link
2937 AM_CONDITIONAL(CROSSCOMPILING, test x$cross_compiling = xyes)
2940 ENABLE_SHARED="$enable_shared"
2941 AC_SUBST(ENABLE_SHARED)
2944 dnl For keeping supported features and protocols also in pkg-config file
2945 dnl since it is more cross-compile frient than curl-config
2948 if test "x$USE_SSLEAY" = "x1"; then
2949 SUPPORT_FEATURES="$SUPPORT_FEATURES SSL"
2950 elif test -n "$SSL_ENABLED"; then
2951 SUPPORT_FEATURES="$SUPPORT_FEATURES SSL"
2953 if test "@KRB4_ENABLED@" = "x1"; then
2954 SUPPORT_FEATURES="$SUPPORT_FEATURES KRB4"
2956 if test "x$IPV6_ENABLED" = "x1"; then
2957 SUPPORT_FEATURES="$SUPPORT_FEATURES IPv6"
2959 if test "x$HAVE_LIBZ" = "x1"; then
2960 SUPPORT_FEATURES="$SUPPORT_FEATURES libz"
2962 if test "x$USE_ARES" = "x1" -o "x$USE_THREADS_POSIX" = "x1"; then
2963 SUPPORT_FEATURES="$SUPPORT_FEATURES AsynchDNS"
2965 if test "x$IDN_ENABLED" = "x1"; then
2966 SUPPORT_FEATURES="$SUPPORT_FEATURES IDN"
2968 if test "x$USE_WINDOWS_SSPI" = "x1"; then
2969 SUPPORT_FEATURES="$SUPPORT_FEATURES SSPI"
2971 if test "x$CURL_DISABLE_HTTP" != "x1"; then
2972 if test "x$USE_SSLEAY" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \
2973 -o "x$GNUTLS_ENABLED" = "x1" -o "x$NSS_ENABLED" = "x1"; then
2974 SUPPORT_FEATURES="$SUPPORT_FEATURES NTLM"
2977 if test "x$USE_TLS_SRP" = "x1"; then
2978 SUPPORT_FEATURES="$SUPPORT_FEATURES TLS-SRP"
2981 AC_SUBST(SUPPORT_FEATURES)
2983 dnl For supported protocols in pkg-config file
2984 if test "x$CURL_DISABLE_HTTP" != "x1"; then
2985 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS HTTP"
2986 if test "x$SSL_ENABLED" = "x1"; then
2987 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS HTTPS"
2990 if test "x$CURL_DISABLE_FTP" != "x1"; then
2991 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS FTP"
2992 if test "x$SSL_ENABLED" = "x1"; then
2993 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS FTPS"
2996 if test "x$CURL_DISABLE_FILE" != "x1"; then
2997 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS FILE"
2999 if test "x$CURL_DISABLE_TELNET" != "x1"; then
3000 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS TELNET"
3002 if test "x$CURL_DISABLE_LDAP" != "x1"; then
3003 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS LDAP"
3004 if test "x$CURL_DISABLE_LDAPS" != "x1"; then
3005 if (test "x$USE_OPENLDAP" = "x1" && test "x$SSL_ENABLED" = "x1") ||
3006 (test "x$USE_OPENLDAP" != "x1" && test "x$HAVE_LDAP_SSL" = "x1"); then
3007 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS LDAPS"
3011 if test "x$CURL_DISABLE_DICT" != "x1"; then
3012 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS DICT"
3014 if test "x$CURL_DISABLE_TFTP" != "x1"; then
3015 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS TFTP"
3017 if test "x$CURL_DISABLE_GOPHER" != "x1"; then
3018 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS GOPHER"
3020 if test "x$CURL_DISABLE_POP3" != "x1"; then
3021 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS POP3"
3022 if test "x$SSL_ENABLED" = "x1"; then
3023 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS POP3S"
3026 if test "x$CURL_DISABLE_IMAP" != "x1"; then
3027 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS IMAP"
3028 if test "x$SSL_ENABLED" = "x1"; then
3029 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS IMAPS"
3032 if test "x$CURL_DISABLE_SMTP" != "x1"; then
3033 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SMTP"
3034 if test "x$SSL_ENABLED" = "x1"; then
3035 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SMTPS"
3038 if test "x$USE_LIBSSH2" = "x1"; then
3039 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SCP"
3040 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SFTP"
3042 if test "x$CURL_DISABLE_RTSP" != "x1"; then
3043 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS RTSP"
3045 if test "x$USE_LIBRTMP" = "x1"; then
3046 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS RTMP"
3049 dnl replace spaces with newlines
3051 dnl replace the newlines back to spaces
3052 SUPPORT_PROTOCOLS=`echo $SUPPORT_PROTOCOLS | tr ' ' '\012' | sort | tr '\012' ' '`
3054 AC_SUBST(SUPPORT_PROTOCOLS)
3056 dnl squeeze whitespace out of some variables
3065 squeeze LIBCURL_LIBS
3066 squeeze TEST_SERVER_LIBS
3067 squeeze CURL_NETWORK_LIBS
3069 squeeze SUPPORT_FEATURES
3070 squeeze SUPPORT_PROTOCOLS
3072 if test "x$want_curldebug_assumed" = "xyes" &&
3073 test "x$want_curldebug" = "xyes" && test "x$USE_ARES" = "x1"; then
3074 ac_configure_args="$ac_configure_args --enable-curldebug"
3077 AC_CONFIG_FILES([Makefile \
3079 docs/examples/Makefile \
3080 docs/libcurl/Makefile \
3082 include/curl/Makefile \
3086 tests/data/Makefile \
3087 tests/server/Makefile \
3088 tests/libtest/Makefile \
3089 tests/unit/Makefile \
3091 packages/Win32/Makefile \
3092 packages/Win32/cygwin/Makefile \
3093 packages/Linux/Makefile \
3094 packages/Linux/RPM/Makefile \
3095 packages/Linux/RPM/curl.spec \
3096 packages/Linux/RPM/curl-ssl.spec \
3097 packages/Solaris/Makefile \
3098 packages/EPM/curl.list \
3099 packages/EPM/Makefile \
3100 packages/vms/Makefile \
3101 packages/AIX/Makefile \
3102 packages/AIX/RPM/Makefile \
3103 packages/AIX/RPM/curl.spec \
3109 CURL_GENERATE_CONFIGUREHELP_PM
3111 AC_MSG_NOTICE([Configured to build curl/libcurl:
3113 curl version: ${CURLVERSION}
3115 Install prefix: ${prefix}
3117 SSL support: ${curl_ssl_msg}
3118 SSH support: ${curl_ssh_msg}
3119 zlib support: ${curl_zlib_msg}
3120 krb4 support: ${curl_krb4_msg}
3121 GSSAPI support: ${curl_gss_msg}
3122 SPNEGO support: ${curl_spnego_msg}
3123 TLS-SRP support: ${curl_tls_srp_msg}
3124 resolver: ${curl_res_msg}
3125 ipv6 support: ${curl_ipv6_msg}
3126 IDN support: ${curl_idn_msg}
3127 Build libcurl: Shared=${enable_shared}, Static=${enable_static}
3128 Built-in manual: ${curl_manual_msg}
3129 Verbose errors: ${curl_verbose_msg}
3130 SSPI support: ${curl_sspi_msg}
3131 ca cert bundle: ${ca}
3132 ca cert path: ${capath}
3133 LDAP support: ${curl_ldap_msg}
3134 LDAPS support: ${curl_ldaps_msg}
3135 RTSP support: ${curl_rtsp_msg}
3136 RTMP support: ${curl_rtmp_msg}
3137 Protocols: ${SUPPORT_PROTOCOLS}
3140 if test "x$soname_bump" = "xyes"; then
3143 SONAME bump: yes - WARNING: this library will be built with the SONAME
3144 number bumped due to (a detected) ABI breakage.
3145 See lib/README.curl_off_t for details on this.