1sudo: false
2
3language: c
4
5os:
6  - linux
7
8compiler:
9  - clang
10  - gcc
11  - g++
12
13install:
14  - ./autogen.sh
15  - env CC=tcc CFLAGS='-w' CPPFLAGS="-DDEV_MODE=1" ./configure --prefix=/tmp --disable-dependency-tracking --disable-shared || cat config.log
16  - make -j $(nproc) && make check && make install
17  - env CC=tcc CPPFLAGS='-I/tmp/include' LDFLAGS='-L/tmp/lib' LD_LIBRARY_PATH='/tmp/lib' ./test/constcheck.sh
18  - make uninstall
19  - make distclean
20
21script:
22  - env CPPFLAGS="-DDEV_MODE=1" ./configure --disable-dependency-tracking
23  - if [ "$TRAVIS_OS_NAME" = 'linux' -a "$CC" = 'gcc' ]; then make -j $(nproc) CFLAGS='-g0' > /dev/null && cp src/libsodium/.libs/libsodium.so lib.so && make clean > /dev/null && make CFLAGS='-g0' CPPFLAGS='-DDEV_MODE=1 -DSODIUM_C99\(X\)=' > /dev/null && cp src/libsodium/.libs/libsodium.so lib-oldc.so && cmp lib.so lib-oldc.so && echo No binary changes && make clean > /dev/null ; fi
24  - make distcheck
25  - make distclean > /dev/null
26  - env CPPFLAGS="-DDEV_MODE=1" ./configure --disable-dependency-tracking --enable-minimal
27  - make -j $(nproc)
28  - make check
29  - ( echo '#include <sodium.h>' ; echo 'int main(void) { return sodium_init(); }' ) > /tmp/main.c && gcc -DDEV_MODE=1 -Isrc/libsodium/include -Isrc/libsodium/include/sodium $(find src -name '*.c' -o -name '*.S') /tmp/main.c
30  - make distclean > /dev/null
31
32after_success:
33  - env CPPFLAGS="-DDEV_MODE=1" ./configure --disable-dependency-tracking --host=powerpc-linux-gnu
34  - make -j $(nproc)
35  - env QEMU_LD_PREFIX=/usr/powerpc-linux-gnu make check
36  - make clean > /dev/null
37
38addons:
39  apt:
40    packages:
41      - tcc
42      - qemu-user-static
43      - gcc-powerpc-linux-gnu
44