# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
-# Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
#***************************************************************************
dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.59)
+AC_PREREQ(2.57)
dnl We don't know the version number "statically" so we use a dash here
-AC_INIT([curl],[-],[a suitable curl mailing list: http://curl.haxx.se/mail/])
+AC_INIT([curl], [-], [a suitable curl mailing list: http://curl.haxx.se/mail/])
XC_OVR_ZZ50
+XC_OVR_ZZ60
CURL_OVERRIDE_AUTOCONF
dnl configure script copyright
-AC_COPYRIGHT([Copyright (c) 1998 - 2012 Daniel Stenberg, <daniel@haxx.se>
+AC_COPYRIGHT([Copyright (c) 1998 - 2014 Daniel Stenberg, <daniel@haxx.se>
This configure script may be copied, distributed and modified under the
terms of the curl license; see COPYING for more details])
CURL_CHECK_OPTION_SYMBOL_HIDING
CURL_CHECK_OPTION_ARES
-CURL_CHECK_PATH_SEPARATOR_REQUIRED
+XC_CHECK_PATH_SEPARATOR
#
# save the configure arguments
dnl figure out the libcurl version
CURLVERSION=`$SED -ne 's/^#define LIBCURL_VERSION "\(.*\)"/\1/p' ${srcdir}/include/curl/curlver.h`
-AM_INIT_AUTOMAKE
+XC_CHECK_PROG_CC
+XC_AUTOMAKE
AC_MSG_CHECKING([curl version])
AC_MSG_RESULT($CURLVERSION)
dnl
dnl initialize all the info variables
- curl_ssl_msg="no (--with-{ssl,gnutls,nss,polarssl,cyassl,axtls,winssl} )"
+ curl_ssl_msg="no (--with-{ssl,gnutls,nss,polarssl,cyassl,axtls,winssl,darwinssl} )"
curl_ssh_msg="no (--with-libssh2)"
curl_zlib_msg="no (--with-zlib)"
- curl_krb4_msg="no (--with-krb4*)"
curl_gss_msg="no (--with-gssapi)"
curl_spnego_msg="no (--with-spnego)"
curl_tls_srp_msg="no (--enable-tls-srp)"
init_ssl_msg=${curl_ssl_msg}
dnl
-dnl LIBS should only specify libraries
-dnl
-tst_bad_spec="no"
-for word1 in $LIBS; do
- case "$word1" in
- -l* | --library=*)
- :
- ;;
- *)
- tst_bad_spec="yes"
- ;;
- esac
-done
-if test "$tst_bad_spec" = "yes"; then
- AC_MSG_WARN([invalid LIBS: $LIBS])
- AC_MSG_ERROR([LIBS may only be used to specify libraries (-lname).])
-fi
-
-dnl
-dnl LDFLAGS should only specify linker flags
-dnl
-tst_bad_msg=""
-tst_bad_spec="no"
-for word1 in $LDFLAGS; do
- case "$word1" in
- -D*)
- tst_bad_spec="yes"
- tst_bad_msg="not macro definitions. Use CPPFLAGS for these."
- ;;
- -U*)
- tst_bad_spec="yes"
- tst_bad_msg="not macro suppressions. Use CPPFLAGS for these."
- ;;
- -I*)
- tst_bad_spec="yes"
- tst_bad_msg="not include directories. Use CPPFLAGS for these."
- ;;
- -l* | --library=*)
- tst_bad_spec="yes"
- tst_bad_msg="not libraries. Use LIBS for these."
- ;;
- esac
-done
-if test "$tst_bad_spec" = "yes"; then
- AC_MSG_WARN([invalid LDFLAGS: $LDFLAGS])
- AC_MSG_ERROR([LDFLAGS may only be used to specify linker flags, $tst_bad_msg])
-fi
-
-dnl
-dnl CPPFLAGS should only specify C preprocessor flags
-dnl
-tst_bad_msg=""
-tst_bad_spec="no"
-for word1 in $CPPFLAGS; do
- case "$word1" in
- -rpath*)
- tst_bad_spec="yes"
- tst_bad_msg="not library runtime directories. Use LDFLAGS for these."
- ;;
- -L* | --library-path=*)
- tst_bad_spec="yes"
- tst_bad_msg="not library directories. Use LDFLAGS for these."
- ;;
- -l* | --library=*)
- tst_bad_spec="yes"
- tst_bad_msg="not libraries. Use LIBS for these."
- ;;
- esac
-done
-if test "$tst_bad_spec" = "yes"; then
- AC_MSG_WARN([invalid CPPFLAGS: $CPPFLAGS])
- AC_MSG_ERROR([CPPFLAGS may only be used to specify C preprocessor flags, $tst_bad_msg])
-fi
-
-dnl
-dnl CFLAGS should only specify C compiler flags
-dnl
-tst_bad_msg=""
-tst_bad_spec="no"
-for word1 in $CFLAGS; do
- case "$word1" in
- -D*)
- tst_bad_spec="yes"
- tst_bad_msg="not macro definitions. Use CPPFLAGS for these."
- ;;
- -U*)
- tst_bad_spec="yes"
- tst_bad_msg="not macro suppressions. Use CPPFLAGS for these."
- ;;
- -I*)
- tst_bad_spec="yes"
- tst_bad_msg="not include directories. Use CPPFLAGS for these."
- ;;
- -rpath*)
- tst_bad_spec="yes"
- tst_bad_msg="not library runtime directories. Use LDFLAGS for these."
- ;;
- -L* | --library-path=*)
- tst_bad_spec="yes"
- tst_bad_msg="not library directories. Use LDFLAGS for these."
- ;;
- -l* | --library=*)
- tst_bad_spec="yes"
- tst_bad_msg="not libraries. Use LIBS for these."
- ;;
- esac
-done
-if test "$tst_bad_spec" = "yes"; then
- AC_MSG_WARN([invalid CFLAGS: $CFLAGS])
- AC_MSG_ERROR([CFLAGS may only be used to specify C compiler flags, $tst_bad_msg])
-fi
-
-dnl
dnl Save some initial values the user might have provided
dnl
INITIAL_LDFLAGS=$LDFLAGS
AC_DEFINE_UNQUOTED(OS, "${host}", [cpu-machine-OS])
dnl Checks for programs.
-CURL_CHECK_PROG_CC
dnl Our curl_off_t internal and external configure settings
CURL_CONFIGURE_CURL_OFF_T
dnl check for how to do large files
AC_SYS_LARGEFILE
-dnl force libtool to build static libraries with PIC on AMD64-Linux & FreeBSD
-AC_MSG_CHECKING([if arch-OS host is AMD64-Linux/FreeBSD (to build static libraries with PIC)])
-case $host in
- x86_64*linux*|amd64*freebsd*|ia64*freebsd*)
- AC_MSG_RESULT([yes])
- with_pic=yes
- ;;
- *)
- AC_MSG_RESULT([no])
- ;;
-esac
+XC_LIBTOOL
-AC_MSG_CHECKING([if compiler is icc (to build with PIC)])
-case $CC in
- icc | */icc)
- AC_MSG_RESULT([yes])
- with_pic=yes
- ;;
- *)
- AC_MSG_RESULT([no])
- ;;
-esac
+#
+# Automake conditionals based on libtool related checks
+#
-dnl libtool setup
-LT_INIT([win32-dll])
+AM_CONDITIONAL([CURL_LT_SHLIB_USE_VERSION_INFO],
+ [test "x$xc_lt_shlib_use_version_info" = 'xyes'])
+AM_CONDITIONAL([CURL_LT_SHLIB_USE_NO_UNDEFINED],
+ [test "x$xc_lt_shlib_use_no_undefined" = 'xyes'])
+AM_CONDITIONAL([CURL_LT_SHLIB_USE_MIMPURE_TEXT],
+ [test "x$xc_lt_shlib_use_mimpure_text" = 'xyes'])
-AC_MSG_CHECKING([if we need -mimpure-text])
-mimpure=no
-case $host in
- *-*-solaris2*)
- if test "$GCC" = "yes"; then
- mimpure="yes"
- fi
- ;;
- *)
- ;;
-esac
-AC_MSG_RESULT($mimpure)
-AM_CONDITIONAL(MIMPURE, test x$mimpure = xyes)
+#
+# Due to libtool and automake machinery limitations of not allowing
+# specifying separate CPPFLAGS or CFLAGS when compiling objects for
+# inclusion of these in shared or static libraries, we are forced to
+# build using separate configure runs for shared and static libraries
+# on systems where different CPPFLAGS or CFLAGS are mandatory in order
+# to compile objects for each kind of library. Notice that relying on
+# the '-DPIC' CFLAG that libtool provides is not valid given that the
+# user might for example choose to build static libraries with PIC.
+#
+
+#
+# Make our Makefile.am files use the staticlib CPPFLAG only when strictly
+# targeting a static library and not building its shared counterpart.
+#
+
+AM_CONDITIONAL([USE_CPPFLAG_CURL_STATICLIB],
+ [test "x$xc_lt_build_static_only" = 'xyes'])
+
+#
+# Make staticlib CPPFLAG variable and its definition visible in output
+# files unconditionally, providing an empty definition unless strictly
+# targeting a static library and not building its shared counterpart.
+#
+
+CPPFLAG_CURL_STATICLIB=
+if test "x$xc_lt_build_static_only" = 'xyes'; then
+ CPPFLAG_CURL_STATICLIB='-DCURL_STATICLIB'
+fi
+AC_SUBST([CPPFLAG_CURL_STATICLIB])
-AC_MSG_CHECKING([if we need BUILDING_LIBCURL])
-use_cppflag_building_libcurl="no"
-use_cppflag_curl_staticlib="no"
-CPPFLAG_CURL_STATICLIB=""
-case $host in
- *-*-mingw*)
- AC_MSG_RESULT(yes)
- use_cppflag_building_libcurl="yes"
- AC_MSG_CHECKING([if we need CURL_STATICLIB])
- if test "X$enable_shared" = "Xno"
- then
- AC_MSG_RESULT(yes)
- use_cppflag_curl_staticlib="yes"
- CPPFLAG_CURL_STATICLIB="-DCURL_STATICLIB"
- else
- AC_MSG_RESULT(no)
- fi
- ;;
- *)
- AC_MSG_RESULT(no)
- ;;
-esac
-AM_CONDITIONAL(USE_CPPFLAG_BUILDING_LIBCURL, test x$use_cppflag_building_libcurl = xyes)
-AM_CONDITIONAL(USE_CPPFLAG_CURL_STATICLIB, test x$use_cppflag_curl_staticlib = xyes)
-AC_SUBST(CPPFLAG_CURL_STATICLIB)
# Determine whether all dependent libraries must be specified when linking
if test "X$enable_shared" = "Xyes" -a "X$link_all_deplibs" = "Xno"
AC_SUBST(REQUIRE_LIB_DEPS)
AM_CONDITIONAL(USE_EXPLICIT_LIB_DEPS, test x$REQUIRE_LIB_DEPS = xyes)
-dnl The install stuff has already been taken care of by the automake stuff
-dnl AC_PROG_INSTALL
-AC_PROG_MAKE_SET
-
dnl check if there's a way to force code inline
AC_C_INLINE
CURL_CHECK_COMPILER_PROTOTYPE_MISMATCH
CURL_CHECK_COMPILER_SYMBOL_HIDING
-CURL_CHECK_NO_UNDEFINED
-AM_CONDITIONAL(NO_UNDEFINED, test x$need_no_undefined = xyes)
-
CURL_CHECK_CURLDEBUG
AM_CONDITIONAL(CURLDEBUG, test x$want_curldebug = xyes)
dnl
AC_MSG_CHECKING([whether to support http])
AC_ARG_ENABLE(http,
-AS_HELP_STRING([--enable-http],[Enable HTTP support])
-AS_HELP_STRING([--disable-http],[Disable HTTP support]),
+AC_HELP_STRING([--enable-http],[Enable HTTP support])
+AC_HELP_STRING([--disable-http],[Disable HTTP support]),
[ case "$enableval" in
no)
AC_MSG_RESULT(no)
)
AC_MSG_CHECKING([whether to support ftp])
AC_ARG_ENABLE(ftp,
-AS_HELP_STRING([--enable-ftp],[Enable FTP support])
-AS_HELP_STRING([--disable-ftp],[Disable FTP support]),
+AC_HELP_STRING([--enable-ftp],[Enable FTP support])
+AC_HELP_STRING([--disable-ftp],[Disable FTP support]),
[ case "$enableval" in
no)
AC_MSG_RESULT(no)
)
AC_MSG_CHECKING([whether to support file])
AC_ARG_ENABLE(file,
-AS_HELP_STRING([--enable-file],[Enable FILE support])
-AS_HELP_STRING([--disable-file],[Disable FILE support]),
+AC_HELP_STRING([--enable-file],[Enable FILE support])
+AC_HELP_STRING([--disable-file],[Disable FILE support]),
[ case "$enableval" in
no)
AC_MSG_RESULT(no)
)
AC_MSG_CHECKING([whether to support ldap])
AC_ARG_ENABLE(ldap,
-AS_HELP_STRING([--enable-ldap],[Enable LDAP support])
-AS_HELP_STRING([--disable-ldap],[Disable LDAP support]),
+AC_HELP_STRING([--enable-ldap],[Enable LDAP support])
+AC_HELP_STRING([--disable-ldap],[Disable LDAP support]),
[ case "$enableval" in
no)
AC_MSG_RESULT(no)
)
AC_MSG_CHECKING([whether to support ldaps])
AC_ARG_ENABLE(ldaps,
-AS_HELP_STRING([--enable-ldaps],[Enable LDAPS support])
-AS_HELP_STRING([--disable-ldaps],[Disable LDAPS support]),
+AC_HELP_STRING([--enable-ldaps],[Enable LDAPS support])
+AC_HELP_STRING([--disable-ldaps],[Disable LDAPS support]),
[ case "$enableval" in
no)
AC_MSG_RESULT(no)
AC_MSG_CHECKING([whether to support rtsp])
AC_ARG_ENABLE(rtsp,
-AS_HELP_STRING([--enable-rtsp],[Enable RTSP support])
-AS_HELP_STRING([--disable-rtsp],[Disable RTSP support]),
+AC_HELP_STRING([--enable-rtsp],[Enable RTSP support])
+AC_HELP_STRING([--disable-rtsp],[Disable RTSP support]),
[ case "$enableval" in
no)
AC_MSG_RESULT(no)
AC_MSG_CHECKING([whether to support proxies])
AC_ARG_ENABLE(proxy,
-AS_HELP_STRING([--enable-proxy],[Enable proxy support])
-AS_HELP_STRING([--disable-proxy],[Disable proxy support]),
+AC_HELP_STRING([--enable-proxy],[Enable proxy support])
+AC_HELP_STRING([--disable-proxy],[Disable proxy support]),
[ case "$enableval" in
no)
AC_MSG_RESULT(no)
AC_MSG_CHECKING([whether to support dict])
AC_ARG_ENABLE(dict,
-AS_HELP_STRING([--enable-dict],[Enable DICT support])
-AS_HELP_STRING([--disable-dict],[Disable DICT support]),
+AC_HELP_STRING([--enable-dict],[Enable DICT support])
+AC_HELP_STRING([--disable-dict],[Disable DICT support]),
[ case "$enableval" in
no)
AC_MSG_RESULT(no)
)
AC_MSG_CHECKING([whether to support telnet])
AC_ARG_ENABLE(telnet,
-AS_HELP_STRING([--enable-telnet],[Enable TELNET support])
-AS_HELP_STRING([--disable-telnet],[Disable TELNET support]),
+AC_HELP_STRING([--enable-telnet],[Enable TELNET support])
+AC_HELP_STRING([--disable-telnet],[Disable TELNET support]),
[ case "$enableval" in
no)
AC_MSG_RESULT(no)
)
AC_MSG_CHECKING([whether to support tftp])
AC_ARG_ENABLE(tftp,
-AS_HELP_STRING([--enable-tftp],[Enable TFTP support])
-AS_HELP_STRING([--disable-tftp],[Disable TFTP support]),
+AC_HELP_STRING([--enable-tftp],[Enable TFTP support])
+AC_HELP_STRING([--disable-tftp],[Disable TFTP support]),
[ case "$enableval" in
no)
AC_MSG_RESULT(no)
AC_MSG_CHECKING([whether to support pop3])
AC_ARG_ENABLE(pop3,
-AS_HELP_STRING([--enable-pop3],[Enable POP3 support])
-AS_HELP_STRING([--disable-pop3],[Disable POP3 support]),
+AC_HELP_STRING([--enable-pop3],[Enable POP3 support])
+AC_HELP_STRING([--disable-pop3],[Disable POP3 support]),
[ case "$enableval" in
no)
AC_MSG_RESULT(no)
AC_MSG_CHECKING([whether to support imap])
AC_ARG_ENABLE(imap,
-AS_HELP_STRING([--enable-imap],[Enable IMAP support])
-AS_HELP_STRING([--disable-imap],[Disable IMAP support]),
+AC_HELP_STRING([--enable-imap],[Enable IMAP support])
+AC_HELP_STRING([--disable-imap],[Disable IMAP support]),
[ case "$enableval" in
no)
AC_MSG_RESULT(no)
AC_MSG_CHECKING([whether to support smtp])
AC_ARG_ENABLE(smtp,
-AS_HELP_STRING([--enable-smtp],[Enable SMTP support])
-AS_HELP_STRING([--disable-smtp],[Disable SMTP support]),
+AC_HELP_STRING([--enable-smtp],[Enable SMTP support])
+AC_HELP_STRING([--disable-smtp],[Disable SMTP support]),
[ case "$enableval" in
no)
AC_MSG_RESULT(no)
AC_MSG_CHECKING([whether to support gopher])
AC_ARG_ENABLE(gopher,
-AS_HELP_STRING([--enable-gopher],[Enable Gopher support])
-AS_HELP_STRING([--disable-gopher],[Disable Gopher support]),
+AC_HELP_STRING([--enable-gopher],[Enable Gopher support])
+AC_HELP_STRING([--disable-gopher],[Disable Gopher support]),
[ case "$enableval" in
no)
AC_MSG_RESULT(no)
AC_MSG_CHECKING([whether to provide built-in manual])
AC_ARG_ENABLE(manual,
-AS_HELP_STRING([--enable-manual],[Enable built-in manual])
-AS_HELP_STRING([--disable-manual],[Disable built-in manual]),
+AC_HELP_STRING([--enable-manual],[Enable built-in manual])
+AC_HELP_STRING([--disable-manual],[Disable built-in manual]),
[ case "$enableval" in
no)
AC_MSG_RESULT(no)
dnl
AC_MSG_CHECKING([whether to enable generation of C code])
AC_ARG_ENABLE(libcurl_option,
-AS_HELP_STRING([--enable-libcurl-option],[Enable --libcurl C code generation support])
-AS_HELP_STRING([--disable-libcurl-option],[Disable --libcurl C code generation support]),
+AC_HELP_STRING([--enable-libcurl-option],[Enable --libcurl C code generation support])
+AC_HELP_STRING([--disable-libcurl-option],[Disable --libcurl C code generation support]),
[ case "$enableval" in
no)
AC_MSG_RESULT(no)
AC_MSG_CHECKING([whether to use libgcc])
AC_ARG_ENABLE(libgcc,
-AS_HELP_STRING([--enable-libgcc],[use libgcc when linking]),
+AC_HELP_STRING([--enable-libgcc],[use libgcc when linking]),
[ case "$enableval" in
yes)
LIBS="-lgcc $LIBS"
clean_LIBS=$LIBS
ZLIB_LIBS=""
AC_ARG_WITH(zlib,
-AS_HELP_STRING([--with-zlib=PATH],[search for zlib in PATH])
-AS_HELP_STRING([--without-zlib],[disable use of zlib]),
+AC_HELP_STRING([--with-zlib=PATH],[search for zlib in PATH])
+AC_HELP_STRING([--without-zlib],[disable use of zlib]),
[OPT_ZLIB="$withval"])
if test "$OPT_ZLIB" = "no" ; then
LDAPLIBNAME=""
AC_ARG_WITH(ldap-lib,
-AS_HELP_STRING([--with-ldap-lib=libname],[Specify name of ldap lib file]),
+AC_HELP_STRING([--with-ldap-lib=libname],[Specify name of ldap lib file]),
[LDAPLIBNAME="$withval"])
LBERLIBNAME=""
AC_ARG_WITH(lber-lib,
-AS_HELP_STRING([--with-lber-lib=libname],[Specify name of lber lib file]),
+AC_HELP_STRING([--with-lber-lib=libname],[Specify name of lber lib file]),
[LBERLIBNAME="$withval"])
if test x$CURL_DISABLE_LDAP != x1 ; then
AC_MSG_CHECKING([whether to enable ipv6])
AC_ARG_ENABLE(ipv6,
-AS_HELP_STRING([--enable-ipv6],[Enable ipv6 (with ipv4) support])
-AS_HELP_STRING([--disable-ipv6],[Disable ipv6 support]),
+AC_HELP_STRING([--enable-ipv6],[Enable ipv6 (with ipv4) support])
+AC_HELP_STRING([--disable-ipv6],[Disable ipv6 support]),
[ case "$enableval" in
no)
AC_MSG_RESULT(no)
;;
esac ],
- AC_RUN_IFELSE([AC_LANG_SOURCE([[ /* is AF_INET6 available? */
+ AC_TRY_RUN([ /* is AF_INET6 available? */
#include <sys/types.h>
#include <sys/socket.h>
+#include <stdlib.h> /* for exit() */
main()
{
if (socket(AF_INET6, SOCK_STREAM, 0) < 0)
else
exit(0);
}
-]])],[AC_MSG_RESULT(yes)
- ipv6=yes],[AC_MSG_RESULT(no)
- ipv6=no],[AC_MSG_RESULT(no)
+],
+ AC_MSG_RESULT(yes)
+ ipv6=yes,
+ AC_MSG_RESULT(no)
+ ipv6=no,
+ AC_MSG_RESULT(no)
ipv6=no
-]))
+))
if test "$ipv6" = "yes"; then
curl_ipv6_msg="enabled"
# Check if struct sockaddr_in6 have sin6_scope_id member
if test "$ipv6" = yes; then
AC_MSG_CHECKING([if struct sockaddr_in6 has sin6_scope_id member])
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ AC_TRY_COMPILE([
#include <sys/types.h>
-#include <netinet/in.h> ]], [[struct sockaddr_in6 s; s.sin6_scope_id = 0; ]])],[have_sin6_scope_id=yes],[])
+#include <netinet/in.h>] ,
+ struct sockaddr_in6 s; s.sin6_scope_id = 0; , have_sin6_scope_id=yes)
if test "$have_sin6_scope_id" = yes; then
AC_MSG_RESULT([yes])
AC_DEFINE(HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID, 1, [Define to 1 if struct sockaddr_in6 has the sin6_scope_id member])
esac
dnl **********************************************************************
-dnl Check for the presence of Kerberos4 libraries and headers
-dnl **********************************************************************
-
-AC_ARG_WITH(krb4-includes,
-AS_HELP_STRING([--with-krb4-includes=DIR],
- [Specify location of kerberos4 headers]),[
- CPPFLAGS="$CPPFLAGS -I$withval"
- KRB4INC="$withval"
- want_krb4=yes
- ])
-
-AC_ARG_WITH(krb4-libs,
-AS_HELP_STRING([--with-krb4-libs=DIR],[Specify location of kerberos4 libs]),[
- LDFLAGS="$LDFLAGS -L$withval"
- KRB4LIB="$withval"
- want_krb4=yes
- ])
-
-
-OPT_KRB4=off
-AC_ARG_WITH(krb4,dnl
-AS_HELP_STRING([--with-krb4=DIR],[where to look for Kerberos4]),[
- OPT_KRB4="$withval"
- if test X"$OPT_KRB4" != Xno; then
- want_krb4="yes"
- if test X"$OPT_KRB4" != Xyes; then
- LDFLAGS="$LDFLAGS -L$OPT_KRB4/lib$libsuff"
- KRB4LIB="$OPT_KRB4/lib$libsuff"
- CPPFLAGS="$CPPFLAGS -I$OPT_KRB4/include"
- KRB4INC="$OPT_KRB4/include"
- fi
- fi
- ])
-
-AC_MSG_CHECKING([if Kerberos4 support is requested])
-
-if test "$want_krb4" = yes
-then
- if test "$ipv6" = "yes"; then
- echo krb4 is not compatible with IPv6
- exit 1
- fi
- AC_MSG_RESULT(yes)
-
- dnl Check for & handle argument to --with-krb4
-
- AC_MSG_CHECKING(where to look for Kerberos4)
- if test X"$OPT_KRB4" = Xyes
- then
- AC_MSG_RESULT([defaults])
- else
- AC_MSG_RESULT([libs in $KRB4LIB, headers in $KRB4INC])
- fi
-
- dnl Check for DES library
- AC_CHECK_LIB(des, des_pcbc_encrypt,
- [
- AC_CHECK_HEADERS(des.h)
-
- dnl resolv lib?
- AC_CHECK_FUNC(res_search, , [AC_CHECK_LIB(resolv, res_search)])
-
- dnl Check for the Kerberos4 library
- AC_CHECK_LIB(krb, krb_net_read,
- [
- dnl Check for header files
- AC_CHECK_HEADERS(krb.h)
-
- dnl we found the required libraries, add to LIBS
- LIBS="-lkrb -lcom_err -ldes $LIBS"
-
- dnl Check for function krb_get_our_ip_for_realm
- dnl this is needed for NAT networks
- AC_CHECK_FUNCS(krb_get_our_ip_for_realm)
-
- dnl add define KRB4
- AC_DEFINE(HAVE_KRB4, 1,
- [if you have the Kerberos4 libraries (including -ldes)])
-
- dnl substitute it too!
- KRB4_ENABLED=1
- AC_SUBST(KRB4_ENABLED)
-
- curl_krb4_msg="enabled"
-
- dnl the krb4 stuff needs a strlcpy()
- AC_CHECK_FUNCS(strlcpy)
-
- ])
- ])
-else
- AC_MSG_RESULT(no)
-fi
-
-dnl **********************************************************************
dnl Check for FBopenssl(SPNEGO) libraries
dnl **********************************************************************
AC_ARG_WITH(spnego,
- AS_HELP_STRING([--with-spnego=DIR],
+ AC_HELP_STRING([--with-spnego=DIR],
[Specify location of SPNEGO library fbopenssl]), [
SPNEGO_ROOT="$withval"
if test x"$SPNEGO_ROOT" != xno; then
dnl Check for GSS-API libraries
dnl **********************************************************************
-dnl check for gss stuff in the /usr as default
+dnl check for GSS-API stuff in the /usr as default
GSSAPI_ROOT="/usr"
AC_ARG_WITH(gssapi-includes,
- AS_HELP_STRING([--with-gssapi-includes=DIR],
- [Specify location of GSSAPI header]),
+ AC_HELP_STRING([--with-gssapi-includes=DIR],
+ [Specify location of GSS-API headers]),
[ GSSAPI_INCS="-I$withval"
want_gss="yes" ]
)
AC_ARG_WITH(gssapi-libs,
- AS_HELP_STRING([--with-gssapi-libs=DIR],
- [Specify location of GSSAPI libs]),
+ AC_HELP_STRING([--with-gssapi-libs=DIR],
+ [Specify location of GSS-API libs]),
[ GSSAPI_LIB_DIR="-L$withval"
want_gss="yes" ]
)
AC_ARG_WITH(gssapi,
- AS_HELP_STRING([--with-gssapi=DIR],
- [Where to look for GSSAPI]), [
+ AC_HELP_STRING([--with-gssapi=DIR],
+ [Where to look for GSS-API]), [
GSSAPI_ROOT="$withval"
if test x"$GSSAPI_ROOT" != xno; then
want_gss="yes"
])
save_CPPFLAGS="$CPPFLAGS"
-AC_MSG_CHECKING([if GSSAPI support is requested])
+AC_MSG_CHECKING([if GSS-API support is requested])
if test x"$want_gss" = xyes; then
AC_MSG_RESULT(yes)
if test -z "$GSSAPI_INCS"; then
- if test -f "$GSSAPI_ROOT/bin/krb5-config"; then
+ if test -n "$host_alias" -a -f "$GSSAPI_ROOT/bin/$host_alias-krb5-config"; then
+ GSSAPI_INCS=`$GSSAPI_ROOT/bin/$host_alias-krb5-config --cflags gssapi`
+ elif test -f "$GSSAPI_ROOT/bin/krb5-config"; then
GSSAPI_INCS=`$GSSAPI_ROOT/bin/krb5-config --cflags gssapi`
elif test "$GSSAPI_ROOT" != "yes"; then
GSSAPI_INCS="-I$GSSAPI_ROOT/include"
AC_CHECK_HEADER(gss.h,
[
dnl found in the given dirs
- AC_DEFINE(HAVE_GSSGNU, 1, [if you have the GNU gssapi libraries])
+ AC_DEFINE(HAVE_GSSGNU, 1, [if you have GNU GSS])
gnu_gss=yes
],
[
AC_CHECK_HEADER(gssapi.h,
[
dnl found
- AC_DEFINE(HAVE_GSSHEIMDAL, 1, [if you have the Heimdal gssapi libraries])
+ AC_DEFINE(HAVE_GSSHEIMDAL, 1, [if you have Heimdal])
],
[
dnl no header found, disabling GSS
want_gss=no
- AC_MSG_WARN(disabling GSSAPI since no header files was found)
+ AC_MSG_WARN(disabling GSS-API support since no header files were found)
]
)
else
dnl MIT found
- AC_DEFINE(HAVE_GSSMIT, 1, [if you have the MIT gssapi libraries])
- dnl check if we have a really old MIT kerberos (<= 1.2)
- AC_MSG_CHECKING([if gssapi headers declare GSS_C_NT_HOSTBASED_SERVICE])
+ AC_DEFINE(HAVE_GSSMIT, 1, [if you have MIT Kerberos])
+ dnl check if we have a really old MIT Kerberos version (<= 1.2)
+ AC_MSG_CHECKING([if GSS-API headers declare GSS_C_NT_HOSTBASED_SERVICE])
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM([[
#include <gssapi/gssapi.h>
],[
AC_MSG_RESULT([no])
AC_DEFINE(HAVE_OLD_GSSMIT, 1,
- [if you have an old MIT gssapi library, lacking GSS_C_NT_HOSTBASED_SERVICE])
+ [if you have an old MIT Kerberos version, lacking GSS_C_NT_HOSTBASED_SERVICE])
])
fi
]
AC_MSG_RESULT(no)
fi
if test x"$want_gss" = xyes; then
- AC_DEFINE(HAVE_GSSAPI, 1, [if you have the gssapi libraries])
+ AC_DEFINE(HAVE_GSSAPI, 1, [if you have GSS-API libraries])
- curl_gss_msg="enabled (MIT/Heimdal)"
+ curl_gss_msg="enabled (MIT Kerberos/Heimdal)"
if test -n "$gnu_gss"; then
curl_gss_msg="enabled (GNU GSS)"
*-*-darwin*)
LIBS="-lgssapi_krb5 -lresolv $LIBS"
;;
+ *-hp-hpux*)
+ if test "$GSSAPI_ROOT" != "yes"; then
+ LDFLAGS="$LDFLAGS -L$GSSAPI_ROOT/lib$libsuff"
+ fi
+ LIBS="-lgss $LIBS"
+ ;;
*)
- if test -f "$GSSAPI_ROOT/bin/krb5-config"; then
+ if test -n "$host_alias" -a -f "$GSSAPI_ROOT/bin/$host_alias-krb5-config"; then
+ dnl krb5-config doesn't have --libs-only-L or similar, put everything
+ dnl into LIBS
+ gss_libs=`$GSSAPI_ROOT/bin/$host_alias-krb5-config --libs gssapi`
+ LIBS="$gss_libs $LIBS"
+ elif test -f "$GSSAPI_ROOT/bin/krb5-config"; then
dnl krb5-config doesn't have --libs-only-L or similar, put everything
dnl into LIBS
gss_libs=`$GSSAPI_ROOT/bin/krb5-config --libs gssapi`
esac
else
LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR"
- LIBS="-lgssapi $LIBS"
+ case $host in
+ *-hp-hpux*)
+ LIBS="-lgss $LIBS"
+ ;;
+ *)
+ LIBS="-lgssapi $LIBS"
+ ;;
+ esac
fi
else
CPPFLAGS="$save_CPPFLAGS"
OPT_WINSSL=no
AC_ARG_WITH(winssl,dnl
-AS_HELP_STRING([--with-winssl],[enable Windows native SSL/TLS])
-AS_HELP_STRING([--without-winssl], [disable Windows native SSL/TLS]),
+AC_HELP_STRING([--with-winssl],[enable Windows native SSL/TLS])
+AC_HELP_STRING([--without-winssl], [disable Windows native SSL/TLS]),
OPT_WINSSL=$withval)
AC_MSG_CHECKING([whether to enable Windows native SSL/TLS (Windows native builds only)])
OPT_DARWINSSL=no
AC_ARG_WITH(darwinssl,dnl
-AS_HELP_STRING([--with-darwinssl],[enable iOS/Mac OS X native SSL/TLS])
-AS_HELP_STRING([--without-darwinssl], [disable iOS/Mac OS X native SSL/TLS]),
+AC_HELP_STRING([--with-darwinssl],[enable iOS/Mac OS X native SSL/TLS])
+AC_HELP_STRING([--without-darwinssl], [disable iOS/Mac OS X native SSL/TLS]),
OPT_DARWINSSL=$withval)
AC_MSG_CHECKING([whether to enable iOS/Mac OS X native SSL/TLS])
dnl Default to no CA bundle
ca="no"
AC_ARG_WITH(ssl,dnl
-AS_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])
-AS_HELP_STRING([--without-ssl], [disable OpenSSL]),
+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])
+AC_HELP_STRING([--without-ssl], [disable OpenSSL]),
OPT_SSL=$withval)
if test "$curl_ssl_msg" = "$init_ssl_msg" && test X"$OPT_SSL" != Xno; then
AC_MSG_CHECKING([for gdi32])
my_ac_save_LIBS=$LIBS
LIBS="-lgdi32 $LIBS"
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <windef.h>
- #include <wingdi.h>]], [[GdiFlush();]])],[ dnl worked!
- AC_MSG_RESULT([yes])],[ dnl failed, restore LIBS
+ AC_TRY_LINK([#include <windef.h>
+ #include <wingdi.h>],
+ [GdiFlush();],
+ [ dnl worked!
+ AC_MSG_RESULT([yes])],
+ [ dnl failed, restore LIBS
LIBS=$my_ac_save_LIBS
- AC_MSG_RESULT(no)
- ])
+ AC_MSG_RESULT(no)]
+ )
;;
esac
ENGINE_cleanup \
CRYPTO_cleanup_all_ex_data \
SSL_get_shutdown \
- SSLv2_client_method )
+ SSLv2_client_method \
+ SSL_CTX_set_next_proto_select_cb \
+ SSL_CTX_set_alpn_protos \
+ SSL_CTX_set_alpn_select_cb )
dnl Make an attempt to detect if this is actually yassl's headers and
dnl OpenSSL emulation layer. We still leave everything else believing
if test X"$OPENSSL_ENABLED" = X"1"; then
AC_ARG_WITH(egd-socket,
- AS_HELP_STRING([--with-egd-socket=FILE],
+ AC_HELP_STRING([--with-egd-socket=FILE],
[Entropy Gathering Daemon socket pathname]),
[ EGD_SOCKET="$withval" ]
)
dnl Check for user-specified random device
AC_ARG_WITH(random,
- AS_HELP_STRING([--with-random=FILE],
+ AC_HELP_STRING([--with-random=FILE],
[read randomness from FILE (default=/dev/urandom)]),
[ RANDOM_FILE="$withval" ],
[
OPT_GNUTLS=no
AC_ARG_WITH(gnutls,dnl
-AS_HELP_STRING([--with-gnutls=PATH],[where to look for GnuTLS, PATH points to the installation root])
-AS_HELP_STRING([--without-gnutls], [disable GnuTLS detection]),
+AC_HELP_STRING([--with-gnutls=PATH],[where to look for GnuTLS, PATH points to the installation root])
+AC_HELP_STRING([--without-gnutls], [disable GnuTLS detection]),
OPT_GNUTLS=$withval)
if test "$curl_ssl_msg" = "$init_ssl_msg"; then
_cppflags=$CPPFLAGS
_ldflags=$LDFLAGS
AC_ARG_WITH(polarssl,dnl
-AS_HELP_STRING([--with-polarssl=PATH],[where to look for PolarSSL, PATH points to the installation root])
-AS_HELP_STRING([--without-polarssl], [disable PolarSSL detection]),
+AC_HELP_STRING([--with-polarssl=PATH],[where to look for PolarSSL, PATH points to the installation root])
+AC_HELP_STRING([--without-polarssl], [disable PolarSSL detection]),
OPT_POLARSSL=$withval)
if test "$curl_ssl_msg" = "$init_ssl_msg"; then
_cppflags=$CPPFLAGS
_ldflags=$LDFLAGS
AC_ARG_WITH(cyassl,dnl
-AS_HELP_STRING([--with-cyassl=PATH],[where to look for CyaSSL, PATH points to the installation root (default: system lib default)])
-AS_HELP_STRING([--without-cyassl], [disable CyaSSL detection]),
+AC_HELP_STRING([--with-cyassl=PATH],[where to look for CyaSSL, PATH points to the installation root (default: system lib default)])
+AC_HELP_STRING([--without-cyassl], [disable CyaSSL detection]),
OPT_CYASSL=$withval)
if test "$curl_ssl_msg" = "$init_ssl_msg"; then
if test "x$USE_CYASSL" = "xyes"; then
AC_MSG_NOTICE([detected CyaSSL])
+ dnl cyassl/ctaocrypt/types.h needs SIZEOF_LONG_LONG defined!
+ AC_CHECK_SIZEOF(long long)
+
+ dnl Versions since at least 2.9.4 renamed error.h to error-ssl.h
+ AC_CHECK_HEADERS(cyassl/error-ssl.h)
+
LIBS="-lcyassl -lm $LIBS"
if test -n "$cyassllib"; then
OPT_NSS=no
AC_ARG_WITH(nss,dnl
-AS_HELP_STRING([--with-nss=PATH],[where to look for NSS, PATH points to the installation root])
-AS_HELP_STRING([--without-nss], [disable NSS detection]),
+AC_HELP_STRING([--with-nss=PATH],[where to look for NSS, PATH points to the installation root])
+AC_HELP_STRING([--without-nss], [disable NSS detection]),
OPT_NSS=$withval)
if test "$curl_ssl_msg" = "$init_ssl_msg"; then
CPPFLAGS="$CPPFLAGS $addcflags"
fi
- dnl The function PK11_CreateGenericObject is needed to load libnsspem.so
- AC_CHECK_LIB(nss3, PK11_CreateGenericObject,
+ dnl The function SSL_VersionRangeSet() is needed to enable TLS > 1.0
+ AC_CHECK_LIB(nss3, SSL_VersionRangeSet,
[
AC_DEFINE(USE_NSS, 1, [if NSS is enabled])
AC_SUBST(USE_NSS, [1])
if test "x$USE_NSS" = "xyes"; then
AC_MSG_NOTICE([detected NSS version $version])
- dnl NSS_InitContext() was introduced in NSS 3.12.5 and helps to prevent
- dnl collisions on NSS initialization/shutdown with other libraries
- AC_CHECK_FUNC(NSS_InitContext,
- [
- AC_DEFINE(HAVE_NSS_INITCONTEXT, 1, [if you have the NSS_InitContext function])
- AC_SUBST(HAVE_NSS_INITCONTEXT, [1])
- ])
-
dnl when shared libs were found in a path that the run-time
dnl linker doesn't search through, we need to add it to
dnl LD_LIBRARY_PATH to prevent further configure tests to fail
OPT_AXTLS=off
AC_ARG_WITH(axtls,dnl
-AS_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.])
-AS_HELP_STRING([--without-axtls], [disable axTLS]),
+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.])
+AC_HELP_STRING([--without-axtls], [disable axTLS]),
OPT_AXTLS=$withval)
if test "$curl_ssl_msg" = "$init_ssl_msg"; then
USE_AXTLS="yes"
curl_ssl_msg="enabled (axTLS)"
-
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_AXTLS"
- export LD_LIBRARY_PATH
- AC_MSG_NOTICE([Added $LIB_AXTLS to LD_LIBRARY_PATH])
+ if test "x$cross_compiling" != "xyes"; then
+ LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_AXTLS"
+ export LD_LIBRARY_PATH
+ AC_MSG_NOTICE([Added $LIB_AXTLS to LD_LIBRARY_PATH])
+ fi
],[
LDFLAGS="$CLEANLDFLAGS"
CPPFLAGS="$CLEANCPPFLAGS"
if test "x$OPENSSL_ENABLED$GNUTLS_ENABLED$NSS_ENABLED$POLARSSL_ENABLED$AXTLS_ENABLED$CYASSL_ENABLED$WINSSL_ENABLED$DARWINSSL_ENABLED" = "x"; then
AC_MSG_WARN([SSL disabled, you will not be able to use HTTPS, FTPS, NTLM and more.])
- AC_MSG_WARN([Use --with-ssl, --with-gnutls, --with-polarssl, --with-cyassl, --with-nss, --with-axtls or --with-winssl to address this.])
+ AC_MSG_WARN([Use --with-ssl, --with-gnutls, --with-polarssl, --with-cyassl, --with-nss, --with-axtls, --with-winssl, or --with-darwinssl to address this.])
else
# SSL is enabled, genericly
AC_SUBST(SSL_ENABLED)
OPT_LIBMETALINK=no
AC_ARG_WITH(libmetalink,dnl
-AS_HELP_STRING([--with-libmetalink=PATH],[where to look for libmetalink, PATH points to the installation root])
-AS_HELP_STRING([--without-libmetalink], [disable libmetalink detection]),
+AC_HELP_STRING([--with-libmetalink=PATH],[where to look for libmetalink, PATH points to the installation root])
+AC_HELP_STRING([--without-libmetalink], [disable libmetalink detection]),
OPT_LIBMETALINK=$withval)
if test X"$OPT_LIBMETALINK" != Xno; then
dnl Default to compiler & linker defaults for LIBSSH2 files & libraries.
OPT_LIBSSH2=off
AC_ARG_WITH(libssh2,dnl
-AS_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])
-AS_HELP_STRING([--without-libssh2], [disable LIBSSH2]),
+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])
+AC_HELP_STRING([--without-libssh2], [disable LIBSSH2]),
OPT_LIBSSH2=$withval)
if test X"$OPT_LIBSSH2" != Xno; then
dnl Default to compiler & linker defaults for LIBRTMP files & libraries.
OPT_LIBRTMP=off
AC_ARG_WITH(librtmp,dnl
-AS_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])
-AS_HELP_STRING([--without-librtmp], [disable LIBRTMP]),
+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])
+AC_HELP_STRING([--without-librtmp], [disable LIBRTMP]),
OPT_LIBRTMP=$withval)
if test X"$OPT_LIBRTMP" != Xno; then
versioned_symbols_flavour=
AC_MSG_CHECKING([whether versioned symbols are wanted])
AC_ARG_ENABLE(versioned-symbols,
-AS_HELP_STRING([--enable-versioned-symbols], [Enable versioned symbols in shared library])
-AS_HELP_STRING([--disable-versioned-symbols], [Disable versioned symbols in shared library]),
+AC_HELP_STRING([--enable-versioned-symbols], [Enable versioned symbols in shared library])
+AC_HELP_STRING([--disable-versioned-symbols], [Disable versioned symbols in shared library]),
[ case "$enableval" in
yes) AC_MSG_RESULT(yes)
AC_MSG_CHECKING([if libraries can be versioned])
AC_MSG_RESULT(yes)
if test "x$OPENSSL_ENABLED" = "x1"; then
versioned_symbols_flavour="OPENSSL_"
- elif test "x$GNUTLS_ENABLED" == "x1"; then
+ elif test "x$GNUTLS_ENABLED" = "x1"; then
versioned_symbols_flavour="GNUTLS_"
- elif test "x$NSS_ENABLED" == "x1"; then
+ elif test "x$NSS_ENABLED" = "x1"; then
versioned_symbols_flavour="NSS_"
- elif test "x$POLARSSL_ENABLED" == "x1"; then
+ elif test "x$POLARSSL_ENABLED" = "x1"; then
versioned_symbols_flavour="POLARSSL_"
- elif test "x$CYASSL_ENABLED" == "x1"; then
+ elif test "x$CYASSL_ENABLED" = "x1"; then
versioned_symbols_flavour="CYASSL_"
- elif test "x$AXTLS_ENABLED" == "x1"; then
+ elif test "x$AXTLS_ENABLED" = "x1"; then
versioned_symbols_flavour="AXTLS_"
- elif test "x$WINSSL_ENABLED" == "x1"; then
+ elif test "x$WINSSL_ENABLED" = "x1"; then
versioned_symbols_flavour="WINSSL_"
- elif test "x$DARWINSSL_ENABLED" == "x1"; then
+ elif test "x$DARWINSSL_ENABLED" = "x1"; then
versioned_symbols_flavour="DARWINSSL_"
else
versioned_symbols_flavour=""
]
)
-AC_SUBST(VERSIONED_FLAVOUR, ["$versioned_symbols_flavour"])
-AM_CONDITIONAL(VERSIONED_SYMBOLS, test "x$versioned_symbols" = "xyes")
+AC_SUBST([CURL_LT_SHLIB_VERSIONED_FLAVOUR],
+ ["$versioned_symbols_flavour"])
+AM_CONDITIONAL([CURL_LT_SHLIB_USE_VERSIONED_SYMBOLS],
+ [test "x$versioned_symbols" = 'xyes'])
dnl -------------------------------------------------
dnl check winidn option before other IDN libraries
AC_MSG_CHECKING([whether to enable Windows native IDN (Windows native builds only)])
OPT_WINIDN="default"
AC_ARG_WITH(winidn,
-AS_HELP_STRING([--with-winidn=PATH],[enable Windows native IDN])
-AS_HELP_STRING([--without-winidn], [disable Windows native IDN]),
+AC_HELP_STRING([--with-winidn=PATH],[enable Windows native IDN])
+AC_HELP_STRING([--without-winidn], [disable Windows native IDN]),
OPT_WINIDN=$withval)
case "$OPT_WINIDN" in
no|default)
AC_MSG_CHECKING([whether to build with libidn])
OPT_IDN="default"
AC_ARG_WITH(libidn,
-AS_HELP_STRING([--with-libidn=PATH],[Enable libidn usage])
-AS_HELP_STRING([--without-libidn],[Disable libidn usage]),
+AC_HELP_STRING([--with-libidn=PATH],[Enable libidn usage])
+AC_HELP_STRING([--without-libidn],[Disable libidn usage]),
[OPT_IDN=$withval])
case "$OPT_IDN" in
no)
if test "x$ac_cv_header_tld_h" = "xyes"; then
AC_SUBST([IDN_ENABLED], [1])
curl_idn_msg="enabled"
- if test -n "$IDN_DIR"; then
+ if test -n "$IDN_DIR" -a "x$cross_compiling" != "xyes"; then
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$IDN_DIR"
export LD_LIBRARY_PATH
AC_MSG_NOTICE([Added $IDN_DIR to LD_LIBRARY_PATH])
dnl **********************************************************************
+dnl Check for nghttp2
+dnl **********************************************************************
+
+OPT_H2="yes"
+AC_ARG_WITH(nghttp2,
+AC_HELP_STRING([--with-nghttp2=PATH],[Enable nghttp2 usage])
+AC_HELP_STRING([--without-nghttp2],[Disable nghttp2 usage]),
+ [OPT_H2=$withval])
+case "$OPT_H2" in
+ no)
+ dnl --without-nghttp2 option used
+ want_h2="no"
+ ;;
+ yes)
+ dnl --with-nghttp2 option used without path
+ want_h2="default"
+ want_h2_path=""
+ ;;
+ *)
+ dnl --with-nghttp2 option used with path
+ want_h2="yes"
+ want_h2_path="$withval/lib/pkgconfig"
+ ;;
+esac
+
+curl_h2_msg="disabled (--with-nghttp2)"
+if test X"$want_h2" != Xno; then
+ dnl backup the pre-nghttp2 variables
+ CLEANLDFLAGS="$LDFLAGS"
+ CLEANCPPFLAGS="$CPPFLAGS"
+ CLEANLIBS="$LIBS"
+
+ CURL_CHECK_PKGCONFIG(libnghttp2, $want_h2_path)
+
+ if test "$PKGCONFIG" != "no" ; then
+ LIB_H2=`CURL_EXPORT_PCDIR([$want_h2_path])
+ $PKGCONFIG --libs-only-l libnghttp2`
+ AC_MSG_NOTICE([-l is $LIB_H2])
+
+ CPP_H2=`CURL_EXPORT_PCDIR([$want_h2_path]) dnl
+ $PKGCONFIG --cflags-only-I libnghttp2`
+ AC_MSG_NOTICE([-I is $CPP_H2])
+
+ LD_H2=`CURL_EXPORT_PCDIR([$want_h2_path])
+ $PKGCONFIG --libs-only-L libnghttp2`
+ AC_MSG_NOTICE([-L is $LD_H2])
+
+ LDFLAGS="$LDFLAGS $LD_H2"
+ CPPFLAGS="$CPPFLAGS $CPP_H2"
+ LIBS="$LIB_H2 $LIBS"
+
+ AC_CHECK_LIB(nghttp2, nghttp2_session_client_new,
+ [
+ AC_CHECK_HEADERS(nghttp2/nghttp2.h,
+ curl_h2_msg="enabled (nghttp2)"
+ NGHTTP2_ENABLED=1
+ AC_DEFINE(USE_NGHTTP2, 1, [if nghttp2 is in use])
+ AC_SUBST(USE_NGHTTP2, [1])
+ )
+ ],
+ dnl not found, revert back to clean variables
+ LDFLAGS=$CLEANLDFLAGS
+ CPPFLAGS=$CLEANCPPFLAGS
+ LIBS=$CLEANLIBS
+ )
+
+ else
+ dnl no nghttp2 pkg-config found, deal with it
+ if test X"$want_h2" != Xdefault; then
+ dnl To avoid link errors, we do not allow --with-nghttp2 without
+ dnl a pkgconfig file
+ AC_MSG_ERROR([--with-nghttp2 was specified but could not find libnghttp2 pkg-config file.])
+ fi
+ fi
+
+fi
+
+dnl **********************************************************************
dnl Back to "normal" configuring
dnl **********************************************************************
CURL_CHECK_FUNC_SELECT
CURL_CHECK_FUNC_RECV
-CURL_CHECK_FUNC_RECVFROM
CURL_CHECK_FUNC_SEND
CURL_CHECK_MSG_NOSIGNAL
CURL_CHECK_FUNC_SOCKET
CURL_CHECK_FUNC_SOCKETPAIR
CURL_CHECK_FUNC_STRCASECMP
-CURL_CHECK_FUNC_STRCASESTR
CURL_CHECK_FUNC_STRCMPI
CURL_CHECK_FUNC_STRDUP
CURL_CHECK_FUNC_STRERROR_R
CURL_CHECK_FUNC_STRICMP
-CURL_CHECK_FUNC_STRLCAT
CURL_CHECK_FUNC_STRNCASECMP
CURL_CHECK_FUNC_STRNCMPI
CURL_CHECK_FUNC_STRNICMP
getppid \
getprotobyname \
getpwuid \
+ getpwuid_r \
getrlimit \
gettimeofday \
+ if_nametoindex \
inet_addr \
perror \
pipe \
AC_CHECK_HEADER(pthread.h,
[ AC_DEFINE(HAVE_PTHREAD_H, 1, [if you have <pthread.h>])
save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -pthread"
- AC_CHECK_LIB(pthread, pthread_create,
- [ AC_MSG_NOTICE([using POSIX threaded DNS lookup])
- AC_DEFINE(USE_THREADS_POSIX, 1, [if you want POSIX threaded DNS lookup])
- USE_THREADS_POSIX=1
- curl_res_msg="threaded"
- ],
- [ CFLAGS="$save_CFLAGS"])
+
+ dnl first check for function without lib
+ AC_CHECK_FUNC(pthread_create, [USE_THREADS_POSIX=1] )
+
+ dnl if it wasn't found without lib, search for it in pthread lib
+ if test "$USE_THREADS_POSIX" != "1"
+ then
+ CFLAGS="$CFLAGS -pthread"
+ AC_CHECK_LIB(pthread, pthread_create,
+ [USE_THREADS_POSIX=1],
+ [ CFLAGS="$save_CFLAGS"])
+ fi
+
+ if test "x$USE_THREADS_POSIX" = "x1"
+ then
+ AC_DEFINE(USE_THREADS_POSIX, 1, [if you want POSIX threaded DNS lookup])
+ curl_res_msg="POSIX threaded"
+ fi
+
+
])
fi
dnl
AC_MSG_CHECKING([whether to enable verbose strings])
AC_ARG_ENABLE(verbose,
-AS_HELP_STRING([--enable-verbose],[Enable verbose strings])
-AS_HELP_STRING([--disable-verbose],[Disable verbose strings]),
+AC_HELP_STRING([--enable-verbose],[Enable verbose strings])
+AC_HELP_STRING([--disable-verbose],[Disable verbose strings]),
[ case "$enableval" in
no)
AC_MSG_RESULT(no)
dnl
AC_MSG_CHECKING([whether to enable SSPI support (Windows native builds only)])
AC_ARG_ENABLE(sspi,
-AS_HELP_STRING([--enable-sspi],[Enable SSPI])
-AS_HELP_STRING([--disable-sspi],[Disable SSPI]),
+AC_HELP_STRING([--enable-sspi],[Enable SSPI])
+AC_HELP_STRING([--disable-sspi],[Disable SSPI]),
[ case "$enableval" in
yes)
if test "$ac_cv_native_windows" = "yes"; then
dnl
AC_MSG_CHECKING([whether to enable cryptographic authentication methods])
AC_ARG_ENABLE(crypto-auth,
-AS_HELP_STRING([--enable-crypto-auth],[Enable cryptographic authentication])
-AS_HELP_STRING([--disable-crypto-auth],[Disable cryptographic authentication]),
+AC_HELP_STRING([--enable-crypto-auth],[Enable cryptographic authentication])
+AC_HELP_STRING([--disable-crypto-auth],[Disable cryptographic authentication]),
[ case "$enableval" in
no)
AC_MSG_RESULT(no)
AC_DEFINE(CURL_DISABLE_CRYPTO_AUTH, 1, [to disable cryptographic authentication])
+ CURL_DISABLE_CRYPTO_AUTH=1
;;
*) AC_MSG_RESULT(yes)
;;
dnl
AC_MSG_CHECKING([whether to enable TLS-SRP authentication])
AC_ARG_ENABLE(tls-srp,
-AS_HELP_STRING([--enable-tls-srp],[Enable TLS-SRP authentication])
-AS_HELP_STRING([--disable-tls-srp],[Disable TLS-SRP authentication]),
+AC_HELP_STRING([--enable-tls-srp],[Enable TLS-SRP authentication])
+AC_HELP_STRING([--disable-tls-srp],[Disable TLS-SRP authentication]),
[ case "$enableval" in
no)
AC_MSG_RESULT(no)
dnl
AC_MSG_CHECKING([whether to enable support for cookies])
AC_ARG_ENABLE(cookies,
-AS_HELP_STRING([--enable-cookies],[Enable cookies support])
-AS_HELP_STRING([--disable-cookies],[Disable cookies support]),
+AC_HELP_STRING([--enable-cookies],[Enable cookies support])
+AC_HELP_STRING([--disable-cookies],[Disable cookies support]),
[ case "$enableval" in
no)
AC_MSG_RESULT(no)
AC_MSG_CHECKING([whether to enforce SONAME bump])
AC_ARG_ENABLE(soname-bump,
-AS_HELP_STRING([--enable-soname-bump],[Enable enforced SONAME bump])
-AS_HELP_STRING([--disable-soname-bump],[Disable enforced SONAME bump]),
+AC_HELP_STRING([--enable-soname-bump],[Enable enforced SONAME bump])
+AC_HELP_STRING([--disable-soname-bump],[Disable enforced SONAME bump]),
[ case "$enableval" in
yes) AC_MSG_RESULT(yes)
soname_bump=yes
ENABLE_SHARED="$enable_shared"
AC_SUBST(ENABLE_SHARED)
+dnl to let curl-config output the static libraries correctly
+ENABLE_STATIC="$enable_static"
+AC_SUBST(ENABLE_STATIC)
+
+
dnl
dnl For keeping supported features and protocols also in pkg-config file
dnl since it is more cross-compile friendly than curl-config
elif test -n "$SSL_ENABLED"; then
SUPPORT_FEATURES="$SUPPORT_FEATURES SSL"
fi
-if test "@KRB4_ENABLED@" = "x1"; then
- SUPPORT_FEATURES="$SUPPORT_FEATURES KRB4"
-fi
if test "x$IPV6_ENABLED" = "x1"; then
SUPPORT_FEATURES="$SUPPORT_FEATURES IPv6"
fi
if test "x$USE_WINDOWS_SSPI" = "x1"; then
SUPPORT_FEATURES="$SUPPORT_FEATURES SSPI"
fi
-if test "x$CURL_DISABLE_HTTP" != "x1"; then
+if test "x$CURL_DISABLE_HTTP" != "x1" -a \
+ "x$CURL_DISABLE_CRYPTO_AUTH" != "x1"; then
if test "x$USE_SSLEAY" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \
-o "x$GNUTLS_ENABLED" = "x1" -o "x$NSS_ENABLED" = "x1" \
-o "x$DARWINSSL_ENABLED" = "x1"; then
SUPPORT_FEATURES="$SUPPORT_FEATURES TLS-SRP"
fi
+if test "x$USE_NGHTTP2" = "x1"; then
+ SUPPORT_FEATURES="$SUPPORT_FEATURES HTTP2"
+fi
+if test "x$curl_spnego_msg" = "xenabled"; then
+ SUPPORT_FEATURES="$SUPPORT_FEATURES SPNEGO"
+fi
+if test "x$want_gss" = "xyes"; then
+ SUPPORT_FEATURES="$SUPPORT_FEATURES GSS-API"
+fi
+
AC_SUBST(SUPPORT_FEATURES)
dnl For supported protocols in pkg-config file
squeeze SUPPORT_FEATURES
squeeze SUPPORT_PROTOCOLS
-dnl
-dnl Some sanity checks for LIBS, LDFLAGS, CPPFLAGS and CFLAGS values that
-dnl configure is going to feed into makefiles generated by automake. Due
-dnl to automake placement and usage of these variables we have to follow
-dnl its rules or we may get funny results later on at make-time.
-dnl
-
-dnl
-dnl LIBS should only specify libraries
-dnl
-AC_MSG_NOTICE([using LIBS: $LIBS])
-tst_bad_spec="no"
-for word1 in $LIBS; do
- case "$word1" in
- -l* | --library=*)
- :
- ;;
- *)
- tst_bad_spec="yes"
- ;;
- esac
-done
-if test "$tst_bad_spec" = "yes"; then
- AC_MSG_WARN([oops, LIBS should only specify libraries.])
-fi
-
-dnl
-dnl LDFLAGS should only specify linker flags
-dnl
-AC_MSG_NOTICE([using LDFLAGS: $LDFLAGS])
-tst_bad_msg="oops, LDFLAGS should only specify linker flags, not"
-for word1 in $LDFLAGS; do
- case "$word1" in
- -D*)
- AC_MSG_WARN([$tst_bad_msg macro definitions. Use CPPFLAGS for: $word1])
- ;;
- -U*)
- AC_MSG_WARN([$tst_bad_msg macro suppressions. Use CPPFLAGS for: $word1])
- ;;
- -I*)
- AC_MSG_WARN([$tst_bad_msg include directories. Use CPPFLAGS for: $word1])
- ;;
- -l* | --library=*)
- AC_MSG_WARN([$tst_bad_msg libraries. Use LIBS for: $word1])
- ;;
- esac
-done
-
-dnl
-dnl CPPFLAGS should only specify C preprocessor flags
-dnl
-AC_MSG_NOTICE([using CPPFLAGS: $CPPFLAGS])
-tst_bad_msg="oops, CPPFLAGS should only specify C preprocessor flags, not"
-for word1 in $CPPFLAGS; do
- case "$word1" in
- -rpath*)
- AC_MSG_WARN([$tst_bad_msg library runtime directories. Use LDFLAGS for: $word1])
- ;;
- -L* | --library-path=*)
- AC_MSG_WARN([$tst_bad_msg library directories. Use LDFLAGS for: $word1])
- ;;
- -l* | --library=*)
- AC_MSG_WARN([$tst_bad_msg libraries. Use LIBS for: $word1])
- ;;
- esac
-done
-
-dnl
-dnl CFLAGS should only specify C compiler flags
-dnl
-AC_MSG_NOTICE([using CFLAGS: $CFLAGS])
-tst_bad_msg="oops, CFLAGS should only specify C compiler flags, not"
-for word1 in $CFLAGS; do
- case "$word1" in
- -D*)
- AC_MSG_WARN([$tst_bad_msg macro definitions. Use CPPFLAGS for: $word1])
- ;;
- -U*)
- AC_MSG_WARN([$tst_bad_msg macro suppressions. Use CPPFLAGS for: $word1])
- ;;
- -I*)
- AC_MSG_WARN([$tst_bad_msg include directories. Use CPPFLAGS for: $word1])
- ;;
- -rpath*)
- AC_MSG_WARN([$tst_bad_msg library runtime directories. Use LDFLAGS for: $word1])
- ;;
- -L* | --library-path=*)
- AC_MSG_WARN([$tst_bad_msg library directories. Use LDFLAGS for: $word1])
- ;;
- -l* | --library=*)
- AC_MSG_WARN([$tst_bad_msg libraries. Use LIBS for: $word1])
- ;;
- esac
-done
+XC_CHECK_BUILD_FLAGS
if test "x$want_curldebug_assumed" = "xyes" &&
test "x$want_curldebug" = "xyes" && test "x$USE_ARES" = "x1"; then
docs/Makefile \
docs/examples/Makefile \
docs/libcurl/Makefile \
+ docs/libcurl/opts/Makefile \
include/Makefile \
include/curl/Makefile \
src/Makefile \
lib/Makefile \
lib/libcurl.vers \
tests/Makefile \
+ tests/certs/Makefile \
+ tests/certs/scripts/Makefile \
tests/data/Makefile \
tests/server/Makefile \
tests/libtest/Makefile \
CURL_GENERATE_CONFIGUREHELP_PM
+XC_AMEND_DISTCLEAN([lib src tests/unit tests/server tests/libtest docs/examples])
+
AC_MSG_NOTICE([Configured to build curl/libcurl:
curl version: ${CURLVERSION}
SSL support: ${curl_ssl_msg}
SSH support: ${curl_ssh_msg}
zlib support: ${curl_zlib_msg}
- krb4 support: ${curl_krb4_msg}
- GSSAPI support: ${curl_gss_msg}
+ GSS-API support: ${curl_gss_msg}
SPNEGO support: ${curl_spnego_msg}
TLS-SRP support: ${curl_tls_srp_msg}
resolver: ${curl_res_msg}
RTSP support: ${curl_rtsp_msg}
RTMP support: ${curl_rtmp_msg}
metalink support: ${curl_mtlnk_msg}
+ HTTP2 support: ${curl_h2_msg}
Protocols: ${SUPPORT_PROTOCOLS}
])