Petr Vorel | 1ed5233 | 2017-01-11 13:42:29 +0100 | [diff] [blame] | 1 | language: c |
| 2 | |
Petr Vorel | 72a23be | 2018-01-26 19:51:16 +0100 | [diff] [blame] | 3 | # 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 Vorel | b668433 | 2017-01-13 10:07:05 +0100 | [diff] [blame] | 9 | matrix: |
| 10 | include: |
Petr Vorel | 72a23be | 2018-01-26 19:51:16 +0100 | [diff] [blame] | 11 | ### native builds ### |
Petr Vorel | b668433 | 2017-01-13 10:07:05 +0100 | [diff] [blame] | 12 | - os: linux |
Petr Vorel | b9e8918 | 2017-11-30 19:05:14 +0100 | [diff] [blame] | 13 | env: BUILD="native" INSTALL_PACKAGES="$BUILD" |
Petr Vorel | b668433 | 2017-01-13 10:07:05 +0100 | [diff] [blame] | 14 | compiler: gcc-5 |
| 15 | addons: |
| 16 | apt: |
| 17 | sources: ['ubuntu-toolchain-r-test'] |
| 18 | packages: ['gcc-5'] |
| 19 | |
| 20 | - os: linux |
Petr Vorel | 72a23be | 2018-01-26 19:51:16 +0100 | [diff] [blame] | 21 | env: BUILD="native" TREE="out" INSTALL_PACKAGES="$BUILD" |
Petr Vorel | 1ac620a | 2017-11-30 10:59:46 +0100 | [diff] [blame] | 22 | compiler: gcc-7 |
Petr Vorel | b668433 | 2017-01-13 10:07:05 +0100 | [diff] [blame] | 23 | addons: |
| 24 | apt: |
Petr Vorel | 1ac620a | 2017-11-30 10:59:46 +0100 | [diff] [blame] | 25 | sources: ['ubuntu-toolchain-r-test'] |
| 26 | packages: ['gcc-7'] |
Petr Vorel | b668433 | 2017-01-13 10:07:05 +0100 | [diff] [blame] | 27 | |
| 28 | - os: linux |
Petr Vorel | 72a23be | 2018-01-26 19:51:16 +0100 | [diff] [blame] | 29 | env: BUILD="native" TREE="out" |
Petr Vorel | b9e8918 | 2017-11-30 19:05:14 +0100 | [diff] [blame] | 30 | 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 Vorel | b9e8918 | 2017-11-30 19:05:14 +0100 | [diff] [blame] | 44 | - os: linux |
Petr Vorel | 3d43c23 | 2017-11-27 15:45:53 +0100 | [diff] [blame] | 45 | env: BUILD="native" |
Petr Vorel | b668433 | 2017-01-13 10:07:05 +0100 | [diff] [blame] | 46 | compiler: clang-3.9 |
| 47 | addons: |
| 48 | apt: |
Petr Vorel | 1ac620a | 2017-11-30 10:59:46 +0100 | [diff] [blame] | 49 | sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-3.9'] |
Petr Vorel | b668433 | 2017-01-13 10:07:05 +0100 | [diff] [blame] | 50 | packages: ['clang-3.9'] |
| 51 | |
Petr Vorel | 72a23be | 2018-01-26 19:51:16 +0100 | [diff] [blame] | 52 | ### 32-bit builds ### |
Petr Vorel | 1ac620a | 2017-11-30 10:59:46 +0100 | [diff] [blame] | 53 | - os: linux |
Petr Vorel | b9e8918 | 2017-11-30 19:05:14 +0100 | [diff] [blame] | 54 | env: BUILD="32" INSTALL_PACKAGES="$BUILD" |
Petr Vorel | 3d43c23 | 2017-11-27 15:45:53 +0100 | [diff] [blame] | 55 | 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 Vorel | 72a23be | 2018-01-26 19:51:16 +0100 | [diff] [blame] | 62 | env: BUILD="32" TREE="out" INSTALL_PACKAGES="$BUILD" |
Petr Vorel | 3d43c23 | 2017-11-27 15:45:53 +0100 | [diff] [blame] | 63 | 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 Vorel | 72a23be | 2018-01-26 19:51:16 +0100 | [diff] [blame] | 69 | ### cross-compile builds ### |
Petr Vorel | 8197a46 | 2017-12-11 17:08:14 +0100 | [diff] [blame] | 70 | - 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 Vorel | 72a23be | 2018-01-26 19:51:16 +0100 | [diff] [blame] | 78 | env: BUILD="cross" TREE="out" INSTALL_PACKAGES="$BUILD" |
Petr Vorel | 8197a46 | 2017-12-11 17:08:14 +0100 | [diff] [blame] | 79 | compiler: aarch64-linux-gnu-gcc |
| 80 | addons: |
| 81 | apt: |
| 82 | packages: ['gcc-aarch64-linux-gnu', 'libc6-dev-arm64-cross'] |
| 83 | |
Petr Vorel | 72a23be | 2018-01-26 19:51:16 +0100 | [diff] [blame] | 84 | - 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 Vorel | 1ed5233 | 2017-01-11 13:42:29 +0100 | [diff] [blame] | 91 | notifications: |
| 92 | email: |
Petr Vorel | bf549a0 | 2017-02-02 16:43:15 +0100 | [diff] [blame] | 93 | secure: "b/xcA/K5OyQvPPnd0PRahTH5LJu8lgz8goGHvhXpHo+ZPsPgTDXNFo5cX9fSOkMuFKeoW8iGl0wOgK2+ptc8mbYDw277K4RFIHRHeV/KIoE1EzjQnEFiL8J0oHCAvDj12o0AXeriTyY9gICXKbR31Br6Zh5eKViDJe2OAGeHeDU=" |
Petr Vorel | 1ed5233 | 2017-01-11 13:42:29 +0100 | [diff] [blame] | 94 | |
Petr Vorel | 3d43c23 | 2017-11-27 15:45:53 +0100 | [diff] [blame] | 95 | before_install: |
Petr Vorel | 12cecc5 | 2018-04-18 08:13:13 +0200 | [diff] [blame] | 96 | # 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 Vorel | 05398fa | 2018-03-27 16:37:11 +0200 | [diff] [blame] | 104 | - sudo apt update --option Acquire::Retries=100 --option Acquire::http::Timeout="60" |
Petr Vorel | 43ba798 | 2018-03-15 13:32:11 +0100 | [diff] [blame] | 105 | |
Petr Vorel | b9e8918 | 2017-11-30 19:05:14 +0100 | [diff] [blame] | 106 | # 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 Vorel | a937b3a | 2018-01-29 11:27:51 +0100 | [diff] [blame] | 109 | ; else |
Petr Vorel | b9e8918 | 2017-11-30 19:05:14 +0100 | [diff] [blame] | 110 | 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 Vorel | 72a23be | 2018-01-26 19:51:16 +0100 | [diff] [blame] | 116 | - if [ ! "$TREE" ]; then |
| 117 | TREE="in" |
| 118 | ; fi |
Petr Vorel | b9e8918 | 2017-11-30 19:05:14 +0100 | [diff] [blame] | 119 | |
Petr Vorel | 72a23be | 2018-01-26 19:51:16 +0100 | [diff] [blame] | 120 | script: ./build.sh -o $TREE -t $BUILD -c $CC |