From: Stefan Eissing Date: Tue, 25 Apr 2023 10:05:54 +0000 (+0200) Subject: HTTP3: document the ngtcp2/nghttp3 versions to use for building curl X-Git-Tag: curl-8_1_0~85 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2079cb26a19049803ceabce8bab18f7791450c08;p=thirdparty%2Fcurl.git HTTP3: document the ngtcp2/nghttp3 versions to use for building curl - refs #11011 to clarify this for people building curl themselves Closes #11019 --- diff --git a/docs/HTTP3.md b/docs/HTTP3.md index dc1befee46..5c58fd974e 100644 --- a/docs/HTTP3.md +++ b/docs/HTTP3.md @@ -35,6 +35,13 @@ To fix before we remove the experimental label: # ngtcp2 version +Building curl with ngtcp2 involves 3 components: `ngtcp2` itself, `nghttp3` and a QUIC supporting TLS library. The supported TLS libraries are covered below. + +For now, `ngtcp2` and `nghttp3` are still *experimental* which means their evolution bring breaking changes. Therefore, the proper version of both libraries need to be used when building curl. These are + + * `ngtcp2`: v0.13.1 + * `nghttp3`: v0.10.0 + ## Build with OpenSSL Build (patched) OpenSSL @@ -48,7 +55,7 @@ Build (patched) OpenSSL Build nghttp3 % cd .. - % git clone https://github.com/ngtcp2/nghttp3 + % git clone -b v0.10.0 https://github.com/ngtcp2/nghttp3 % cd nghttp3 % autoreconf -fi % ./configure --prefix= --enable-lib-only @@ -58,7 +65,7 @@ Build nghttp3 Build ngtcp2 % cd .. - % git clone https://github.com/ngtcp2/ngtcp2 + % git clone -b v0.13.1 https://github.com/ngtcp2/ngtcp2 % cd ngtcp2 % autoreconf -fi % ./configure PKG_CONFIG_PATH=/lib/pkgconfig:/lib/pkgconfig LDFLAGS="-Wl,-rpath,/lib" --prefix= --enable-lib-only @@ -91,7 +98,7 @@ Build GnuTLS Build nghttp3 % cd .. - % git clone https://github.com/ngtcp2/nghttp3 + % git clone -b v0.10.0 https://github.com/ngtcp2/nghttp3 % cd nghttp3 % autoreconf -fi % ./configure --prefix= --enable-lib-only @@ -101,7 +108,7 @@ Build nghttp3 Build ngtcp2 % cd .. - % git clone https://github.com/ngtcp2/ngtcp2 + % git clone -b v0.13.1 https://github.com/ngtcp2/ngtcp2 % cd ngtcp2 % autoreconf -fi % ./configure PKG_CONFIG_PATH=/lib/pkgconfig:/lib/pkgconfig LDFLAGS="-Wl,-rpath,/lib" --prefix= --enable-lib-only --with-gnutls @@ -132,7 +139,7 @@ Build wolfSSL Build nghttp3 % cd .. - % git clone https://github.com/ngtcp2/nghttp3 + % git clone -b v0.10.0 https://github.com/ngtcp2/nghttp3 % cd nghttp3 % autoreconf -fi % ./configure --prefix= --enable-lib-only @@ -142,7 +149,7 @@ Build nghttp3 Build ngtcp2 % cd .. - % git clone https://github.com/ngtcp2/ngtcp2 + % git clone -b v0.13.1 https://github.com/ngtcp2/ngtcp2 % cd ngtcp2 % autoreconf -fi % ./configure PKG_CONFIG_PATH=/lib/pkgconfig:/lib/pkgconfig LDFLAGS="-Wl,-rpath,/lib" --prefix= --enable-lib-only --with-wolfssl @@ -161,6 +168,8 @@ Build curl # quiche version +Since the quiche build manages its dependencies, curl can be built against the latest version. You are *probably* able to build against their main branch, but in case of problems, we recommend their latest release tag. + ## build Build quiche and BoringSSL: