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)
## 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:
% 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
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.