Update version to 7.59.0 81/175781/1
authorSeonah Moon <seonah1.moon@samsung.com>
Thu, 12 Apr 2018 07:48:50 +0000 (16:48 +0900)
committerSeonah Moon <seonah1.moon@samsung.com>
Thu, 12 Apr 2018 08:24:04 +0000 (17:24 +0900)
Change-Id: Icc20991f769dcde22844d141a47ccba887002b52

1  2 
configure.ac
lib/curl_config.h.in
packaging/curl.spec
src/Makefile.am

diff --combined configure.ac
index c0ec6df,798fa5f..c261f49
mode 100644,100755..100755
@@@ -5,7 -5,7 +5,7 @@@
  #                            | (__| |_| |  _ <| |___
  #                             \___|\___/|_| \_\_____|
  #
- # Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ # Copyright (C) 1998 - 2018, 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
@@@ -31,12 -31,12 +31,12 @@@ XC_OVR_ZZ6
  CURL_OVERRIDE_AUTOCONF
  
  dnl configure script copyright
- AC_COPYRIGHT([Copyright (c) 1998 - 2016 Daniel Stenberg, <daniel@haxx.se>
+ AC_COPYRIGHT([Copyright (c) 1998 - 2017 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])
  
  AC_CONFIG_SRCDIR([lib/urldata.h])
- AC_CONFIG_HEADERS(lib/curl_config.h include/curl/curlbuild.h)
+ AC_CONFIG_HEADERS(lib/curl_config.h)
  AC_CONFIG_MACRO_DIR([m4])
  AM_MAINTAINER_MODE
  m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
@@@ -120,14 -120,16 +120,16 @@@ AC_SUBST([AR]
  
  AC_SUBST(libext)
  
- dnl Remove non-configure distributed curlbuild.h
- if test -f ${srcdir}/include/curl/curlbuild.h; then
-   rm -f ${srcdir}/include/curl/curlbuild.h
- fi
  dnl figure out the libcurl version
- CURLVERSION=`$SED -ne 's/^#define LIBCURL_VERSION "\(.*\)"/\1/p' ${srcdir}/include/curl/curlver.h`
+ CURLVERSION=`$SED -ne 's/^#define LIBCURL_VERSION "\(.*\)".*/\1/p' ${srcdir}/include/curl/curlver.h`
  XC_CHECK_PROG_CC
+ dnl Check if gcc is being used before adding AX_CODE_COVERAGE
+ AS_IF([ test "$GCC" = "yes" ], [AX_CODE_COVERAGE],
+   # not using GCC so pass a test below - CODE_COVERAGE_ENABLED_TRUE is not zero length
+   CODE_COVERAGE_ENABLED_TRUE='#'
+ )
  XC_AUTOMAKE
  AC_MSG_CHECKING([curl version])
  AC_MSG_RESULT($CURLVERSION)
@@@ -136,7 -138,7 +138,7 @@@ AC_SUBST(CURLVERSION
  
  dnl
  dnl we extract the numerical version for curl-config only
- VERSIONNUM=`$SED -ne 's/^#define LIBCURL_VERSION_NUM 0x\(.*\)/\1/p' ${srcdir}/include/curl/curlver.h`
+ VERSIONNUM=`$SED -ne 's/^#define LIBCURL_VERSION_NUM 0x\([0-9A-Fa-f]*\).*/\1/p' ${srcdir}/include/curl/curlver.h`
  AC_SUBST(VERSIONNUM)
  
  dnl Solaris pkgadd support definitions
@@@ -152,6 -154,7 +154,7 @@@ dnl initialize all the info variable
      curl_ssl_msg="no      (--with-{ssl,gnutls,nss,polarssl,mbedtls,cyassl,axtls,winssl,darwinssl} )"
      curl_ssh_msg="no      (--with-libssh2)"
     curl_zlib_msg="no      (--with-zlib)"
+  curl_brotli_msg="no      (--with-brotli)"
      curl_gss_msg="no      (--with-gssapi)"
  curl_tls_srp_msg="no      (--enable-tls-srp)"
      curl_res_msg="default (--enable-ares / --enable-threaded-resolver)"
@@@ -169,7 -172,7 +172,7 @@@ curl_verbose_msg="enabled (--disable-ve
    curl_mtlnk_msg="no      (--with-libmetalink)"
      curl_psl_msg="no      (--with-libpsl)"
  
-     init_ssl_msg=${curl_ssl_msg}
+     ssl_backends=
  
  dnl
  dnl Save some initial values the user might have provided
@@@ -187,9 -190,6 +190,6 @@@ AC_DEFINE_UNQUOTED(OS, "${host}", [cpu-
  
  dnl Checks for programs.
  
- dnl Our curl_off_t internal and external configure settings
- CURL_CONFIGURE_CURL_OFF_T
  dnl This defines _ALL_SOURCE for AIX
  CURL_CHECK_AIX_ALL_SOURCE
  
@@@ -358,6 -358,7 +358,7 @@@ esa
  CURL_CHECK_WIN32_LARGEFILE
  
  CURL_MAC_CFLAGS
+ CURL_SUPPORTS_BUILTIN_AVAILABLE
  
  dnl ************************************************************
  dnl switch off particular protocols
@@@ -370,6 -371,7 +371,7 @@@ AC_HELP_STRING([--disable-http],[Disabl
    no)
         AC_MSG_RESULT(no)
         AC_DEFINE(CURL_DISABLE_HTTP, 1, [to disable HTTP])
+        disable_http="yes"
         AC_MSG_WARN([disable HTTP disables FTP over proxy and RTSP])
         AC_SUBST(CURL_DISABLE_HTTP, [1])
         AC_DEFINE(CURL_DISABLE_RTSP, 1, [to disable RTSP])
@@@ -893,17 -895,16 +895,16 @@@ els
      OPT_ZLIB=""
    fi
  
-   CURL_CHECK_PKGCONFIG(zlib)
-   if test "$PKGCONFIG" != "no" ; then
-     LIBS="`$PKGCONFIG --libs-only-l zlib` $LIBS"
-     LDFLAGS="`$PKGCONFIG --libs-only-L zlib` $LDFLAGS"
-     CPPFLAGS="`$PKGCONFIG --cflags-only-I zlib` $CPPFLAGS"
-     OPT_ZLIB=""
-     HAVE_LIBZ="1"
-   fi
    if test -z "$OPT_ZLIB" ; then
+     CURL_CHECK_PKGCONFIG(zlib)
+     if test "$PKGCONFIG" != "no" ; then
+       LIBS="`$PKGCONFIG --libs-only-l zlib` $LIBS"
+       LDFLAGS="$LDFLAGS `$PKGCONFIG --libs-only-L zlib`"
+       CPPFLAGS="$CPPFLAGS `$PKGCONFIG --cflags-only-I zlib`"
+       OPT_ZLIB=""
+       HAVE_LIBZ="1"
+     fi
  
      if test -z "$HAVE_LIBZ"; then
  
@@@ -982,6 -983,94 +983,94 @@@ AM_CONDITIONAL(HAVE_LIBZ, test x"$AMFIX
  AC_SUBST(ZLIB_LIBS)
  
  dnl **********************************************************************
+ dnl Check for the presence of BROTLI decoder libraries and headers
+ dnl **********************************************************************
+ dnl Brotli project home page: https://github.com/google/brotli
+ dnl Default to compiler & linker defaults for BROTLI files & libraries.
+ OPT_BROTLI=off
+ AC_ARG_WITH(brotli,dnl
+ AC_HELP_STRING([--with-brotli=PATH],[Where to look for brotli, PATH points to the BROTLI installation; when possible, set the PKG_CONFIG_PATH environment variable instead of using this option])
+ AC_HELP_STRING([--without-brotli], [disable BROTLI]),
+   OPT_BROTLI=$withval)
+ if test X"$OPT_BROTLI" != Xno; then
+   dnl backup the pre-brotli variables
+   CLEANLDFLAGS="$LDFLAGS"
+   CLEANCPPFLAGS="$CPPFLAGS"
+   CLEANLIBS="$LIBS"
+   case "$OPT_BROTLI" in
+   yes)
+     dnl --with-brotli (without path) used
+     CURL_CHECK_PKGCONFIG(libbrotlidec)
+     if test "$PKGCONFIG" != "no" ; then
+       LIB_BROTLI=`$PKGCONFIG --libs-only-l libbrotlidec`
+       LD_BROTLI=`$PKGCONFIG --libs-only-L libbrotlidec`
+       CPP_BROTLI=`$PKGCONFIG --cflags-only-I libbrotlidec`
+       version=`$PKGCONFIG --modversion libbrotlidec`
+       DIR_BROTLI=`echo $LD_BROTLI | $SED -e 's/-L//'`
+     fi
+     ;;
+   off)
+     dnl no --with-brotli option given, just check default places
+     ;;
+   *)
+     dnl use the given --with-brotli spot
+     PREFIX_BROTLI=$OPT_BROTLI
+     ;;
+   esac
+   dnl if given with a prefix, we set -L and -I based on that
+   if test -n "$PREFIX_BROTLI"; then
+     LIB_BROTLI="-lbrotlidec"
+     LD_BROTLI=-L${PREFIX_BROTLI}/lib$libsuff
+     CPP_BROTLI=-I${PREFIX_BROTLI}/include
+     DIR_BROTLI=${PREFIX_BROTLI}/lib$libsuff
+   fi
+   LDFLAGS="$LDFLAGS $LD_BROTLI"
+   CPPFLAGS="$CPPFLAGS $CPP_BROTLI"
+   LIBS="$LIB_BROTLI $LIBS"
+   AC_CHECK_LIB(brotlidec, BrotliDecoderDecompress)
+   AC_CHECK_HEADERS(brotli/decode.h,
+     curl_brotli_msg="enabled (libbrotlidec)"
+     HAVE_BROTLI=1
+     AC_DEFINE(HAVE_BROTLI, 1, [if BROTLI is in use])
+     AC_SUBST(HAVE_BROTLI, [1])
+   )
+   if test X"$OPT_BROTLI" != Xoff &&
+      test "$HAVE_BROTLI" != "1"; then
+     AC_MSG_ERROR([BROTLI libs and/or directories were not found where specified!])
+   fi
+   if test "$HAVE_BROTLI" = "1"; then
+     if test -n "$DIR_BROTLI"; then
+        dnl when the brotli shared libs were found in a path that the run-time
+        dnl linker doesn't search through, we need to add it to LD_LIBRARY_PATH
+        dnl to prevent further configure tests to fail due to this
+        if test "x$cross_compiling" != "xyes"; then
+          LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DIR_BROTLI"
+          export LD_LIBRARY_PATH
+          AC_MSG_NOTICE([Added $DIR_BROTLI to LD_LIBRARY_PATH])
+        fi
+     fi
+   else
+     dnl no brotli, revert back to clean variables
+     LDFLAGS=$CLEANLDFLAGS
+     CPPFLAGS=$CLEANCPPFLAGS
+     LIBS=$CLEANLIBS
+   fi
+ fi
+ dnl **********************************************************************
  dnl Check for LDAP
  dnl **********************************************************************
  
@@@ -1123,6 -1212,9 +1212,9 @@@ if test "$ipv6" = yes; the
  #include <ws2tcpip.h>
  #else
  #include <netinet/in.h>
+ #if defined (__TANDEM)
+ # include <netinet/in6.h>
+ #endif
  #endif] ,
    struct sockaddr_in6 s; s.sin6_scope_id = 0; , have_sin6_scope_id=yes)
    if test "$have_sin6_scope_id" = yes; then
    CPPFLAGS="$save_CPPFLAGS"
  fi
  
+ build_libstubgss=no
+ if test x"$want_gss" = "xyes"; then
+   build_libstubgss=yes
+ fi
+ AM_CONDITIONAL(BUILD_STUB_GSS, test "x$build_libstubgss" = "xyes")
+ dnl -------------------------------------------------------------
+ dnl parse --with-default-ssl-backend so it can be validated below
+ dnl -------------------------------------------------------------
+ DEFAULT_SSL_BACKEND=no
+ VALID_DEFAULT_SSL_BACKEND=
+ AC_ARG_WITH(default-ssl-backend,
+ AC_HELP_STRING([--with-default-ssl-backend=NAME],[Use NAME as default SSL backend])
+ AC_HELP_STRING([--without-default-ssl-backend],[Use implicit default SSL backend]),
+   [DEFAULT_SSL_BACKEND=$withval])
+ case "$DEFAULT_SSL_BACKEND" in
+   no)
+     dnl --without-default-ssl-backend option used
+     ;;
+   default|yes)
+     dnl --with-default-ssl-backend option used without name
+     AC_MSG_ERROR([The name of the default SSL backend is required.])
+     ;;
+   *)
+     dnl --with-default-ssl-backend option used with name
+     AC_SUBST(DEFAULT_SSL_BACKEND)
+     dnl needs to be validated below
+     VALID_DEFAULT_SSL_BACKEND=no
+     ;;
+ esac
+ dnl **********************************************************************
  dnl -------------------------------------------------
  dnl check winssl option before other SSL libraries
  dnl -------------------------------------------------
@@@ -1351,13 -1478,15 +1478,15 @@@ AC_HELP_STRING([--without-winssl], [dis
    OPT_WINSSL=$withval)
  
  AC_MSG_CHECKING([whether to enable Windows native SSL/TLS (Windows native builds only)])
- if test "$curl_ssl_msg" = "$init_ssl_msg"; then
+ if test -z "$ssl_backends" -o "x$OPT_WINSSL" != xno; then
+   ssl_msg=
    if test "x$OPT_WINSSL" != "xno"  &&
       test "x$curl_cv_native_windows" = "xyes"; then
      AC_MSG_RESULT(yes)
      AC_DEFINE(USE_SCHANNEL, 1, [to enable Windows native SSL/TLS support])
      AC_SUBST(USE_SCHANNEL, [1])
-     curl_ssl_msg="enabled (Windows-native)"
+     ssl_msg="Windows-native"
+     test schannel != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
      WINSSL_ENABLED=1
      # --with-winssl implies --enable-sspi
      AC_DEFINE(USE_WINDOWS_SSPI, 1, [to enable SSPI support])
    else
      AC_MSG_RESULT(no)
    fi
+   test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
  else
    AC_MSG_RESULT(no)
  fi
@@@ -1378,18 -1508,20 +1508,20 @@@ AC_HELP_STRING([--without-darwinssl], [
    OPT_DARWINSSL=$withval)
  
  AC_MSG_CHECKING([whether to enable Apple OS native SSL/TLS])
- if test "$curl_ssl_msg" = "$init_ssl_msg"; then
+ if test -z "$ssl_backends" -o "x$OPT_DARWINSSL" != xno; then
    if test "x$OPT_DARWINSSL" != "xno" &&
       test -d "/System/Library/Frameworks/Security.framework"; then
      AC_MSG_RESULT(yes)
      AC_DEFINE(USE_DARWINSSL, 1, [to enable Apple OS native SSL/TLS support])
      AC_SUBST(USE_DARWINSSL, [1])
-     curl_ssl_msg="enabled (Apple OS-native)"
+     ssl_msg="Apple OS-native"
+     test darwinssl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
      DARWINSSL_ENABLED=1
      LDFLAGS="$LDFLAGS -framework CoreFoundation -framework Security"
    else
      AC_MSG_RESULT(no)
    fi
+   test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
  else
    AC_MSG_RESULT(no)
  fi
@@@ -1407,7 -1539,10 +1539,10 @@@ AC_HELP_STRING([--with-ssl=PATH],[Wher
  AC_HELP_STRING([--without-ssl], [disable OpenSSL]),
    OPT_SSL=$withval)
  
- if test "$curl_ssl_msg" = "$init_ssl_msg" && test X"$OPT_SSL" != Xno; then
+ if test -z "$ssl_backends" -o "x$OPT_SSL" != xno &&
+    test X"$OPT_SSL" != Xno; then
+   ssl_msg=
    dnl backup the pre-ssl variables
    CLEANLDFLAGS="$LDFLAGS"
    CLEANCPPFLAGS="$CPPFLAGS"
       AC_CHECK_LIB(crypto, HMAC_Init_ex,[
         HAVECRYPTO="yes"
         LIBS="-lcrypto $LIBS"], [
-        LDFLAGS="$CLEANLDFLAGS"
-        CPPFLAGS="$CLEANCPPFLAGS"
-        LIBS="$CLEANLIBS"
-        ])
-     ])
  
-   if test X"$HAVECRYPTO" = X"yes"; then
-      AC_MSG_CHECKING([OpenSSL linking without -ldl])
-      saved_libs=$LIBS
-      AC_TRY_LINK(
-         [
-           #include <openssl/evp.h>
-         ],
-         [
-           SSLeay_add_all_algorithms();
-         ],
-         [
-           AC_MSG_RESULT(yes)
-           LIBS="$saved_libs"
-         ],
-         [
-           AC_MSG_RESULT(no)
-           AC_MSG_CHECKING([OpenSSL linking with -ldl])
-           LIBS="-ldl $LIBS"
-           AC_TRY_LINK(
-           [
-             #include <openssl/evp.h>
-           ],
-           [
-             SSLeay_add_all_algorithms();
-           ],
-           [
-             AC_MSG_RESULT(yes)
-             LIBS="$saved_libs -ldl"
-           ],
-           [
-             AC_MSG_RESULT(no)
-             LIBS="$saved_libs"
-           ]
-           )
+        dnl still no, but what about with -ldl?
+        AC_MSG_CHECKING([OpenSSL linking with -ldl])
+        LIBS="$LIBS -ldl"
+        AC_TRY_LINK(
+        [
+          #include <openssl/err.h>
+        ],
+        [
+          ERR_clear_error();
+        ],
+        [
+          AC_MSG_RESULT(yes)
+          HAVECRYPTO="yes"
+        ],
+        [
+          AC_MSG_RESULT(no)
+          dnl ok, so what about bouth -ldl and -lpthread?
+          AC_MSG_CHECKING([OpenSSL linking with -ldl and -lpthread])
+          LIBS="$LIBS -lpthread"
+          AC_TRY_LINK(
+          [
+            #include <openssl/err.h>
+          ],
+          [
+            ERR_clear_error();
+          ],
+          [
+            AC_MSG_RESULT(yes)
+            HAVECRYPTO="yes"
+          ],
+          [
+            AC_MSG_RESULT(no)
+            LDFLAGS="$CLEANLDFLAGS"
+            CPPFLAGS="$CLEANCPPFLAGS"
+            LIBS="$CLEANLIBS"
+          ])
  
-         ]
-      )
+        ])
  
-   fi
+      ])
+   ])
  
    if test X"$HAVECRYPTO" = X"yes"; then
      dnl This is only reasonable to do if crypto actually is there: check for
        dnl Have the libraries--check for OpenSSL headers
        AC_CHECK_HEADERS(openssl/x509.h openssl/rsa.h openssl/crypto.h \
                         openssl/pem.h openssl/ssl.h openssl/err.h,
-         curl_ssl_msg="enabled (OpenSSL)"
+         ssl_msg="OpenSSL"
+       test openssl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
          OPENSSL_ENABLED=1
          AC_DEFINE(USE_OPENSSL, 1, [if OpenSSL is in use]))
  
             test $ac_cv_header_crypto_h = yes &&
             test $ac_cv_header_ssl_h = yes; then
            dnl three matches
