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