language: python

matrix:
  include:
    - python: 3.5
      os: linux
      compiler: gcc
    - python: 3.4
      os: linux
      compiler: gcc
    - python: 2.7
      os: linux
      compiler: gcc
    - language: C
      os: osx
      osx_image: xcode8
      compiler: clang
    - python: 3.5
      os: linux
      compiler: gcc
      env: CFLAGS="-Os" WAFOPTS="--disable-samplerate --disable-sndfile"
    - python: 3.4
      os: linux
      compiler: gcc
      env: HAVE_AUBIO_DOUBLE=1 CFLAGS="-O3" WAFOPTS="--enable-fftw3"
    - python: 2.7
      os: linux
      compiler: gcc
      env: CFLAGS="`dpkg-buildflags --get CFLAGS`" LDFLAGS="`dpkg-buildflags --get LDFLAGS`"
    - language: C
      os: osx
      osx_image: xcode8
      compiler: clang
      env: CFLAGS="-Os" HAVE_AUBIO_DOUBLE=1 WAFOPTS="--disable-accelerate"
    - language: C
      os: osx
      osx_image: xcode8
      compiler: clang
      env: WAFOPTS="--enable-fat --disable-avcodec --disable-sndfile"
    - language: C
      os: osx
      osx_image: xcode8
      compiler: clang
      env: WAFOPTS="--with-target-platform=ios --disable-avcodec --disable-sndfile" AUBIO_NOTESTS=1
    - language: C
      os: osx
      osx_image: xcode8
      compiler: clang
      env: WAFOPTS="--with-target-platform=iosimulator --disable-avcodec --disable-sndfile" AUBIO_NOTESTS=1
    - language: C
      os: osx
      osx_image: xcode8.2
      compiler: clang
      env: WAFOPTS="--enable-fat --disable-avcodec --disable-sndfile"
    - language: C
      os: osx
      osx_image: xcode8.2
      compiler: clang
      env: WAFOPTS="--with-target-platform=ios --disable-avcodec --disable-sndfile" AUBIO_NOTESTS=1
    - language: C
      os: osx
      osx_image: xcode8.2
      compiler: clang
      env: WAFOPTS="--with-target-platform=iosimulator --disable-avcodec --disable-sndfile" AUBIO_NOTESTS=1

# use trusty
dist: trusty
sudo: required

addons:
  apt:
    packages:
    - bzip2
    - libavcodec-dev
    - libavformat-dev
    - libavresample-dev
    - libavutil-dev
    - libsndfile1-dev
    - libsamplerate-dev
    - libjack-dev
    - libasound2-dev
    - libfftw3-dev
    - sox
    - lcov

before_install:
   - |
     if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
       brew update
       brew install sox
       brew install ffmpeg
       brew install libsndfile
       brew install lcov
       export PATH="$HOME/Library/Python/2.7/bin/:$PATH"
     fi;

install:
  - travis_retry pip install --upgrade pip
  - travis_retry make getwaf expandwaf deps_python
  - which pip
  - pip --version
  - pip install python-coveralls
  - gem install coveralls-lcov

script:
  - make create_test_sounds
  - |
    if [[ -z "$AUBIO_NOTESTS" ]]; then
      make test_lib_python_clean
      make coverage
    else
      make test_lib_only_clean
    fi;

after_success:
  - |
    if [[ -z "$AUBIO_NOTESTS" ]]; then
      # upload lcov coverage
      coveralls-lcov build/coverage.info
      # upload python coverage
      coveralls
    fi

notifications:
    irc:
        channels:
            - "irc.freenode.org#aubio"
        use_notice: true
    webhooks:
        urls:
            - https://webhooks.gitter.im/e/81e7733a5b1d977854b4
        on_success: change  # options: [always|never|change] default: always
        on_failure: always  # options: [always|never|change] default: always
        on_start: never     # options: [always|never|change] default: always