-           curl_ssl_msg="enabled (OpenSSL)"
+           ssl_msg="OpenSSL"
            OPENSSL_ENABLED=1
          fi
        fi
      fi
  
-     if test X"$OPENSSL_ENABLED" = X"1"; then
-        dnl is there a pkcs12.h header present?
-        AC_CHECK_HEADERS(openssl/pkcs12.h)
-     else
+     if test X"$OPENSSL_ENABLED" != X"1"; then
         LIBS="$CLEANLIBS"
      fi
  
          AC_MSG_RESULT([yes])
          AC_DEFINE_UNQUOTED(HAVE_BORINGSSL, 1,
                             [Define to 1 if using BoringSSL.])
-         curl_ssl_msg="enabled (BoringSSL)"
+         ssl_msg="BoringSSL"
      ],[
          AC_MSG_RESULT([no])
      ])
        AC_MSG_RESULT([yes])
        AC_DEFINE_UNQUOTED(HAVE_LIBRESSL, 1,
          [Define to 1 if using libressl.])
-       curl_ssl_msg="enabled (libressl)"
+       ssl_msg="libressl"
      ],[
        AC_MSG_RESULT([no])
      ])
      CURL_CHECK_OPENSSL_API
    fi
  
+   test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
  fi
  
  dnl **********************************************************************
