dist: xenial language: cpp os: - osx - linux osx_image: xcode11 compiler: - clang - gcc env: - CI_BUILD=cmake - CI_BUILD=autotools matrix: exclude: # Exclude gcc build (Need some work) with osx - os: osx compiler: gcc addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-8 - autoconf - automake - autotools-dev - libtool - pkg-config - libcunit1-dev - libssl-dev - libev-dev - cmake - cmake-data homebrew: packages: - libev - cunit before_install: - $CC --version - | if [ "$TRAVIS_OS_NAME" == "linux" ]; then CMAKE_OPTS=" -DENABLE_ASAN=1" AUTOTOOLS_OPTS="--enable-asan" if [ "$CXX" = "g++" ]; then export CXX="g++-8" CC="gcc-8" EXTRA_LDFLAGS="-fuse-ld=gold" else export CXX="clang++" CC="clang" fi fi - $CC --version - cmake --version before_script: # First build external lib - ./ci/build_openssl.sh - ./ci/build_nghttp3.sh # configure ngtcp2 - export PKG_CONFIG_PATH=$PWD/../openssl/build/lib/pkgconfig:$PWD/../nghttp3/build/lib/pkgconfig LDFLAGS="$EXTRA_LDFLAGS -Wl,-rpath,$PWD/../openssl/build/lib" - | if [ "$CI_BUILD" == "autotools" ]; then autoreconf -i && ./configure --enable-werror $AUTOTOOLS_OPTS fi # Set CMAKE_LIBRARY_ARCHITECTURE to workaround failure to parse # implicit link information from GCC 5 - | if [ "$CI_BUILD" == "cmake" ]; then cmake $CMAKE_OPTS -DCMAKE_LIBRARY_ARCHITECTURE=x86_64-linux-gnu fi script: # Now build ngtcp2 examples and test - make - make check - ./ci/gen-certificate.sh - ./examples/server localhost 4433 cert/server.key cert/server.crt & - ./examples/client localhost 4433 https://localhost/