.travis.yml: enable ccache for the builds
[sdk/emulator/qemu.git] / .travis.yml
1 sudo: false
2 language: c
3 python:
4   - "2.4"
5 compiler:
6   - gcc
7   - clang
8 cache: ccache
9 addons:
10   apt:
11     packages:
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       - libncurses5-dev
21       - libnss3-dev
22       - libpixman-1-dev
23       - libpng12-dev
24       - librados-dev
25       - libsdl1.2-dev
26       - libseccomp-dev
27       - libspice-protocol-dev
28       - libspice-server-dev
29       - libssh2-1-dev
30       - liburcu-dev
31       - libusb-1.0-0-dev
32       - libvte-2.90-dev
33       - sparse
34       - uuid-dev
35
36 notifications:
37   irc:
38     channels:
39       - "irc.oftc.net#qemu"
40     on_success: change
41     on_failure: always
42 env:
43   global:
44     - TEST_CMD="make check"
45     - EXTRA_CONFIG=""
46   matrix:
47     # Group major targets together with their linux-user counterparts
48     - TARGETS=alpha-softmmu,alpha-linux-user
49     - TARGETS=arm-softmmu,arm-linux-user,armeb-linux-user,aarch64-softmmu,aarch64-linux-user
50     - TARGETS=cris-softmmu,cris-linux-user
51     - TARGETS=i386-softmmu,i386-linux-user,x86_64-softmmu,x86_64-linux-user
52     - TARGETS=m68k-softmmu,m68k-linux-user
53     - TARGETS=microblaze-softmmu,microblazeel-softmmu,microblaze-linux-user,microblazeel-linux-user
54     - TARGETS=mips-softmmu,mips64-softmmu,mips64el-softmmu,mipsel-softmmu
55     - TARGETS=mips-linux-user,mips64-linux-user,mips64el-linux-user,mipsel-linux-user,mipsn32-linux-user,mipsn32el-linux-user
56     - TARGETS=or32-softmmu,or32-linux-user
57     - TARGETS=ppc-softmmu,ppc64-softmmu,ppcemb-softmmu,ppc-linux-user,ppc64-linux-user,ppc64abi32-linux-user,ppc64le-linux-user
58     - TARGETS=s390x-softmmu,s390x-linux-user
59     - TARGETS=sh4-softmmu,sh4eb-softmmu,sh4-linux-user sh4eb-linux-user
60     - TARGETS=sparc-softmmu,sparc64-softmmu,sparc-linux-user,sparc32plus-linux-user,sparc64-linux-user
61     - TARGETS=unicore32-softmmu,unicore32-linux-user
62     # Group remaining softmmu only targets into one build
63     - TARGETS=lm32-softmmu,moxie-softmmu,tricore-softmmu,xtensa-softmmu,xtensaeb-softmmu
64 git:
65   # we want to do this ourselves
66   submodules: false
67 before_install:
68   - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
69   - git submodule update --init --recursive
70 before_script:
71   - ./configure --target-list=${TARGETS} --enable-debug-tcg ${EXTRA_CONFIG}
72 script:
73   - make -j2 && ${TEST_CMD}
74 matrix:
75   # We manually include a number of additional build for non-standard bits
76   include:
77     # Debug related options
78     - env: TARGETS=i386-softmmu,x86_64-softmmu
79            EXTRA_CONFIG="--enable-debug"
80       compiler: gcc
81     # We currently disable "make check"
82     - env: TARGETS=i386-softmmu,x86_64-softmmu
83            EXTRA_CONFIG="--enable-debug --enable-tcg-interpreter"
84            TEST_CMD=""
85       compiler: gcc
86     # Disable a few of the optional features
87     - env: TARGETS=i386-softmmu,x86_64-softmmu
88            EXTRA_CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb"
89       compiler: gcc
90     # Currently configure doesn't force --disable-pie
91     - env: TARGETS=i386-softmmu,x86_64-softmmu
92            EXTRA_CONFIG="--enable-gprof --enable-gcov --disable-pie"
93       compiler: gcc
94     # Sparse
95     - env: TARGETS=i386-softmmu,x86_64-softmmu
96            EXTRA_CONFIG="--enable-sparse"
97       compiler: gcc
98     # Modules
99     - env: TARGETS=i386-softmmu,x86_64-softmmu
100            EXTRA_CONFIG="--enable-modules"
101       compiler: gcc
102     # All the trace backends (apart from dtrace)
103     - env: TARGETS=i386-softmmu,x86_64-softmmu
104            EXTRA_CONFIG="--enable-trace-backends=log"
105       compiler: gcc
106     # We currently disable "make check" (until 41fc57e44ed regression fixed)
107     - env: TARGETS=i386-softmmu,x86_64-softmmu
108            EXTRA_CONFIG="--enable-trace-backends=simple"
109            TEST_CMD=""
110       compiler: gcc
111     # We currently disable "make check"
112     - env: TARGETS=i386-softmmu,x86_64-softmmu
113            EXTRA_CONFIG="--enable-trace-backends=ftrace"
114            TEST_CMD=""
115       compiler: gcc
116     # We currently disable "make check"
117     - env: TARGETS=i386-softmmu,x86_64-softmmu
118            EXTRA_CONFIG="--enable-trace-backends=ust"
119            TEST_CMD=""
120       compiler: gcc
121     # All the co-routine backends (apart from windows)
122     # We currently disable "make check"
123     - env: TARGETS=i386-softmmu,x86_64-softmmu
124            EXTRA_CONFIG="--with-coroutine=gthread"
125            TEST_CMD=""
126       compiler: gcc
127     - env: TARGETS=i386-softmmu,x86_64-softmmu
128            EXTRA_CONFIG="--with-coroutine=ucontext"
129       compiler: gcc
130     - env: TARGETS=i386-softmmu,x86_64-softmmu
131            EXTRA_CONFIG="--with-coroutine=sigaltstack"
132       compiler: gcc