@@@ -1752,7 -1884,8 +1884,8 @@@ AC_HELP_STRING([--with-gnutls=PATH],[wh
  AC_HELP_STRING([--without-gnutls], [disable GnuTLS detection]),
    OPT_GNUTLS=$withval)
  
- if test "$curl_ssl_msg" = "$init_ssl_msg"; then
+ if test -z "$ssl_backends" -o "x$OPT_GNUTLS" != xno; then
+   ssl_msg=
  
    if test X"$OPT_GNUTLS" != Xno; then
  
         AC_SUBST(USE_GNUTLS, [1])
         GNUTLS_ENABLED=1
         USE_GNUTLS="yes"
-        curl_ssl_msg="enabled (GnuTLS)"
+        ssl_msg="GnuTLS"
+        test gnutls != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
         ],
         [
           LIBS="$CLEANLIBS"
            dnl linker doesn't search through, we need to add it to
            dnl LD_LIBRARY_PATH to prevent further configure tests to fail
            dnl due to this
-           if test "x$cross_compiling" != "xyes"; then 
+           if test "x$cross_compiling" != "xyes"; then
              LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$gtlslib"
              export LD_LIBRARY_PATH
              AC_MSG_NOTICE([Added $gtlslib to LD_LIBRARY_PATH])
  
    fi dnl GNUTLS not disabled
  
+   test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
  fi
  
  dnl ---
@@@ -1911,7 -2046,8 +2046,8 @@@ AC_HELP_STRING([--with-polarssl=PATH],[
  AC_HELP_STRING([--without-polarssl], [disable PolarSSL detection]),
    OPT_POLARSSL=$withval)
  
- if test "$curl_ssl_msg" = "$init_ssl_msg"; then
+ if test -z "$ssl_backends" -o "x$OPT_POLARSSL" != xno; then
+   ssl_msg=
  
    if test X"$OPT_POLARSSL" != Xno; then
  
           AC_SUBST(USE_POLARSSL, [1])
           POLARSSL_ENABLED=1
           USE_POLARSSL="yes"
-          curl_ssl_msg="enabled (PolarSSL)"
+          ssl_msg="PolarSSL"
+        test polarssl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
          ])
      fi
  
         AC_SUBST(USE_POLARSSL, [1])
         POLARSSL_ENABLED=1
         USE_POLARSSL="yes"
-        curl_ssl_msg="enabled (PolarSSL)"
+        ssl_msg="PolarSSL"
+        test polarssl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
         ],
         [
           CPPFLAGS=$_cppflags
  
    fi dnl PolarSSL not disabled
  
+   test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
  fi
  
  dnl ----------------------------------------------------
@@@ -1998,7 -2137,8 +2137,8 @@@ AC_HELP_STRING([--with-mbedtls=PATH],[w
  AC_HELP_STRING([--without-mbedtls], [disable mbedTLS detection]),
    OPT_MBEDTLS=$withval)
  
- if test "$curl_ssl_msg" = "$init_ssl_msg"; then
+ if test -z "$ssl_backends" -o "x$OPT_MBEDTLS" != xno; then
+   ssl_msg=
  
    if test X"$OPT_MBEDTLS" != Xno; then
  
           AC_SUBST(USE_MBEDTLS, [1])
           MBEDTLS_ENABLED=1
           USE_MBEDTLS="yes"
-          curl_ssl_msg="enabled (mbedTLS)"
+          ssl_msg="mbedTLS"
+        test mbedtls != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
          ], [], -lmbedx509 -lmbedcrypto)
      fi
  
         AC_SUBST(USE_MBEDTLS, [1])
         MBEDTLS_ENABLED=1
         USE_MBEDTLS="yes"
-        curl_ssl_msg="enabled (mbedTLS)"
+        ssl_msg="mbedTLS"
+        test mbedtls != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
         ],
         [
           CPPFLAGS=$_cppflags
  
    fi dnl mbedTLS not disabled
  
+   test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
  fi
  
  dnl ----------------------------------------------------
@@@ -2086,7 -2229,8 +2229,8 @@@ AC_HELP_STRING([--with-cyassl=PATH],[wh
  AC_HELP_STRING([--without-cyassl], [disable CyaSSL detection]),
    OPT_CYASSL=$withval)
  
- if test "$curl_ssl_msg" = "$init_ssl_msg"; then
+ if test -z "$ssl_backends" -o "x$OPT_CYASSL" != xno; then
+   ssl_msg=
  
    if test X"$OPT_CYASSL" != Xno; then
  
           AC_SUBST(USE_CYASSL, [1])
           CYASSL_ENABLED=1
           USE_CYASSL="yes"
-          curl_ssl_msg="enabled (CyaSSL)"
+          ssl_msg="CyaSSL"
+        test cyassl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
          ])
      fi
  
         AC_SUBST(USE_CYASSL, [1])
         CYASSL_ENABLED=1
         USE_CYASSL="yes"
-        curl_ssl_msg="enabled (CyaSSL)"
+        ssl_msg="CyaSSL"
+        test cyassl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
         ],
         [
           CPPFLAGS=$_cppflags
           AC_SUBST(USE_CYASSL, [1])
           CYASSL_ENABLED=1
           USE_CYASSL="yes"
-          curl_ssl_msg="enabled (WolfSSL)"
+          ssl_msg="WolfSSL"
+        test cyassl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
         ],
         [
           AC_MSG_RESULT(no)
  
    fi dnl CyaSSL not disabled
  
+   test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
  fi
  
  dnl ----------------------------------------------------
@@@ -2247,7 -2395,8 +2395,8 @@@ AC_HELP_STRING([--with-nss=PATH],[wher
  AC_HELP_STRING([--without-nss], [disable NSS detection]),
    OPT_NSS=$withval)
  
- if test "$curl_ssl_msg" = "$init_ssl_msg"; then
+ if test -z "$ssl_backends" -o "x$OPT_NSS" != xno; then
+   ssl_msg=
  
    if test X"$OPT_NSS" != Xno; then
  
       AC_SUBST(USE_NSS, [1])
       USE_NSS="yes"
       NSS_ENABLED=1
-      curl_ssl_msg="enabled (NSS)"
+      ssl_msg="NSS"
+      test nss != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
       ],
       [
         LDFLAGS="$CLEANLDFLAGS"
      if test "x$USE_NSS" = "xyes"; then
        AC_MSG_NOTICE([detected NSS version $version])
  
+       dnl PK11_CreateManagedGenericObject() was introduced in NSS 3.34 because
+       dnl PK11_DestroyGenericObject() does not release resources allocated by
+       dnl PK11_CreateGenericObject() early enough.
+       AC_CHECK_FUNC(PK11_CreateManagedGenericObject,
+         [
+           AC_DEFINE(HAVE_PK11_CREATEMANAGEDGENERICOBJECT, 1,
+                     [if you have the PK11_CreateManagedGenericObject function])
+         ])
        dnl needed when linking the curl tool without USE_EXPLICIT_LIB_DEPS
        NSS_LIBS=$addlib
        AC_SUBST([NSS_LIBS])
  
    fi dnl NSS not disabled
  
- fi dnl curl_ssl_msg = init_ssl_msg
+   test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
+ fi
  
  OPT_AXTLS=off
  
@@@ -2360,7 -2520,8 +2520,8 @@@ AC_HELP_STRING([--with-axtls=PATH],[Whe
  AC_HELP_STRING([--without-axtls], [disable axTLS]),
    OPT_AXTLS=$withval)
  
- if test "$curl_ssl_msg" = "$init_ssl_msg"; then
+ if test -z "$ssl_backends" -o "x$OPT_AXTLS" != xno; then
+   ssl_msg=
    if test X"$OPT_AXTLS" != Xno; then
      dnl backup the pre-axtls variables
      CLEANLDFLAGS="$LDFLAGS"
        AC_SUBST(USE_AXTLS, [1])
        AXTLS_ENABLED=1
        USE_AXTLS="yes"
-       curl_ssl_msg="enabled (axTLS)"
+       ssl_msg="axTLS"
+       test axtls != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
  
        if test "x$cross_compiling" != "xyes"; then
          LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_AXTLS"
        LIBS="$CLEANLIBS"
      ])
    fi
+   test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
  fi
  
- if test "x$OPENSSL_ENABLED$GNUTLS_ENABLED$NSS_ENABLED$POLARSSL_ENABLED$MBEDTLS_ENABLED$AXTLS_ENABLED$CYASSL_ENABLED$WINSSL_ENABLED$DARWINSSL_ENABLED" = "x"; then
+ case "x$OPENSSL_ENABLED$GNUTLS_ENABLED$NSS_ENABLED$POLARSSL_ENABLED$MBEDTLS_ENABLED$AXTLS_ENABLED$CYASSL_ENABLED$WINSSL_ENABLED$DARWINSSL_ENABLED" in
+ x)
    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, --with-winssl, or --with-darwinssl to address this.])
