#!/bin/bash SCM_URL=https://github.com/openssl/openssl/releases/download/ SCM_TAG=openssl-3.3.1 SCM_HASH=777cd596284c883375a2a7a11bf5d2786fc5413255efab20c50d6ffe6d020b7e COMPILER=4.9 source $(dirname "${BASH_SOURCE[0]}")/android-build-common.sh function build { if [ $# -ne 2 ]; then echo "Invalid arguments $@" exit 1 fi CONFIG=$1 DST_PREFIX=$2 common_run export CC=clang common_run export PATH=$(${SCRIPT_PATH}/toolchains_path.py --ndk ${ANDROID_NDK}):$ORG_PATH common_run export ANDROID_NDK echo "CONFIG=$CONFIG" echo "DST_PREFIX=$DST_PREFIX" echo "PATH=$PATH" BASE=$(pwd) DST_DIR=$BUILD_DST/$DST_PREFIX common_run cd $BUILD_SRC common_run ./Configure ${CONFIG} -D__ANDROID_API__=$NDK_TARGET common_run make SHLIB_EXT=.so -j build_libs if [ ! -d $DST_DIR ]; then common_run mkdir -p $DST_DIR fi common_run cp *.so $DST_DIR/ common_run cd $BASE } # Run the main program. common_parse_arguments $@ common_update "$SCM_URL/$SCM_TAG" $SCM_TAG $BUILD_SRC $SCM_HASH ORG_PATH=$PATH for ARCH in $BUILD_ARCH do case $ARCH in "armeabi-v7a") build "android-arm" "armeabi-v7a" ;; "x86") build "android-x86" "x86" ;; "arm64-v8a") build "android-arm64" "arm64-v8a" ;; "x86_64") build "android-x86_64" "x86_64" ;; *) echo "[WARNING] Skipping unsupported architecture $ARCH" continue ;; esac done if [ ! -d $BUILD_DST/$ARCH/include ]; then common_run mkdir -p $BUILD_DST/$ARCH/include fi common_run cp -L -R $BUILD_SRC/include/openssl $BUILD_DST/$ARCH/include/