curl_tcp2_msg="no (--with-ngtcp2)"
if test X"$want_tcp2" != Xno; then
+
+ if test "$QUIC_ENABLED" != "yes"; then
+ AC_MSG_ERROR([the detected TLS library does not support QUIC, making --with-ngtcp2 a no-no])
+ fi
+
dnl backup the pre-ngtcp2 variables
CLEANLDFLAGS="$LDFLAGS"
CLEANCPPFLAGS="$CPPFLAGS"
curl_http3_msg="no (--with-nghttp3)"
if test X"$want_nghttp3" != Xno; then
+
+ if test "$NGTCP2_ENABLED" != "1"; then
+ AC_MSG_ERROR([--with-nghttp3 also requires --with-ntcp2])
+ fi
+
dnl backup the pre-nghttp3 variables
CLEANLDFLAGS="$LDFLAGS"
CLEANCPPFLAGS="$CPPFLAGS"
if test X"$want_quiche" != Xno; then
+ if test "$QUIC_ENABLED" != "yes"; then
+ AC_MSG_ERROR([the detected TLS library does not support QUIC, making --with-quiche a no-no])
+ fi
+
if test "$NGHTTP3_ENABLED" = 1; then
AC_MSG_ERROR([--with-quiche and --with-ngtcp2 are mutually exclusive])
fi
if test X"$want_msh3" != Xno; then
+ dnl msh3 on non-Windows needs an OpenSSL with the QUIC API
+ if test "$curl_cv_native_windows" != "yes"; then
+ if test "$QUIC_ENABLED" != "yes"; then
+ AC_MSG_ERROR([the detected TLS library does not support QUIC, making --with-msh3 a no-no])
+ fi
+ if test "$OPENSSL_ENABLED" != "1"; then
+ AC_MSG_ERROR([msh3 requires OpenSSL])
+ fi
+ fi
+
if test "$NGHTTP3_ENABLED" = 1; then
AC_MSG_ERROR([--with-msh3 and --with-ngtcp2 are mutually exclusive])
fi
])
fi
+ dnl is this OpenSSL (fork) providing the original QUIC API?
+ AC_CHECK_FUNCS([SSL_set_quic_use_legacy_codepoint],
+ [QUIC_ENABLED=yes])
+ if test "$QUIC_ENABLED" = "yes"; then
+ AC_MSG_NOTICE([OpenSSL fork speaks QUIC API])
+ else
+ AC_MSG_NOTICE([OpenSSL version does not speak QUIC API])
+ fi
+
if test "$OPENSSL_ENABLED" = "1"; then
if test -n "$LIB_OPENSSL"; then
dnl when the ssl shared libs were found in a path that the run-time