1sudo: false
2dist: trusty
3language: cpp
4
5compiler: gcc
6
7matrix:
8  include:
9    - addons:
10        apt:
11          packages:
12            - libssl-dev
13            - libprotobuf-dev
14            - libprotoc-dev
15            - protobuf-compiler
16            - libconfig-dev
17      env:
18        TLSIMPL=openssl
19    - addons:
20        apt:
21          packages:
22            - libprotobuf-dev
23            - libprotoc-dev
24            - protobuf-compiler
25            - libconfig-dev
26      env:
27        TLSIMPL=mbedtls MBEDVERSION=2.3.0
28    - addons:
29        apt:
30          packages:
31            - libprotobuf-dev
32            - libprotoc-dev
33            - protobuf-compiler
34            - libconfig-dev
35      env:
36        TLSIMPL=mbedtls MBEDVERSION=2.4.0
37  exclude:
38    - compiler: gcc
39
40install:
41  - if [ "$TLSIMPL" == "mbedtls" ]; then
42    pushd .;
43    cd /tmp;
44    wget https://github.com/ARMmbed/mbedtls/archive/mbedtls-${MBEDVERSION}.tar.gz;
45    tar xf mbedtls-${MBEDVERSION}.tar.gz;
46    cd mbedtls-mbedtls-${MBEDVERSION};
47    cmake . -DCMAKE_INSTALL_PREFIX=/tmp/deps -DCMAKE_BUILD_TYPE=Release -DENABLE_TESTING=Off -DUSE_SHARED_MBEDTLS_LIBRARY=On;
48    make install -j$(nproc);
49    if [ "$MBEDVERSION" == "2.3.0" ]; then
50    sed -e 's/<time\.h>/"platform.h"/g' -i /tmp/deps/include/mbedtls/ssl.h;
51    fi;
52    popd;
53    fi
54  - pushd .;
55    cd /tmp;
56    wget https://github.com/protobuf-c/protobuf-c/releases/download/v1.0.0/protobuf-c-1.0.0.tar.gz;
57    tar xf protobuf-c-1.0.0.tar.gz;
58    cd protobuf-c-1.0.0/;
59    ./configure --prefix=/tmp/deps;
60    make -j$(nproc);
61    make install;
62    popd
63
64script:
65  - ./autogen.sh
66  - env CPPFLAGS=-I/tmp/deps/include LDFLAGS=-L/tmp/deps/lib ./configure --with-ssl=${TLSIMPL}
67  - make -j$(nproc)
68