blob: 8117665159c5e949dbe9828e5c84afc0c4556cac [file] [log] [blame]
Petr Vorel1ed52332017-01-11 13:42:29 +01001language: c
2
Petr Vorel72a23be2018-01-26 19:51:16 +01003# BUILD="native": native builds
4# BUILD="32": 32-bit builds
5# BUILD="cross": cross compile build
6# TREE="out": out-of-tree build
7# NO INSTALL_PACKAGES variable: build with minimal dependencies
8
Petr Vorelb6684332017-01-13 10:07:05 +01009matrix:
10 include:
Petr Vorel72a23be2018-01-26 19:51:16 +010011 ### native builds ###
Petr Vorelb6684332017-01-13 10:07:05 +010012 - os: linux
Petr Vorelb9e89182017-11-30 19:05:14 +010013 env: BUILD="native" INSTALL_PACKAGES="$BUILD"
Petr Vorelb6684332017-01-13 10:07:05 +010014 compiler: gcc-5
15 addons:
16 apt:
17 sources: ['ubuntu-toolchain-r-test']
18 packages: ['gcc-5']
19
20 - os: linux
Petr Vorel72a23be2018-01-26 19:51:16 +010021 env: BUILD="native" TREE="out" INSTALL_PACKAGES="$BUILD"
Petr Vorel1ac620a2017-11-30 10:59:46 +010022 compiler: gcc-7
Petr Vorelb6684332017-01-13 10:07:05 +010023 addons:
24 apt:
Petr Vorel1ac620a2017-11-30 10:59:46 +010025 sources: ['ubuntu-toolchain-r-test']
26 packages: ['gcc-7']
Petr Vorelb6684332017-01-13 10:07:05 +010027
28 - os: linux
Petr Vorel72a23be2018-01-26 19:51:16 +010029 env: BUILD="native" TREE="out"
Petr Vorelb9e89182017-11-30 19:05:14 +010030 compiler: clang-4.0
31 addons:
32 apt:
33 sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-4.0']
34 packages: ['clang-4.0']
35
36 - os: linux
37 env: BUILD="native" INSTALL_PACKAGES="$BUILD"
38 compiler: clang-5.0
39 addons:
40 apt:
41 sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-5.0']
42 packages: ['clang-5.0']
43
Petr Vorelb9e89182017-11-30 19:05:14 +010044 - os: linux
Petr Vorel3d43c232017-11-27 15:45:53 +010045 env: BUILD="native"
Petr Vorelb6684332017-01-13 10:07:05 +010046 compiler: clang-3.9
47 addons:
48 apt:
Petr Vorel1ac620a2017-11-30 10:59:46 +010049 sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-3.9']
Petr Vorelb6684332017-01-13 10:07:05 +010050 packages: ['clang-3.9']
51
Petr Vorel72a23be2018-01-26 19:51:16 +010052 ### 32-bit builds ###
Petr Vorel1ac620a2017-11-30 10:59:46 +010053 - os: linux
Petr Vorelb9e89182017-11-30 19:05:14 +010054 env: BUILD="32" INSTALL_PACKAGES="$BUILD"
Petr Vorel3d43c232017-11-27 15:45:53 +010055 compiler: gcc-4.9
56 addons:
57 apt:
58 sources: ['ubuntu-toolchain-r-test']
59 packages: ['gcc-4.9', 'gcc-4.9-multilib', 'linux-libc-dev:i386']
60
61 - os: linux
Petr Vorel72a23be2018-01-26 19:51:16 +010062 env: BUILD="32" TREE="out" INSTALL_PACKAGES="$BUILD"
Petr Vorel3d43c232017-11-27 15:45:53 +010063 compiler: gcc-6
64 addons:
65 apt:
66 sources: ['ubuntu-toolchain-r-test']
67 packages: ['gcc-6', 'gcc-6-multilib', 'linux-libc-dev:i386']
68
Petr Vorel72a23be2018-01-26 19:51:16 +010069 ### cross-compile builds ###
Petr Vorel8197a462017-12-11 17:08:14 +010070 - os: linux
71 env: BUILD="cross" INSTALL_PACKAGES="$BUILD"
72 compiler: arm-linux-gnueabihf-gcc
73 addons:
74 apt:
75 packages: ['gcc-arm-linux-gnueabihf', 'libc6-dev-armhf-cross']
76
77 - os: linux
Petr Vorel72a23be2018-01-26 19:51:16 +010078 env: BUILD="cross" TREE="out" INSTALL_PACKAGES="$BUILD"
Petr Vorel8197a462017-12-11 17:08:14 +010079 compiler: aarch64-linux-gnu-gcc
80 addons:
81 apt:
82 packages: ['gcc-aarch64-linux-gnu', 'libc6-dev-arm64-cross']
83
Petr Vorel72a23be2018-01-26 19:51:16 +010084 - os: linux
85 env: BUILD="cross" TREE="out"
86 compiler: powerpc64le-linux-gnu-gcc
87 addons:
88 apt:
89 packages: ['gcc-powerpc64le-linux-gnu', 'libc6-dev-ppc64el-cross']
90
Petr Vorel1ed52332017-01-11 13:42:29 +010091notifications:
92 email:
Petr Vorelbf549a02017-02-02 16:43:15 +010093 secure: "b/xcA/K5OyQvPPnd0PRahTH5LJu8lgz8goGHvhXpHo+ZPsPgTDXNFo5cX9fSOkMuFKeoW8iGl0wOgK2+ptc8mbYDw277K4RFIHRHeV/KIoE1EzjQnEFiL8J0oHCAvDj12o0AXeriTyY9gICXKbR31Br6Zh5eKViDJe2OAGeHeDU="
Petr Vorel1ed52332017-01-11 13:42:29 +010094
Petr Vorel3d43c232017-11-27 15:45:53 +010095before_install:
Petr Vorel12cecc52018-04-18 08:13:13 +020096 # travis-ci/travis-ci#9112: remove all third party repositories except ubuntu-toolchain-r-test
97 - if [ -f /etc/apt/sources.list.d/ubuntu-toolchain-r-test*.list ]; then
98 cp -v /etc/apt/sources.list.d/ubuntu-toolchain-r-test*.list /tmp
99 ; fi
100 - sudo rm -fv /etc/apt/sources.list.d/*
101 - if [ -f /tmp/ubuntu-toolchain-r-test*.list ]; then
102 sudo cp -v /tmp/ubuntu-toolchain-r-test*.list /etc/apt/sources.list.d/
103 ; fi
Petr Vorel05398fa2018-03-27 16:37:11 +0200104 - sudo apt update --option Acquire::Retries=100 --option Acquire::http::Timeout="60"
Petr Vorel43ba7982018-03-15 13:32:11 +0100105
Petr Vorelb9e89182017-11-30 19:05:14 +0100106 # installing / removing dependencies
107 - if [ "$INSTALL_PACKAGES" = "" ]; then
108 sudo apt remove $(cat .travis.packages_native | grep -v -e 'libc6' -e 'libc6-dev' -e 'linux-libc-dev' -e 'libacl1')
Petr Vorela937b3a2018-01-29 11:27:51 +0100109 ; else
Petr Vorelb9e89182017-11-30 19:05:14 +0100110 sudo apt install -qq $(cat .travis.packages_native)
111 ; fi
112
113 - if [ "$INSTALL_PACKAGES" = "32" ]; then
114 sudo apt install -qq $(cat .travis.packages_i386)
115 ; fi
Petr Vorel72a23be2018-01-26 19:51:16 +0100116 - if [ ! "$TREE" ]; then
117 TREE="in"
118 ; fi
Petr Vorelb9e89182017-11-30 19:05:14 +0100119
Petr Vorel72a23be2018-01-26 19:51:16 +0100120script: ./build.sh -o $TREE -t $BUILD -c $CC