summaryrefslogtreecommitdiffstats
path: root/.travis.yml
diff options
context:
space:
mode:
authorRich Salz <rsalz@akamai.com>2015-09-21 19:54:36 -0400
committerRich Salz <rsalz@openssl.org>2015-09-22 13:46:06 -0400
commitc038e6b50497a4c63044a509e925a6eebff3e747 (patch)
tree43d2b69141d7b3168b7f9cb0e136a5cf796492f4 /.travis.yml
parent0ea050e743e57235ba2e1a9a105b61490c09c149 (diff)
GH398: Add mingw cross-compile, etc.
For all release branches. It adds travis build support. If you don't have a config file it uses the default (because we enabled travis for the project), which uses ruby/rake/rakefiles, and you get confusing "build still failing" messages. Reviewed-by: Andy Polyakov <appro@openssl.org> (cherry picked from commit db9defdfe306e1adf0af7188b187d535eb0268da)
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml52
1 files changed, 39 insertions, 13 deletions
diff --git a/.travis.yml b/.travis.yml
index 286247358a..cb28758e89 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,24 +1,50 @@
language: c
+addons:
+ apt_packages:
+ - binutils-mingw-w64
+ - gcc-mingw-w64
+
os:
- - linux
- - osx
+ - linux
+ - osx
compiler:
- - clang
- - gcc
+ - clang
+ - gcc
+ - i686-w64-mingw32-gcc
+ - x86_64-w64-mingw32-gcc
env:
- - CONFIG_OPTS=""
- - CONFIG_OPTS="--debug"
- - CONFIG_OPTS="shared"
+ - CONFIG_OPTS=""
+ - CONFIG_OPTS="shared"
+ - CONFIG_OPTS="--debug --strict-warnings"
+
+matrix:
+ exclude:
+ - os: osx
+ compiler: i686-w64-mingw32-gcc
+ - os: osx
+ compiler: x86_64-w64-mingw32-gcc
+
+before_script:
+ - if [ "$CC" == i686-w64-mingw32-gcc ]; then
+ export CROSS_COMPILE=${CC%%gcc}; unset CC;
+ ./Configure mingw $CONFIG_OPTS;
+ elif [ "$CC" == x86_64-w64-mingw32-gcc ]; then
+ export CROSS_COMPILE=${CC%%gcc}; unset CC;
+ ./Configure mingw64 $CONFIG_OPTS;
+ else
+ ./config $CONFIG_OPTS;
+ fi
script:
- - ./config $CONFIG_OPTS && make && make test
+ - make
+ - if [ -z "$CROSS_COMPILE" ]; then make test; fi
notifications:
- recipient:
- - openssl-dev@openssl.org
- email:
- on_success: change
- on_failure: always
+ recipient:
+ - openssl-commits@openssl.org
+ email:
+ on_success: change
+ on_failure: always