# Support for Travis CI -- https://travis-ci.org/upx/upx/builds # Copyright (C) Markus Franz Xaver Johannes Oberhumer sudo: false language: cpp notifications: email: on_success: never on_failure: change .ubuntu_toolchain_sources: &S - ubuntu-toolchain-r-test - llvm-toolchain-precise-3.5 - llvm-toolchain-precise-3.6 - llvm-toolchain-precise-3.7 - llvm-toolchain-precise-3.8 env: global: - CROSS= C= B= T= X= matrix: - TRAVIS_EMPTY_JOB_WORKAROUND=true matrix: fast_finish: true exclude: - env: TRAVIS_EMPTY_JOB_WORKAROUND=true include: - os: linux sudo: required dist: trusty compiler: gcc env: X=rebuild-stubs addons: { apt: { packages: [ "g++-multilib", "lib32z1" ] } } - os: linux compiler: gcc env: C=gcc-4.4-m32 addons: { apt: { sources: *S, packages: [ "g++-4.4-multilib", "zlib1g-dev:i386" ] } } - os: linux compiler: gcc env: C=gcc-4.4-m64 addons: { apt: { sources: *S, packages: [ "g++-4.4" ] } } - os: linux compiler: gcc env: C=gcc-4.6-m32 addons: { apt: { packages: [ "g++-multilib", "zlib1g-dev:i386" ] } } - os: linux compiler: gcc env: C=gcc-4.6-m64 - os: linux compiler: gcc env: C=gcc-5-m32 addons: { apt: { sources: *S, packages: [ "g++-5-multilib", "zlib1g-dev:i386" ] } } - os: linux compiler: gcc env: C=gcc-5-m64 addons: { apt: { sources: *S, packages: [ "g++-5" ] } } - os: linux compiler: gcc env: C=gcc-6-m32 addons: { apt: { sources: *S, packages: [ "g++-6-multilib", "zlib1g-dev:i386" ] } } - os: linux compiler: gcc env: C=gcc-6-m64 addons: { apt: { sources: *S, packages: [ "g++-6" ] } } - os: linux compiler: gcc env: C=gcc-6-m32 B=debug addons: { apt: { sources: *S, packages: [ "g++-6-multilib", "zlib1g-dev:i386" ] } } - os: linux compiler: gcc env: C=gcc-6-m64 B=debug addons: { apt: { sources: *S, packages: [ "g++-6" ] } } - os: linux compiler: gcc env: C=gcc-6-m64 B=debug+sanitize addons: { apt: { sources: *S, packages: [ "g++-6" ] } } - os: linux compiler: gcc env: C=gcc-6-m64 B=sanitize addons: { apt: { sources: *S, packages: [ "g++-6" ] } } - os: linux compiler: gcc env: C=gcc-6-m64 B=valgrind T=valgrind addons: { apt: { sources: *S, packages: [ "g++-6", valgrind ] } } - os: linux compiler: clang env: C=clang-3.4-m32 addons: { apt: { packages: [ "g++-multilib", "zlib1g-dev:i386" ] } } - os: linux compiler: clang env: C=clang-3.4-m64 - os: linux compiler: clang env: C=clang-3.5-m32 addons: { apt: { sources: *S, packages: [ "clang-3.5", "g++-6-multilib", "zlib1g-dev:i386" ] } } - os: linux compiler: clang env: C=clang-3.5-m64 addons: { apt: { sources: *S, packages: [ "clang-3.5" ] } } - os: linux compiler: clang env: C=clang-3.6-m32 addons: { apt: { sources: *S, packages: [ "clang-3.6", "g++-6-multilib", "zlib1g-dev:i386" ] } } - os: linux compiler: clang env: C=clang-3.6-m64 addons: { apt: { sources: *S, packages: [ "clang-3.6" ] } } - os: linux compiler: clang env: C=clang-3.7-m32 addons: { apt: { sources: *S, packages: [ "clang-3.7", "g++-6-multilib", "zlib1g-dev:i386" ] } } - os: linux compiler: clang env: C=clang-3.7-m64 addons: { apt: { sources: *S, packages: [ "clang-3.7" ] } } - os: linux compiler: clang env: C=clang-3.8-m32 addons: { apt: { sources: *S, packages: [ "clang-3.8", "g++-6-multilib", "zlib1g-dev:i386" ] } } - os: linux compiler: clang env: C=clang-3.8-m64 addons: { apt: { sources: *S, packages: [ "clang-3.8" ] } } - os: linux compiler: clang env: C=clang-3.8-m64 B=debug+sanitize addons: { apt: { sources: *S, packages: [ "clang-3.8" ] } } - os: linux compiler: clang env: C=clang-3.8-m64 B=sanitize addons: { apt: { sources: *S, packages: [ "clang-3.8" ] } } - os: linux compiler: clang env: C=clang-3.8-m64 B=debug+scan-build addons: { apt: { sources: *S, packages: [ "clang-3.8" ] } } - os: linux compiler: clang env: C=clang-3.8-m64 B=scan-build addons: { apt: { sources: *S, packages: [ "clang-3.8" ] } } - os: linux compiler: gcc env: CROSS=arm-linux-gnueabi C=gcc-4.6 T=SKIP addons: { apt: { packages: [ "g++-arm-linux-gnueabi", "qemu-user" ] } } - os: linux compiler: gcc env: CROSS=arm-linux-gnueabihf C=gcc-4.6 T=SKIP addons: { apt: { packages: [ "g++-arm-linux-gnueabihf", "qemu-user" ] } } - os: linux compiler: gcc env: CROSS=i386-w64-mingw32 C=gcc-4.6 T=wine addons: { apt: { packages: [ "binutils-mingw-w64-i686", "g++-mingw-w64-i686", "wine" ] } } - os: linux compiler: gcc env: CROSS=x86_64-w64-mingw32 C=gcc-4.6 T=wine addons: { apt: { packages: [ "binutils-mingw-w64-x86-64", "g++-mingw-w64-x86-64", "wine" ] } } - os: osx osx_image: xcode6.4 compiler: clang # must use debug build or else we get "ld: internal error: atom not found" when linking env: C=clang-602-m32 B=debug - os: osx osx_image: xcode6.4 compiler: clang # must use debug build or else we get "ld: internal error: atom not found" when linking env: C=clang-602-m64 B=debug - os: osx osx_image: xcode7.3 compiler: clang env: C=clang-703-m32 - os: osx osx_image: xcode7.3 compiler: clang env: C=clang-703-m64 - os: osx osx_image: xcode8.1 compiler: clang env: C=clang-800-m32 - os: osx osx_image: xcode8.1 compiler: clang env: C=clang-800-m64 install: - umask 022; cd $TRAVIS_BUILD_DIR && mkdir -p ../deps - cd ../deps && travis_retry wget -q -O - https://github.com/upx/upx/releases/download/v3.00/ucl-1.03.tar.xz | tar -xJ - cd ../deps && travis_retry wget -q -O - https://github.com/upx/upx/releases/download/v3.00/zlib-1.2.8.tar.xz | tar -xJ - cd ../deps && travis_retry git clone https://github.com/upx/upx-testsuite - if [[ $X =~ (^|\+)rebuild-stubs($|\+) ]]; then cd ../deps && travis_retry wget -q -O - https://github.com/upx/upx-stubtools/releases/download/v20160918/bin-upx-20160918.tar.xz | tar -xJ; fi - | cd / if [[ $TRAVIS_OS_NAME == linux ]]; then if [[ $B =~ (^|\+)coverage($|\+) ]]; then travis_retry pip install --user cpp-coveralls fi fi if [[ $TRAVIS_OS_NAME == osx ]]; then if ! gsha256sum /dev/null 2>/dev/null; then travis_retry brew install coreutils; fi if [[ $B =~ (^|\+)coverage($|\+) ]]; then travis_retry brew install lcov travis_retry pip install --user cpp-coveralls fi fi script: - cd $TRAVIS_BUILD_DIR && mkdir -p ../build/travis - cd $TRAVIS_BUILD_DIR && bash ./.github/travis_build.sh - cd $TRAVIS_BUILD_DIR && bash ./.github/travis_testsuite_1.sh # vim:set ts=2 sw=2 et: