node/deps/ngtcp2
Cheng Zhao 0fd14e4034
deps: cherry-pick win/arm64/clang fixes
Refs: ngtcp2/nghttp3#112
Refs: ngtcp2/ngtcp2#692
Refs: HdrHistogram/HdrHistogram_c#114
PR-URL: https://github.com/nodejs/node/pull/47011
Refs: https://github.com/ngtcp2/nghttp3/pull/112
Refs: https://github.com/ngtcp2/ngtcp2/pull/692
Refs: https://github.com/HdrHistogram/HdrHistogram_c/pull/114
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2023-03-19 09:25:47 +00:00
..
nghttp3/lib deps: cherry-pick win/arm64/clang fixes 2023-03-19 09:25:47 +00:00
ngtcp2 deps: cherry-pick win/arm64/clang fixes 2023-03-19 09:25:47 +00:00
.gitignore deps: add ngtcp2 and nghttp3 2021-03-19 08:18:37 -07:00
LICENSE_nghttp3 deps: add ngtcp2 and nghttp3 2021-03-19 08:18:37 -07:00
LICENSE_ngtcp2 deps: add ngtcp2 and nghttp3 2021-03-19 08:18:37 -07:00
README.md deps: update ngtcp2 update instructions 2022-09-18 12:43:55 +02:00
config.h deps: add ngtcp2 and nghttp3 2021-03-19 08:18:37 -07:00
ngtcp2.gyp deps: update to ngtcp2 0.8.1 and nghttp3 0.7.0 2022-09-18 12:06:09 +00:00

README.md

ngtcp2 and nghttp3

The ngtcp2 and nghttp3 dependencies provide the core functionality for QUIC and HTTP/3.

The sources are pulled from:

In both the ngtcp2 and nghttp3 git repos, the active development occurs in the default branch (currently named main in each). Tagged versions do not always point to the default branch.

We only use a subset of the sources for each.

Updating

The nghttp3 library depends on ngtcp2. Both should always be updated together. From ngtcp2 we only want the contents of the lib and crypto directories; from nghttp3 we only want the contents of the lib directory.

After updating either dependency, check if any source files or include directories have been added or removed and update ngtcp2.gyp accordingly.

Updating ngtcp2

To update ngtcp2, replace v0.8.1 with the desired git tag:

$ git clone --depth=1 --branch=v0.8.1 https://github.com/ngtcp2/ngtcp2
$ cd ngtcp2
$ autoreconf -i
$ ./configure --prefix=$PWD/build --enable-lib-only
$ cp -R lib/* ../node/deps/ngtcp2/ngtcp2/lib/
$ cp -R crypto/* ../node/deps/ngtcp2/ngtcp2/crypto/

Updating nghttp3

To update nghttp3, replace v0.7.0 with the desired git tag:

$ git clone --depth=1 --branch=v0.7.0 https://github.com/ngtcp2/nghttp3
$ cd nghttp3
$ autoreconf -i
$ ./configure --prefix=$PWD/build --enable-lib-only
$ cp -R lib/* ../node/deps/ngtcp2/nghttp3/lib/