blob: ad56a5f3e9b10933845d384c5810dcde3468a1e4 [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
Emilia Kasperad0a0a32016-08-03 15:29:21 +02004before_install:
5 - pip install --user cpp-coveralls
6
Rich Salzdb9defd2015-09-21 19:54:36 -04007addons:
Alessandro Ghedinif3867422015-10-12 16:15:43 -04008 apt:
9 packages:
Richard Levittebd5fbfe2016-03-07 00:33:35 +010010 - ccache
Rich Salz6f60a5a2016-06-30 08:51:16 -040011 - clang-3.6
Alessandro Ghedinif3867422015-10-12 16:15:43 -040012 - gcc-5
Emilia Kasper56cd71b2016-03-07 12:59:40 +010013 - binutils-mingw-w64
14 - gcc-mingw-w64
15 - wine
Alessandro Ghedinif3867422015-10-12 16:15:43 -040016 sources:
Rich Salz6f60a5a2016-06-30 08:51:16 -040017 - llvm-toolchain-precise-3.6
Alessandro Ghedinif3867422015-10-12 16:15:43 -040018 - ubuntu-toolchain-r-test
Rich Salzdb9defd2015-09-21 19:54:36 -040019
Alessandro Ghedini66c103b2015-08-20 00:12:29 +020020os:
Rich Salzdb9defd2015-09-21 19:54:36 -040021 - linux
22 - osx
Alessandro Ghedini66c103b2015-08-20 00:12:29 +020023
24compiler:
Rich Salzdb9defd2015-09-21 19:54:36 -040025 - clang
26 - gcc
Alessandro Ghedini66c103b2015-08-20 00:12:29 +020027
28env:
Richard Levitted227a302016-03-29 17:50:53 +020029 - CONFIG_OPTS="" DESTDIR="_install"
Matt Caswelle951eca2016-04-14 14:28:13 +010030 - CONFIG_OPTS="--debug no-shared enable-crypto-mdebug enable-rc5 enable-md2"
Emilia Kasperb5914702016-04-05 15:11:02 +020031 - CONFIG_OPTS="no-pic --strict-warnings" BUILDONLY="yes"
Matt Caswelle951eca2016-04-14 14:28:13 +010032 - CONFIG_OPTS="no-engine no-shared --strict-warnings" BUILDONLY="yes"
Richard Levitteb4aaf192016-08-05 00:48:44 +020033 - CONFIG_OPTS="no-stdio --strict-warnings" BUILDONLY="yes"
Rich Salzdb9defd2015-09-21 19:54:36 -040034
35matrix:
Alessandro Ghedinif3867422015-10-12 16:15:43 -040036 include:
37 - os: linux
Emilia Kasperad0a0a32016-08-03 15:29:21 +020038 compiler: gcc
39 env: CONFIG_OPTS="--debug --coverage no-asm enable-rc5 enable-md2 enable-ec_nistp_64_gcc_128 enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers" COVERALLS="yes"
40 - os: linux
Rich Salz6f60a5a2016-06-30 08:51:16 -040041 compiler: clang-3.6
Emilia Kaspera7cbe962016-05-12 20:00:14 +020042 env: CONFIG_OPTS="no-shared enable-asan"
Rich Salz6f60a5a2016-06-30 08:51:16 -040043 - os: linux
44 compiler: clang-3.6
Emilia Kasper29df3062016-07-28 20:24:28 +020045 env: CONFIG_OPTS="no-shared enable-msan"
46 - os: linux
47 compiler: clang-3.6
Matt Caswelleb5561c2016-07-15 10:46:01 +010048 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 -040049 - os: linux
50 compiler: clang-3.6
51 env: CONFIG_OPTS="no-shared no-asm enable-asan enable-rc5 enable-md2"
Alessandro Ghedini6220acf2015-10-06 20:27:50 +020052 - os: linux
Richard Levitteb4aaf192016-08-05 00:48:44 +020053 compiler: clang-3.6
54 env: CONFIG_OPTS="no-stdio"
55 - os: linux
Rich Salza15cfae2016-06-14 14:00:22 -040056 compiler: gcc-5
Rich Salz6f60a5a2016-06-30 08:51:16 -040057 env: CONFIG_OPTS="no-asm enable-ubsan enable-rc5 enable-md2 -DPEDANTIC"
FdaSilvaYYb6a89162016-02-25 20:54:40 +010058 - os: linux
Emilia Kasper56cd71b2016-03-07 12:59:40 +010059 compiler: i686-w64-mingw32-gcc
60 env: CONFIG_OPTS="no-pic"
61 - os: linux
Richard Levitteb4aaf192016-08-05 00:48:44 +020062 compiler: i686-w64-mingw32-gcc
63 env: CONFIG_OPTS="no-stdio"
64 - os: linux
Emilia Kasper56cd71b2016-03-07 12:59:40 +010065 compiler: x86_64-w64-mingw32-gcc
66 env: CONFIG_OPTS="no-pic"
Richard Levitteb4aaf192016-08-05 00:48:44 +020067 - os: linux
68 compiler: x86_64-w64-mingw32-gcc
69 env: CONFIG_OPTS="no-stdio"
Rich Salzdb9defd2015-09-21 19:54:36 -040070 exclude:
Emilia Kasper210efa82016-03-07 15:15:20 +010071 - os: linux
72 compiler: clang
Alessandro Ghedini6220acf2015-10-06 20:27:50 +020073 - os: osx
Andy Polyakovdbf9a332016-02-12 11:45:44 +010074 compiler: gcc
Rich Salzdb9defd2015-09-21 19:54:36 -040075
76before_script:
Richard Levitte262ee9a2016-08-04 11:50:39 +020077 - if [ -n "$DESTDIR" ]; then
78 sh .travis-create-release.sh $TRAVIS_OS_NAME;
79 tar -xvzf _srcdist.tar.gz;
80 mkdir _build;
81 cd _build;
82 srcdir=../_srcdist;
83 top=..;
84 else
85 srcdir=.;
86 top=.;
87 fi
Rich Salzdb9defd2015-09-21 19:54:36 -040088 - if [ "$CC" == i686-w64-mingw32-gcc ]; then
89 export CROSS_COMPILE=${CC%%gcc}; unset CC;
Richard Levitte262ee9a2016-08-04 11:50:39 +020090 $srcdir/Configure mingw $CONFIG_OPTS -Wno-pedantic-ms-format;
Rich Salzdb9defd2015-09-21 19:54:36 -040091 elif [ "$CC" == x86_64-w64-mingw32-gcc ]; then
92 export CROSS_COMPILE=${CC%%gcc}; unset CC;
Richard Levitte262ee9a2016-08-04 11:50:39 +020093 $srcdir/Configure mingw64 $CONFIG_OPTS -Wno-pedantic-ms-format;
Rich Salzdb9defd2015-09-21 19:54:36 -040094 else
Emilia Kasper4b857442016-03-12 17:18:25 +010095 if which ccache >/dev/null && [ "$CC" != clang-3.6 ]; then
Richard Levittea70ca742016-03-10 02:14:55 +010096 CC="ccache $CC";
Richard Levitte8cffddc2016-03-10 08:36:57 +010097 fi;
Richard Levitteffb261f2016-08-15 18:46:39 +020098 $srcdir/config -v $CONFIG_OPTS;
Rich Salzdb9defd2015-09-21 19:54:36 -040099 fi
Richard Levitte262ee9a2016-08-04 11:50:39 +0200100 - cd $top
Alessandro Ghedini66c103b2015-08-20 00:12:29 +0200101
102script:
Richard Levittea4ffbbe2016-08-15 18:45:22 +0200103 - if [ -z "$BUILDONLY" ]; then
104 make="make -s";
105 else
106 make="make";
107 fi
Richard Levitte262ee9a2016-08-04 11:50:39 +0200108 - if [ -n "$DESTDIR" ]; then
109 cd _build;
110 top=..;
111 else
112 top=.;
113 fi
Richard Levittea4ffbbe2016-08-15 18:45:22 +0200114 - $make update
115 - $make
Emilia Kasperb63447c2016-03-06 22:31:18 +0100116 - if [ -z "$BUILDONLY" ]; then
Emilia Kasper56cd71b2016-03-07 12:59:40 +0100117 if [ -n "$CROSS_COMPILE" ]; then
118 export EXE_SHELL="wine" WINEPREFIX=`pwd`;
119 fi;
Emilia Kasperb63447c2016-03-06 22:31:18 +0100120 HARNESS_VERBOSE=yes make test;
Emilia Kasperd7a275e2016-03-14 12:47:47 +0100121 else
Richard Levittea4ffbbe2016-08-15 18:45:22 +0200122 $make build_tests;
Rich Salz1a3ae782015-10-16 11:19:04 -0400123 fi
Richard Levitted227a302016-03-29 17:50:53 +0200124 - if [ -n "$DESTDIR" ]; then
125 mkdir "../$DESTDIR";
Richard Levittea4ffbbe2016-08-15 18:45:22 +0200126 $make install install_docs DESTDIR="../$DESTDIR";
Richard Levitted227a302016-03-29 17:50:53 +0200127 fi
Richard Levitte262ee9a2016-08-04 11:50:39 +0200128 - cd $top
Alessandro Ghedini66c103b2015-08-20 00:12:29 +0200129
Emilia Kasperad0a0a32016-08-03 15:29:21 +0200130after_success:
131 - if [ -n "$COVERALLS" ]; then
Emilia Kaspercec0a002016-08-05 11:33:48 +0200132 coveralls -b . --gcov-options '\-lp';
Emilia Kasperad0a0a32016-08-03 15:29:21 +0200133 fi;
134
Alessandro Ghedini66c103b2015-08-20 00:12:29 +0200135notifications:
Rich Salzdb9defd2015-09-21 19:54:36 -0400136 email:
Alessandro Ghedini2d284622015-10-06 12:23:42 -0400137 - openssl-commits@openssl.org
FdaSilvaYYb6a89162016-02-25 20:54:40 +0100138