xref: /aosp_15_r20/external/aws-crt-java/android/crt/fetch_libcrypto.sh (revision 3c7ae9de214676c52d19f01067dc1a404272dc11)
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