mirror of
https://github.com/partic2/libffi
synced 2026-11-11 02:27:19 +00:00
Test on arm32v7-linux-gnu, ppc64le-linux-gnu and aarch64-linux-gnu.
Use docker images and qemu to test libffi for non-x86 architectures on travis-ci. Use the LIBFFI_TEST_OPTIMIZATION environment variable to force specific optimization levels at test time.
This commit is contained in:
+25
-6
@@ -1,8 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
# exit this script if any commmand fails
|
||||
# set -e
|
||||
|
||||
function build_linux()
|
||||
{
|
||||
./autogen.sh
|
||||
@@ -10,16 +7,26 @@ function build_linux()
|
||||
make
|
||||
make dist
|
||||
make check RUNTESTFLAGS="-a $RUNTESTFLAGS"
|
||||
EXITCODE=$?
|
||||
|
||||
gzip -c -9 */testsuite/libffi.log > libffi.log.gz
|
||||
echo ================================================================
|
||||
echo The logs are too long for travis to handle, so we compress and
|
||||
echo uuencode them. Download, decode and uncompress if you need to
|
||||
echo read them.
|
||||
echo read them. For example, if you select and save this text
|
||||
echo as libffi.uu, run: 'cat libffi.uu | uudecode | gzip -d | less'.
|
||||
echo ================================================================
|
||||
uuencode libffi.log.gz -
|
||||
echo ================================================================
|
||||
echo ================================================================
|
||||
|
||||
exit $EXITCODE
|
||||
}
|
||||
|
||||
function build_foreign_linux()
|
||||
{
|
||||
docker run --rm -t -i -v `pwd`:/opt --rm -ti -e LIBFFI_TEST_OPTIMIZATION="${LIBFFI_TEST_OPTIMIZATION}" $2 bash -c /opt/.travis/build-in-container.sh
|
||||
exit $?
|
||||
}
|
||||
|
||||
function build_ios()
|
||||
@@ -28,8 +35,8 @@ function build_ios()
|
||||
# export PYTHON_BIN=/usr/local/bin/python
|
||||
./generate-darwin-source-and-headers.py
|
||||
xcodebuild -showsdks
|
||||
xcodebuild -project libffi.xcodeproj -target "libffi-iOS" -configuration Release -sdk iphoneos10.3
|
||||
find ./
|
||||
xcodebuild -project libffi.xcodeproj -target "libffi-iOS" -configuration Release -sdk iphoneos11.4
|
||||
exit $?
|
||||
}
|
||||
|
||||
./autogen.sh
|
||||
@@ -37,6 +44,18 @@ case "$HOST" in
|
||||
arm-apple-darwin*)
|
||||
build_ios
|
||||
;;
|
||||
arm32v7-linux-gnu)
|
||||
build_foreign_linux arm moxielogic/arm32v7-ci-build-container:latest
|
||||
;;
|
||||
aarch64-linux-gnu)
|
||||
build_foreign_linux aarch64 moxielogic/aarch64-ci-build-container:latest
|
||||
;;
|
||||
ppc64le-linux-gnu)
|
||||
build_foreign_linux ppc64le moxielogic/ppc64le-ci-build-container:latest
|
||||
;;
|
||||
s390x-linux-gnu)
|
||||
build_foreign_linux s390x s390x/ubuntu
|
||||
;;
|
||||
*)
|
||||
build_linux
|
||||
;;
|
||||
|
||||
Reference in New Issue
Block a user