2019-04-18 05:30:35 -04:00
|
|
|
language: c
|
2020-02-27 10:08:49 -05:00
|
|
|
sudo: false
|
|
|
|
|
|
|
|
|
|
git:
|
|
|
|
|
depth: 5
|
|
|
|
|
|
2019-04-18 05:30:35 -04:00
|
|
|
addons:
|
|
|
|
|
apt:
|
|
|
|
|
packages:
|
2019-04-18 05:35:07 -04:00
|
|
|
- libssl-dev
|
2019-04-18 05:30:35 -04:00
|
|
|
- libevent-dev
|
|
|
|
|
- libexpat-dev
|
|
|
|
|
- clang
|
2020-02-27 10:08:49 -05:00
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
|
include:
|
|
|
|
|
- os: linux
|
|
|
|
|
name: GCC on Linux, Amd64
|
|
|
|
|
compiler: gcc
|
|
|
|
|
arch: amd64
|
|
|
|
|
- os: linux
|
|
|
|
|
name: Clang on Linux, Amd64
|
|
|
|
|
compiler: clang
|
|
|
|
|
arch: amd64
|
2020-02-27 10:52:58 -05:00
|
|
|
- os: osx
|
|
|
|
|
name: Clang on OS X, Amd64
|
|
|
|
|
compiler: clang
|
|
|
|
|
arch: amd64
|
2020-02-27 10:08:49 -05:00
|
|
|
- os: linux
|
|
|
|
|
name: UBsan, GCC on Linux, Amd64
|
|
|
|
|
compiler: gcc
|
|
|
|
|
arch: amd64
|
|
|
|
|
dist: bionic
|
|
|
|
|
env: TEST_UBSAN=yes
|
|
|
|
|
- os: linux
|
|
|
|
|
name: UBsan, Clang on Linux, Amd64
|
|
|
|
|
compiler: clang
|
|
|
|
|
arch: amd64
|
|
|
|
|
dist: bionic
|
|
|
|
|
env: TEST_UBSAN=yes
|
|
|
|
|
- os: linux
|
|
|
|
|
name: Asan, GCC on Linux, Amd64
|
|
|
|
|
compiler: gcc
|
|
|
|
|
arch: amd64
|
|
|
|
|
dist: bionic
|
|
|
|
|
env: TEST_ASAN=yes
|
|
|
|
|
- os: linux
|
|
|
|
|
name: Asan, Clang on Linux, Amd64
|
|
|
|
|
compiler: clang
|
|
|
|
|
arch: amd64
|
|
|
|
|
dist: bionic
|
|
|
|
|
env: TEST_ASAN=yes
|
|
|
|
|
- os: linux
|
|
|
|
|
name: GCC on Linux, Aarch64
|
|
|
|
|
compiler: gcc
|
|
|
|
|
arch: arm64
|
|
|
|
|
dist: bionic
|
|
|
|
|
- os: linux
|
|
|
|
|
name: Clang on Linux, Aarch64
|
|
|
|
|
compiler: clang
|
|
|
|
|
arch: arm64
|
|
|
|
|
dist: bionic
|
|
|
|
|
- os: linux
|
|
|
|
|
name: GCC on Linux, PowerPC64
|
|
|
|
|
compiler: gcc
|
|
|
|
|
arch: ppc64le
|
|
|
|
|
dist: bionic
|
|
|
|
|
- os: linux
|
|
|
|
|
name: Clang on Linux, PowerPC64
|
|
|
|
|
compiler: clang
|
|
|
|
|
arch: ppc64le
|
|
|
|
|
dist: bionic
|
2020-02-27 12:56:20 -05:00
|
|
|
- os: linux
|
|
|
|
|
name: GCC on Linux, s390x
|
|
|
|
|
compiler: gcc
|
|
|
|
|
arch: s390x
|
|
|
|
|
dist: bionic
|
|
|
|
|
- os: linux
|
|
|
|
|
name: Clang on Linux, s390x
|
|
|
|
|
compiler: clang
|
|
|
|
|
arch: s390x
|
|
|
|
|
dist: bionic
|
2020-02-29 00:21:04 -05:00
|
|
|
- os: linux
|
|
|
|
|
name: Android armv7a, Linux, Amd64
|
|
|
|
|
compiler: clang
|
|
|
|
|
arch: amd64
|
|
|
|
|
dist: bionic
|
|
|
|
|
env:
|
|
|
|
|
- TEST_ANDROID=yes
|
|
|
|
|
- AUTOTOOLS_HOST=armv7a-linux-androideabi
|
|
|
|
|
- OPENSSL_HOST=android-arm
|
|
|
|
|
- ANDROID_CPU=armv7a
|
|
|
|
|
- ANDROID_API=23
|
|
|
|
|
- ANDROID_SDK_ROOT="$HOME/android-sdk"
|
|
|
|
|
- ANDROID_NDK_ROOT="$HOME/android-ndk"
|
|
|
|
|
- os: linux
|
|
|
|
|
name: Android aarch64, Linux, Amd64
|
|
|
|
|
compiler: clang
|
|
|
|
|
arch: amd64
|
|
|
|
|
dist: bionic
|
|
|
|
|
env:
|
|
|
|
|
- TEST_ANDROID=yes
|
|
|
|
|
- AUTOTOOLS_HOST=aarch64-linux-android
|
|
|
|
|
- OPENSSL_HOST=android-arm64
|
|
|
|
|
- ANDROID_CPU=aarch64
|
|
|
|
|
- ANDROID_API=23
|
|
|
|
|
- ANDROID_SDK_ROOT="$HOME/android-sdk"
|
|
|
|
|
- ANDROID_NDK_ROOT="$HOME/android-ndk"
|
|
|
|
|
- os: linux
|
|
|
|
|
name: Android x86, Linux, Amd64
|
|
|
|
|
compiler: clang
|
|
|
|
|
arch: amd64
|
|
|
|
|
dist: bionic
|
|
|
|
|
env:
|
|
|
|
|
- TEST_ANDROID=yes
|
|
|
|
|
- AUTOTOOLS_HOST=i686-linux-android
|
|
|
|
|
- OPENSSL_HOST=android-x86
|
|
|
|
|
- ANDROID_CPU=x86
|
|
|
|
|
- ANDROID_API=23
|
|
|
|
|
- ANDROID_SDK_ROOT="$HOME/android-sdk"
|
|
|
|
|
- ANDROID_NDK_ROOT="$HOME/android-ndk"
|
|
|
|
|
- os: linux
|
|
|
|
|
name: Android x86_64, Linux, Amd64
|
|
|
|
|
compiler: clang
|
|
|
|
|
arch: amd64
|
|
|
|
|
dist: bionic
|
|
|
|
|
env:
|
|
|
|
|
- TEST_ANDROID=yes
|
|
|
|
|
- AUTOTOOLS_HOST=x86_64-linux-android
|
|
|
|
|
- OPENSSL_HOST=android-x86_64
|
|
|
|
|
- ANDROID_CPU=x86_64
|
|
|
|
|
- ANDROID_API=23
|
|
|
|
|
- ANDROID_SDK_ROOT="$HOME/android-sdk"
|
|
|
|
|
- ANDROID_NDK_ROOT="$HOME/android-ndk"
|
2020-02-27 10:08:49 -05:00
|
|
|
|
2020-03-02 09:09:07 -05:00
|
|
|
allow_failures:
|
|
|
|
|
- os: linux
|
|
|
|
|
arch: amd64
|
|
|
|
|
name: Android armv7a, Linux, Amd64
|
|
|
|
|
- os: linux
|
|
|
|
|
arch: amd64
|
|
|
|
|
name: Android aarch64, Linux, Amd64
|
|
|
|
|
- os: linux
|
|
|
|
|
arch: amd64
|
|
|
|
|
name: Android x86, Linux, Amd64
|
|
|
|
|
- os: linux
|
|
|
|
|
arch: amd64
|
|
|
|
|
name: Android x86_64, Linux, Amd64
|
|
|
|
|
|
2019-04-18 05:30:35 -04:00
|
|
|
script:
|
2020-02-27 10:08:49 -05:00
|
|
|
- |
|
2020-02-27 12:56:20 -05:00
|
|
|
if [ "$TEST_UBSAN" = "yes" ]; then
|
2020-02-27 10:08:49 -05:00
|
|
|
export CFLAGS="-DNDEBUG -g2 -O3 -fsanitize=undefined -fno-sanitize-recover"
|
|
|
|
|
./configure
|
|
|
|
|
elif [ "$TEST_ASAN" = "yes" ]; then
|
|
|
|
|
export CFLAGS="-DNDEBUG -g2 -O3 -fsanitize=address"
|
|
|
|
|
./configure
|
2020-02-29 00:21:04 -05:00
|
|
|
elif [ "$TEST_ANDROID" = "yes" ]; then
|
|
|
|
|
export AUTOTOOLS_BUILD="$(./config.guess)"
|
2020-03-02 09:09:07 -05:00
|
|
|
if ! ./contrib/android/install_ndk.sh ; then
|
2020-02-29 00:21:04 -05:00
|
|
|
echo "Failed to install Android SDK and NDK"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
2020-03-02 09:09:07 -05:00
|
|
|
if ! source ./contrib/android/setenv_android.sh "$ANDROID_CPU"; then
|
2020-02-29 00:21:04 -05:00
|
|
|
echo "Failed to set Android environment"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
2020-03-02 09:09:07 -05:00
|
|
|
if ! ./contrib/android/install_openssl.sh; then
|
2020-02-29 00:21:04 -05:00
|
|
|
echo "Failed to build and install OpenSSL"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
2020-03-02 09:09:07 -05:00
|
|
|
if ! ./contrib/android/install_expat.sh; then
|
2020-02-29 00:21:04 -05:00
|
|
|
echo "Failed to build and install Expat"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
if ! ./configure \
|
|
|
|
|
--build="$AUTOTOOLS_BUILD" --host="$AUTOTOOLS_HOST" \
|
|
|
|
|
--prefix="$ANDROID_SYSROOT" \
|
|
|
|
|
--with-ssl="$ANDROID_SYSROOT" --disable-gost \
|
|
|
|
|
--with-libexpat="$ANDROID_SYSROOT";
|
|
|
|
|
then
|
|
|
|
|
echo "Failed to configure Unbound"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
if ! make -j 2; then
|
|
|
|
|
echo "Failed to build Unbound"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
exit 0
|
2020-02-27 12:11:25 -05:00
|
|
|
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
|
|
|
|
./configure --enable-debug --disable-flto --with-ssl=/usr/local/opt/openssl/
|
2020-02-27 10:08:49 -05:00
|
|
|
else
|
|
|
|
|
./configure --enable-debug --disable-flto
|
|
|
|
|
fi
|
2020-02-29 00:21:04 -05:00
|
|
|
if ! make -j 2; then exit 1; fi
|
|
|
|
|
if ! make test; then exit 1; fi
|
|
|
|
|
(cd testdata/clang-analysis.tdir; bash clang-analysis.test)
|