language: cpp

compiler:
  - gcc

addons:
  hosts:
    - 127.0.0.1.xip.io
    - alternate.127.0.0.1.xip.io

before_install:
  # upgrade g++ and libstdc++ to build nghttp2
  - sudo add-apt-repository --yes ppa:ubuntu-toolchain-r/test
  - sudo apt-add-repository --yes ppa:smspillaz/cmake-2.8.12
  - sudo apt-get --yes update
  - sudo apt-get install --yes cmake cmake-data g++-4.8 libstdc++-4.8-dev php5-cgi wget
  - if [ "$CXX" = "g++" ]; then export CXX="g++-4.8"; fi
  - $CXX --version
  # for speed, pre-install deps installed in `before_script` section as ubuntu packages
  - sudo apt-get install -qq cpanminus libipc-signal-perl liblist-moreutils-perl libwww-perl libio-socket-ssl-perl zlib1g-dev

before_script:
  # install libuv >= 1.0.0 (optionally required for building / testing libh2o)
  - curl -L https://github.com/libuv/libuv/archive/v1.0.0.tar.gz | tar xzf -
  - (cd libuv-1.0.0 && ./autogen.sh && ./configure --prefix=/usr && make && sudo make install)
  # install perl modules (mandatory for testing)
  - misc/install-perl-module.pl Net::EmptyPort
  - misc/install-perl-module.pl Scope::Guard
  - misc/install-perl-module.pl Plack
  - misc/install-perl-module.pl FCGI
  - misc/install-perl-module.pl http://search.cpan.org/CPAN/authors/id/A/AR/ARODLAND/FCGI-ProcManager-0.25.tar.gz
  - misc/install-perl-module.pl Starlet
  - misc/install-perl-module.pl JSON
  - misc/install-perl-module.pl Path::Tiny
  - misc/install-perl-module.pl Test::Exception
  # install the `ab` command (a.k.a. ApacheBench; optionally required for running some of the tests)
  - sudo apt-get install -qq apache2-utils
  # install nghttp2 with `--enable-app` (optionally required for running HTTP/2 tests)
  - sudo apt-get install -qq libev-dev
  - curl -L https://github.com/tatsuhiro-t/nghttp2/releases/download/v1.4.0/nghttp2-1.4.0.tar.gz | tar xzf -
  - (cd nghttp2-1.4.0 && ./configure --prefix=/usr --disable-threads --enable-app && make && sudo make install)
  - curl -L https://curl.haxx.se/download/curl-7.50.0.tar.gz | tar xzf -
  - (cd curl-7.50.0 && ./configure --prefix=/usr --with-nghttp2 --disable-shared && make && sudo make install)

script:
  - cmake -DWITH_MRUBY=ON .
  - make all
  - make check
  - sudo make check-as-root
