]> git.proxmox.com Git - mirror_qemu.git/blob - .travis.yml
compiler: expression version of QEMU_BUILD_BUG_ON
[mirror_qemu.git] / .travis.yml
1 sudo: false
2 language: c
3 python:
4 - "2.4"
5 compiler:
6 - gcc
7 cache: ccache
8 addons:
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"
40 notifications:
41 irc:
42 channels:
43 - secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM="
44 on_success: change
45 on_failure: always
46 env:
47 global:
48 - TEST_CMD="make check"
49 matrix:
50 - CONFIG=""
51 - CONFIG="--enable-debug --enable-debug-tcg --enable-trace-backends=log"
52 - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb"
53 - CONFIG="--enable-modules"
54 - CONFIG="--with-coroutine=ucontext"
55 - CONFIG="--with-coroutine=sigaltstack"
56 git:
57 # we want to do this ourselves
58 submodules: false
59 before_install:
60 - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update ; fi
61 - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install libffi gettext glib pixman ; fi
62 - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
63 - git submodule update --init --recursive
64 before_script:
65 - ./configure ${CONFIG}
66 script:
67 - make -j3 && ${TEST_CMD}
68 matrix:
69 include:
70 # Test with CLang for compile portability
71 - env: CONFIG=""
72 compiler: clang
73 # gprof/gcov are GCC features
74 - env: CONFIG="--enable-gprof --enable-gcov --disable-pie"
75 compiler: gcc
76 # We manually include builds which we disable "make check" for
77 - env: CONFIG="--enable-debug --enable-tcg-interpreter"
78 TEST_CMD=""
79 compiler: gcc
80 - env: CONFIG="--enable-trace-backends=simple"
81 TEST_CMD=""
82 compiler: gcc
83 - env: CONFIG="--enable-trace-backends=ftrace"
84 TEST_CMD=""
85 compiler: gcc
86 - env: CONFIG="--enable-trace-backends=ust"
87 TEST_CMD=""
88 compiler: gcc
89 - env: CONFIG="--with-coroutine=gthread"
90 TEST_CMD=""
91 compiler: gcc
92 - env: CONFIG=""
93 os: osx
94 compiler: clang
95 # Plain Trusty Build
96 - env: CONFIG=""
97 sudo: required
98 addons:
99 dist: trusty
100 compiler: gcc
101 before_install:
102 - sudo apt-get update -qq
103 - sudo apt-get build-dep -qq qemu
104 - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
105 - git submodule update --init --recursive
106 # Trusty build with latest stable clang
107 - env: CONFIG=""
108 sudo: required
109 addons:
110 dist: trusty
111 language: generic
112 compiler: none
113 env:
114 - COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9
115 - CONFIG="--cc=clang-3.9 --cxx=clang++-3.9"
116 before_install:
117 - wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
118 - sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main'
119 - sudo apt-get update -qq
120 - sudo apt-get install -qq -y clang-3.9
121 - sudo apt-get build-dep -qq qemu
122 - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
123 - git submodule update --init --recursive
124 before_script:
125 - ./configure ${CONFIG} || cat config.log
126 # Using newer GCC with sanitizers
127 - addons:
128 apt:
129 sources:
130 # PPAs for newer toolchains
131 - ubuntu-toolchain-r-test
132 packages:
133 # Extra toolchains
134 - gcc-5
135 - g++-5
136 # Build dependencies
137 - libaio-dev
138 - libattr1-dev
139 - libbrlapi-dev
140 - libcap-ng-dev
141 - libgnutls-dev
142 - libgtk-3-dev
143 - libiscsi-dev
144 - liblttng-ust-dev
145 - libnfs-dev
146 - libncurses5-dev
147 - libnss3-dev
148 - libpixman-1-dev
149 - libpng12-dev
150 - librados-dev
151 - libsdl1.2-dev
152 - libseccomp-dev
153 - libspice-protocol-dev
154 - libspice-server-dev
155 - libssh2-1-dev
156 - liburcu-dev
157 - libusb-1.0-0-dev
158 - libvte-2.90-dev
159 - sparse
160 - uuid-dev
161 language: generic
162 compiler: none
163 env:
164 - COMPILER_NAME=gcc CXX=g++-5 CC=gcc-5
165 - CONFIG="--cc=gcc-5 --cxx=g++-5 --disable-pie --disable-linux-user --with-coroutine=gthread"
166 - TEST_CMD=""
167 before_script:
168 - ./configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread -fuse-ld=gold" || cat config.log