- else
-   # SSL is enabled, genericly
+   ;;
+ x1)
+   # one SSL backend is enabled
    AC_SUBST(SSL_ENABLED)
    SSL_ENABLED="1"
+   AC_MSG_NOTICE([built with one SSL backend])
+   ;;
+ *)
+   # more than one SSL backend is enabled
+   AC_SUBST(SSL_ENABLED)
+   SSL_ENABLED="1"
+   AC_SUBST(CURL_WITH_MULTI_SSL)
+   CURL_WITH_MULTI_SSL="1"
+   AC_DEFINE(CURL_WITH_MULTI_SSL, 1, [built with multiple SSL backends])
+   AC_MSG_NOTICE([built with multiple SSL backends])
+   ;;
+ esac
+ if test -n "$ssl_backends"; then
+   curl_ssl_msg="enabled ($ssl_backends)"
+ fi
+ if test no = "$VALID_DEFAULT_SSL_BACKEND"
+ then
+   if test -n "$SSL_ENABLED"
+   then
+     AC_MSG_ERROR([Default SSL backend $DEFAULT_SSL_BACKEND not enabled!])
+   else
+     AC_MSG_ERROR([Default SSL backend requires SSL!])
+   fi
+ elif test yes = "$VALID_DEFAULT_SSL_BACKEND"
+ then
+   AC_DEFINE_UNQUOTED([CURL_DEFAULT_SSL_BACKEND], ["$DEFAULT_SSL_BACKEND"], [Default SSL backend])
  fi
  
  dnl **********************************************************************
@@@ -2496,8 -2689,8 +2689,8 @@@ if test X"$OPT_LIBMETALINK" != Xno; the
      clean_CPPFLAGS="$CPPFLAGS"
      clean_LDFLAGS="$LDFLAGS"
      clean_LIBS="$LIBS"
-     CPPFLAGS="$addcflags $clean_CPPFLAGS"
-     LDFLAGS="$addld $clean_LDFLAGS"
+     CPPFLAGS="$clean_CPPFLAGS $addcflags"
+     LDFLAGS="$clean_LDFLAGS $addld"
      LIBS="$addlib $clean_LIBS"
      AC_MSG_CHECKING([if libmetalink is recent enough])
      AC_LINK_IFELSE([
@@@ -2541,8 -2734,15 +2734,15 @@@ dnl Default to compiler & linker defaul
  OPT_LIBSSH2=off
  AC_ARG_WITH(libssh2,dnl
  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)
+ AC_HELP_STRING([--with-libssh2], [enable LIBSSH2]),
+   OPT_LIBSSH2=$withval, OPT_LIBSSH2=no)
+ OPT_LIBSSH=off
+ AC_ARG_WITH(libssh,dnl
+ AC_HELP_STRING([--with-libssh=PATH],[Where to look for libssh, PATH points to the LIBSSH installation; when possible, set the PKG_CONFIG_PATH environment variable instead of using this option])
+ AC_HELP_STRING([--with-libssh], [enable LIBSSH]),
+   OPT_LIBSSH=$withval, OPT_LIBSSH=no)
  
  if test X"$OPT_LIBSSH2" != Xno; then
    dnl backup the pre-libssh2 variables
      DIR_SSH2=${PREFIX_SSH2}/lib$libsuff
    fi
  
-   LDFLAGS="$LD_SSH2 $LDFLAGS"
+   LDFLAGS="$LDFLAGS $LD_SSH2"
    CPPFLAGS="$CPPFLAGS $CPP_SSH2"
    LIBS="$LIB_SSH2 $LIBS"
  
      CPPFLAGS=$CLEANCPPFLAGS
      LIBS=$CLEANLIBS
    fi
+ elif test X"$OPT_LIBSSH" != Xno; then
+   dnl backup the pre-libssh variables
+   CLEANLDFLAGS="$LDFLAGS"
+   CLEANCPPFLAGS="$CPPFLAGS"
+   CLEANLIBS="$LIBS"
+   case "$OPT_LIBSSH" in
+   yes)
+     dnl --with-libssh (without path) used
+     CURL_CHECK_PKGCONFIG(libssh)
+     if test "$PKGCONFIG" != "no" ; then
+       LIB_SSH=`$PKGCONFIG --libs-only-l libssh`
+       LD_SSH=`$PKGCONFIG --libs-only-L libssh`
+       CPP_SSH=`$PKGCONFIG --cflags-only-I libssh`
+       version=`$PKGCONFIG --modversion libssh`
+       DIR_SSH=`echo $LD_SSH | $SED -e 's/-L//'`
+     fi
+     ;;
+   off)
+     dnl no --with-libssh option given, just check default places
+     ;;
+   *)
+     dnl use the given --with-libssh spot
+     PREFIX_SSH=$OPT_LIBSSH
+     ;;
+   esac
+   dnl if given with a prefix, we set -L and -I based on that
+   if test -n "$PREFIX_SSH"; then
+     LIB_SSH="-lssh"
+     LD_SSH=-L${PREFIX_SSH}/lib$libsuff
+     CPP_SSH=-I${PREFIX_SSH}/include
+     DIR_SSH=${PREFIX_SSH}/lib$libsuff
+   fi
+   LDFLAGS="$LDFLAGS $LD_SSH"
+   CPPFLAGS="$CPPFLAGS $CPP_SSH"
+   LIBS="$LIB_SSH $LIBS"
+   AC_CHECK_LIB(ssh, ssh_new)
+   AC_CHECK_HEADERS(libssh/libssh.h,
+     curl_ssh_msg="enabled (libSSH)"
+     LIBSSH_ENABLED=1
+     AC_DEFINE(USE_LIBSSH, 1, [if libSSH is in use])
+     AC_SUBST(USE_LIBSSH, [1])
+   )
+   if test X"$OPT_LIBSSH" != Xoff &&
+      test "$LIBSSH_ENABLED" != "1"; then
+     AC_MSG_ERROR([libSSH libs and/or directories were not found where specified!])
+   fi
+   if test "$LIBSSH_ENABLED" = "1"; then
+     if test -n "$DIR_SSH"; then
+        dnl when the libssh shared libs were found in a path that the run-time
+        dnl linker doesn't search through, we need to add it to LD_LIBRARY_PATH
+        dnl to prevent further configure tests to fail due to this
+        if test "x$cross_compiling" != "xyes"; then
+          LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DIR_SSH"
+          export LD_LIBRARY_PATH
+          AC_MSG_NOTICE([Added $DIR_SSH to LD_LIBRARY_PATH])
+        fi
+     fi
+   else
+     dnl no libssh, revert back to clean variables
+     LDFLAGS=$CLEANLDFLAGS
+     CPPFLAGS=$CLEANCPPFLAGS
+     LIBS=$CLEANLIBS
+   fi
  fi
  
  dnl **********************************************************************
@@@ -2660,6 -2933,7 +2933,7 @@@ if test X"$OPT_LIBRTMP" != Xno; the
      ;;
    *)
      dnl use the given --with-librtmp spot
+     LIB_RTMP="-lrtmp"
      PREFIX_RTMP=$OPT_LIBRTMP
      ;;
    esac
