.travis.yml 3.7 KB
Newer Older
1
language: c
2
cache: ccache
3

E
Emilia Kasper 已提交
4 5 6
before_install:
    - pip install --user cpp-coveralls

R
Rich Salz 已提交
7
addons:
A
Alessandro Ghedini 已提交
8 9
    apt:
        packages:
10
            - ccache
R
Rich Salz 已提交
11
            - clang-3.6
A
Alessandro Ghedini 已提交
12
            - gcc-5
E
Emilia Kasper 已提交
13 14 15
            - binutils-mingw-w64
            - gcc-mingw-w64
            - wine
A
Alessandro Ghedini 已提交
16
        sources:
R
Rich Salz 已提交
17
            - llvm-toolchain-precise-3.6
A
Alessandro Ghedini 已提交
18
            - ubuntu-toolchain-r-test
R
Rich Salz 已提交
19

20
os:
R
Rich Salz 已提交
21 22
    - linux
    - osx
23 24

compiler:
R
Rich Salz 已提交
25 26
    - clang
    - gcc
27 28

env:
29
    - CONFIG_OPTS="" DESTDIR="_install"
30
    - CONFIG_OPTS="--debug no-shared enable-crypto-mdebug enable-rc5 enable-md2"
31
    - CONFIG_OPTS="no-pic --strict-warnings" BUILDONLY="yes"
32
    - CONFIG_OPTS="no-engine no-shared --strict-warnings" BUILDONLY="yes"
33
    - CONFIG_OPTS="no-stdio --strict-warnings" BUILDONLY="yes"
R
Rich Salz 已提交
34 35

matrix:
A
Alessandro Ghedini 已提交
36
    include:
E
Emilia Kasper 已提交
37 38 39
        - os: linux
          compiler: gcc
          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
R
Rich Salz 已提交
41
          compiler: clang-3.6
E
Emilia Kasper 已提交
42
          env: CONFIG_OPTS="no-shared enable-asan"
43 44 45
        - os: linux
          compiler: clang-3.6
          env: CONFIG_OPTS="no-shared enable-msan"
46
        - os: linux
R
Rich Salz 已提交
47
          compiler: clang-3.6
M
Matt Caswell 已提交
48
          env: CONFIG_OPTS="no-asm enable-ubsan enable-rc5 enable-md2 enable-ssl3 enable-ssl3-method -fno-sanitize=alignment"
R
Rich Salz 已提交
49 50 51
        - os: linux
          compiler: clang-3.6
          env: CONFIG_OPTS="no-shared no-asm enable-asan enable-rc5 enable-md2"
52 53 54
        - os: linux
          compiler: clang-3.6
          env: CONFIG_OPTS="no-stdio"
55 56
        - os: linux
          compiler: gcc-5
R
Rich Salz 已提交
57
          env: CONFIG_OPTS="no-asm enable-ubsan enable-rc5 enable-md2 -DPEDANTIC"
E
Emilia Kasper 已提交
58 59 60
        - os: linux
          compiler: i686-w64-mingw32-gcc
          env: CONFIG_OPTS="no-pic"
61 62 63
        - os: linux
          compiler: i686-w64-mingw32-gcc
          env: CONFIG_OPTS="no-stdio"
E
Emilia Kasper 已提交
64 65 66
        - os: linux
          compiler: x86_64-w64-mingw32-gcc
          env: CONFIG_OPTS="no-pic"
67 68 69
        - os: linux
          compiler: x86_64-w64-mingw32-gcc
          env: CONFIG_OPTS="no-stdio"
R
Rich Salz 已提交
70
    exclude:
E
Emilia Kasper 已提交
71 72
        - os: linux
          compiler: clang
73 74
        - os: osx
          compiler: gcc
R
Rich Salz 已提交
75 76

before_script:
77 78 79 80 81 82 83 84 85 86 87
    - if [ -n "$DESTDIR" ]; then
          sh .travis-create-release.sh $TRAVIS_OS_NAME;
          tar -xvzf _srcdist.tar.gz;
          mkdir _build;
          cd _build;
          srcdir=../_srcdist;
          top=..;
      else
          srcdir=.;
          top=.;
      fi
R
Rich Salz 已提交
88 89
    - if [ "$CC" == i686-w64-mingw32-gcc ]; then
          export CROSS_COMPILE=${CC%%gcc}; unset CC;
90
          $srcdir/Configure mingw $CONFIG_OPTS -Wno-pedantic-ms-format;
R
Rich Salz 已提交
91 92
      elif [ "$CC" == x86_64-w64-mingw32-gcc ]; then
          export CROSS_COMPILE=${CC%%gcc}; unset CC;
93
          $srcdir/Configure mingw64 $CONFIG_OPTS -Wno-pedantic-ms-format;
R
Rich Salz 已提交
94
      else
95
          if which ccache >/dev/null && [ "$CC" != clang-3.6 ]; then
96
              CC="ccache $CC";
97
          fi;
98
          $srcdir/config $CONFIG_OPTS;
R
Rich Salz 已提交
99
      fi
100
    - cd $top
101 102

script:
103 104 105 106 107 108
    - if [ -n "$DESTDIR" ]; then
          cd _build;
          top=..;
      else
          top=.;
      fi
109
    - make update
R
Rich Salz 已提交
110
    - make
E
Emilia Kasper 已提交
111
    - if [ -z "$BUILDONLY" ]; then
E
Emilia Kasper 已提交
112 113 114
          if [ -n "$CROSS_COMPILE" ]; then
              export EXE_SHELL="wine" WINEPREFIX=`pwd`;
          fi;
E
Emilia Kasper 已提交
115
          HARNESS_VERBOSE=yes make test;
116 117
      else
          make build_tests;
118
      fi
119 120
    - if [ -n "$DESTDIR" ]; then
          mkdir "../$DESTDIR";
121
          make install install_docs DESTDIR="../$DESTDIR";
122
      fi
123
    - cd $top
124

E
Emilia Kasper 已提交
125 126
after_success:
    - if [ -n "$COVERALLS" ]; then
127
          coveralls -b . --gcov-options '\-lp';
E
Emilia Kasper 已提交
128 129
      fi;

130
notifications:
R
Rich Salz 已提交
131
    email:
A
Alessandro Ghedini 已提交
132
        - openssl-commits@openssl.org
133