run_tests.sh (5482B)
1 #!/bin/bash 2 3 # Switch to directory of this script 4 MYDIR=$(dirname $(realpath "$0")) 5 cd "${MYDIR}" 6 7 # Exit if anything fails 8 set -e 9 10 ####################################### 11 echo RELEASE 12 rm -rf build && mkdir build && cd build 13 cmake .. -DHWY_WARNINGS_ARE_ERRORS:BOOL=ON -DCMAKE_BUILD_TYPE=Release 14 make -j && ctest -j && cd .. && rm -rf build 15 16 ####################################### 17 echo DEBUG Clang 17 18 rm -rf build_dbg && mkdir build_dbg && cd build_dbg 19 CXX=clang++-17 CC=clang-17 cmake .. -DHWY_WARNINGS_ARE_ERRORS:BOOL=ON -DCMAKE_BUILD_TYPE=Debug 20 make -j && ctest -j && cd .. && rm -rf build_dbg 21 22 ####################################### 23 echo 32-bit GCC 24 rm -rf build_32 && mkdir build_32 && cd build_32 25 CFLAGS=-m32 CXXFLAGS=-m32 LDFLAGS=-m32 CXX=g++ CC=gcc cmake .. -DHWY_WARNINGS_ARE_ERRORS:BOOL=ON -DHWY_CMAKE_SSE2:BOOL=ON -DCMAKE_BUILD_TYPE=Release 26 make -j && ctest -j && cd .. && rm -rf build_32 27 28 ####################################### 29 for VER in 11 12 13; do 30 echo GCC $VER 31 rm -rf build_g$VER && mkdir build_g$VER && cd build_g$VER 32 CC=gcc-$VER CXX=g++-$VER cmake .. -DHWY_WARNINGS_ARE_ERRORS:BOOL=ON -DCMAKE_BUILD_TYPE=Release 33 make -j && make test && cd .. && rm -rf build_g$VER 34 done 35 36 ####################################### 37 echo Armv7 GCC 38 export QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf 39 rm -rf build_arm7 && mkdir build_arm7 && cd build_arm7 40 CC=arm-linux-gnueabihf-gcc-11 CXX=arm-linux-gnueabihf-g++-11 cmake .. -DHWY_CMAKE_ARM7:BOOL=ON -DHWY_WARNINGS_ARE_ERRORS:BOOL=ON -DCMAKE_BUILD_TYPE=Release 41 make -j && ctest -j && cd .. && rm -rf build_arm7 42 43 ####################################### 44 echo Armv8 GCC 45 export QEMU_LD_PREFIX=/usr/aarch64-linux-gnu 46 rm -rf build_arm8 && mkdir build_arm8 && cd build_arm8 47 CC=aarch64-linux-gnu-gcc-11 CXX=aarch64-linux-gnu-g++-11 cmake .. -DHWY_WARNINGS_ARE_ERRORS:BOOL=ON -DCMAKE_BUILD_TYPE=Release 48 make -j && ctest -j && cd .. && rm -rf build_arm8 49 50 ####################################### 51 echo POWER GCC 52 export QEMU_LD_PREFIX=/usr/powerpc64le-linux-gnu 53 rm -rf build_ppc_gcc && mkdir build_ppc_gcc && cd build_ppc_gcc 54 CC=powerpc64le-linux-gnu-gcc-12 CXX=powerpc64le-linux-gnu-g++-12 cmake .. -DCMAKE_BUILD_TYPE=Release -DHWY_WARNINGS_ARE_ERRORS:BOOL=ON -DCMAKE_CROSSCOMPILING_EMULATOR=/usr/bin/qemu-ppc64le-static -DCMAKE_C_COMPILER_TARGET="powerpc64le-linux-gnu" -DCMAKE_CXX_COMPILER_TARGET="powerpc64le-linux-gnu" -DCMAKE_CROSSCOMPILING=true -DCMAKE_SYSTEM_NAME=Linux 55 56 clear && make -j && ctest -j && cd .. && rm -rf build_ppc_gcc 57 58 ####################################### 59 echo POWER clang 60 export QEMU_LD_PREFIX=/usr/powerpc64le-linux-gnu 61 rm -rf build_ppc_clang && mkdir build_ppc_clang && cd build_ppc_clang 62 CC=clang-17 CXX=clang++-17 cmake .. -DCMAKE_BUILD_TYPE=Release -DHWY_WARNINGS_ARE_ERRORS:BOOL=ON -DCMAKE_CROSSCOMPILING_EMULATOR=/usr/bin/qemu-ppc64le-static -DCMAKE_C_COMPILER_TARGET="powerpc64le-linux-gnu" -DCMAKE_CXX_COMPILER_TARGET="powerpc64le-linux-gnu" -DCMAKE_CROSSCOMPILING=true -DCMAKE_SYSTEM_NAME=Linux 63 64 clear && make -j && ctest -j && cd .. && rm -rf build_ppc_clang 65 66 ####################################### 67 echo POWER big endian GCC 68 export QEMU_LD_PREFIX=/usr/powerpc64-linux-gnu 69 rm -rf build_ppc9be && mkdir build_ppc9be && cd build_ppc9be 70 CC=powerpc64-linux-gnu-gcc-11 CXX=powerpc64-linux-gnu-g++-11 cmake .. -DCMAKE_BUILD_TYPE=Release -DHWY_WARNINGS_ARE_ERRORS:BOOL=ON -DCMAKE_CROSSCOMPILING_EMULATOR=/usr/bin/qemu-ppc64 -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_C_COMPILER_TARGET="powerpc64-linux-musl" -DCMAKE_CXX_COMPILER_TARGET="powerpc64-linux-musl" -DCMAKE_CROSSCOMPILING=true -DCMAKE_SYSTEM_NAME=Linux 71 clear && make -j && ctest -j && cd .. && rm -rf build_ppc9be 72 73 ####################################### 74 echo Z14 75 export QEMU_LD_PREFIX=/usr/s390x-linux-gnu 76 rm -rf build_z14 && mkdir build_z14 && cd build_z14 77 CC=s390x-linux-gnu-gcc-11 CXX=s390x-linux-gnu-g++-11 cmake .. -DCMAKE_C_COMPILER_TARGET="s390x-linux-gnu" -DCMAKE_CXX_COMPILER_TARGET="s390x-linux-gnu" -DCMAKE_C_FLAGS='-march=z14 -mzvector' -DCMAKE_CXX_FLAGS='-march=z14 -mzvector -DHWY_DISABLED_TARGETS="(HWY_SCALAR|HWY_EMU128|HWY_Z15)" -DHWY_COMPILE_ONLY_STATIC=1' -DCMAKE_CROSSCOMPILING=true -DCMAKE_CROSSCOMPILING_EMULATOR="/usr/bin/qemu-s390x;-L;/usr/s390x-linux-gnu" -DCMAKE_SYSTEM_NAME=Linux 78 clear && make -j && ctest -j && cd .. && rm -rf build_z14 79 80 ####################################### 81 echo Z15 82 export QEMU_LD_PREFIX=/usr/s390x-linux-gnu 83 rm -rf build_z15 && mkdir build_z15 && cd build_z15 84 CC=s390x-linux-gnu-gcc-11 CXX=s390x-linux-gnu-g++-11 cmake .. -DCMAKE_C_COMPILER_TARGET="s390x-linux-gnu" -DCMAKE_CXX_COMPILER_TARGET="s390x-linux-gnu" -DCMAKE_C_FLAGS='-march=z15 -mzvector' -DCMAKE_CXX_FLAGS='-march=z15 -mzvector -DHWY_DISABLED_TARGETS="(HWY_SCALAR|HWY_EMU128|HWY_Z14)" -DHWY_COMPILE_ONLY_STATIC=1' -DCMAKE_CROSSCOMPILING=true -DCMAKE_CROSSCOMPILING_EMULATOR="/usr/bin/qemu-s390x;-cpu;max,vxeh2=on;-L;/usr/s390x-linux-gnu" -DCMAKE_SYSTEM_NAME=Linux 85 clear && make -j && ctest -j && cd .. && rm -rf build_z15 86 87 ####################################### 88 echo RVV 89 export QEMU_LD_PREFIX=/usr/riscv64-linux-gnu 90 rm -rf build_rvv && mkdir build_rvv && cd build_rvv 91 CC=riscv64-linux-gnu-gcc-13 CXX=riscv64-linux-gnu-g++-13 cmake .. -DCMAKE_C_COMPILER_TARGET="riscv64-linux-gnu" -DCMAKE_CXX_COMPILER_TARGET="riscv64-linux-gnu" -DCMAKE_CROSSCOMPILING=true -DCMAKE_CROSSCOMPILING_EMULATOR="/usr/bin/qemu-riscv64;-cpu;max;-L;/usr/riscv64-linux-gnu" -DCMAKE_SYSTEM_NAME=Linux 92 clear && make -j && ctest -j && cd .. && rm -rf build_rvv 93 94 95 echo Success