# Travis-CI Build for charybdis
# see travis-ci.org for details

language: c++
sudo: false

git:
  submodules: false

notifications:
  webhooks:
    urls:
    - http://68.108.252.112:6699/
    on_success: always
    on_failure: always
    on_start: always

matrix:
  include:
  - os: linux
    dist: precise
    group: stable
    compiler: gcc-4.9
    addons:
      apt:
        sources:
        - ubuntu-toolchain-r-test
        packages:
        - gcc-4.9
        - g++-4.9
        - ['automake', 'autoconf', 'autoconf2.13', 'autoconf-archive', 'libtool', 'shtool', 'libsqlite3-dev']
    env:
    - CCOMPILER=gcc-4.9
    - CXXCOMPILER=g++-4.9
    - WITH_INCLUDED_BOOST=--with-included-boost
    - WITH_INCLUDED_ROCKSDB=--with-included-rocksdb=shared
    - WITH_INCLUDED_JS=--with-included-js=shared

  - os: linux
    dist: precise
    group: stable
    compiler: gcc-5
    addons:
      apt:
        sources:
        - ubuntu-toolchain-r-test
        packages:
        - gcc-5
        - g++-5
        - ['automake', 'autoconf', 'autoconf2.13', 'autoconf-archive', 'libtool', 'shtool', 'libsqlite3-dev']
    env:
    - CCOMPILER=gcc-5
    - CXXCOMPILER=g++-5
    - WITH_INCLUDED_BOOST=--with-included-boost
    - WITH_INCLUDED_ROCKSDB=--with-included-rocksdb=shared
    - WITH_INCLUDED_JS=--with-included-js=shared

  - os: linux
    dist: trusty
    group: unstable
    compiler: gcc-6
    sudo: required
    addons:
      apt:
        sources:
        - ubuntu-toolchain-r-test
        packages:
        - gcc-6
        - g++-6
        - ['automake', 'autoconf', 'autoconf2.13', 'autoconf-archive', 'libtool', 'shtool', 'libsqlite3-dev']
    env:
    - CCOMPILER=gcc-6
    - CXXCOMPILER=g++-6
    - WITH_INCLUDED_BOOST=--with-included-boost
    - WITH_INCLUDED_ROCKSDB=--with-included-rocksdb=shared
    - WITH_INCLUDED_JS=--with-included-js=shared

  - os: linux
    dist: precise
    group: unstable
    sudo: false
    compiler: clang-3.6
    addons:
      apt:
        sources:
        - ubuntu-toolchain-r-test
        - llvm-toolchain-precise-3.6
        packages:
        - clang-3.6
        - ['automake', 'autoconf', 'autoconf2.13', 'autoconf-archive', 'libtool', 'shtool', 'libsqlite3-dev']
    env:
    - CCOMPILER=clang-3.6
    - CXXCOMPILER=clang++-3.6
    - WITH_INCLUDED_BOOST=--with-included-boost
    - WITH_INCLUDED_ROCKSDB=--with-included-rocksdb=shared
    - WITH_INCLUDED_JS=--with-included-js=shared

  - os: linux
    dist: trusty
    group: unstable
    sudo: required
    compiler: clang-3.8
    addons:
      apt:
        sources:
        - ubuntu-toolchain-r-test
        - llvm-toolchain-trusty-3.8
        packages:
        - clang-3.8
        - gcc-4.9
        - g++-4.9
        - ['automake', 'autoconf', 'autoconf2.13', 'autoconf-archive', 'libtool', 'shtool', 'libsqlite3-dev']
    env:
    - CCOMPILER=clang-3.8
    - CXXCOMPILER=clang++-3.8
    - WITH_INCLUDED_BOOST=--with-included-boost
    - WITH_INCLUDED_ROCKSDB=--with-included-rocksdb=shared
    - WITH_INCLUDED_JS=--with-included-js=shared

  - os: osx
    compiler: clang
    env:
    - CCOMPILER=clang
    - CXXCOMPILER=clang++
    - LIBTOOLIZE=glibtoolize
    - WITH_INCLUDED_BOOST=--with-included-boost
    - WITH_INCLUDED_ROCKSDB=--with-included-rocksdb=shared
    - WITH_INCLUDED_JS=--with-included-js=shared

osx_image: xcode7.3

cache:
  apt:
  ccache:

script:
- export CC=$CCOMPILER CXX=$CXXCOMPILER
- git rev-parse --verify HEAD
- m4 --version
- autoconf --version
- automake --version
- make --version
- $CC --version
- $CXX --version
- time bash autogen.sh
- time ./configure --with-shared-sqlite $WITH_INCLUDED_BOOST $WITH_INCLUDED_ROCKSDB $WITH_INCLUDED_JS CC=$CC CXX=$CXX
- time make -j4
- time make -j4 install