1#! /bin/sh 2 3SILENT="--disable-silent-rules" 4 5if test "x$TESTS" = "xyes" -o "x$TESTS" = "xtrue" ; then 6 WITH_TESTS="`scripts/fix-cunit.sh` --enable-tests" 7 test -f `pwd`/cunit.pc && echo cat `pwd`/cunit.pc 8fi 9 10TEST_LD_LIBRARY_PATH= 11case "x${TLS}" in 12 xno) WITH_TLS="--disable-dtls" 13 ;; 14 xopenssl) WITH_TLS="--with-openssl" 15 ;; 16 xgnutls) WITH_TLS="--with-gnutls" 17 ;; 18 xtinydtls) WITH_TLS="--with-tinydtls" 19 # Need this as libtinydtls.so has not been installed 20 # as a part of the travis build 21 TEST_LD_LIBRARY_PATH="ext/tinydtls" 22 ;; 23 *) WITH_TLS="--with-gnutls" 24 ;; 25esac 26 27case "x${DOCS}" in 28 xyes) WITH_DOCS="--enable-documentation" 29 ;; 30 *) WITH_DOCS="--disable-documentation" 31 ;; 32esac 33 34# Building with epoll support can be disabled by setting EPOLL=no. 35# Otherwise, it is enabled by default and used if available. 36if test "x$EPOLL" = "xno" ; then 37 OTHER_OPTS="$OTHER_OPTS --without-epoll" 38fi 39 40# Enable constrained stack build when SMALL_STACK is set to yes. 41if test "x$SMALL_STACK" = "xyes" ; then 42 OTHER_OPTS="$OTHER_OPTS --enable-small-stack" 43fi 44 45config() { 46 echo "./configure $SILENT $*" 47 ./configure $SILENT $* || cat config.log 48} 49 50case "${PLATFORM}" in 51 contiki) config "--disable-tests $WITH_DOCS --disable-examples $WITH_TLS" && \ 52 make -C examples/contiki 53 ;; 54 lwip) config "--disable-tests $WITH_DOCS --disable-examples $WITH_TLS" && \ 55 make -C examples/lwip 56 ;; 57 posix|*) config "$WITH_TESTS $WITH_DOCS --enable-examples $WITH_TLS $OTHER_OPTS" && \ 58 make && make check 59 ;; 60esac 61 62err=$? 63if test $err = 0 -a -n "$WITH_TESTS" ; then 64 EXEC_FILE=tests/testdriver 65 # then run valgrind on the actual executable 66 LD_LIBRARY_PATH=$TEST_LD_LIBRARY_PATH libtool --mode=execute valgrind --track-origins=yes --leak-check=yes --show-reachable=yes --error-exitcode=123 --quiet --suppressions=tests/valgrind_suppression $EXEC_FILE 67 err=$? 68fi 69 70# invoke OSS-Fuzz syntax checks 71if test $err = 0 -a -n "$WITH_TESTS" ; then 72 make -C tests/oss-fuzz -f Makefile.ci check clean 73 err=$? 74fi 75 76exit $err 77