Skip to content
Snippets Groups Projects
  • Peter Wu's avatar
    Fix detection of proper OpenSSL and GnuTLS libraries · 92d05495
    Peter Wu authored
    Until mainline support of QUIC are present in OpenSSL and GnuTLS, be
    sure to test whether the found library versions are the patched ones
    since the version number check is insufficient. This fixes the default
    build on a system where a new GnuTLS is present without the patches from
    the GnuTLS tmp-quic branch.
    
    Add new ENABLE_OPENSSL and ENABLE_GNUTLS CMake options to allow
    explicitly disabling these libraries to mirror the --without-openssl and
    the --without-gnutls functionality of autotools.
    
    Partially addresses https://github.com/ngtcp2/ngtcp2/issues/238
    92d05495
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
.travis.yml 1.73 KiB
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