travis: Build on ARM64, IBM Power and IBM Z architectures

IBM Z is big-endian, IBM Power runs in little-endian mode.

Botan requires a fix for issues with GCC and amalgamation enabled (target
pragma ‘*’ is invalid) on ARM64 and IBM Power, while wolfSSL can't be
compiled successfully on IBM Z without an additional patch.

libunwind is not available for x390x, but since we explicitly disable
such backtraces it's not necessary anyway.
This commit is contained in:
Tobias Brunner 2020-01-15 14:57:56 +01:00
parent 3bc0c9807a
commit 3be430cc13
2 changed files with 12 additions and 3 deletions

View File

@ -50,6 +50,12 @@ matrix:
- env: TEST=all
- env: TEST=all
compiler: clang
- env: TEST=all
arch: arm64
- env: TEST=all
arch: ppc64le
- env: TEST=all
arch: s390x
- env: TEST=all
dist: xenial
- env: TEST=all

View File

@ -4,7 +4,7 @@
build_botan()
{
# same revision used in the build recipe of the testing environment
BOTAN_REV=2.13.0
BOTAN_REV=0881f2c33ff7 # 2.13.0 + amalgamation patch
BOTAN_DIR=$TRAVIS_BUILD_DIR/../botan
if test -d "$BOTAN_DIR"; then
@ -36,7 +36,7 @@ build_botan()
build_wolfssl()
{
WOLFSSL_REV=v4.3.0-stable
WOLFSSL_REV=87859f9e810b # v4.3.0-stable + IBM Z patch
WOLFSSL_DIR=$TRAVIS_BUILD_DIR/../wolfssl
if test -d "$WOLFSSL_DIR"; then
@ -147,6 +147,9 @@ all|coverage|sonarcloud)
--disable-kernel-wfp --disable-kernel-iph --disable-winhttp"
# not enabled on the build server
CONFIG="$CONFIG --disable-af-alg"
if test "$TRAVIS_CPU_ARCH" != "amd64"; then
CONFIG="$CONFIG --disable-aesni --disable-rdrand"
fi
if test "$TEST" != "coverage"; then
CONFIG="$CONFIG --disable-coverage"
else
@ -155,7 +158,7 @@ all|coverage|sonarcloud)
fi
DEPS="$DEPS libcurl4-gnutls-dev libsoup2.4-dev libunbound-dev libldns-dev
libmysqlclient-dev libsqlite3-dev clearsilver-dev libfcgi-dev
libpcsclite-dev libpam0g-dev binutils-dev libunwind8-dev libnm-dev
libpcsclite-dev libpam0g-dev binutils-dev libnm-dev
libjson-c-dev iptables-dev python-pip libtspi-dev libsystemd-dev"
PYDEPS="tox"
if test "$1" = "deps"; then