forked from cross-rs/cross
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathandroid-ndk.sh
executable file
·51 lines (40 loc) · 995 Bytes
/
android-ndk.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/usr/bin/env bash
set -x
set -euo pipefail
NDK_URL=https://dl.google.com/android/repository/android-ndk-r21d-linux-x86_64.zip
main() {
local arch="${1}" \
api="${2}"
local dependencies=(
curl
unzip
python
)
apt-get update
local purge_list=()
for dep in "${dependencies[@]}"; do
if ! dpkg -L "${dep}"; then
apt-get install --assume-yes --no-install-recommends "${dep}"
purge_list+=( "${dep}" )
fi
done
local td
td="$(mktemp -d)"
pushd "${td}"
curl --retry 3 -sSfL "${NDK_URL}" -O
unzip -q android-ndk-*.zip
rm android-ndk-*.zip
pushd android-ndk-*
./build/tools/make_standalone_toolchain.py \
--install-dir /android-ndk \
--arch "${arch}" \
--api "${api}"
if (( ${#purge_list[@]} )); then
apt-get purge --assume-yes --auto-remove "${purge_list[@]}"
fi
popd
popd
rm -rf "${td}"
rm "${0}"
}
main "${@}"