language: c matrix: include: # normal native in-tree 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" INSTALL_PACKAGES="$BUILD" compiler: gcc-7 addons: apt: sources: ['ubuntu-toolchain-r-test'] packages: ['gcc-7'] - os: linux env: BUILD="native" INSTALL_PACKAGES="$BUILD" 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'] # minimal build (some headers and libraries are missing) - 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 in-tree cross-compile 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" INSTALL_PACKAGES="$BUILD" compiler: gcc-6 addons: apt: sources: ['ubuntu-toolchain-r-test'] packages: ['gcc-6', 'gcc-6-multilib', 'linux-libc-dev:i386'] # out-of-tree build - os: linux env: BUILD="out" INSTALL_PACKAGES="native" compiler: gcc-7 addons: apt: sources: ['ubuntu-toolchain-r-test'] packages: ['gcc-7'] # cross-compile ARM 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" INSTALL_PACKAGES="$BUILD" compiler: aarch64-linux-gnu-gcc addons: apt: packages: ['gcc-aarch64-linux-gnu', 'libc6-dev-arm64-cross'] notifications: email: secure: "b/xcA/K5OyQvPPnd0PRahTH5LJu8lgz8goGHvhXpHo+ZPsPgTDXNFo5cX9fSOkMuFKeoW8iGl0wOgK2+ptc8mbYDw277K4RFIHRHeV/KIoE1EzjQnEFiL8J0oHCAvDj12o0AXeriTyY9gICXKbR31Br6Zh5eKViDJe2OAGeHeDU=" before_install: # 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') ; elif [ "$INSTALL_PACKAGES" != "cross" ]; then sudo apt install -qq $(cat .travis.packages_native) ; fi - if [ "$INSTALL_PACKAGES" = "32" ]; then sudo apt install -qq $(cat .travis.packages_i386) ; fi script: ./build.sh -t $BUILD -c $CC