AC_DEFUN([CURL_CHECK_OPENSSL_API_HEADERS], [
tst_api="unknown"
AC_MSG_CHECKING([for OpenSSL headers version])
CURL_CHECK_DEF([OPENSSL_VERSION_NUMBER], [
], [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" ;;
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])
curl_openssl_api_headers=$tst_api
])
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_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" ;;
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])
curl_openssl_api_library=$tst_api
])
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
])