sudo: required
-dist: trusty
+dist: xenial
os: linux
language: c
+addons:
+ apt:
+ packages: [ cpanminus ]
+ homebrew:
+ packages: [ cpanminus ]
+
env:
global:
- PREFIX=${HOME}/opt
- - LD_LIBRARY_PATH=${PREFIX}/lib
- PATH=${PREFIX}/bin:${PATH}
+ - OPENSSL_BRANCH=master
matrix:
include:
- - env: OPENSSL_BRANCH=master
+ - os: linux
+ compiler: gcc
+ - env: ASAN=-DASAN=1
os: linux
compiler: gcc
-# - env: OPENSSL_BRANCH=OpenSSL_1_1_0-stable
-# os: linux
-# compiler: gcc
-# - env: OPENSSL_BRANCH=OpenSSL_1_0_2-stable
-# os: linux
-# compiler: gcc
+ - os: osx
+ compiler: clang
+
before_script:
- - git clone -b ${OPENSSL_BRANCH} https://github.com/openssl/openssl.git
+ - sudo cpanm --notest Test2::V0 > build.log 2>&1 || (cat build.log && exit 1)
+ - git clone --depth 1 -b ${OPENSSL_BRANCH} https://github.com/openssl/openssl.git
- cd openssl
- - ./config shared --prefix=${PREFIX} --openssldir=${PREFIX} && make all install_sw > build.log 2>&1 || (cat build.log && exit 1)
+ - ./config shared -d --prefix=${PREFIX} --openssldir=${PREFIX} && make -j$(nproc) all && make install_sw > build.log 2>&1 || (cat build.log && exit 1)
- cd ..
script:
+ - if [ "${TRAVIS_OS_NAME}" = "linux" ]; then export LD_LIBRARY_PATH="${PREFIX}/lib:${LD_LIBRARY_PATH:-}"; fi
+ - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then export DYLD_LIBRARY_PATH="${PREFIX}/lib:${DYLD_LIBRARY_PATH:-}"; fi
- mkdir build
- cd build
- - cmake -DOPENSSL_ROOT_DIR=${PREFIX} -DOPENSSL_LIBRARIES=${PREFIX}/lib -DOPENSSL_ENGINES_DIR=${PREFIX}/engines ..
+ - cmake -DOPENSSL_ROOT_DIR=${PREFIX} -DOPENSSL_LIBRARIES=${PREFIX}/lib -DOPENSSL_ENGINES_DIR=${PREFIX}/engines ${ASAN} ..
- make
- - make test
+ - make test CTEST_OUTPUT_ON_FAILURE=1