@@@ -2715,7 -2989,9 +2989,9 @@@ AC_HELP_STRING([--disable-versioned-sym
          AC_MSG_WARN([You need an ld version supporting the --version-script option])
      else
          AC_MSG_RESULT(yes)
-         if test "x$OPENSSL_ENABLED" = "x1"; then
+         if test "x$CURL_WITH_MULTI_SSL" = "x1"; then
+           versioned_symbols_flavour="MULTISSL_"
+         elif test "x$OPENSSL_ENABLED" = "x1"; then
            versioned_symbols_flavour="OPENSSL_"
          elif test "x$GNUTLS_ENABLED" = "x1"; then
            versioned_symbols_flavour="GNUTLS_"
@@@ -2787,6 -3063,7 +3063,7 @@@ if test "$want_winidn" = "yes"; the
    clean_LDFLAGS="$LDFLAGS"
    clean_LIBS="$LIBS"
    WINIDN_LIBS="-lnormaliz"
+   WINIDN_CPPFLAGS="-DWINVER=0x0600"
    #
    if test "$want_winidn_path" != "default"; then
      dnl path has been specified
      WINIDN_DIR="$want_winidn_path/lib$libsuff"
    fi
    #
-   CPPFLAGS="$WINIDN_CPPFLAGS $CPPFLAGS"
-   LDFLAGS="$WINIDN_LDFLAGS $LDFLAGS"
+   CPPFLAGS="$CPPFLAGS $WINIDN_CPPFLAGS"
+   LDFLAGS="$LDFLAGS $WINIDN_LDFLAGS"
    LIBS="$WINIDN_LIBS $LIBS"
    #
    AC_MSG_CHECKING([if IdnToUnicode can be linked])
    AC_LINK_IFELSE([
-     AC_LANG_FUNC_LINK_TRY([IdnToUnicode])
+     AC_LANG_PROGRAM([[
+       #include <windows.h>
+     ]],[[
+       IdnToUnicode(0, NULL, 0, NULL, 0);
+     ]])
    ],[
      AC_MSG_RESULT([yes])
      tst_links_winidn="yes"
@@@ -2912,8 -3193,8 +3193,8 @@@ if test "$want_idn" = "yes"; the
      AC_MSG_NOTICE([IDN_DIR: "$IDN_DIR"])
    fi
    #
-   CPPFLAGS="$IDN_CPPFLAGS $CPPFLAGS"
-   LDFLAGS="$IDN_LDFLAGS $LDFLAGS"
+   CPPFLAGS="$CPPFLAGS $IDN_CPPFLAGS"
+   LDFLAGS="$LDFLAGS $IDN_LDFLAGS"
    LIBS="$IDN_LIBS $LIBS"
    #
    AC_MSG_CHECKING([if idn2_lookup_ul can be linked])
@@@ -2953,152 -3234,18 +3234,158 @@@ dnl Let's hope this split URL remains w
  dnl http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixprggd/ \
  dnl genprogc/thread_quick_ref.htm
  
 +dnl **********************************************************************
 +dnl Check for ICU-UC (IDN support)
 +dnl **********************************************************************
 +
 +AC_MSG_CHECKING([whether to build with icu-uc])
 +OPT_IDN="default"
 +AC_ARG_WITH(icu-uc,
 +AC_HELP_STRING([--with-icu-uc=PATH],[Enable icu-uc usage])
 +AC_HELP_STRING([--without-icu-uc],[Disable icu-uc usage]),
 +  [OPT_IDN=$withval])
 +case "$OPT_IDN" in
 +  no)
 +    dnl --without-icu-uc option used
 +    want_idn="no"
 +    AC_MSG_RESULT([no])
 +    ;;
 +  default)
 +    dnl configure option not specified
 +    want_idn="yes"
 +    want_idn_path="default"
 +    AC_MSG_RESULT([(assumed) yes])
 +    ;;
 +  yes)
 +    dnl --with-icu-uc option used without path
 +    want_idn="yes"
 +    want_idn_path="default"
 +    AC_MSG_RESULT([yes])
 +    ;;
 +  *)
 +    dnl --with-icu-uc option used with path
 +    want_idn="yes"
 +    want_idn_path="$withval"
 +    AC_MSG_RESULT([yes ($withval)])
 +    ;;
 +esac
 +
 +if test "$want_idn" = "yes"; then
 +  dnl idn library support has been requested
 +  clean_CPPFLAGS="$CPPFLAGS"
 +  clean_LDFLAGS="$LDFLAGS"
 +  clean_LIBS="$LIBS"
 +  PKGCONFIG="no"
 +  #
 +  if test "$want_idn_path" != "default"; then
 +    dnl path has been specified
 +    IDN_PCDIR="$want_idn_path/lib$libsuff/pkgconfig"
 +    CURL_CHECK_PKGCONFIG(icu-uc, [$IDN_PCDIR])
 +    if test "$PKGCONFIG" != "no"; then
 +      IDN_LIBS=`CURL_EXPORT_PCDIR([$IDN_PCDIR]) dnl
 +        $PKGCONFIG --libs-only-l icu-uc 2>/dev/null`
 +      IDN_LDFLAGS=`CURL_EXPORT_PCDIR([$IDN_PCDIR]) dnl
 +        $PKGCONFIG --libs-only-L icu-uc 2>/dev/null`
 +      IDN_CPPFLAGS=`CURL_EXPORT_PCDIR([$IDN_PCDIR]) dnl
 +        $PKGCONFIG --cflags-only-I icu-uc 2>/dev/null`
 +      IDN_DIR=`echo $IDN_LDFLAGS | $SED -e 's/-L//'`
 +    else
 +      dnl pkg-config not available or provides no info
 +      IDN_LIBS="-licu-uc"
 +      IDN_LDFLAGS="-L$want_idn_path/lib$libsuff"
 +      IDN_CPPFLAGS="-I$want_idn_path/include"
 +      IDN_DIR="$want_idn_path/lib$libsuff"
 +    fi
 +  else
 +    dnl path not specified
 +    CURL_CHECK_PKGCONFIG(icu-uc)
 +    if test "$PKGCONFIG" != "no"; then
 +      IDN_LIBS=`$PKGCONFIG --libs-only-l icu-uc 2>/dev/null`
 +      IDN_LDFLAGS=`$PKGCONFIG --libs-only-L icu-uc 2>/dev/null`
 +      IDN_CPPFLAGS=`$PKGCONFIG --cflags-only-I icu-uc 2>/dev/null`
 +      IDN_DIR=`echo $IDN_LDFLAGS | $SED -e 's/-L//'`
 +    else
 +      dnl pkg-config not available or provides no info
 +      IDN_LIBS="-licu-uc"
 +    fi
 +  fi
 +  #
 +  if test "$PKGCONFIG" != "no"; then
 +    AC_MSG_NOTICE([pkg-config: IDN_LIBS: "$IDN_LIBS"])
 +    AC_MSG_NOTICE([pkg-config: IDN_LDFLAGS: "$IDN_LDFLAGS"])
 +    AC_MSG_NOTICE([pkg-config: IDN_CPPFLAGS: "$IDN_CPPFLAGS"])
 +    AC_MSG_NOTICE([pkg-config: IDN_DIR: "$IDN_DIR"])
 +  else
 +    AC_MSG_NOTICE([IDN_LIBS: "$IDN_LIBS"])
 +    AC_MSG_NOTICE([IDN_LDFLAGS: "$IDN_LDFLAGS"])
 +    AC_MSG_NOTICE([IDN_CPPFLAGS: "$IDN_CPPFLAGS"])
 +    AC_MSG_NOTICE([IDN_DIR: "$IDN_DIR"])
 +  fi
 +  #
 +  CPPFLAGS="$IDN_CPPFLAGS $CPPFLAGS"
 +  LDFLAGS="$IDN_LDFLAGS $LDFLAGS"
 +  LIBS="$IDN_LIBS $LIBS"
 +  #
 +  AC_MSG_CHECKING([if uidna_nameToASCII_UTF8 can be linked])
 +  AC_LINK_IFELSE([
 +    AC_LANG_FUNC_LINK_TRY([uidna_nameToASCII_UTF8])
 +  ],[
 +    AC_MSG_RESULT([yes])
 +    tst_links_icu="yes"
 +  ],[
 +    AC_MSG_RESULT([no])
 +    tst_links_icu="no"
 +  ])
 +  #
 +  if test "$tst_links_icu" = "yes"; then
 +    AC_DEFINE(USE_ICU_IDNA, 1, [Define to 1 if you have the `icu-uc' library (-licu-uc).])
 +    dnl different versions of libidn have different setups of these:
 +
 +    AC_SUBST([IDN_ENABLED], [1])
 +    curl_idn_msg="enabled (icu-uc)"
 +    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])
 +    fi
 +  else
 +    AC_MSG_WARN([Cannot find libraries for IDN support: IDN disabled])
 +    CPPFLAGS="$clean_CPPFLAGS"
 +    LDFLAGS="$clean_LDFLAGS"
 +    LIBS="$clean_LIBS"
 +  fi
 +
 +fi
 +
 +dnl Let's hope this split URL remains working:
 +dnl http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixprggd/ \
 +dnl genprogc/thread_quick_ref.htm
 +
 +dnl **********************************************************************
 +dnl Check for DLP
 +dnl **********************************************************************
 +
 +AC_ARG_ENABLE([dlp],
 +    AS_HELP_STRING([--enable-dlp], [Enable DLP usage]))
 +
 +AS_IF([test "x$enable_dlp" = "xyes"], [
 +    CPPFLAGS+=" -DUSE_TIZEN_FEATURE_DLP"
 +])
 +
 +AM_CONDITIONAL(USE_TIZEN_FEATURE_DLP, test "x$enable_dlp" = "xyes")
 +
  
  dnl **********************************************************************
  dnl Check for nghttp2
  dnl **********************************************************************
  
  OPT_H2="yes"
+ if test "x$disable_http" = "xyes"; then
+   # without HTTP, nghttp2 is no use
+   OPT_H2="no"
+ fi
  AC_ARG_WITH(nghttp2,
  AC_HELP_STRING([--with-nghttp2=PATH],[Enable nghttp2 usage])
  AC_HELP_STRING([--without-nghttp2],[Disable nghttp2 usage]),
@@@ -3221,11 -3368,12 +3508,12 @@@ AC_CHECK_HEADERS
          assert.h \
          unistd.h \
          stdlib.h \
-         limits.h \
          arpa/inet.h \
          net/if.h \
          netinet/in.h \
+       netinet/in6.h \
          sys/un.h \
+         linux/tcp.h \
          netinet/tcp.h \
          netdb.h \
          sys/sockio.h \
@@@ -3274,6 -3422,9 +3562,9 @@@ dnl default include
  #ifdef HAVE_NETINET_IN_H
  #include <netinet/in.h>
  #endif
+ #ifdef HAVE_NETINET_IN6_H
+ #include <netinet/in6.h>
+ #endif
  #ifdef HAVE_SYS_UN_H
  #include <sys/un.h>
  #endif
@@@ -3292,18 -3443,15 +3583,15 @@@ AC_CHECK_SIZEOF(size_t
  AC_CHECK_SIZEOF(long)
  AC_CHECK_SIZEOF(int)
  AC_CHECK_SIZEOF(short)
- CURL_CONFIGURE_LONG
  AC_CHECK_SIZEOF(time_t)
  AC_CHECK_SIZEOF(off_t)
  
- soname_bump=no
- if test x"$curl_cv_native_windows" != "xyes" &&
-    test $ac_cv_sizeof_off_t -ne $curl_sizeof_curl_off_t; then
-   AC_MSG_WARN([This libcurl built is probably not ABI compatible with previous])
-   AC_MSG_WARN([builds! You MUST read lib/README.curl_off_t to figure it out.])
-   soname_bump=yes
- fi
+ o=$CPPFLAGS
+ CPPFLAGS="-I$srcdir/include $CPPFLAGS"
+ AC_CHECK_SIZEOF(curl_off_t, unused , [
+ #include <curl/system.h>
+ ])
+ CPPFLAGS=$o
  
  AC_CHECK_TYPE(long long,
     [AC_DEFINE(HAVE_LONGLONG, 1,
@@@ -3344,6 -3492,23 +3632,23 @@@ AC_CHECK_TYPE([bool],
  #endif
  ])
  
+ AC_MSG_CHECKING([if time_t is unsigned])
+ AC_RUN_IFELSE([
+   AC_LANG_SOURCE([[
+   #include <time.h>
+   #include <limits.h>
+   time_t t = -1;
+   return (t > 0);
+   ]])] ,[
+   AC_MSG_RESULT([yes])
+   AC_DEFINE(HAVE_TIME_T_UNSIGNED, 1, [Define this if time_t is unsigned])
+ ],[
+   AC_MSG_RESULT([no])
+ ],[
+   dnl cross-compiling, most systems are unsigned
+   AC_MSG_RESULT([no])
+ ])
  CURL_CONFIGURE_CURL_SOCKLEN_T
  
  CURL_CONFIGURE_PULL_SYS_POLL
@@@ -3420,24 -3585,21 +3725,21 @@@ case $host i
      ;;
  esac
  
- AC_CHECK_FUNCS([fork \
-   geteuid \
+ AC_CHECK_FUNCS([geteuid \
    getpass_r \
    getppid \
-   getprotobyname \
    getpwuid \
    getpwuid_r \
    getrlimit \
    gettimeofday \
    if_nametoindex \
-   inet_addr \
-   perror \
+   mach_absolute_time \
    pipe \
    setlocale \
    setmode \
    setrlimit \
-   uname \
-   utime
+   utime \
+   utimes
  ],[
  ],[
    func="$ac_func"
@@@ -3540,11 -3702,8 +3842,8 @@@ els
  fi
  AM_CONDITIONAL(BUILD_LIBHOSTNAME, test x$build_libhostname = xyes)
  
- CURL_CHECK_OPTION_THREADED_RESOLVER
- if test "x$want_thres" = xyes && test "x$want_ares" = xyes; then
-   AC_MSG_ERROR(
- [Options --enable-threaded-resolver and --enable-ares are mutually exclusive])
+ if test "x$want_ares" != xyes; then
+   CURL_CHECK_OPTION_THREADED_RESOLVER
  fi
  
  dnl ************************************************************
@@@ -3567,8 -3726,28 +3866,28 @@@ AC_HELP_STRING([--disable-pthreads],[Di
         want_pthreads=auto
         ]
  )
- if test "$want_thres" = "yes" && test "$dontwant_rt" = "no" && \
-    test "$want_pthreads" != "no"; then
+ dnl turn off pthreads if rt is disabled
+ if test "$want_pthreads" != "no"; then
+   if test "$want_pthreads" = "yes" && test "$dontwant_rt" = "yes"; then
+     AC_MSG_ERROR([options --enable-pthreads and --disable-rt are mutually exclusive])
+   fi
+   if test "$dontwant_rt" != "no"; then
+     dnl if --enable-pthreads was explicit then warn it's being ignored
+     if test "$want_pthreads" = "yes"; then
+       AC_MSG_WARN([--enable-pthreads Ignored since librt is disabled.])
+     fi
+     want_pthreads=no
+   fi
+ fi
+ dnl turn off pthreads if no threaded resolver
+ if test "$want_pthreads" != "no" && test "$want_thres" != "yes"; then
+   want_pthreads=no
+ fi
+ dnl detect pthreads
+ if test "$want_pthreads" != "no"; then
    AC_CHECK_HEADER(pthread.h,
      [ AC_DEFINE(HAVE_PTHREAD_H, 1, [if you have <pthread.h>])
        save_CFLAGS="$CFLAGS"
        fi
    ])
  fi
- if test "x$USE_THREADS_POSIX" != "x1"; then
+ dnl threaded resolver check
+ if test "$want_thres" = "yes" && test "x$USE_THREADS_POSIX" != "x1"; then
    if test "$want_pthreads" = "yes"; then
      AC_MSG_ERROR([--enable-pthreads but pthreads was not found])
    fi
-   if test "$want_thres" = "yes"; then
-     dnl If native Windows fallback on Win32 threads since no POSIX threads
-     if test "$curl_cv_native_windows" = "yes"; then
-       USE_THREADS_WIN32=1
-       AC_DEFINE(USE_THREADS_WIN32, 1, [if you want Win32 threaded DNS lookup])
-       curl_res_msg="Win32 threaded"
-     else
-       AC_MSG_ERROR([Threaded resolver enabled but no thread library found])
-     fi
+   dnl If native Windows fallback on Win32 threads since no POSIX threads
+   if test "$curl_cv_native_windows" = "yes"; then
+     USE_THREADS_WIN32=1
+     AC_DEFINE(USE_THREADS_WIN32, 1, [if you want Win32 threaded DNS lookup])
+     curl_res_msg="Win32 threaded"
+   else
+     AC_MSG_ERROR([Threaded resolver enabled but no thread library found])
    fi
  fi
  
  dnl ************************************************************
  dnl disable verbose text strings
  dnl
@@@ -3770,26 -3948,6 +4088,6 @@@ dnl hiding of library internal symbol
  dnl
  CURL_CONFIGURE_SYMBOL_HIDING
  
- dnl ************************************************************
- dnl enforce SONAME bump
- dnl
- AC_MSG_CHECKING([whether to enforce SONAME bump])
- AC_ARG_ENABLE(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
-          ;;
-   *)
-          AC_MSG_RESULT(no)
-          ;;
-   esac ],
-         AC_MSG_RESULT($soname_bump)
- )
- AM_CONDITIONAL(SONAME_BUMP, test x$soname_bump = xyes)
  dnl
  dnl All the library dependencies put into $LIB apply to libcurl only.
  dnl
  if test "x$HAVE_LIBZ" = "x1"; then
    SUPPORT_FEATURES="$SUPPORT_FEATURES libz"
  fi
+ if test "x$HAVE_BROTLI" = "x1"; then
+   SUPPORT_FEATURES="$SUPPORT_FEATURES brotli"
+ fi
  if test "x$USE_ARES" = "x1" -o "x$USE_THREADS_POSIX" = "x1" \
                              -o "x$USE_THREADS_WIN32" = "x1"; then
    SUPPORT_FEATURES="$SUPPORT_FEATURES AsynchDNS"
@@@ -3886,6 -4047,10 +4187,10 @@@ if test "x$USE_NGHTTP2" = "x1"; the
    SUPPORT_FEATURES="$SUPPORT_FEATURES HTTP2"
  fi
  
+ if test "x$CURL_WITH_MULTI_SSL" = "x1"; then
+   SUPPORT_FEATURES="$SUPPORT_FEATURES MultiSSL"
+ fi
  if test "x$OPENSSL_ENABLED" = "x1" -o "x$GNUTLS_ENABLED" = "x1" \
      -o "x$NSS_ENABLED" = "x1"; then
    SUPPORT_FEATURES="$SUPPORT_FEATURES HTTPS-proxy"
@@@ -3962,6 -4127,10 +4267,10 @@@ if test "x$USE_LIBSSH2" = "x1"; the
    SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SCP"
    SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SFTP"
  fi
+ if test "x$USE_LIBSSH" = "x1"; then
+   SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SCP"
+   SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SFTP"
+ fi
  if test "x$CURL_DISABLE_RTSP" != "x1"; then
    SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS RTSP"
  fi
@@@ -3993,6 -4162,9 +4302,9 @@@ squeeze SUPPORT_PROTOCOL
  
  XC_CHECK_BUILD_FLAGS
  
+ SSL_BACKENDS=${ssl_backends}
+ AC_SUBST(SSL_BACKENDS)
  if test "x$want_curldebug_assumed" = "xyes" &&
    test "x$want_curldebug" = "xyes" && test "x$USE_ARES" = "x1"; then
    ac_configure_args="$ac_configure_args --enable-curldebug"
@@@ -4008,7 -4180,6 +4320,7 @@@ AC_CONFIG_FILES([Makefile 
             include/curl/Makefile \
             src/Makefile \
             lib/Makefile \
 +           extensions/Makefile \
             scripts/Makefile \
             lib/libcurl.vers \
             tests/Makefile \
@@@ -4050,6 -4221,7 +4362,7 @@@ AC_MSG_NOTICE([Configured to build curl
    SSL support:      ${curl_ssl_msg}
    SSH support:      ${curl_ssh_msg}
    zlib support:     ${curl_zlib_msg}
+   brotli support:   ${curl_brotli_msg}
    GSS-API support:  ${curl_gss_msg}
    TLS-SRP support:  ${curl_tls_srp_msg}
    resolver:         ${curl_res_msg}
    HTTP2 support:    ${curl_h2_msg}
    Protocols:        ${SUPPORT_PROTOCOLS}
  ])
- if test "x$soname_bump" = "xyes"; then
- cat <<EOM
-   SONAME bump:     yes - WARNING: this library will be built with the SONAME
-                    number bumped due to (a detected) ABI breakage.
-                    See lib/README.curl_off_t for details on this.
- EOM
- fi
diff --combined lib/curl_config.h.in
@@@ -9,6 -9,9 +9,9 @@@
  /* Location of default ca path */
  #undef CURL_CA_PATH
  
+ /* Default SSL backend */
+ #undef CURL_DEFAULT_SSL_BACKEND
  /* to disable cookies support */
  #undef CURL_DISABLE_COOKIES
  
@@@ -72,6 -75,9 +75,9 @@@
  /* Definition to make a library symbol externally visible. */
  #undef CURL_EXTERN_SYMBOL
  
+ /* built with multiple SSL backends */
+ #undef CURL_WITH_MULTI_SSL
  /* your Entropy Gathering Daemon socket pathname */
  #undef EGD_SOCKET
  
  /* Define to 1 if using BoringSSL. */
  #undef HAVE_BORINGSSL
  
+ /* if BROTLI is in use */
+ #undef HAVE_BROTLI
+ /* Define to 1 if you have the <brotli/decode.h> header file. */
+ #undef HAVE_BROTLI_DECODE_H
+ /* Define to 1 if you have the __builtin_available function. */
+ #undef HAVE_BUILTIN_AVAILABLE
  /* Define to 1 if you have the clock_gettime function and monotonic timer. */
  #undef HAVE_CLOCK_GETTIME_MONOTONIC
  
  /* Define to 1 if you have the fdopen function. */
  #undef HAVE_FDOPEN
  
- /* Define to 1 if you have the `fork' function. */
- #undef HAVE_FORK
  /* Define to 1 if you have the freeaddrinfo function. */
  #undef HAVE_FREEADDRINFO
  
  /* Define to 1 if you have the `getppid' function. */
  #undef HAVE_GETPPID
  
- /* Define to 1 if you have the `getprotobyname' function. */
- #undef HAVE_GETPROTOBYNAME
  /* Define to 1 if you have the `getpwuid' function. */
  #undef HAVE_GETPWUID
  
  /* Define to 1 if you have the `if_nametoindex' function. */
  #undef HAVE_IF_NAMETOINDEX
  
- /* Define to 1 if you have the `inet_addr' function. */
- #undef HAVE_INET_ADDR
  /* Define to 1 if you have the inet_ntoa_r function. */
  #undef HAVE_INET_NTOA_R
  
  /* Define to 1 if you have the `ldap_url_parse' function. */
  #undef HAVE_LDAP_URL_PARSE
  
+ /* Define to 1 if you have the `brotlidec' library (-lbrotlidec). */
+ #undef HAVE_LIBBROTLIDEC
  /* Define to 1 if you have the <libgen.h> header file. */
  #undef HAVE_LIBGEN_H
  
  /* Define to 1 if you have the <librtmp/rtmp.h> header file. */
  #undef HAVE_LIBRTMP_RTMP_H
  
+ /* Define to 1 if you have the `ssh' library (-lssh). */
+ #undef HAVE_LIBSSH
  /* Define to 1 if you have the `ssh2' library (-lssh2). */
  #undef HAVE_LIBSSH2
  
  /* Define to 1 if you have the <libssh2.h> header file. */
  #undef HAVE_LIBSSH2_H
  
+ /* Define to 1 if you have the <libssh/libssh.h> header file. */
+ #undef HAVE_LIBSSH_LIBSSH_H
  /* Define to 1 if you have the `ssl' library (-lssl). */
  #undef HAVE_LIBSSL
  
  /* if zlib is available */
  #undef HAVE_LIBZ
  
- /* Define to 1 if you have the <limits.h> header file. */
- #undef HAVE_LIMITS_H
+ /* Define to 1 if you have the <linux/tcp.h> header file. */
+ #undef HAVE_LINUX_TCP_H
  
  /* if your compiler supports LL */
  #undef HAVE_LL
  /* Define to 1 if the compiler supports the 'long long' data type. */
  #undef HAVE_LONGLONG
  
+ /* Define to 1 if you have the `mach_absolute_time' function. */
+ #undef HAVE_MACH_ABSOLUTE_TIME
  /* Define to 1 if you have the malloc.h header file. */
  #undef HAVE_MALLOC_H
  
  /* Define to 1 if you have the <netdb.h> header file. */
  #undef HAVE_NETDB_H
  
+ /* Define to 1 if you have the <netinet/in6.h> header file. */
+ #undef HAVE_NETINET_IN6_H
  /* Define to 1 if you have the <netinet/in.h> header file. */
  #undef HAVE_NETINET_IN_H
  
  /* Define to 1 if you have the <openssl/pem.h> header file. */
  #undef HAVE_OPENSSL_PEM_H
  
- /* Define to 1 if you have the <openssl/pkcs12.h> header file. */
- #undef HAVE_OPENSSL_PKCS12_H
  /* Define to 1 if you have the <openssl/rsa.h> header file. */
  #undef HAVE_OPENSSL_RSA_H
  
  /* Define to 1 if you have the <pem.h> header file. */
  #undef HAVE_PEM_H
  
- /* Define to 1 if you have the `perror' function. */
- #undef HAVE_PERROR
  /* Define to 1 if you have the `pipe' function. */
  #undef HAVE_PIPE
  
+ /* if you have the PK11_CreateManagedGenericObject function */
+ #undef HAVE_PK11_CREATEMANAGEDGENERICOBJECT
  /* Define to 1 if you have a working poll function. */
  #undef HAVE_POLL
  
  /* Define to 1 if you have the <time.h> header file. */
  #undef HAVE_TIME_H
  
- /* Define to 1 if you have the `uname' function. */
- #undef HAVE_UNAME
+ /* Define this if time_t is unsigned */
+ #undef HAVE_TIME_T_UNSIGNED
  
  /* Define to 1 if you have the <unistd.h> header file. */
  #undef HAVE_UNISTD_H
  /* Define to 1 if you have the `utime' function. */
  #undef HAVE_UTIME
  
+ /* Define to 1 if you have the `utimes' function. */
+ #undef HAVE_UTIMES
  /* Define to 1 if you have the <utime.h> header file. */
  #undef HAVE_UTIME_H
  
  /* Define to the function return type for send. */
  #undef SEND_TYPE_RETV
  
+ /* The size of `curl_off_t', as computed by sizeof. */
+ #undef SIZEOF_CURL_OFF_T
  /* The size of `int', as computed by sizeof. */
  #undef SIZEOF_INT
  
  /* The size of `time_t', as computed by sizeof. */
  #undef SIZEOF_TIME_T
  
- /* The size of `void*', as computed by sizeof. */
- #undef SIZEOF_VOIDP
  /* Define to 1 if you have the ANSI C header files. */
  #undef STDC_HEADERS
  
  /* to enable Apple OS native SSL/TLS support */
  #undef USE_DARWINSSL
  
 +/* Define to 1 if you have the `icu-uc' library (-licu-uc). */
 +#undef USE_ICU_IDNA
 +
  /* if GnuTLS is enabled */
  #undef USE_GNUTLS
  
  /* if librtmp is in use */
  #undef USE_LIBRTMP
  
+ /* if libSSH is in use */
+ #undef USE_LIBSSH
  /* if libSSH2 is in use */
  #undef USE_LIBSSH2
  
  /* Define to 1 to provide own prototypes. */
  #undef WANT_IDN_PROTOTYPES
  
- /* Define to avoid automatic inclusion of winsock.h */
- #undef WIN32_LEAN_AND_MEAN
  /* Define to 1 if OS is AIX. */
  #ifndef _ALL_SOURCE
  #  undef _ALL_SOURCE
diff --combined packaging/curl.spec
index 2efa05f,0000000..1230c20
mode 100644,000000..100644
--- /dev/null
@@@ -1,137 -1,0 +1,122 @@@
- Version:    7.53.1
 +Name:       curl
 +Summary:    A utility for getting files from remote servers (FTP, HTTP, and others)
- %package -n libcurl-extension-dlp
- Summary:      Extensions for Tizen OS
- Provides:     libcurl-extension-dlp = %{version}-%{release}
- Requires(post): /sbin/ldconfig
- Requires(postun): /sbin/ldconfig
- %description -n libcurl-extension-dlp
- libcurl extensions for Tinen OS.
++Version:    7.59.0
 +Release:    1
 +Group:      Applications/Internet
 +License:    MIT
 +URL:        http://curl.haxx.se/
 +#Source0:    http://curl.haxx.se/download/%{name}-%{version}.tar.bz2
 +Source0:    %{name}-%{version}.tar.gz
 +Source1001:     %{name}.manifest
 +
 +BuildRequires:  pkgconfig(openssl)
 +BuildRequires:  pkgconfig(zlib)
 +BuildRequires:  pkgconfig(libcares)
 +BuildRequires:        pkgconfig(libnghttp2)
 +
 +Provides:   webclient
 +
 +
 +%description
 +curl is a client to get documents/files from servers, using any of the
 +supported protocols. The command is designed to work without user
 +interaction or any kind of interactivity.
 +
 +curl offers a busload of useful tricks like proxy support, user
 +authentication, ftp upload, HTTP post, file transfer resume and more.
 +
 +%package -n libcurl
 +Summary:    A library for getting files from web servers
 +Group:      System/Libraries
 +License:    MIT
 +Requires(post): /sbin/ldconfig
 +Requires(postun): /sbin/ldconfig
 +
 +%description -n libcurl
 +This package provides a way for applications to use FTP, HTTP, Gopher and
 +other servers for getting files.
 +
 +
 +%package -n libcurl-devel
 +Summary:    Files needed for building applications with libcurl
 +Group:      Development/Libraries
 +License:    MIT
 +Requires:   libcurl = %{version}-%{release}
 +Provides:   curl-devel = %{version}-%{release}
 +Obsoletes:   curl-devel < %{version}-%{release}
 +
 +%description -n libcurl-devel
 +libcurl is the core engine of curl; this packages contains all the libs,
 +headers, and manual pages to develop applications using libcurl.
 +
- --enable-dlp \
 +%prep
 +%setup -q
 +cp %{SOURCE1001} .
 +
 +#%patch01 -p1
 +#%patch02 -p1
 +
 +%build
 +
 +export CPPFLAGS="-DHAVE_PK11_CREATEGENERICOBJECT"
 +CFLAGS+=" -fstack-protector-strong -Wl,-z,relro -D_FORTIFY_SOURCE=2 -fPIE -pie"
 +%if "%{TIZEN_PROFILE_TV}" == "1"
 +CFLAGS+=" -DTIZEN_TV_EXT"
 +%reconfigure --without-nss --without-gnutls --with-openssl --disable-ipv6 \
 +%else
 +%reconfigure --without-nss --without-gnutls --with-openssl --enable-ipv6 \
 +%endif
 +--with-ca-path==/etc/ssl/certs \
 +--with-ca-bundle=/etc/ssl/ca-bundle.pem \
 +--with-lber-lib=lber \
 +--enable-manual --enable-versioned-symbols --enable-ares --enable-debug --enable-curldebug \
 +--disable-static \
 +--with-nghttp2 \
 +--without-zsh-functions-dir \
- %files -n libcurl-extension-dlp
- %manifest %{name}.manifest
- %{_libdir}/libcurl_extension_dlp.so.*
- %license COPYING
 +
 +#--with-ca-bundle=%{_sysconfdir}/pki/tls/certs/ca-bundle.crt 
 +
 +sed -i -e 's,-L/usr/lib ,,g;s,-L/usr/lib64 ,,g;s,-L/usr/lib$,,g;s,-L/usr/lib64$,,g' \
 +Makefile libcurl.pc
 +# Remove bogus rpath
 +sed -i \
 +-e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
 +-e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
 +
 +make %{?_smp_mflags}
 +
 +%install
 +rm -rf %{buildroot}
 +
 +rm -rf $RPM_BUILD_ROOT
 +
 +make DESTDIR=$RPM_BUILD_ROOT INSTALL="%{__install} -p" install
 +
 +rm -f ${RPM_BUILD_ROOT}%{_libdir}/libcurl{,_extension_dlp}.la
 +install -d $RPM_BUILD_ROOT/%{_datadir}/aclocal
 +install -m 644 docs/libcurl/libcurl.m4 $RPM_BUILD_ROOT/%{_datadir}/aclocal
 +
 +
 +# don't need curl's copy of the certs; use openssl's
 +find ${RPM_BUILD_ROOT} -name ca-bundle.crt -exec rm -f '{}' \;
 +rm -rf ${RPM_BUILD_ROOT}/usr/share/man
 +
 +%post -n libcurl -p /sbin/ldconfig
 +
 +%postun -n libcurl -p /sbin/ldconfig
 +
 +%files
 +%{_bindir}/curl
 +%license COPYING
 +
 +%files -n libcurl
 +%manifest %{name}.manifest
 +%{_libdir}/libcurl.so.*
 +%license COPYING
 +
 +%files -n libcurl-devel
 +%{_bindir}/curl-config*
 +%{_includedir}/curl
 +%{_libdir}/*.so
 +%{_libdir}/pkgconfig/*.pc
 +%{_datadir}/aclocal/libcurl.m4
diff --combined src/Makefile.am
@@@ -29,17 -29,13 +29,13 @@@ AUTOMAKE_OPTIONS = foreign nostdin
  # being currently built and tested are searched before the library which
  # might possibly already be installed in the system.
  #
- # $(top_builddir)/include/curl for generated curlbuild.h included from curl.h
- # $(top_builddir)/include for generated curlbuild.h inc. from lib/curl_setup.h
  # $(top_srcdir)/include is for libcurl's external include files
  # $(top_builddir)/lib is for libcurl's generated lib/curl_config.h file
  # $(top_builddir)/src is for curl's generated src/curl_config.h file
  # $(top_srcdir)/lib for libcurl's lib/curl_setup.h and other "borrowed" files
  # $(top_srcdir)/src is for curl's src/tool_setup.h and "curl-private" files
  
- AM_CPPFLAGS = -I$(top_builddir)/include/curl \
-               -I$(top_builddir)/include      \
-               -I$(top_srcdir)/include        \
+ AM_CPPFLAGS = -I$(top_srcdir)/include        \
                -I$(top_builddir)/lib          \
                -I$(top_builddir)/src          \
                -I$(top_srcdir)/lib            \
@@@ -47,6 -43,8 +43,8 @@@
  
  bin_PROGRAMS = curl
  
+ SUBDIRS = ../docs
  if USE_CPPFLAG_CURL_STATICLIB
  AM_CPPFLAGS += -DCURL_STATICLIB
  endif
@@@ -57,9 -55,7 +55,9 @@@ include Makefile.in
  curl_SOURCES = $(CURL_FILES)
  
  # This might hold -Werror
 -CFLAGS += @CURL_CFLAG_EXTRAS@
 +# Enable Position Independent Executable flag
 +CFLAGS += @CURL_CFLAG_EXTRAS@ -fPIE
 +LDFLAGS += -pie
  
  # Prevent LIBS from being used for all link targets
  LIBS = $(BLANK_AT_MAKETIME)
@@@ -72,7 -68,10 +70,10 @@@ endi
  
  curl_LDFLAGS = @LIBMETALINK_LDFLAGS@
  curl_CPPFLAGS = $(AM_CPPFLAGS) $(LIBMETALINK_CPPFLAGS)
- curl_DEPENDENCIES = $(top_builddir)/lib/libcurl.la
+ @CODE_COVERAGE_RULES@
+ curl_LDFLAGS += $(CODE_COVERAGE_LDFLAGS)
+ CFLAGS += $(CODE_COVERAGE_CFLAGS)
  
  # if unit tests are enabled, build a static library to link them with
  if BUILD_UNITTESTS
@@@ -84,7 -83,6 +85,6 @@@ libcurltool_la_LDFLAGS = -static $(LINK
  libcurltool_la_SOURCES = $(curl_SOURCES)
  endif
  
- BUILT_SOURCES = tool_hugehelp.c
  CLEANFILES = tool_hugehelp.c
  # Use the C locale to ensure that only ASCII characters appear in the
  # embedded text.
@@@ -95,7 -93,8 +95,8 @@@ EXTRA_DIST = mkhelp.pl makefile.dj Make
   macos/src/curl_GUSIConfig.cpp macos/src/macos_main.cpp makefile.amiga        \
   curl.rc Makefile.netware Makefile.inc Makefile.Watcom CMakeLists.txt
  
- MANPAGE=$(top_builddir)/docs/curl.1
+ # Use absolute directory to disable VPATH
+ MANPAGE=$(abs_top_builddir)/docs/curl.1
  README=$(top_srcdir)/docs/MANUAL
  MKHELP=$(top_srcdir)/src/mkhelp.pl
  HUGE=tool_hugehelp.c
@@@ -104,12 -103,12 +105,12 @@@ if USE_MANUA
  # Here are the stuff to create a built-in manual
  
  $(MANPAGE):
-       cd $(top_builddir)/docs && make curl.1
+       cd $(top_builddir)/docs && $(MAKE)
  
  if HAVE_LIBZ
  # This generates the tool_hugehelp.c file in both uncompressed and
- # compressed formats
- $(HUGE): $(README) $(MANPAGE)  mkhelp.pl
+ # compressed formats.
+ $(HUGE): $(MANPAGE) $(README) $(MKHELP)
        echo '#include "tool_setup.h"' > $(HUGE)
        echo '#ifndef HAVE_LIBZ' >> $(HUGE)
        $(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) $(README) >> $(HUGE)
        echo '#endif /* HAVE_LIBZ */' >> $(HUGE)
  else # HAVE_LIBZ
  # This generates the tool_hugehelp.c file uncompressed only
- $(HUGE): $(README) $(MANPAGE)  mkhelp.pl
+ $(HUGE): $(MANPAGE) $(README) $(MKHELP)
        echo '#include "tool_setup.h"' > $(HUGE)
        $(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) $(README) >> $(HUGE)
  endif