# Require trusty for now as it has a more recent version of autoconf
sudo: required
dist: trusty
language: c

compiler:
    - gcc
    - clang

os:
    - linux
    - osx


addons:
    apt:
        packages:
            - autoconf
            - automake
            - libtool
            - m4
            - libudev-dev
        sources:
            - ubuntu-toolchain-r-test

before_install:
    - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; brew upgrade automake libtool; fi

script:
    - ./autogen.sh && make -j4
    - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ./travis-autogen.sh --disable-udev && make -j4; fi
    - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cd Xcode && xcodebuild -project libusb.xcodeproj ; fi
