| 1 | language: c |
| 2 | python: |
| 3 | - "2.4" |
| 4 | compiler: |
| 5 | - gcc |
| 6 | - clang |
| 7 | notifications: |
| 8 | irc: |
| 9 | channels: |
| 10 | - "irc.oftc.net#qemu" |
| 11 | on_success: change |
| 12 | on_failure: always |
| 13 | env: |
| 14 | global: |
| 15 | - TEST_CMD="make check" |
| 16 | - EXTRA_CONFIG="" |
| 17 | # Development packages, EXTRA_PKGS saved for additional builds |
| 18 | - CORE_PKGS="libusb-1.0-0-dev libiscsi-dev librados-dev libncurses5-dev" |
| 19 | - NET_PKGS="libseccomp-dev libgnutls-dev libssh2-1-dev libspice-server-dev libspice-protocol-dev libnss3-dev" |
| 20 | - GUI_PKGS="libgtk-3-dev libvte-2.90-dev libsdl1.2-dev libpng12-dev libpixman-1-dev" |
| 21 | - EXTRA_PKGS="" |
| 22 | matrix: |
| 23 | - TARGETS=alpha-softmmu,alpha-linux-user |
| 24 | - TARGETS=arm-softmmu,arm-linux-user |
| 25 | - TARGETS=aarch64-softmmu,aarch64-linux-user |
| 26 | - TARGETS=cris-softmmu |
| 27 | - TARGETS=i386-softmmu,x86_64-softmmu |
| 28 | - TARGETS=lm32-softmmu |
| 29 | - TARGETS=m68k-softmmu |
| 30 | - TARGETS=microblaze-softmmu,microblazeel-softmmu |
| 31 | - TARGETS=mips-softmmu,mips64-softmmu,mips64el-softmmu,mipsel-softmmu |
| 32 | - TARGETS=moxie-softmmu |
| 33 | - TARGETS=or32-softmmu, |
| 34 | - TARGETS=ppc-softmmu,ppc64-softmmu,ppcemb-softmmu |
| 35 | - TARGETS=s390x-softmmu |
| 36 | - TARGETS=sh4-softmmu,sh4eb-softmmu |
| 37 | - TARGETS=sparc-softmmu,sparc64-softmmu |
| 38 | - TARGETS=unicore32-softmmu |
| 39 | - TARGETS=xtensa-softmmu,xtensaeb-softmmu |
| 40 | before_install: |
| 41 | - git submodule update --init --recursive |
| 42 | - sudo apt-get update -qq |
| 43 | - sudo apt-get install -qq ${CORE_PKGS} ${NET_PKGS} ${GUI_PKGS} ${EXTRA_PKGS} |
| 44 | script: "./configure --target-list=${TARGETS} ${EXTRA_CONFIG} && make && ${TEST_CMD}" |
| 45 | matrix: |
| 46 | # We manually include a number of additional build for non-standard bits |
| 47 | include: |
| 48 | # Debug related options |
| 49 | - env: TARGETS=i386-softmmu,x86_64-softmmu |
| 50 | EXTRA_CONFIG="--enable-debug" |
| 51 | compiler: gcc |
| 52 | - env: TARGETS=i386-softmmu,x86_64-softmmu |
| 53 | EXTRA_CONFIG="--enable-debug --enable-tcg-interpreter" |
| 54 | compiler: gcc |
| 55 | # All the extra -dev packages |
| 56 | - env: TARGETS=i386-softmmu,x86_64-softmmu |
| 57 | EXTRA_PKGS="libaio-dev libcap-ng-dev libattr1-dev libbrlapi-dev uuid-dev libusb-1.0.0-dev" |
| 58 | compiler: gcc |
| 59 | # Currently configure doesn't force --disable-pie |
| 60 | - env: TARGETS=i386-softmmu,x86_64-softmmu |
| 61 | EXTRA_CONFIG="--enable-gprof --enable-gcov --disable-pie" |
| 62 | compiler: gcc |
| 63 | - env: TARGETS=i386-softmmu,x86_64-softmmu |
| 64 | EXTRA_PKGS="sparse" |
| 65 | EXTRA_CONFIG="--enable-sparse" |
| 66 | compiler: gcc |
| 67 | # All the trace backends (apart from dtrace) |
| 68 | - env: TARGETS=i386-softmmu,x86_64-softmmu |
| 69 | EXTRA_CONFIG="--enable-trace-backend=stderr" |
| 70 | compiler: gcc |
| 71 | - env: TARGETS=i386-softmmu,x86_64-softmmu |
| 72 | EXTRA_CONFIG="--enable-trace-backend=simple" |
| 73 | compiler: gcc |
| 74 | - env: TARGETS=i386-softmmu,x86_64-softmmu |
| 75 | EXTRA_CONFIG="--enable-trace-backend=ftrace" |
| 76 | TEST_CMD="" |
| 77 | compiler: gcc |
| 78 | - env: TARGETS=i386-softmmu,x86_64-softmmu |
| 79 | EXTRA_PKGS="liblttng-ust-dev liburcu-dev" |
| 80 | EXTRA_CONFIG="--enable-trace-backend=ust" |
| 81 | compiler: gcc |