Skip to content

Commit

Permalink
travis: simplify quiche build instructions wrt boringssl
Browse files Browse the repository at this point in the history
quiche already has a suitable copy of boringssl as submodule which is
known to work. Reuse that.
  • Loading branch information
Lekensteyn committed May 14, 2020
1 parent 9f6c0b9 commit 734c4cb
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 22 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ jobs:
before_install:
- eval "$(gimme stable)"; gimme --list # Install latest Go (for boringssl)
- env:
- T=novalgrind BORINGSSL=yes QUICHE="yes" C="--with-ssl=$HOME/boringssl --with-quiche=$HOME/quiche/target/release --enable-alt-svc" LD_LIBRARY_PATH=/home/travis/boringssl/lib:$HOME/quiche/target/release:/usr/local/lib
- T=novalgrind QUICHE="yes" C="--with-ssl=$HOME/quiche/deps/boringssl --with-quiche=$HOME/quiche/target/release --enable-alt-svc" LD_LIBRARY_PATH=$HOME/quiche/target/release:/usr/local/lib
- OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
before_install:
- eval "$(gimme stable)"; gimme --list # Install latest Go (for boringssl)
Expand Down
24 changes: 5 additions & 19 deletions docs/HTTP3.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,34 +112,20 @@ Build curl

## build

Clone quiche and BoringSSL:
Build quiche and BoringSSL:

% git clone --recursive https://github.com/cloudflare/quiche

Build BoringSSL (it needs to be built manually so it can be reused with curl):

% cd quiche/deps/boringssl
% mkdir build
% cd build
% cmake -DCMAKE_POSITION_INDEPENDENT_CODE=on ..
% make
% cd ..
% mkdir -p .openssl/lib
% cp build/crypto/libcrypto.a build/ssl/libssl.a .openssl/lib
% ln -s $PWD/include .openssl

Build quiche:

% cd ../..
% QUICHE_BSSL_PATH=$PWD/deps/boringssl cargo build --release --features pkg-config-meta,qlog
% cargo build --release --features pkg-config-meta,qlog
% mkdir deps/boringssl/lib
% ln -vnf $(find target/release -name libcrypto.a -o -name libssl.a) deps/boringssl/lib/

Build curl:

% cd ..
% git clone https://github.com/curl/curl
% cd curl
% ./buildconf
% ./configure LDFLAGS="-Wl,-rpath,$PWD/../quiche/target/release" --with-ssl=$PWD/../quiche/deps/boringssl/.openssl --with-quiche=$PWD/../quiche/target/release --enable-alt-svc
% ./configure LDFLAGS="-Wl,-rpath,$PWD/../quiche/target/release" --with-ssl=$PWD/../quiche/deps/boringssl --with-quiche=$PWD/../quiche/target/release --enable-alt-svc
% make

## Run
Expand Down
6 changes: 4 additions & 2 deletions scripts/travis/before_script.sh
Original file line number Diff line number Diff line change
Expand Up @@ -91,11 +91,13 @@ fi

if [ "$TRAVIS_OS_NAME" = linux -a "$QUICHE" ]; then
cd $HOME
git clone --depth=1 https://github.com/cloudflare/quiche.git
git clone --depth=1 --recursive https://github.com/cloudflare/quiche.git
curl https://sh.rustup.rs -sSf | sh -s -- -y
source $HOME/.cargo/env
cd $HOME/quiche
QUICHE_BSSL_PATH=$HOME/boringssl cargo build -v --release --features pkg-config-meta,qlog
cargo build -v --release --features pkg-config-meta,qlog
mkdir -v deps/boringssl/lib
ln -vnf $(find target/release -name libcrypto.a -o -name libssl.a) deps/boringssl/lib/
fi

# Install common libraries.
Expand Down

0 comments on commit 734c4cb

Please sign in to comment.