1dist: xenial 2language: cpp 3os: 4 - osx 5 - linux 6osx_image: xcode11 7compiler: 8 - clang 9 - gcc 10env: 11 - CI_BUILD=cmake 12 - CI_BUILD=autotools 13matrix: 14 exclude: 15 # Exclude gcc build (Need some work) with osx 16 - os: osx 17 compiler: gcc 18addons: 19 apt: 20 sources: 21 - ubuntu-toolchain-r-test 22 packages: 23 - g++-8 24 - autoconf 25 - automake 26 - autotools-dev 27 - libtool 28 - pkg-config 29 - libcunit1-dev 30 - libssl-dev 31 - libev-dev 32 - cmake 33 - cmake-data 34 homebrew: 35 packages: 36 - libev 37 - cunit 38before_install: 39 - $CC --version 40 - | 41 if [ "$TRAVIS_OS_NAME" == "linux" ]; then 42 CMAKE_OPTS=" -DENABLE_ASAN=1" 43 AUTOTOOLS_OPTS="--enable-asan" 44 if [ "$CXX" = "g++" ]; then 45 export CXX="g++-8" CC="gcc-8" EXTRA_LDFLAGS="-fuse-ld=gold" 46 else 47 export CXX="clang++" CC="clang" 48 fi 49 fi 50 - $CC --version 51 - cmake --version 52before_script: 53 # First build external lib 54 - ./ci/build_openssl.sh 55 - ./ci/build_nghttp3.sh 56 # configure ngtcp2 57 - export PKG_CONFIG_PATH=$PWD/../openssl/build/lib/pkgconfig:$PWD/../nghttp3/build/lib/pkgconfig LDFLAGS="$EXTRA_LDFLAGS -Wl,-rpath,$PWD/../openssl/build/lib" 58 - | 59 if [ "$CI_BUILD" == "autotools" ]; then 60 autoreconf -i && ./configure --enable-werror $AUTOTOOLS_OPTS 61 fi 62 # Set CMAKE_LIBRARY_ARCHITECTURE to workaround failure to parse 63 # implicit link information from GCC 5 64 - | 65 if [ "$CI_BUILD" == "cmake" ]; then 66 cmake $CMAKE_OPTS -DCMAKE_LIBRARY_ARCHITECTURE=x86_64-linux-gnu 67 fi 68script: 69 # Now build ngtcp2 examples and test 70 - make 71 - make check 72 - ./ci/gen-certificate.sh 73 - ./examples/server localhost 4433 cert/server.key cert/server.crt & 74 - ./examples/client localhost 4433 https://localhost/ 75