ddnet/scripts/compile_libs/make_lib_openssl.sh
2022-03-25 12:42:18 +01:00

49 lines
1.4 KiB
Bash
Executable file

#!/bin/bash
ANDROID_HOME=~/Android/Sdk
ANDROID_NDK="$(find "$ANDROID_HOME/ndk" -maxdepth 1 | sort -n | tail -1)"
export MAKEFLAGS=-j32
export CXXFLAGS="$3"
export CFLAGS="$3"
export CPPFLAGS="$4"
export LDFLAGS="$4"
export ANDROID_NDK_ROOT=$ANDROID_NDK
PATH=$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin:$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin:$PATH
function buid_openssl() {
_EXISTS_PROJECT=0
if [ -d "$1" ]; then
_EXISTS_PROJECT=1
else
mkdir "$1"
fi
(
cd "$1" || exit 1
if [[ "$_EXISTS_PROJECT" == "0" ]]; then
if [[ "${4}" == "webasm" ]]; then
emconfigure ../Configure "$2" -no-tests -no-asm -static -no-afalgeng -DOPENSSL_SYS_NETWARE -DSIG_DFL=0 -DSIG_IGN=0 -DHAVE_FORK=0 -DOPENSSL_NO_AFALGENG=1 --with-rand-seed=getrandom
sed -i 's|^CROSS_COMPILE.*$|CROSS_COMPILE=|g' Makefile
else
../Configure "$2" no-asm no-shared
fi
fi
${5} make $MAKEFLAGS build_generated
${5} make $MAKEFLAGS libcrypto.a
${5} make $MAKEFLAGS libssl.a
cd ..
)
}
if [[ "${2}" == "android" ]]; then
buid_openssl build_"$2"_arm android-arm "$1" "$2" ""
buid_openssl build_"$2"_arm64 android-arm64 "$1" "$2" ""
buid_openssl build_"$2"_x86 android-x86 "$1" "$2" ""
buid_openssl build_"$2"_x86_64 android-x86_64 "$1" "$2" ""
elif [[ "${2}" == "webasm" ]]; then
buid_openssl build_"$2"_wasm linux-generic64 "$1" "$2" emmake
fi