mirror of
https://github.com/moparisthebest/curl
synced 2024-12-24 09:08:49 -05:00
configure: add --with-hyper
As the first (optional) HTTP backend alternative instead of native Close #6110
This commit is contained in:
parent
ff4d2c2a05
commit
c263e583c2
102
configure.ac
102
configure.ac
@ -166,7 +166,9 @@ curl_verbose_msg="enabled (--disable-verbose)"
|
|||||||
curl_psl_msg="no (--with-libpsl)"
|
curl_psl_msg="no (--with-libpsl)"
|
||||||
curl_altsvc_msg="enabled";
|
curl_altsvc_msg="enabled";
|
||||||
ssl_backends=
|
ssl_backends=
|
||||||
|
curl_h1_msg="enabled (--with-hyper)"
|
||||||
|
curl_h2_msg="no (--with-nghttp2)"
|
||||||
|
curl_h3_msg="no (--with-ngtcp2, --with-quiche)"
|
||||||
|
|
||||||
enable_altsvc="yes"
|
enable_altsvc="yes"
|
||||||
|
|
||||||
@ -389,6 +391,7 @@ AC_HELP_STRING([--disable-http],[Disable HTTP support]),
|
|||||||
AC_SUBST(CURL_DISABLE_RTSP, [1])
|
AC_SUBST(CURL_DISABLE_RTSP, [1])
|
||||||
dnl toggle off alt-svc too when HTTP is disabled
|
dnl toggle off alt-svc too when HTTP is disabled
|
||||||
AC_DEFINE(CURL_DISABLE_ALTSVC, 1, [disable alt-svc])
|
AC_DEFINE(CURL_DISABLE_ALTSVC, 1, [disable alt-svc])
|
||||||
|
curl_h1_msg="no (--enable-http, --with-hyper)"
|
||||||
curl_altsvc_msg="no";
|
curl_altsvc_msg="no";
|
||||||
enable_altsvc="no"
|
enable_altsvc="no"
|
||||||
;;
|
;;
|
||||||
@ -3552,7 +3555,6 @@ case "$OPT_H2" in
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
curl_h2_msg="no (--with-nghttp2)"
|
|
||||||
if test X"$want_h2" != Xno; then
|
if test X"$want_h2" != Xno; then
|
||||||
dnl backup the pre-nghttp2 variables
|
dnl backup the pre-nghttp2 variables
|
||||||
CLEANLDFLAGS="$LDFLAGS"
|
CLEANLDFLAGS="$LDFLAGS"
|
||||||
@ -3611,7 +3613,6 @@ dnl Check for ngtcp2 (QUIC)
|
|||||||
dnl **********************************************************************
|
dnl **********************************************************************
|
||||||
|
|
||||||
OPT_TCP2="yes"
|
OPT_TCP2="yes"
|
||||||
curl_h3_msg="no (--with-ngtcp2, --with-quiche)"
|
|
||||||
|
|
||||||
if test "x$disable_http" = "xyes"; then
|
if test "x$disable_http" = "xyes"; then
|
||||||
# without HTTP, ngtcp2 is no use
|
# without HTTP, ngtcp2 is no use
|
||||||
@ -3987,6 +3988,98 @@ if test X"$want_quiche" != Xno; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
dnl **********************************************************************
|
||||||
|
dnl Check for Hyper
|
||||||
|
dnl **********************************************************************
|
||||||
|
|
||||||
|
OPT_HYPER="yes"
|
||||||
|
|
||||||
|
if test "x$disable_http" = "xyes"; then
|
||||||
|
# without HTTP, hyper is of no use
|
||||||
|
OPT_HYPER="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_ARG_WITH(hyper,
|
||||||
|
AC_HELP_STRING([--with-hyper=PATH],[Enable hyper usage])
|
||||||
|
AC_HELP_STRING([--without-hyper],[Disable hyper usage]),
|
||||||
|
[OPT_HYPER=$withval])
|
||||||
|
case "$OPT_HYPER" in
|
||||||
|
no)
|
||||||
|
dnl --without-hyper option used
|
||||||
|
want_hyper="no"
|
||||||
|
;;
|
||||||
|
yes)
|
||||||
|
dnl --with-hyper option used without path
|
||||||
|
want_hyper="default"
|
||||||
|
want_hyper_path=""
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
dnl --with-hyper option used with path
|
||||||
|
want_hyper="yes"
|
||||||
|
want_hyper_path="$withval"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if test X"$want_hyper" != Xno; then
|
||||||
|
dnl backup the pre-hyper variables
|
||||||
|
CLEANLDFLAGS="$LDFLAGS"
|
||||||
|
CLEANCPPFLAGS="$CPPFLAGS"
|
||||||
|
CLEANLIBS="$LIBS"
|
||||||
|
|
||||||
|
CURL_CHECK_PKGCONFIG(hyper, $want_hyper_path)
|
||||||
|
|
||||||
|
if test "$PKGCONFIG" != "no" ; then
|
||||||
|
LIB_HYPER=`CURL_EXPORT_PCDIR([$want_hyper_path])
|
||||||
|
$PKGCONFIG --libs-only-l hyper`
|
||||||
|
CPP_HYPER=`CURL_EXPORT_PCDIR([$want_hyper_path]) dnl
|
||||||
|
$PKGCONFIG --cflags-only-I hyper`
|
||||||
|
LD_HYPER=`CURL_EXPORT_PCDIR([$want_hyper_path])
|
||||||
|
$PKGCONFIG --libs-only-L hyper`
|
||||||
|
else
|
||||||
|
dnl no hyper pkg-config found
|
||||||
|
LIB_HYPER="-lhyper"
|
||||||
|
if test X"$want_hyper" != Xdefault; then
|
||||||
|
CPP_HYPER=-I"$want_hyper_path/capi/include"
|
||||||
|
LD_HYPER="-L$want_hyper_path/target/debug"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test -n "$LIB_HYPER"; then
|
||||||
|
AC_MSG_NOTICE([-l is $LIB_HYPER])
|
||||||
|
AC_MSG_NOTICE([-I is $CPP_HYPER])
|
||||||
|
AC_MSG_NOTICE([-L is $LD_HYPER])
|
||||||
|
|
||||||
|
LDFLAGS="$LDFLAGS $LD_HYPER"
|
||||||
|
CPPFLAGS="$CPPFLAGS $CPP_HYPER"
|
||||||
|
LIBS="$LIB_HYPER $LIBS"
|
||||||
|
|
||||||
|
if test "x$cross_compiling" != "xyes"; then
|
||||||
|
DIR_HYPER=`echo $LD_HYPER | $SED -e 's/^-L//'`
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_CHECK_LIB(hyper, hyper_io_new,
|
||||||
|
[
|
||||||
|
AC_CHECK_HEADERS(hyper.h,
|
||||||
|
experimental="$experimental Hyper"
|
||||||
|
AC_MSG_NOTICE([Hyper support is experimental])
|
||||||
|
curl_h1_msg="enabled (Hyper)"
|
||||||
|
curl_h2_msg=$curl_h1_msg
|
||||||
|
HYPER_ENABLED=1
|
||||||
|
AC_DEFINE(USE_HYPER, 1, [if hyper is in use])
|
||||||
|
AC_SUBST(USE_HYPER, [1])
|
||||||
|
CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_HYPER"
|
||||||
|
export CURL_LIBRARY_PATH
|
||||||
|
AC_MSG_NOTICE([Added $DIR_HYPER to CURL_LIBRARY_PATH]),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
dnl not found, revert back to clean variables
|
||||||
|
LDFLAGS=$CLEANLDFLAGS
|
||||||
|
CPPFLAGS=$CLEANCPPFLAGS
|
||||||
|
LIBS=$CLEANLIBS
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
dnl **********************************************************************
|
dnl **********************************************************************
|
||||||
dnl Check for zsh completion path
|
dnl Check for zsh completion path
|
||||||
dnl **********************************************************************
|
dnl **********************************************************************
|
||||||
@ -5045,7 +5138,7 @@ if test "x$USE_TLS_SRP" = "x1"; then
|
|||||||
SUPPORT_FEATURES="$SUPPORT_FEATURES TLS-SRP"
|
SUPPORT_FEATURES="$SUPPORT_FEATURES TLS-SRP"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "x$USE_NGHTTP2" = "x1"; then
|
if test "x$USE_NGHTTP2" = "x1" -o "x$USE_HYPER" = "x1"; then
|
||||||
SUPPORT_FEATURES="$SUPPORT_FEATURES HTTP2"
|
SUPPORT_FEATURES="$SUPPORT_FEATURES HTTP2"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -5265,6 +5358,7 @@ AC_MSG_NOTICE([Configured to build curl/libcurl:
|
|||||||
Metalink: ${curl_mtlnk_msg}
|
Metalink: ${curl_mtlnk_msg}
|
||||||
PSL: ${curl_psl_msg}
|
PSL: ${curl_psl_msg}
|
||||||
Alt-svc: ${curl_altsvc_msg}
|
Alt-svc: ${curl_altsvc_msg}
|
||||||
|
HTTP1: ${curl_h1_msg}
|
||||||
HTTP2: ${curl_h2_msg}
|
HTTP2: ${curl_h2_msg}
|
||||||
HTTP3: ${curl_h3_msg}
|
HTTP3: ${curl_h3_msg}
|
||||||
ECH: ${curl_ech_msg}
|
ECH: ${curl_ech_msg}
|
||||||
|
Loading…
Reference in New Issue
Block a user