1
0
mirror of https://github.com/upx/upx synced 2025-09-28 19:06:07 +08:00

Update Travis.

This commit is contained in:
Markus F.X.J. Oberhumer 2016-09-25 09:43:30 +02:00
parent daafc29d2b
commit 68159d457e
2 changed files with 133 additions and 45 deletions

View File

@ -1,21 +1,38 @@
sudo: false
language: cpp
notifications:
email: false
branches:
only:
- devel
- travis
addons:
sources: &apt_sources
- 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:
- C= B=
matrix:
- TRAVIS_EMPTY_JOB_WORKAROUND=true
matrix:
exclude:
- env: TRAVIS_EMPTY_JOB_WORKAROUND=true
include:
- os: linux
compiler: clang
env: C=clang-m32 B=debug
addons:
apt:
packages:
- g++-multilib
- zlib1g-dev:i386
packages: [ "g++-multilib", "zlib1g-dev:i386" ]
- os: linux
compiler: clang
env: C=clang-m64 B=debug
@ -24,20 +41,72 @@ matrix:
env: C=clang-m32
addons:
apt:
packages:
- g++-multilib
- zlib1g-dev:i386
packages: [ "g++-multilib", "zlib1g-dev:i386" ]
- os: linux
compiler: clang
env: C=clang-m64
- os: linux
compiler: clang
env: C=clang-3.5-m32
addons:
apt:
sources: *apt_sources
packages: [ "clang-3.5", "g++-6-multilib", "zlib1g-dev:i386" ]
- os: linux
compiler: clang
env: C=clang-3.5-m64
addons:
apt:
sources: *apt_sources
packages: [ "clang-3.5" ]
- os: linux
compiler: clang
env: C=clang-3.6-m32
addons:
apt:
sources: *apt_sources
packages: [ "clang-3.6", "g++-6-multilib", "zlib1g-dev:i386" ]
- os: linux
compiler: clang
env: C=clang-3.6-m64
addons:
apt:
sources: *apt_sources
packages: [ "clang-3.6" ]
- os: linux
compiler: clang
env: C=clang-3.7-m32
addons:
apt:
sources: *apt_sources
packages: [ "clang-3.7", "g++-6-multilib", "zlib1g-dev:i386" ]
- os: linux
compiler: clang
env: C=clang-3.7-m64
addons:
apt:
sources: *apt_sources
packages: [ "clang-3.7" ]
- os: linux
compiler: clang
env: C=clang-3.8-m32
addons:
apt:
sources: *apt_sources
packages: [ "clang-3.8", "g++-6-multilib", "zlib1g-dev:i386" ]
- os: linux
compiler: clang
env: C=clang-3.8-m64
addons:
apt:
sources: *apt_sources
packages: [ "clang-3.8" ]
- os: linux
compiler: gcc
env: C=gcc-m32
addons:
apt:
packages:
- g++-multilib
- zlib1g-dev:i386
packages: [ "g++-multilib", "zlib1g-dev:i386" ]
- os: linux
compiler: gcc
env: C=gcc-m64
@ -46,62 +115,62 @@ matrix:
env: C=gcc-5-m32
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-5-multilib
- zlib1g-dev:i386
sources: *apt_sources
packages: [ "g++-5-multilib", "zlib1g-dev:i386" ]
- os: linux
compiler: gcc-5
env: C=gcc-5-m64
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-5
sources: *apt_sources
packages: [ "g++-5" ]
- os: linux
compiler: gcc-6
env: C=gcc-6-m32
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-6-multilib
- zlib1g-dev:i386
sources: *apt_sources
packages: [ "g++-6-multilib", "zlib1g-dev:i386" ]
- os: linux
compiler: gcc-6
env: C=gcc-6-m64
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-6
sources: *apt_sources
packages: [ "g++-6" ]
- os: linux
compiler: gcc-6
# FIXME: linking fails - need updated binutils?
env: C=gcc-6-m64 B=sanitize ALLOW_FAIL=1
env: C=gcc-6-m64 B=debug+sanitize
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-6
sources: *apt_sources
packages: [ "g++-6" ]
- os: linux
compiler: gcc-6
env: C=gcc-6-m64 B=debug+valgrind
addons:
apt:
sources: *apt_sources
packages: [ "g++-6", "valgrind" ]
- os: osx
compiler: clang
env: C=clang-m64 B=debug
#osx_image: xcode7
env: C=clang-m32
osx_image: xcode7.3
- os: osx
compiler: clang
# FIXME: linking fails with "ld: internal error: atom not found"
env: C=clang-m64 B=release ALLOW_FAIL=1
#osx_image: xcode7
env: C=clang-m64
osx_image: xcode7.3
- os: osx
compiler: clang
env: C=clang-m32
osx_image: xcode8
- os: osx
compiler: clang
env: C=clang-m64
osx_image: xcode8
install:
- DEPS_DIR="$TRAVIS_BUILD_DIR/deps"
- mkdir -p "$DEPS_DIR" && cd "$DEPS_DIR"
- DEPS_DIR="$TRAVIS_BUILD_DIR/deps"; mkdir -p "$DEPS_DIR" && cd "$DEPS_DIR"
- wget --no-check-certificate -q -O - https://download.freenas.org/distfiles/ucl-1.03.tar.gz | tar -xz
- git clone https://github.com/upx/upx-testsuite

