From e55410dc80acd7d40f8a30007870d1ce7ce33034 Mon Sep 17 00:00:00 2001 From: Brent Cook Date: Fri, 28 May 2021 04:53:27 -0500 Subject: update badges, further split out actions by OS, add more Linux targets --- scripts/test | 143 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100755 scripts/test (limited to 'scripts/test') diff --git a/scripts/test b/scripts/test new file mode 100755 index 0000000..80fa988 --- /dev/null +++ b/scripts/test @@ -0,0 +1,143 @@ +#!/bin/sh +set -e + +./autogen.sh + +if [ "x$ARCH" = "xnative" ]; then + # test autotools + ./configure + make -j 4 distcheck + + # make distribution + make dist + tar zxvf libressl-*.tar.gz + cd libressl-* + mkdir build-static + mkdir build-shared + + cd build-static + + # test cmake and ninja + if [ `uname` = "Darwin" ]; then + cmake .. + make + make test + + cd ../build-shared + cmake -DBUILD_SHARED_LIBS=ON .. + make + make test + else + sudo apt-get update + sudo apt-get install -y cmake ninja-build + + cmake -GNinja .. + ninja + ninja test + + cd ../build-shared + cmake -GNinja -DBUILD_SHARED_LIBS=ON .. + ninja + ninja test + fi + +elif [ "x$ARCH" = "xmingw32" -o "x$ARCH" = "xmingw64" ]; then + sudo apt-get update + sudo apt-get install -y cmake ninja-build + + CPU=i686 + if [ "x$ARCH" = "xmingw64" ]; then + CPU=x86_64 + fi + export CC=$CPU-w64-mingw32-gcc + + if [ -z $(which $CC) ]; then + sudo apt-get update + sudo apt-get install -y mingw-w64 make + export PATH=$PATH:/opt/$ARCH/bin + fi + + ./configure --host=$CPU-w64-mingw32 + make -j + + ( + rm -fr build-static + mkdir build-static + cd build-static + cmake -GNinja -DCMAKE_TOOLCHAIN_FILE=../scripts/$CPU-w64-mingw32.cmake .. + ninja + ) + ( + rm -fr build-shared + mkdir build-shared + cd build-shared + cmake -GNinja -DCMAKE_TOOLCHAIN_FILE=../scripts/$CPU-w64-mingw32.cmake -DBUILD_SHARED_LIBS=ON .. + ninja + ) + +elif [ "x$ARCH" = "xarm32" -o "x$ARCH" = "xarm64" ]; then + sudo apt-get update + sudo apt-get install -y qemu-user-static binfmt-support + + if [ "x$ARCH" = "xarm32" ]; then + sudo apt-get install -y g++-arm-linux-gnueabihf + sudo ln -s /usr/arm-linux-gnueabihf/lib/ld-*.*.so /lib/ld-linux-armhf.so.3 + export LD_LIBRARY_PATH=/usr/arm-linux-gnueabihf/lib + export CC=arm-linux-gnueabihf-gcc + ./configure --host=arm-linux + else + sudo apt-get install -y g++-aarch64-linux-gnu + sudo ln -s /usr/aarch64-linux-gnu/lib/ld-*.*.so /lib/ld-linux-aarch64.so.1 + export LD_LIBRARY_PATH=/usr/aarch64-linux-gnu/lib + export CC=aarch64-linux-gnu-gcc + ./configure --host=aarch64-linux + fi + + make -j 4 check + file apps/openssl/.libs/openssl + +elif [ "x$ARCH" = "xandroid" ]; then + sudo apt-get update + sudo apt-get install -y cmake ninja-build + + export TC_FILE=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake + + # set target API level and architecture + level_arch="" + level=$MIN_NAL + while [ $level -le $MAX_NAL ] + do + level_arch="$level_arch $level;x86_64" + level_arch="$level_arch $level;x86" + level_arch="$level_arch $level;arm64-v8a" + + level=`expr $level + 1` + done + + echo "##### level_arch = $level_arch" + + # build each API level and architecture + for la in $level_arch + do + NAL=`echo $la | cut -d ';' -f 1` + ABI=`echo $la | cut -d ';' -f 2` + echo "" + echo "##### Date: `date`, Native API level: $NAL, ABI: $ABI" + + ( + build_dir=build_$NAL_$ABI + rm -fr $build_dir + mkdir $build_dir + cd $build_dir + cmake -GNinja -DCMAKE_MAKE_PROGRAM=ninja \ + -DANDROID_NDK=$ANDROID_NDK_HOME \ + -DCMAKE_TOOLCHAIN_FILE=$TC_FILE \ + -DANDROID_ABI=$ABI -DANDROID_NATIVE_API_LEVEL=$NAL .. + + ninja -j 4 + + echo "" + file apps/openssl/openssl + ) + done +fi -- cgit v1.2.3-55-g6feb