# 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
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
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
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
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
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
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
# 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: