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