| 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 |