View File

@ -10,6 +10,18 @@ BUILD_METHOD="$B"
case $C in
clang-m32) CC="clang -m32"; CXX="clang++ -m32" ;;
clang-m64) CC="clang -m64"; CXX="clang++ -m64" ;;
clang-3.4-m32) CC="clang-3.4 -m32"; CXX="clang++-3.4 -m32" ;;
clang-3.4-m64) CC="clang-3.4 -m64"; CXX="clang++-3.4 -m64" ;;
clang-3.5-m32) CC="clang-3.5 -m32"; CXX="clang++-3.5 -m32" ;;
clang-3.5-m64) CC="clang-3.5 -m64"; CXX="clang++-3.5 -m64" ;;
clang-3.6-m32) CC="clang-3.6 -m32"; CXX="clang++-3.6 -m32" ;;
clang-3.6-m64) CC="clang-3.6 -m64"; CXX="clang++-3.6 -m64" ;;
clang-3.7-m32) CC="clang-3.7 -m32"; CXX="clang++-3.7 -m32" ;;
clang-3.7-m64) CC="clang-3.7 -m64"; CXX="clang++-3.7 -m64" ;;
clang-3.8-m32) CC="clang-3.8 -m32"; CXX="clang++-3.8 -m32" ;;
clang-3.8-m64) CC="clang-3.8 -m64"; CXX="clang++-3.8 -m64" ;;
clang-3.9-m32) CC="clang-3.9 -m32"; CXX="clang++-3.9 -m32" ;;
clang-3.9-m64) CC="clang-3.9 -m64"; CXX="clang++-3.9 -m64" ;;
gcc-m32) CC="gcc -m32"; CXX="g++ -m32" ;;
gcc-m64) CC="gcc -m64"; CXX="g++ -m64" ;;
gcc-5-m32) CC="gcc-5 -m32"; CXX="g++-5 -m32" ;;
@ -71,23 +83,27 @@ mkdir -p "$BUILD_DIR"
# build UCL
cd /; cd "$UPX_UCLDIR" || exit 1
./configure --enable-static --disable-shared
./configure --enable-static --disable-shared --disable-asm
make
# build UPX
cd /; cd "$BUILD_DIR" || exit 1
f="EXTRA_CPPFLAGS=-DUCL_NO_ASM"
make="make -f $TRAVIS_BUILD_DIR/src/Makefile $f"
export EXTRA_CPPFLAGS="-DUCL_NO_ASM"
case $BUILD_METHOD in
*sanitize) case $CC in gcc*) export EXTRA_LDFLAGS="-fuse-ld=gold" ;; esac ;;
*valgrind) export EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS -DWITH_VALGRIND" ;;
esac
make="make -f $TRAVIS_BUILD_DIR/src/Makefile"
if test "X$ALLOW_FAIL" = "X1"; then
echo "ALLOW_FAIL=$ALLOW_FAIL"
set +e
fi
case $BUILD_METHOD in
debug)
debug | debug+valgrind)
$make USE_DEBUG=1 ;;
debug+sanitize)
$make USE_DEBUG=1 USE_SANITIZE=1 ;;
release)
release | release+valgrind | valgrind)
$make ;;
sanitize)
$make USE_SANITIZE=1 ;;
@ -111,6 +127,9 @@ if test "X$TRAVIS_OS_NAME" = "Xosx"; then
checksum=true # TODO: travis-osx does not have md5sum and friends?
fi
upx="$PWD/upx.out"
case $BUILD_METHOD in
*valgrind) upx="valgrind $upx" ;;
esac
upx_391=false
if test "X$TRAVIS_OS_NAME" = "Xlinux"; then
cp "$TRAVIS_BUILD_DIR/deps/upx-testsuite/files/packed/amd64-linux.elf/upx-3.91" upx391.out