language: c++
sudo: false
addons:
    apt:
        sources:
            - ubuntu-toolchain-r-test
            - llvm-toolchain-precise-3.7
        packages:
            - cmake
            - gcc-4.8
            - g++-4.8
            - lcov
            - clang-3.7
            - valgrind
matrix:
    include:
        - os: linux
          compiler: gcc
          env: BUILD_TYPE=normal
        - os: linux
          compiler: clang
          env: BUILD_TYPE=normal
        - os: linux
          compiler: gcc
          dist: trusty
          env: BUILD_TYPE=cmake
        - os: linux
          compiler: clang
          dist: trusty
          env: BUILD_TYPE=cmake
        - os: linux
          compiler: gcc
          env: BUILD_TYPE=coverage
        - os: linux
          compiler: clang
          env: BUILD_TYPE=ubsan
        - os: linux
          compiler: clang
          env: BUILD_TYPE=asan
        - os: linux
          compiler: clang
          env: BUILD_TYPE=lsan
        - os: linux
          compiler: clang
          env: BUILD_TYPE=analyse
        - os: linux
          compiler: gcc
          env: BUILD_TYPE=valgrind
        - os: osx
          compiler: gcc
          env: BUILD_TYPE=normal
        - os: osx
          compiler: clang
          env: BUILD_TYPE=normal
        - os: osx
          compiler: clang
          env: BUILD_TYPE=cmake
        - os: osx
          compiler: clang
          language: objective-c
          env: BUILD_TYPE=ios
install:
    - pip install --user 'requests[security]<2.9.1'
    - pip install --user cpp-coveralls
    - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew reinstall libtool > /dev/null; fi
before_script:
    - |
         if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$CXX" = "g++" ]; then
             export CXX="g++-4.8"
             export CC="gcc-4.8"
         fi
    - |
        if [ "$BUILD_TYPE" = "coverage" ]; then
             export CONFIG_OPTS="--enable-debug --disable-shared --enable-code-coverage"
        fi
    - |
         if [ "$BUILD_TYPE" = "asan" ]; then
             export CONFIG_OPTS=--enable-debug
             export CFLAGS=-fsanitize=address
             export CXXFLAGS=-fsanitize=address
             export LDFLAGS=-fsanitize=address
         fi
    - |
         if [ "$BUILD_TYPE" = "lsan" ]; then
             export CONFIG_OPTS=--enable-debug
             export CFLAGS=-fsanitize=leak
             export CXXFLAGS=-fsanitize=leak
             export LDFLAGS=-fsanitize=leak
         fi
    - |
         if [ "$BUILD_TYPE" = "ubsan" ]; then
             export CFLAGS="-fsanitize=undefined -fno-sanitize-recover"
             export LDFLAGS="-fsanitize=undefined"
         fi
    - |
         if [ "$BUILD_TYPE" = "analyse" ]; then
             export SCAN_WRAP="scan-build-3.7 --status-bugs"
             export CONFIG_OPTS="--enable-debug"
             export CXX="clang++-3.7"
             export CC="clang-3.7"
         fi
    - |
         if [ "$BUILD_TYPE" = "valgrind" ]; then
             export TEST_WRAP='libtool --mode=execute valgrind --leak-check=full'
             # Skip container tests as valgrind doesn't cope with clone()
             export TEST_FILTER="--gtest_filter=-*Container*"
         fi
    - |
         if [ "$BUILD_TYPE" = "ios" ]; then
             export CONFIG_OPTS=--host=arm-apple-darwin10
             export DEVPATH=`xcode-select -print-path`/Platforms/iPhoneOS.platform/Developer
             export IOSFLAGS="-isysroot $DEVPATH/SDKs/iPhoneOS.sdk -arch armv7 -miphoneos-version-min=8.0.0"
             export CFLAGS=$IOSFLAGS
             export CXXFLAGS=$IOSFLAGS
             export LDFLAGS=$IOSFLAGS
         fi
script:
    - ./travis/build.sh && ./travis/test.sh && ./travis/distcheck.sh && ./travis/covupload.sh
