HTTP3: document the ngtcp2/nghttp3 versions to use for building curl
- refs #11011 to clarify this for people building curl themselves Closes #11019
This commit is contained in:
Родитель
7815647d65
Коммит
2079cb26a1
|
@ -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=<somewhere2> --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=<somewhere1>/lib/pkgconfig:<somewhere2>/lib/pkgconfig LDFLAGS="-Wl,-rpath,<somewhere1>/lib" --prefix=<somewhere3> --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=<somewhere2> --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=<somewhere1>/lib/pkgconfig:<somewhere2>/lib/pkgconfig LDFLAGS="-Wl,-rpath,<somewhere1>/lib" --prefix=<somewhere3> --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=<somewhere2> --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=<somewhere1>/lib/pkgconfig:<somewhere2>/lib/pkgconfig LDFLAGS="-Wl,-rpath,<somewhere1>/lib" --prefix=<somewhere3> --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:
|
||||
|
|
Загрузка…
Ссылка в новой задаче