diff --git a/.travis.yml b/.travis.yml index 45220e8c..3585c88b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,6 @@ env: # commit. - BUILD_COMMIT=c815b8f - REPO_DIR=OpenBLAS - - PLAT=x86_64 - WHEELHOUSE_UPLOADER_USERNAME=travis-worker # Following generated with # travis encrypt -r MacPython/openblas-libs WHEELHOUSE_UPLOADER_SECRET= @@ -15,28 +14,68 @@ env: language: python sudo: required -dist: trusty +dist: xenial services: docker matrix: include: - os: linux + env: + - PLAT=x86_64 - os: linux env: - PLAT=i686 - os: osx language: objective-c + env: + - PLAT=x86_64 - os: osx language: objective-c env: - PLAT=i686 - os: linux env: + - PLAT=x86_64 - INTERFACE64=1 - os: osx language: objective-c env: + - PLAT=x86_64 + - INTERFACE64=1 + - os: linux + arch: arm64 + env: + - PLAT=aarch64 + - MB_ML_VER=2014 + # causes a segfault + # - os: linux + # arch: arm64 + # env: + # - PLAT=aarch64 + # - INTERFACE64=1 + # - MB_ML_VER=2014 + - os: linux + arch: s390x + env: + - PLAT=s390x + - MB_ML_VER=2014 + - os: linux + arch: s390x + env: + - PLAT=s390x + - INTERFACE64=1 + - MB_ML_VER=2014 + - os: linux + arch: ppc64le + env: + - PLAT=ppc64le + - MB_ML_VER=2014 + - os: linux + arch: ppc64le + env: + - PLAT=ppc64le - INTERFACE64=1 + - MB_ML_VER=2014 before_install: - source travis-ci/build_steps.sh diff --git a/OpenBLAS b/OpenBLAS index 36c4523d..c815b8fb 160000 --- a/OpenBLAS +++ b/OpenBLAS @@ -1 +1 @@ -Subproject commit 36c4523d85aa44a1407b589904aaef8d19b1eb9e +Subproject commit c815b8fb85a41c9d7db09f61bff4bf298daef303 diff --git a/gfortran-install b/gfortran-install index e9764d0a..d430fe6e 160000 --- a/gfortran-install +++ b/gfortran-install @@ -1 +1 @@ -Subproject commit e9764d0a8f4e3adcd385c319e7742177193484c7 +Subproject commit d430fe6e38b6c5149c53f775a4437964e2f7b883 diff --git a/multibuild b/multibuild index ae3e5598..815e2cdc 160000 --- a/multibuild +++ b/multibuild @@ -1 +1 @@ -Subproject commit ae3e559829d34a74c706baa9389a101e52d8e2d0 +Subproject commit 815e2cdc9bee2a1cde50e0e3df7a59e79e1ddd76 diff --git a/travis-ci/build_steps.sh b/travis-ci/build_steps.sh index c94711b5..e7885efe 100644 --- a/travis-ci/build_steps.sh +++ b/travis-ci/build_steps.sh @@ -36,8 +36,11 @@ function build_lib { # Depends on globals # BUILD_PREFIX - install suffix e.g. "/usr/local" # GFORTRAN_DMG + # MB_ML_VER + set -x local plat=${1:-$PLAT} local interface64=${2:-$INTERFACE64} + local manylinux=${MB_ML_VER:-1} # Make directory to store built archive if [ -n "$IS_OSX" ]; then # Do build, add gfortran hash to end of name @@ -45,7 +48,7 @@ function build_lib { return fi # Manylinux wrapper - local docker_image=quay.io/pypa/manylinux1_$plat + local docker_image=quay.io/pypa/manylinux${manylinux}_${plat} docker pull $docker_image # Docker sources this script, and runs `do_build_lib` docker run --rm \ @@ -53,6 +56,7 @@ function build_lib { -e PLAT="${plat}" \ -e INTERFACE64="${interface64}" \ -e PYTHON_VERSION="$MB_PYTHON_VERSION" \ + -e MB_ML_VER=${manylinux} \ -v $PWD:/io \ $docker_image /io/travis-ci/docker_build_wrap.sh } @@ -84,6 +88,9 @@ function do_build_lib { case $plat in x86_64) local bitness=64 ;; i686) local bitness=32 ;; + aarch64) local bitness=64 ;; + s390x) local bitness=64 ;; + ppc64le) local bitness=64 ;; *) echo "Strange plat value $plat"; exit 1 ;; esac case $interface64 in @@ -101,13 +108,14 @@ function do_build_lib { esac mkdir -p libs start_spinner + set -x (cd OpenBLAS \ && patch_source \ && make DYNAMIC_ARCH=1 USE_OPENMP=0 NUM_THREADS=64 BINARY=$bitness $interface64_flags > /dev/null \ && make PREFIX=$BUILD_PREFIX $interface64_flags install ) stop_spinner local version=$(cd OpenBLAS && git describe --tags) - local plat_tag=$(get_distutils_platform $plat) + local plat_tag=$(get_distutils_platform_ex $plat) local suff="" [ -n "$suffix" ] && suff="-$suffix" if [ "$interface64" = "1" ]; then @@ -115,9 +123,9 @@ function do_build_lib { # do it ourselves static_libname=$(basename `find OpenBLAS -maxdepth 1 -type f -name '*.a' \! -name '*.dll.a'`) renamed_libname=$(basename `find OpenBLAS -maxdepth 1 -type f -name '*.renamed'`) - set -x # echo commands + # set -x # echo commands cp -f "OpenBLAS/${renamed_libname}" "$BUILD_PREFIX/lib/${static_libname}" - set +x + # set +x fi local out_name="openblas${symbolsuffix}-${version}-${plat_tag}${suff}.tar.gz" tar zcvf libs/$out_name \