dist: trusty
env:
  matrix:
    - CI_BUILD=cmake
    - CI_BUILD=autotools
language: cpp
compiler:
  - clang
  - gcc
sudo: required
addons:
  apt:
    sources:
    - ubuntu-toolchain-r-test
    - llvm-toolchain-trusty-7
    packages:
    - g++-8
    - clang-7
    - autoconf
    - automake
    - autotools-dev
    - libtool
    - pkg-config
    - zlib1g-dev
    - libcunit1-dev
    - libssl-dev
    - libxml2-dev
    - libev-dev
    - libevent-dev
    - libjansson-dev
    - libjemalloc-dev
    - libc-ares-dev
    - cmake
    - cmake-data
before_install:
  - $CC --version
  - if [ "$CXX" = "g++" ]; then export CXX="g++-8" CC="gcc-8"; fi
  - if [ "$CXX" = "clang++" ]; then export CXX="clang++-7" CC="clang-7"; fi
  - $CC --version
  - go version
  - cmake --version
before_script:
  # Now build nghttp2
  - if [ "$CI_BUILD" = "autotools" ]; then autoreconf -i; fi
  - git submodule update --init
  - if [ "$CI_BUILD" = "autotools" ]; then ./configure --with-mruby; fi
  - if [ "$CI_BUILD" = "cmake" ]; then cmake -DENABLE_WERROR=1 -DWITH_MRUBY=1 -DWITH_NEVERBLEED=1; fi
script:
  - if [ "$CI_BUILD" = "autotools" ]; then make distcheck DISTCHECK_CONFIGURE_FLAGS="--with-mruby --with-neverbleed --enable-werror CPPFLAGS=-fsanitize=address LDFLAGS=\"-fsanitize=address -fuse-ld=gold\""; fi
  - if [ "$CI_BUILD" = "cmake" ]; then make check; fi
  # As of April, 23, 2016, golang http2 build fails, probably because
  # the default go version is too old.
  # - cd integration-tests
  # - export GOPATH="$PWD/integration-tests/golang"
  # - make itprep
  # - make it