sudo: false
language: c
python:
  - "2.4"
compiler:
  - gcc
  - clang
cache: ccache
addons:
  apt:
    packages:
      - libaio-dev
      - libattr1-dev
      - libbrlapi-dev
      - libcap-ng-dev
      - libgnutls-dev
      - libgtk-3-dev
      - libiscsi-dev
      - liblttng-ust-dev
      - libncurses5-dev
      - libnss3-dev
      - libpixman-1-dev
      - libpng12-dev
      - librados-dev
      - libsdl1.2-dev
      - libseccomp-dev
      - libspice-protocol-dev
      - libspice-server-dev
      - libssh2-1-dev
      - liburcu-dev
      - libusb-1.0-0-dev
      - libvte-2.90-dev
      - sparse
      - uuid-dev

notifications:
  irc:
    channels:
      - "irc.oftc.net#qemu"
    on_success: change
    on_failure: always
env:
  global:
    - TEST_CMD="make check"
  matrix:
    - CONFIG=""
    - CONFIG="--enable-debug --enable-debug-tcg --enable-trace-backends=log"
    - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb"
    - CONFIG="--enable-modules"
    - CONFIG="--with-coroutine=ucontext"
    - CONFIG="--with-coroutine=sigaltstack"
git:
  # we want to do this ourselves
  submodules: false
before_install:
  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update ; fi
  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install libffi gettext glib pixman ; fi
  - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
  - git submodule update --init --recursive
before_script:
  - ./configure ${CONFIG}
script:
  - make -j3 && ${TEST_CMD}
matrix:
  include:
    # Sparse is GCC only
    - env: CONFIG="--enable-sparse"
      compiler: gcc
    # gprof/gcov are GCC features
    - env: CONFIG="--enable-gprof --enable-gcov --disable-pie"
      compiler: gcc
    # We manually include builds which we disable "make check" for
    - env: CONFIG="--enable-debug --enable-tcg-interpreter"
           TEST_CMD=""
      compiler: gcc
    - env: CONFIG="--enable-trace-backends=simple"
           TEST_CMD=""
      compiler: gcc
    - env: CONFIG="--enable-trace-backends=ftrace"
           TEST_CMD=""
      compiler: gcc
    - env: CONFIG="--enable-trace-backends=ust"
           TEST_CMD=""
      compiler: gcc
    - env: CONFIG="--with-coroutine=gthread"
           TEST_CMD=""
      compiler: gcc
    - env: CONFIG=""
      os: osx
      compiler: clang