language: rust
rust:
  - 1.17.0
  - stable
  - beta
  - nightly

cache: cargo

addons:
  apt:
    packages:
      - gcc-arm-linux-gnueabihf
      - libc6-dev-armhf-cross
      - libpulse-dev
      - portaudio19-dev

before_script:
    - mkdir -p ~/.cargo
    - echo '[target.armv7-unknown-linux-gnueabihf]' > ~/.cargo/config
    - echo 'linker = "arm-linux-gnueabihf-gcc"' >> ~/.cargo/config
    - rustup target add armv7-unknown-linux-gnueabihf

script:
    - cargo build --no-default-features
    - cargo build --no-default-features --features "with-tremor"
    - cargo build --no-default-features --features "portaudio-backend"
    - cargo build --no-default-features --features "pulseaudio-backend"
    - cargo build --no-default-features --features "alsa-backend"
    - cargo build --no-default-features --target armv7-unknown-linux-gnueabihf
    - if [[ $TRAVIS_RUST_VERSION != *"1.17.0"* ]]; then
        cargo build --no-default-features --features "with-lewton";
      fi

notifications:
    email: false