blob: 078028f9be0c02c96b348715185a7ee3d0eab41a [file] [log] [blame]
language: c
# BUILD="native": native builds
# BUILD="32": 32-bit builds
# BUILD="cross": cross compile build
# TREE="out": out-of-tree build
# NO INSTALL_PACKAGES variable: build with minimal dependencies
matrix:
include:
### native builds ###
- os: linux
env: BUILD="native" INSTALL_PACKAGES="$BUILD"
compiler: gcc-5
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['gcc-5']
- os: linux
env: BUILD="native" TREE="out" INSTALL_PACKAGES="$BUILD"
compiler: gcc-7
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['gcc-7']
- os: linux
env: BUILD="native" TREE="out"
compiler: clang-4.0
addons:
apt:
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-4.0']
packages: ['clang-4.0']
- os: linux
env: BUILD="native" INSTALL_PACKAGES="$BUILD"
compiler: clang-5.0
addons:
apt:
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-5.0']
packages: ['clang-5.0']
- os: linux
env: BUILD="native"
compiler: clang-3.9
addons:
apt:
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-3.9']
packages: ['clang-3.9']
### 32-bit builds ###
- os: linux
env: BUILD="32" INSTALL_PACKAGES="$BUILD"
compiler: gcc-4.9
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['gcc-4.9', 'gcc-4.9-multilib', 'linux-libc-dev:i386']
- os: linux
env: BUILD="32" TREE="out" INSTALL_PACKAGES="$BUILD"
compiler: gcc-6
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['gcc-6', 'gcc-6-multilib', 'linux-libc-dev:i386']
### cross-compile builds ###
- os: linux
env: BUILD="cross" INSTALL_PACKAGES="$BUILD"
compiler: arm-linux-gnueabihf-gcc
addons:
apt:
packages: ['gcc-arm-linux-gnueabihf', 'libc6-dev-armhf-cross']
- os: linux
env: BUILD="cross" TREE="out" INSTALL_PACKAGES="$BUILD"
compiler: aarch64-linux-gnu-gcc
addons:
apt:
packages: ['gcc-aarch64-linux-gnu', 'libc6-dev-arm64-cross']
- os: linux
env: BUILD="cross" TREE="out"
compiler: powerpc64le-linux-gnu-gcc
addons:
apt:
packages: ['gcc-powerpc64le-linux-gnu', 'libc6-dev-ppc64el-cross']
notifications:
email:
secure: "b/xcA/K5OyQvPPnd0PRahTH5LJu8lgz8goGHvhXpHo+ZPsPgTDXNFo5cX9fSOkMuFKeoW8iGl0wOgK2+ptc8mbYDw277K4RFIHRHeV/KIoE1EzjQnEFiL8J0oHCAvDj12o0AXeriTyY9gICXKbR31Br6Zh5eKViDJe2OAGeHeDU="
before_install:
# travis-ci/travis-ci#9112: remove all third party repositories except ubuntu-toolchain-r-test
- if [ -f /etc/apt/sources.list.d/ubuntu-toolchain-r-test*.list ]; then
cp -v /etc/apt/sources.list.d/ubuntu-toolchain-r-test*.list /tmp
; fi
- sudo rm -fv /etc/apt/sources.list.d/*
- if [ -f /tmp/ubuntu-toolchain-r-test*.list ]; then
sudo cp -v /tmp/ubuntu-toolchain-r-test*.list /etc/apt/sources.list.d/
; fi
# workaround apt related for error:
# Err:6 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu trusty InRelease
# The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1E9377A2BA9EF27F
- sudo apt update -o Acquire::Retries=100 -o Acquire::http::Timeout="60" -o Acquire::AllowInsecureRepositories=true -o Acquire::AllowDowngradeToInsecureRepositories=true
# installing / removing dependencies
- if [ "$INSTALL_PACKAGES" = "" ]; then
sudo apt remove $(cat .travis.packages_native | grep -v -e 'libc6' -e 'libc6-dev' -e 'linux-libc-dev' -e 'libacl1')
; else
sudo apt install -qq $(cat .travis.packages_native)
; fi
- if [ "$INSTALL_PACKAGES" = "32" ]; then
sudo apt install -qq $(cat .travis.packages_i386)
; fi
- if [ ! "$TREE" ]; then
TREE="in"
; fi
script: ./build.sh -o $TREE -t $BUILD -c $CC