language: c
+cache: ccache
+
+addons:
+ apt:
+ packages:
+ - ccache
+ - clang-3.6
+ - gcc-5
+ - binutils-mingw-w64
+ - gcc-mingw-w64
+ - wine
+ sources:
+ - llvm-toolchain-precise-3.6
+ - ubuntu-toolchain-r-test
os:
- - linux
- - osx
+ - linux
+ - osx
compiler:
- - clang
- - gcc
+ - clang
+ - gcc
env:
- - CONFIG_OPTS=""
- - CONFIG_OPTS="--debug"
- - CONFIG_OPTS="shared"
+ - CONFIG_OPTS="shared"
+ - CONFIG_OPTS="--debug enable-crypto-mdebug enable-rc5 enable-md2"
+ - CONFIG_OPTS="--strict-warnings" BUILDONLY="yes"
+ - CONFIG_OPTS="--classic" BUILDONLY="yes"
+ - CONFIG_OPTS="--classic shared" BUILDONLY="yes"
+ - CONFIG_OPTS="no-pic --strict-warnings" BUILDONLY="yes"
+ - CONFIG_OPTS="no-engine --strict-warnings" BUILDONLY="yes"
+
+matrix:
+ include:
+ - os: linux
+ compiler: clang-3.6
+ env: CONFIG_OPTS="-fsanitize=address"
+ - os: linux
+ compiler: clang-3.6
+ env: CONFIG_OPTS="no-asm -fno-sanitize-recover -fsanitize=address -fsanitize=undefined enable-rc5 enable-md2 -fno-sanitize=alignment"
+ - os: linux
+ compiler: gcc-5
+ env: CONFIG_OPTS="-fsanitize=address"
+ - os: linux
+ compiler: gcc-5
+ env: CONFIG_OPTS="no-asm -fno-sanitize-recover -DPEDANTIC -fsanitize=address -fsanitize=undefined enable-rc5 enable-md2"
+ - os: linux
+ compiler: i686-w64-mingw32-gcc
+ env: CONFIG_OPTS="no-pic"
+ - os: linux
+ compiler: x86_64-w64-mingw32-gcc
+ env: CONFIG_OPTS="no-pic"
+ exclude:
+ - os: linux
+ compiler: clang
+ - os: osx
+ compiler: gcc
+
+before_script:
+ - sh .travis-create-release.sh $TRAVIS_OS_NAME
+ - tar -xvzf _srcdist.tar.gz
+ - if echo "$CONFIG_OPTS" | grep -e "--classic" >/dev/null; then
+ srcdir=.;
+ cd _srcdist;
+ else
+ srcdir=../_srcdist;
+ mkdir _build;
+ cd _build;
+ fi
+ - if [ "$CC" == i686-w64-mingw32-gcc ]; then
+ export CROSS_COMPILE=${CC%%gcc}; unset CC;
+ $srcdir/Configure mingw $CONFIG_OPTS -Wno-pedantic-ms-format;
+ elif [ "$CC" == x86_64-w64-mingw32-gcc ]; then
+ export CROSS_COMPILE=${CC%%gcc}; unset CC;
+ $srcdir/Configure mingw64 $CONFIG_OPTS -Wno-pedantic-ms-format;
+ else
+ if which ccache >/dev/null && [ "$CC" != clang-3.6 ]; then
+ CC="ccache $CC";
+ fi;
+ $srcdir/config $CONFIG_OPTS;
+ fi
+ - cd ..
script:
- - ./config $CONFIG_OPTS && make && make test
+ - if echo "$CONFIG_OPTS" | grep -e "--classic" >/dev/null; then
+ cd _srcdist;
+ else
+ cd _build;
+ fi
+ - make
+ - if [ -z "$BUILDONLY" ]; then
+ if [ -n "$CROSS_COMPILE" ]; then
+ export EXE_SHELL="wine" WINEPREFIX=`pwd`;
+ fi;
+ HARNESS_VERBOSE=yes make test;
+ else
+ make build_tests;
+ fi
+ - cd ..
notifications:
- recipient:
- - openssl-dev@openssl.org
- email:
- on_success: change
- on_failure: always
+ email:
+ - openssl-commits@openssl.org
+