qemu/.travis.yml
<<
>>
Prefs
   1sudo: false
   2language: c
   3python:
   4  - "2.4"
   5compiler:
   6  - gcc
   7cache: ccache
   8addons:
   9  apt:
  10    packages:
  11      # Build dependencies
  12      - libaio-dev
  13      - libattr1-dev
  14      - libbrlapi-dev
  15      - libcap-ng-dev
  16      - libgnutls-dev
  17      - libgtk-3-dev
  18      - libiscsi-dev
  19      - liblttng-ust-dev
  20      - libnfs-dev
  21      - libncurses5-dev
  22      - libnss3-dev
  23      - libpixman-1-dev
  24      - libpng12-dev
  25      - librados-dev
  26      - libsdl1.2-dev
  27      - libseccomp-dev
  28      - libspice-protocol-dev
  29      - libspice-server-dev
  30      - libssh2-1-dev
  31      - liburcu-dev
  32      - libusb-1.0-0-dev
  33      - libvte-2.90-dev
  34      - sparse
  35      - uuid-dev
  36
  37# The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu
  38# to prevent IRC notifications from forks. This was created using:
  39# $ travis encrypt -r "qemu/qemu" "irc.oftc.net#qemu"
  40notifications:
  41  irc:
  42    channels:
  43      - secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM="
  44    on_success: change
  45    on_failure: always
  46env:
  47  global:
  48    - TEST_CMD="make check"
  49    - MAKEFLAGS="-j3"
  50  matrix:
  51    - CONFIG=""
  52    - CONFIG="--enable-debug --enable-debug-tcg --enable-trace-backends=log"
  53    - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb"
  54    - CONFIG="--enable-modules"
  55    - CONFIG="--with-coroutine=ucontext"
  56    - CONFIG="--with-coroutine=sigaltstack"
  57git:
  58  # we want to do this ourselves
  59  submodules: false
  60before_install:
  61  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update ; fi
  62  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install libffi gettext glib pixman ; fi
  63  - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
  64  - git submodule update --init --recursive
  65before_script:
  66  - ./configure ${CONFIG}
  67script:
  68  - make ${MAKEFLAGS} && ${TEST_CMD}
  69matrix:
  70  include:
  71    # Test with CLang for compile portability
  72    - env: CONFIG=""
  73      compiler: clang
  74    # gprof/gcov are GCC features
  75    - env: CONFIG="--enable-gprof --enable-gcov --disable-pie"
  76      compiler: gcc
  77    # We manually include builds which we disable "make check" for
  78    - env: CONFIG="--enable-debug --enable-tcg-interpreter"
  79           TEST_CMD=""
  80      compiler: gcc
  81    - env: CONFIG="--enable-trace-backends=simple"
  82           TEST_CMD=""
  83      compiler: gcc
  84    - env: CONFIG="--enable-trace-backends=ftrace"
  85           TEST_CMD=""
  86      compiler: gcc
  87    - env: CONFIG="--enable-trace-backends=ust"
  88           TEST_CMD=""
  89      compiler: gcc
  90    - env: CONFIG="--disable-tcg"
  91           TEST_CMD=""
  92      compiler: gcc
  93    - env: CONFIG=""
  94      os: osx
  95      compiler: clang
  96    # Plain Trusty System Build
  97    - env: CONFIG="--disable-linux-user"
  98      sudo: required
  99      addons:
 100      dist: trusty
 101      compiler: gcc
 102      before_install:
 103        - sudo apt-get update -qq
 104        - sudo apt-get build-dep -qq qemu
 105        - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
 106        - git submodule update --init --recursive
 107    # Plain Trusty Linux User Build
 108    - env: CONFIG="--disable-system"
 109      sudo: required
 110      addons:
 111      dist: trusty
 112      compiler: gcc
 113      before_install:
 114        - sudo apt-get update -qq
 115        - sudo apt-get build-dep -qq qemu
 116        - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
 117        - git submodule update --init --recursive
 118    # Trusty System build with latest stable clang
 119    - sudo: required
 120      addons:
 121      dist: trusty
 122      language: generic
 123      compiler: none
 124      env:
 125        - COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9
 126        - CONFIG="--disable-linux-user --cc=clang-3.9 --cxx=clang++-3.9"
 127      before_install:
 128        - wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
 129        - sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main'
 130        - sudo apt-get update -qq
 131        - sudo apt-get install -qq -y clang-3.9
 132        - sudo apt-get build-dep -qq qemu
 133        - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
 134        - git submodule update --init --recursive
 135      before_script:
 136        - ./configure ${CONFIG} || cat config.log
 137    # Trusty Linux User build with latest stable clang
 138    - sudo: required
 139      addons:
 140      dist: trusty
 141      language: generic
 142      compiler: none
 143      env:
 144        - COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9
 145        - CONFIG="--disable-system --cc=clang-3.9 --cxx=clang++-3.9"
 146      before_install:
 147        - wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
 148        - sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main'
 149        - sudo apt-get update -qq
 150        - sudo apt-get install -qq -y clang-3.9
 151        - sudo apt-get build-dep -qq qemu
 152        - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
 153        - git submodule update --init --recursive
 154      before_script:
 155        - ./configure ${CONFIG} || cat config.log
 156    # Using newer GCC with sanitizers
 157    - addons:
 158        apt:
 159          sources:
 160            # PPAs for newer toolchains
 161            - ubuntu-toolchain-r-test
 162          packages:
 163            # Extra toolchains
 164            - gcc-5
 165            - g++-5
 166            # Build dependencies
 167            - libaio-dev
 168            - libattr1-dev
 169            - libbrlapi-dev
 170            - libcap-ng-dev
 171            - libgnutls-dev
 172            - libgtk-3-dev
 173            - libiscsi-dev
 174            - liblttng-ust-dev
 175            - libnfs-dev
 176            - libncurses5-dev
 177            - libnss3-dev
 178            - libpixman-1-dev
 179            - libpng12-dev
 180            - librados-dev
 181            - libsdl1.2-dev
 182            - libseccomp-dev
 183            - libspice-protocol-dev
 184            - libspice-server-dev
 185            - libssh2-1-dev
 186            - liburcu-dev
 187            - libusb-1.0-0-dev
 188            - libvte-2.90-dev
 189            - sparse
 190            - uuid-dev
 191      language: generic
 192      compiler: none
 193      env:
 194        - COMPILER_NAME=gcc CXX=g++-5 CC=gcc-5
 195        - CONFIG="--cc=gcc-5 --cxx=g++-5 --disable-pie --disable-linux-user"
 196        - TEST_CMD=""
 197      before_script:
 198        - ./configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread -fuse-ld=gold" || cat config.log
 199