summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorDavid Hu <81270448+D4v1dH03@users.noreply.github.com>2021-10-11 18:38:01 -0700
committerDaniel Stenberg <daniel@haxx.se>2021-10-25 11:17:08 +0200
commitc2e804ca47cc82f5a6fadd6a64841b5977be499a (patch)
tree6a1b5b158abb050ab4a562b937576957640715a6 /docs
parent45ee97eb187076825f45c92c0b010952ccbb7b82 (diff)
downloadcurl-c2e804ca47cc82f5a6fadd6a64841b5977be499a.tar.gz
docs/HTTP3: improve build instructions
1. If writing to a system path if the command is not prefixed with `sudo` it will cause a permission denied error 2. The patched OpenSSL branch has been updated to `openssl-3.0.0+quic` to match upstream OpenSSL version. 3. We should not disable GnuTLS docs. Updated some commands about `make install` Closes #7842
Diffstat (limited to 'docs')
-rw-r--r--docs/HTTP3.md21
1 files changed, 14 insertions, 7 deletions
diff --git a/docs/HTTP3.md b/docs/HTTP3.md
index 89a0b12ac..d3a6646f4 100644
--- a/docs/HTTP3.md
+++ b/docs/HTTP3.md
@@ -33,18 +33,18 @@ in the master branch using pull-requests, just like ordinary changes.
Build (patched) OpenSSL
- % git clone --depth 1 -b OpenSSL_1_1_1k+quic https://github.com/quictls/openssl
+ % git clone --depth 1 -b openssl-3.0.0+quic https://github.com/quictls/openssl
% cd openssl
% ./config enable-tls1_3 --prefix=<somewhere1>
% make
- % make install_sw
+ % make install
Build nghttp3
% cd ..
% git clone https://github.com/ngtcp2/nghttp3
% cd nghttp3
- % autoreconf -i
+ % autoreconf -fi
% ./configure --prefix=<somewhere2> --enable-lib-only
% make
% make install
@@ -54,7 +54,7 @@ Build ngtcp2
% cd ..
% git clone https://github.com/ngtcp2/ngtcp2
% cd ngtcp2
- % autoreconf -i
+ % autoreconf -fi
% ./configure PKG_CONFIG_PATH=<somewhere1>/lib/pkgconfig:<somewhere2>/lib/pkgconfig LDFLAGS="-Wl,-rpath,<somewhere1>/lib" --prefix=<somewhere3> --enable-lib-only
% make
% make install
@@ -67,6 +67,9 @@ Build curl
% autoreconf -fi
% LDFLAGS="-Wl,-rpath,<somewhere1>/lib" ./configure --with-openssl=<somewhere1> --with-nghttp3=<somewhere2> --with-ngtcp2=<somewhere3>
% make
+ % make install
+
+For OpenSSL 3.0.0 or later builds on Linux for x86_64 architecture, substitute all occurances of "/lib" with "/lib64"
## Build with GnuTLS
@@ -75,7 +78,7 @@ Build GnuTLS
% git clone --depth 1 https://gitlab.com/gnutls/gnutls.git
% cd gnutls
% ./bootstrap
- % ./configure --disable-doc --prefix=<somewhere1>
+ % ./configure --prefix=<somewhere1>
% make
% make install
@@ -84,7 +87,7 @@ Build nghttp3
% cd ..
% git clone https://github.com/ngtcp2/nghttp3
% cd nghttp3
- % autoreconf -i
+ % autoreconf -fi
% ./configure --prefix=<somewhere2> --enable-lib-only
% make
% make install
@@ -94,7 +97,7 @@ Build ngtcp2
% cd ..
% git clone https://github.com/ngtcp2/ngtcp2
% cd ngtcp2
- % autoreconf -i
+ % autoreconf -fi
% ./configure PKG_CONFIG_PATH=<somewhere1>/lib/pkgconfig:<somewhere2>/lib/pkgconfig LDFLAGS="-Wl,-rpath,<somewhere1>/lib" --prefix=<somewhere3> --enable-lib-only --with-gnutls
% make
% make install
@@ -107,6 +110,7 @@ Build curl
% autoreconf -fi
% ./configure --without-openssl --with-gnutls=<somewhere1> --with-nghttp3=<somewhere2> --with-ngtcp2=<somewhere3>
% make
+ % make install
# quiche version
@@ -128,6 +132,9 @@ Build curl:
% autoreconf -fi
% ./configure LDFLAGS="-Wl,-rpath,$PWD/../quiche/target/release" --with-openssl=$PWD/../quiche/deps/boringssl/src --with-quiche=$PWD/../quiche/target/release
% make
+ % make install
+
+ If `make install` results in `Permission denied` error, you will need to prepend it with `sudo`.
## Run