string(APPEND CMAKE_C_FLAGS " ${RUSTLS_CFLAGS}")
endif()
+ if(NOT DEFINED HAVE_RUSTLS_SUPPORTED_HPKE)
+ if(RUSTLS_VERSION AND RUSTLS_VERSION VERSION_GREATER_EQUAL "0.15")
+ set(HAVE_RUSTLS_SUPPORTED_HPKE TRUE)
+ elseif(NOT RUSTLS_VERSION)
+ cmake_push_check_state()
+ list(APPEND CMAKE_REQUIRED_INCLUDES ${RUSTLS_INCLUDE_DIRS})
+ list(APPEND CMAKE_REQUIRED_LIBRARIES ${RUSTLS_LIBRARIES})
+ curl_required_libpaths("${RUSTLS_LIBRARY_DIRS}")
+ check_symbol_exists("rustls_supported_hpke" "rustls.h" HAVE_RUSTLS_SUPPORTED_HPKE)
+ cmake_pop_check_state()
+ endif()
+ endif()
+ if(NOT HAVE_RUSTLS_SUPPORTED_HPKE)
+ message(FATAL_ERROR "rustls-ffi library does not provide rustls_supported_hpke function. Required version is 0.15 or newer.")
+ endif()
+
if(CURL_DEFAULT_SSL_BACKEND AND CURL_DEFAULT_SSL_BACKEND STREQUAL "rustls")
set(_valid_default_ssl_backend TRUE)
endif()
else
RUSTLS_LDFLAGS="-lpthread -ldl -lm"
fi
- AC_CHECK_LIB(rustls, rustls_connection_read,
- [
- AC_DEFINE(USE_RUSTLS, 1, [if Rustls is enabled])
- RUSTLS_ENABLED=1
- USE_RUSTLS="yes"
- ssl_msg="rustls"
- test rustls != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
- ],
- AC_MSG_ERROR([--with-rustls was specified but could not find Rustls.]),
- $RUSTLS_LDFLAGS)
LIB_RUSTLS="$PREFIX_RUSTLS/lib$libsuff"
if test "$PREFIX_RUSTLS" != "/usr" ; then
SSL_LDFLAGS="-L$LIB_RUSTLS $RUSTLS_LDFLAGS"
SSL_CPPFLAGS="-I$PREFIX_RUSTLS/include"
fi
+
+ dnl we will verify AC_CHECK_LIB later on
+ AC_DEFINE(USE_RUSTLS, 1, [if Rustls is enabled])
+ USE_RUSTLS="yes"
fi
;;
esac
if test -n "$link_pkgconfig"; then
LIBCURL_PC_REQUIRES_PRIVATE="$LIBCURL_PC_REQUIRES_PRIVATE rustls"
fi
+
+ AC_CHECK_LIB(rustls, rustls_supported_hpke,
+ [
+ AC_DEFINE(USE_RUSTLS, 1, [if Rustls is enabled])
+ RUSTLS_ENABLED=1
+ USE_RUSTLS="yes"
+ ssl_msg="rustls"
+ test rustls != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
+ ],
+ AC_MSG_ERROR([--with-rustls was specified but could not find compatible Rustls.]),
+ $RUSTLS_LDFLAGS)
fi
test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"