blob: a278cb2c9fbc7499e90b3790e5e2db63e52d6076 [file] [log] [blame]
Alessandro Ghedini66c103b2015-08-20 00:12:29 +02001language: c
Richard Levittebd5fbfe2016-03-07 00:33:35 +01002cache: ccache
Alessandro Ghedini66c103b2015-08-20 00:12:29 +02003
Rich Salzdb9defd2015-09-21 19:54:36 -04004addons:
Alessandro Ghedinif3867422015-10-12 16:15:43 -04005 apt:
6 packages:
Richard Levittebd5fbfe2016-03-07 00:33:35 +01007 - ccache
Rich Salz6f60a5a2016-06-30 08:51:16 -04008 - clang-3.6
Alessandro Ghedinif3867422015-10-12 16:15:43 -04009 - gcc-5
Emilia Kasper56cd71b2016-03-07 12:59:40 +010010 - binutils-mingw-w64
11 - gcc-mingw-w64
12 - wine
Alessandro Ghedinif3867422015-10-12 16:15:43 -040013 sources:
Rich Salz6f60a5a2016-06-30 08:51:16 -040014 - llvm-toolchain-precise-3.6
Alessandro Ghedinif3867422015-10-12 16:15:43 -040015 - ubuntu-toolchain-r-test
Rich Salzdb9defd2015-09-21 19:54:36 -040016
Alessandro Ghedini66c103b2015-08-20 00:12:29 +020017os:
Rich Salzdb9defd2015-09-21 19:54:36 -040018 - linux
19 - osx
Alessandro Ghedini66c103b2015-08-20 00:12:29 +020020
21compiler:
Rich Salzdb9defd2015-09-21 19:54:36 -040022 - clang
23 - gcc
Alessandro Ghedini66c103b2015-08-20 00:12:29 +020024
25env:
Richard Levitted227a302016-03-29 17:50:53 +020026 - CONFIG_OPTS="" DESTDIR="_install"
Matt Caswelle951eca2016-04-14 14:28:13 +010027 - CONFIG_OPTS="--debug no-shared enable-crypto-mdebug enable-rc5 enable-md2"
28 - CONFIG_OPTS="--strict-warnings no-shared" BUILDONLY="yes"
Emilia Kasperb5914702016-04-05 15:11:02 +020029 - CONFIG_OPTS="no-pic --strict-warnings" BUILDONLY="yes"
Matt Caswelle951eca2016-04-14 14:28:13 +010030 - CONFIG_OPTS="no-engine no-shared --strict-warnings" BUILDONLY="yes"
Rich Salzdb9defd2015-09-21 19:54:36 -040031
32matrix:
Alessandro Ghedinif3867422015-10-12 16:15:43 -040033 include:
34 - os: linux
Rich Salz6f60a5a2016-06-30 08:51:16 -040035 compiler: clang-3.6
Emilia Kaspera7cbe962016-05-12 20:00:14 +020036 env: CONFIG_OPTS="no-shared enable-asan"
Rich Salz6f60a5a2016-06-30 08:51:16 -040037 - os: linux
38 compiler: clang-3.6
Emilia Kasper29df3062016-07-28 20:24:28 +020039 env: CONFIG_OPTS="no-shared enable-msan"
40 - os: linux
41 compiler: clang-3.6
Matt Caswelleb5561c2016-07-15 10:46:01 +010042 env: CONFIG_OPTS="no-asm enable-ubsan enable-rc5 enable-md2 enable-ssl3 enable-ssl3-method -fno-sanitize=alignment"
Rich Salz6f60a5a2016-06-30 08:51:16 -040043 - os: linux
44 compiler: clang-3.6
45 env: CONFIG_OPTS="no-shared no-asm enable-asan enable-rc5 enable-md2"
Alessandro Ghedini6220acf2015-10-06 20:27:50 +020046 - os: linux
Rich Salza15cfae2016-06-14 14:00:22 -040047 compiler: gcc-5
Rich Salz6f60a5a2016-06-30 08:51:16 -040048 env: CONFIG_OPTS="no-asm enable-ubsan enable-rc5 enable-md2 -DPEDANTIC"
FdaSilvaYYb6a89162016-02-25 20:54:40 +010049 - os: linux
Emilia Kasper56cd71b2016-03-07 12:59:40 +010050 compiler: i686-w64-mingw32-gcc
51 env: CONFIG_OPTS="no-pic"
52 - os: linux
53 compiler: x86_64-w64-mingw32-gcc
54 env: CONFIG_OPTS="no-pic"
Rich Salzdb9defd2015-09-21 19:54:36 -040055 exclude:
Emilia Kasper210efa82016-03-07 15:15:20 +010056 - os: linux
57 compiler: clang
Alessandro Ghedini6220acf2015-10-06 20:27:50 +020058 - os: osx
Andy Polyakovdbf9a332016-02-12 11:45:44 +010059 compiler: gcc
Rich Salzdb9defd2015-09-21 19:54:36 -040060
61before_script:
Richard Levitte382af612015-12-08 12:43:05 +010062 - sh .travis-create-release.sh $TRAVIS_OS_NAME
Richard Levitte475fc3d2015-12-07 15:47:43 +010063 - tar -xvzf _srcdist.tar.gz
Richard Levitte45c6e232016-04-02 18:36:52 +020064 - mkdir _build;
65 - cd _build;
Rich Salzdb9defd2015-09-21 19:54:36 -040066 - if [ "$CC" == i686-w64-mingw32-gcc ]; then
67 export CROSS_COMPILE=${CC%%gcc}; unset CC;
Richard Levitte9bf6eff2016-04-20 18:39:01 +020068 ../_srcdist/Configure mingw $CONFIG_OPTS -Wno-pedantic-ms-format;
Rich Salzdb9defd2015-09-21 19:54:36 -040069 elif [ "$CC" == x86_64-w64-mingw32-gcc ]; then
70 export CROSS_COMPILE=${CC%%gcc}; unset CC;
Richard Levitte9bf6eff2016-04-20 18:39:01 +020071 ../_srcdist/Configure mingw64 $CONFIG_OPTS -Wno-pedantic-ms-format;
Rich Salzdb9defd2015-09-21 19:54:36 -040072 else
Emilia Kasper4b857442016-03-12 17:18:25 +010073 if which ccache >/dev/null && [ "$CC" != clang-3.6 ]; then
Richard Levittea70ca742016-03-10 02:14:55 +010074 CC="ccache $CC";
Richard Levitte8cffddc2016-03-10 08:36:57 +010075 fi;
Richard Levitte9bf6eff2016-04-20 18:39:01 +020076 ../_srcdist/config $CONFIG_OPTS;
Rich Salzdb9defd2015-09-21 19:54:36 -040077 fi
Richard Levitte475fc3d2015-12-07 15:47:43 +010078 - cd ..
Alessandro Ghedini66c103b2015-08-20 00:12:29 +020079
80script:
Richard Levitte45c6e232016-04-02 18:36:52 +020081 - cd _build;
Richard Levitte941b10b2016-07-19 11:58:26 +020082 - make update
Rich Salzdb9defd2015-09-21 19:54:36 -040083 - make
Emilia Kasperb63447c2016-03-06 22:31:18 +010084 - if [ -z "$BUILDONLY" ]; then
Emilia Kasper56cd71b2016-03-07 12:59:40 +010085 if [ -n "$CROSS_COMPILE" ]; then
86 export EXE_SHELL="wine" WINEPREFIX=`pwd`;
87 fi;
Emilia Kasperb63447c2016-03-06 22:31:18 +010088 HARNESS_VERBOSE=yes make test;
Emilia Kasperd7a275e2016-03-14 12:47:47 +010089 else
90 make build_tests;
Rich Salz1a3ae782015-10-16 11:19:04 -040091 fi
Richard Levitted227a302016-03-29 17:50:53 +020092 - if [ -n "$DESTDIR" ]; then
93 mkdir "../$DESTDIR";
Richard Levittea3414dc2016-06-02 17:37:03 +020094 make install install_docs DESTDIR="../$DESTDIR";
Richard Levitted227a302016-03-29 17:50:53 +020095 fi
Richard Levitte475fc3d2015-12-07 15:47:43 +010096 - cd ..
Alessandro Ghedini66c103b2015-08-20 00:12:29 +020097
98notifications:
Rich Salzdb9defd2015-09-21 19:54:36 -040099 email:
Alessandro Ghedini2d284622015-10-06 12:23:42 -0400100 - openssl-commits@openssl.org
FdaSilvaYYb6a89162016-02-25 20:54:40 +0100101