5407b5f90f06f5ca26f42a1d992fca7bed570a01
[openssl.git] / .travis.yml
1 language: c
2
3 addons:
4     apt:
5         packages:
6             - clang-3.6
7             - gcc-5
8         sources:
9             - llvm-toolchain-precise-3.6
10             - ubuntu-toolchain-r-test
11
12 os:
13     - linux
14     - osx
15
16 compiler:
17     - clang
18     - clang-3.6
19     - gcc
20     - gcc-5
21
22 env:
23     - CONFIG_OPTS=""
24     - CONFIG_OPTS="shared"
25     - CONFIG_OPTS="no-pic"
26     - CONFIG_OPTS="--debug --strict-warnings enable-crypto-mdebug enable-rc5 enable-md2"
27     - CONFIG_OPTS="--unified" BUILDONLY="yes"
28     - CONFIG_OPTS="--unified shared" BUILDONLY="yes"
29     - CONFIG_OPTS="--unified --debug --strict-warnings enable-rc5 enable-md2" BUILDONLY="yes"
30
31 matrix:
32     include:
33         - os: linux
34           compiler: clang-3.6
35           env: CONFIG_OPTS="-fsanitize=address"
36         - os: linux
37           compiler: clang-3.6
38           env: CONFIG_OPTS="no-asm --strict-warnings -fno-sanitize-recover -fsanitize=address -fsanitize=undefined enable-rc5 enable-md2"
39         - os: linux
40           compiler: gcc-5
41           env: CONFIG_OPTS="-fsanitize=address"
42         - os: linux
43           compiler: gcc-5
44           env: CONFIG_OPTS="no-asm --strict-warnings -fno-sanitize-recover -fsanitize=address -fsanitize=undefined enable-rc5 enable-md2"
45         - os: linux
46           compiler: clang
47           env: CONFIG_OPTS="no-engine" BUILDONLY="yes"
48     exclude:
49         - os: osx
50           compiler: clang-3.6
51         - os: osx
52           compiler: gcc
53         - os: osx
54           compiler: gcc-5
55
56 before_script:
57     - sh .travis-create-release.sh $TRAVIS_OS_NAME
58     - tar -xvzf _srcdist.tar.gz
59     - cd _srcdist
60     - if [ "$CC" == i686-w64-mingw32-gcc ]; then
61           export CROSS_COMPILE=${CC%%gcc}; unset CC;
62           ./Configure mingw $CONFIG_OPTS -Wno-pedantic-ms-format;
63       elif [ "$CC" == x86_64-w64-mingw32-gcc ]; then
64           export CROSS_COMPILE=${CC%%gcc}; unset CC;
65           ./Configure mingw64 $CONFIG_OPTS -Wno-pedantic-ms-format;
66       else
67           ./config $CONFIG_OPTS;
68       fi
69     - cd ..
70
71 script:
72     - cd _srcdist
73     - make
74     - if [ -z "$BUILDONLY" ]; then
75           HARNESS_VERBOSE=yes make test;
76       fi
77     - cd ..
78
79 notifications:
80     email:
81         - openssl-commits@openssl.org
82