Try s390x and sh4 cross builds/tests
authorAnthony Green <green@moxielogic.com>
Wed, 6 Nov 2019 15:49:04 +0000 (10:49 -0500)
committerAnthony Green <green@moxielogic.com>
Wed, 6 Nov 2019 15:49:04 +0000 (10:49 -0500)
.travis.yml
.travis/build-in-container.sh
.travis/build.sh
.travis/install.sh

index b11dbc9..ba96cf4 100644 (file)
@@ -8,6 +8,10 @@ matrix:
     - os: osx
       env: HOST=arm-apple-darwin
     - os: linux
+      env: HOST=sh4-linux-gnu MEVAL='export CC="sh4-linux-gnu-gcc-8" && CXX="sh4-linux-gnu-g++-8"' CONFIGURE_OPTIONS=--disable-shared QEMU_LD_PREFIX=/usr/sh4-linux-gnu
+    - os: linux
+      env: HOST=s390x-linux-gnu MEVAL='export CC="s390x-linux-gnu-gcc-8" && CXX="s390x-linux-gnu-g++-8"' CONFIGURE_OPTIONS=--disable-shared QEMU_LD_PREFIX=/usr/s390x-linux-gnu
+    - os: linux
       env: HOST=hppa-linux-gnu MEVAL='export CC="hppa-linux-gnu-gcc-5" && CXX="hppa-linux-gnu-g++-5"' CONFIGURE_OPTIONS=--disable-shared QEMU_LD_PREFIX=/usr/hppa-linux-gnu
     - os: linux
       env: HOST=s390x-linux-gnu MEVAL='export CC="s390x-linux-gnu-gcc-5" && CXX="s390x-linux-gnu-g++-5"' CONFIGURE_OPTIONS=--disable-shared QEMU_LD_PREFIX=/usr/s390x-linux-gnu
index dc412c2..85624bf 100755 (executable)
@@ -2,7 +2,13 @@
 
 cd /opt
 
-./configure 
+export QEMU_LD_PREFIX=/usr/${HOST}
+
+if ! test "x$HOST" == "x"; then
+    ./configure --host=${HOST} --disable-shared;
+else
+    ./configure
+fi
 make
 make dist
 make check RUNTESTFLAGS="-a $RUNTESTFLAGS"
index 7baa81f..50cc9a4 100755 (executable)
@@ -34,6 +34,12 @@ function build_foreign_linux()
     exit $?
 }
 
+function build_cross_linux()
+{
+    docker run --rm -t -i -v `pwd`:/opt --rm -ti -e HOST="${HOST}" LIBFFI_TEST_OPTIMIZATION="${LIBFFI_TEST_OPTIMIZATION}" $2 bash -c /opt/.travis/build-in-container.sh
+    exit $?
+}
+
 function build_ios()
 {
     which python
@@ -56,6 +62,9 @@ case "$HOST" in
     aarch64-linux-gnu| powerpc64le-unknown-linux-gnu | mips64el-linux-gnu | sparc64-linux-gnu)
         build_cfarm
        ;;
+    sh4-linux-gnu | s390x-linux-gnu )
+       build_cross_linux
+       ;;
     *)
        ./autogen.sh
        build_linux
index fec9dba..abe5d88 100755 (executable)
@@ -12,15 +12,12 @@ else
   case $HOST in
       aarch64-linux-gnu | powerpc64le-unknown-linux-gnu | mips64el-linux-gnu | sparc64-linux-gnu)
           ;;     
-      arm32v7-linux-gnu )
+      arm32v7-linux-gnu | sh4-linux-gnu | s390x-linux-gnu )
          sudo apt-get install qemu-user-static
          ;;
       hppa-linux-gnu )
          sudo apt-get install -y qemu-user-static g++-5-hppa-linux-gnu
          ;;
-      s390x-linux-gnu )
-         sudo apt-get install -y qemu-user-static g++-5-s390x-linux-gnu
-         ;;
       i386-pc-linux-gnu)
          sudo apt-get install gcc-multilib g++-multilib;
          ;;