1#!/usr/bin/env bash 2 3# usage: fetch_libcrypto.sh (armeabi-v7a|arm64-v8a|x86|x86_64) 4 5set -ex 6 7if [ $# -eq 0 ]; then 8 $0 armeabi-v7a 9 $0 arm64-v8a 10 $0 x86 11 $0 x86_64 12 exit 0 13fi 14 15# Ensure 1 argument, the ABI 16[ $# -eq 1 ] 17 18pushd $(dirname $0) 19 20cmake_binary_dir=../../target/cmake-build 21android_abi=$1 22 23# Map android ABI -> the ABI name we use for prebuilt libs 24if [ $android_abi == 'armeabi-v7a' ]; then 25 AWS_ANDROID_ABI=arm 26elif [ $android_abi == 'arm64-v8a' ]; then 27 AWS_ANDROID_ABI=arm64 28elif [ $android_abi == 'x86' ]; then 29 AWS_ANDROID_ABI=x86 30elif [ $android_abi == 'x86_64' ]; then 31 AWS_ANDROID_ABI=x86_64 32fi 33 34[ ! -z "${AWS_ANDROID_ABI}" ] 35 36echo "Installing libcrypto for Android ${AWS_ANDROID_ABI}" 37 38mkdir -p ${cmake_binary_dir}/deps/${android_abi}/libcrypto 39if [ ! -e ${cmake_binary_dir}/deps/${android_abi}/libcrypto/libcrypto-1.1.1-android-${AWS_ANDROID_ABI}.tar.gz ]; then 40 curl -sSL --retry 3 "https://d19elf31gohf1l.cloudfront.net/_binaries/libcrypto/libcrypto-1.1.1-android-${AWS_ANDROID_ABI}.tar.gz" \ 41 -o "${cmake_binary_dir}/deps/${android_abi}/libcrypto/libcrypto-1.1.1-android-${AWS_ANDROID_ABI}.tar.gz" 42fi 43 44tar xzf "${cmake_binary_dir}/deps/${android_abi}/libcrypto/libcrypto-1.1.1-android-${AWS_ANDROID_ABI}.tar.gz" -C ${cmake_binary_dir}/deps/${android_abi}/libcrypto 45 46popd 47