--- /dev/null
+language: c
+
+compiler:
+ - gcc
+
+before_install:
+ - sudo apt-get update -qq
+ - sudo apt-get install -qq bison flex gperf gettext
+ # TODO: modularize this to speed up builds (e.g. call 'test.sh deps' to do this for the current TEST)
+ - sudo apt-get install -qq libgmp-dev libssl-dev libgcrypt11-dev
+ - sudo apt-get install -qq libcurl4-gnutls-dev libsoup2.4-dev
+ - sudo apt-get install -qq libunbound-dev libldns-dev
+ - sudo apt-get install -qq libmysqlclient-dev libsqlite3-dev
+ - sudo apt-get install -qq clearsilver-dev libfcgi-dev
+ - sudo apt-get install -qq libnm-glib-dev libnm-glib-vpn-dev
+ - sudo apt-get install -qq libpcsclite-dev libpam0g-dev
+ - sudo apt-get install -qq binutils-dev libunwind7-dev
+
+script:
+ - ./autogen.sh
+ - ./scripts/test.sh
+
+env:
+ global:
+ - TESTS_REDUCED_KEYLENGTHS=yes
+ - LEAK_DETECTIVE=no
+ - MONOLITHIC=no
+ matrix:
+ - TEST=default
+ - TEST=default MONOLITHIC=yes
+ - TEST=default LEAK_DETECTIVE=yes
+ - TEST=openssl
+ - TEST=openssl LEAK_DETECTIVE=yes
+ # libgcrypt can't be deinitialized so we can't test it with leak detective
+ - TEST=gcrypt
+ - TEST=all
+ - TEST=all MONOLITHIC=yes
+ - TEST=dist
--- /dev/null
+#!/bin/sh
+# Build script for Travis CI
+
+if test -z $TRAVIS_BUILD_DIR; then
+ TRAVIS_BUILD_DIR=$PWD
+fi
+
+cd $TRAVIS_BUILD_DIR
+
+TARGET=check
+
+case "$TEST" in
+default)
+ ;;
+openssl)
+ CONFIG="--disable-defaults --enable-tools --enable-openssl"
+ ;;
+gcrypt)
+ CONFIG="--disable-defaults --enable-tools --enable-gcrypt --enable-pkcs1"
+ ;;
+all)
+ CONFIG="--enable-all --disable-android-dns --disable-android-log
+ --disable-dumm --disable-kernel-pfroute --disable-keychain
+ --disable-lock-profiler --disable-maemo --disable-padlock
+ --disable-osx-attr --disable-tkm --disable-uci"
+ # not enabled on the build server
+ CONFIG="$CONFIG --disable-af-alg"
+ # TODO: add tests for different printf implementations?
+ CONFIG="$CONFIG --disable-vstr"
+ # TODO: enable? perhaps via coveralls.io (cpp-coveralls)?
+ CONFIG="$CONFIG --disable-coverage"
+ ;;
+dist)
+ TARGET=distcheck
+ ;;
+*)
+ echo "$0: unknown test $TEST" >&2
+ exit 1
+ ;;
+esac
+
+CONFIG="$CONFIG
+ --enable-silent-rules
+ --enable-test-vectors
+ --enable-monolithic=${MONOLITHIC-no}
+ --enable-leak-detective=${LEAK_DETECTIVE-no}"
+
+echo "$ ./configure $CONFIG && make $TARGET"
+./configure $CONFIG && make $TARGET