diff options
author | Bertrand SIMONNET <bsimonnet@google.com> | 2015-07-01 15:39:44 -0700 |
---|---|---|
committer | Bertrand SIMONNET <bsimonnet@google.com> | 2015-07-08 10:51:12 -0700 |
commit | e6cd738ed3716c02557fb3a47515244e949ade39 (patch) | |
tree | 8d093306c27b850f828317ed67d6efea3ec7e084 /m4/curl-openssl.m4 | |
parent | d43abe883892fe84137052fd27ecd956a2c7cacf (diff) | |
download | external_curl-e6cd738ed3716c02557fb3a47515244e949ade39.tar.gz external_curl-e6cd738ed3716c02557fb3a47515244e949ade39.tar.bz2 external_curl-e6cd738ed3716c02557fb3a47515244e949ade39.zip |
Import curl 7.43
This is a simple import of curl 7.43.
The only change from the official release is the fact that the
Android.mk was removed to avoid build error trying to parse it.
BUG: 22347561
Change-Id: I52ef6798d30b25d22d1f62770d571adec8bcf4d5
Diffstat (limited to 'm4/curl-openssl.m4')
-rw-r--r-- | m4/curl-openssl.m4 | 269 |
1 files changed, 269 insertions, 0 deletions
diff --git a/m4/curl-openssl.m4 b/m4/curl-openssl.m4 new file mode 100644 index 00000000..5f5f87ae --- /dev/null +++ b/m4/curl-openssl.m4 @@ -0,0 +1,269 @@ +#*************************************************************************** +# _ _ ____ _ +# Project ___| | | | _ \| | +# / __| | | | |_) | | +# | (__| |_| | _ <| |___ +# \___|\___/|_| \_\_____| +# +# Copyright (C) 1998 - 2011, 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 +# are also available at http://curl.haxx.se/docs/copyright.html. +# +# You may opt to use, copy, modify, merge, publish, distribute and/or sell +# copies of the Software, and permit persons to whom the Software is +# furnished to do so, under the terms of the COPYING file. +# +# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY +# KIND, either express or implied. +# +#*************************************************************************** + +# File version for 'aclocal' use. Keep it a single number. +# serial 5 + + +dnl CURL_CHECK_OPENSSL_API_HEADERS +dnl ------------------------------------------------- +dnl Find out OpenSSL headers API version, as reported +dnl by OPENSSL_VERSION_NUMBER. No runtime checks +dnl allowed here for cross-compilation support. +dnl HAVE_OPENSSL_API_HEADERS is defined as apprpriate +dnl only for systems which actually run the configure +dnl script. Config files generated manually or in any +dnl other way shall not define this. + +AC_DEFUN([CURL_CHECK_OPENSSL_API_HEADERS], [ + # + tst_api="unknown" + # + AC_MSG_CHECKING([for OpenSSL headers version]) + CURL_CHECK_DEF([OPENSSL_VERSION_NUMBER], [ +# ifdef USE_OPENSSL +# include <openssl/crypto.h> +# else +# include <crypto.h> +# endif + ], [silent]) + if test "$curl_cv_have_def_OPENSSL_VERSION_NUMBER" = "yes"; then + tst_verlen=`expr "$curl_cv_def_OPENSSL_VERSION_NUMBER" : '.*'` + case "x$tst_verlen" in + x6) + tst_vermaj=`echo $curl_cv_def_OPENSSL_VERSION_NUMBER | cut -c 3` + tst_vermin=`echo $curl_cv_def_OPENSSL_VERSION_NUMBER | cut -c 4` + tst_verfix=`echo $curl_cv_def_OPENSSL_VERSION_NUMBER | cut -c 5` + tst_api=0x$tst_vermaj$tst_vermin$tst_verfix + ;; + x11|x10) + tst_vermaj=`echo $curl_cv_def_OPENSSL_VERSION_NUMBER | cut -c 3` + tst_vermin=`echo $curl_cv_def_OPENSSL_VERSION_NUMBER | cut -c 5` + tst_verfix=`echo $curl_cv_def_OPENSSL_VERSION_NUMBER | cut -c 7` + tst_api=0x$tst_vermaj$tst_vermin$tst_verfix + ;; + *) + tst_api="unknown" + ;; + esac + case $tst_api in + 0x110) tst_show="1.1.0" ;; + 0x102) tst_show="1.0.2" ;; + 0x101) tst_show="1.0.1" ;; + 0x100) tst_show="1.0.0" ;; + 0x099) tst_show="0.9.9" ;; + 0x098) tst_show="0.9.8" ;; + 0x097) tst_show="0.9.7" ;; + 0x096) tst_show="0.9.6" ;; + 0x095) tst_show="0.9.5" ;; + 0x094) tst_show="0.9.4" ;; + 0x093) tst_show="0.9.3" ;; + 0x092) tst_show="0.9.2" ;; + 0x091) tst_show="0.9.1" ;; + *) tst_show="unknown" ;; + esac + tst_show="$tst_show - $curl_cv_def_OPENSSL_VERSION_NUMBER" + else + tst_show="unknown" + fi + AC_MSG_RESULT([$tst_show]) + # +dnl if test "$tst_api" != "unknown"; then +dnl AC_DEFINE_UNQUOTED(HAVE_OPENSSL_API_HEADERS, $tst_api, +dnl [OpenSSL headers configure time API. Defined only by configure script. +dnl No matter what, do not ever define this manually or by any other means.]) +dnl fi + curl_openssl_api_headers=$tst_api +]) + + +dnl CURL_CHECK_OPENSSL_API_LIBRARY +dnl ------------------------------------------------- +dnl Find out OpenSSL library API version, performing +dnl only link tests in order to avoid getting fooled +dnl by mismatched OpenSSL headers. No runtime checks +dnl allowed here for cross-compilation support. +dnl HAVE_OPENSSL_API_LIBRARY is defined as apprpriate +dnl only for systems which actually run the configure +dnl script. Config files generated manually or in any +dnl other way shall not define this. +dnl +dnl Most probably we should not bother attempting to +dnl detect OpenSSL library development API versions +dnl 0.9.9 and 1.1.0. For our intended use, detecting +dnl released versions should be good enough. +dnl +dnl Given that currently we are not using the result +dnl of this check, except for informative purposes, +dnl lets try to figure out everything. + +AC_DEFUN([CURL_CHECK_OPENSSL_API_LIBRARY], [ + # + tst_api="unknown" + # + AC_MSG_CHECKING([for OpenSSL library version]) + if test "$tst_api" = "unknown"; then + case $host in + *-*-vms*) + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([SSL_CTX_set_not_resumbl_sess_cb]) + ],[ + tst_api="0x110" + ]) + ;; + *) + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([SSL_CTX_set_not_resumable_session_callback]) + ],[ + tst_api="0x110" + ]) + ;; + esac + fi + if test "$tst_api" = "unknown"; then + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([SSL_CONF_CTX_new]) + ],[ + tst_api="0x102" + ]) + fi + if test "$tst_api" = "unknown"; then + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([SSL_renegotiate_abbreviated]) + ],[ + tst_api="0x101" + ]) + fi + if test "$tst_api" = "unknown"; then + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([OBJ_add_sigid]) + ],[ + tst_api="0x100" + ]) + fi + if test "$tst_api" = "unknown"; then + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([ERR_set_mark]) + ],[ + tst_api="0x098" + ]) + fi + if test "$tst_api" = "unknown"; then + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([ERR_peek_last_error]) + ],[ + tst_api="0x097" + ]) + fi + if test "$tst_api" = "unknown"; then + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([c2i_ASN1_OBJECT]) + ],[ + tst_api="0x096" + ]) + fi + if test "$tst_api" = "unknown"; then + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([SSL_CTX_set_purpose]) + ],[ + tst_api="0x095" + ]) + fi + if test "$tst_api" = "unknown"; then + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([OBJ_obj2txt]) + ],[ + tst_api="0x094" + ]) + fi + if test "$tst_api" = "unknown"; then + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([SSL_get_verify_depth]) + ],[ + tst_api="0x093" + ]) + fi + if test "$tst_api" = "unknown"; then + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([SSL_library_init]) + ],[ + tst_api="0x092" + ]) + fi + if test "$tst_api" = "unknown"; then + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([SSL_CTX_set_cipher_list]) + ],[ + tst_api="0x091" + ]) + fi + case $tst_api in + 0x110) tst_show="1.1.0" ;; + 0x102) tst_show="1.0.2" ;; + 0x101) tst_show="1.0.1" ;; + 0x100) tst_show="1.0.0" ;; + 0x099) tst_show="0.9.9" ;; + 0x098) tst_show="0.9.8" ;; + 0x097) tst_show="0.9.7" ;; + 0x096) tst_show="0.9.6" ;; + 0x095) tst_show="0.9.5" ;; + 0x094) tst_show="0.9.4" ;; + 0x093) tst_show="0.9.3" ;; + 0x092) tst_show="0.9.2" ;; + 0x091) tst_show="0.9.1" ;; + *) tst_show="unknown" ;; + esac + AC_MSG_RESULT([$tst_show]) + # +dnl if test "$tst_api" != "unknown"; then +dnl AC_DEFINE_UNQUOTED(HAVE_OPENSSL_API_LIBRARY, $tst_api, +dnl [OpenSSL library link time API. Defined only by configure script. +dnl No matter what, do not ever define this manually or by any other means.]) +dnl fi + curl_openssl_api_library=$tst_api +]) + + +dnl CURL_CHECK_OPENSSL_API +dnl ------------------------------------------------- + +AC_DEFUN([CURL_CHECK_OPENSSL_API], [ + # + CURL_CHECK_OPENSSL_API_HEADERS + CURL_CHECK_OPENSSL_API_LIBRARY + # + tst_match="yes" + # + AC_MSG_CHECKING([for OpenSSL headers and library versions matching]) + if test "$curl_openssl_api_headers" = "unknown" || + test "$curl_openssl_api_library" = "unknown"; then + tst_match="fail" + tst_warns="Can not compare OpenSSL headers and library versions." + elif test "$curl_openssl_api_headers" != "$curl_openssl_api_library"; then + tst_match="no" + tst_warns="OpenSSL headers and library versions do not match." + fi + AC_MSG_RESULT([$tst_match]) + if test "$tst_match" != "yes"; then + AC_MSG_WARN([$tst_warns]) + fi +]) |