Add support for Travis CI.

This commit is contained in:
Markus F.X.J. Oberhumer 2016-09-21 03:54:49 +02:00
parent 544ec21fc2
commit 57ba965b93
2 changed files with 82 additions and 0 deletions

35
.travis.yml Normal file
View File

@ -0,0 +1,35 @@
sudo: false
language: cpp
branches:
only:
- devel
- travis
install:
- 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
os:
- linux
# - osx
compiler:
- clang
- gcc
env:
global:
- B=
matrix:
- B=make/debug
- B=make/release
# - B=make/scan-build
before_script:
- export BUILD_DIR="$TRAVIS_BUILD_DIR/build"
- export BUILD_METHOD_AND_BUILD_TYPE="$B"
- export UPX_UCLDIR="$TRAVIS_BUILD_DIR/deps/ucl-1.03"
script:
- bash "$TRAVIS_BUILD_DIR/.travis_build.sh"

47
.travis_build.sh Normal file
View File

@ -0,0 +1,47 @@
#! /bin/bash
## vim:set ts=4 sw=4 et:
set -e; set -o pipefail
echo "BUILD_METHOD_AND_BUILD_TYPE='$BUILD_METHOD_AND_BUILD_TYPE'"
echo "CC='$CC'"
echo "CXX='$CXX'"
echo "CPPFLAGS='$CPPFLAGS'"
echo "CFLAGS='$CFLAGS'"
echo "CXXFLAGS='$CXXFLAGS'"
echo "LDFLAGS='$LDFLAGS'"
echo "LIBS='$LIBS'"
echo "BUILD_DIR='$BUILD_DIR'"
echo "UPX_UCLDIR='$UPX_UCLDIR'"
#env | LC_ALL=C sort
# build UCL
cd /
set -x
cd "$UPX_UCLDIR"
./configure --enable-static --disable-shared
make
cd /
set -x
mkdir -p "$BUILD_DIR"
cd "$BUILD_DIR"
case $BUILD_METHOD_AND_BUILD_TYPE in
make/debug)
make -f "$TRAVIS_BUILD_DIR/src/Makefile" USE_DEBUG=1
;;
make/release)
make -f "$TRAVIS_BUILD_DIR/src/Makefile"
;;
make/scan-build)
if test "$CC" = "clang"; then
scan-build make -f "$TRAVIS_BUILD_DIR/src/Makefile"
else
make -f "$TRAVIS_BUILD_DIR/src/Makefile" USE_SANITIZE=1
fi
;;
*)
echo "ERROR: invalid build '$BUILD_METHOD_AND_BUILD_TYPE'"
exit 1
;;
esac