xref: /aosp_15_r20/external/aws-crt-java/dockcross-build.sh (revision 3c7ae9de214676c52d19f01067dc1a404272dc11)
1*3c7ae9deSAndroid Build Coastguard Worker#!/usr/bin/env bash
2*3c7ae9deSAndroid Build Coastguard Worker
3*3c7ae9deSAndroid Build Coastguard Worker# Examples:
4*3c7ae9deSAndroid Build Coastguard Worker# ./dockcross-build.sh build -p aws-crt-java --target=linux-armv6
5*3c7ae9deSAndroid Build Coastguard Worker# ./dockcross-build.sh build -p aws-crt-java --target=linux-armv7
6*3c7ae9deSAndroid Build Coastguard Worker# ./dockcross-build.sh build -p aws-crt-java --target=linux-aarch64
7*3c7ae9deSAndroid Build Coastguard Worker
8*3c7ae9deSAndroid Build Coastguard Workerset -ex
9*3c7ae9deSAndroid Build Coastguard Worker
10*3c7ae9deSAndroid Build Coastguard Workerargs=("$@")
11*3c7ae9deSAndroid Build Coastguard Worker
12*3c7ae9deSAndroid Build Coastguard Workerversion=LATEST
13*3c7ae9deSAndroid Build Coastguard Workerif [[ "${args[0]}" == "--version="* ]]; then
14*3c7ae9deSAndroid Build Coastguard Worker    version=${args[0]}
15*3c7ae9deSAndroid Build Coastguard Worker    version=$(echo $version | cut -f2 -d=)
16*3c7ae9deSAndroid Build Coastguard Worker    args=${args[@]:1}
17*3c7ae9deSAndroid Build Coastguard Workerfi
18*3c7ae9deSAndroid Build Coastguard Worker
19*3c7ae9deSAndroid Build Coastguard Workerif [ $(echo $version | grep -E '^v[0-9\.]+$') ]; then
20*3c7ae9deSAndroid Build Coastguard Worker    version=releases/$version
21*3c7ae9deSAndroid Build Coastguard Workerelif [[ $version != 'channels/'* ]] && [[ $version != 'LATEST' ]]; then
22*3c7ae9deSAndroid Build Coastguard Worker    version=channels/$version
23*3c7ae9deSAndroid Build Coastguard Workerfi
24*3c7ae9deSAndroid Build Coastguard Worker
25*3c7ae9deSAndroid Build Coastguard Worker# download the version of builder requested
26*3c7ae9deSAndroid Build Coastguard Workerbuilder=/tmp/builder.pyz
27*3c7ae9deSAndroid Build Coastguard Workercurl -sSL -o $builder --retry 3 https://d19elf31gohf1l.cloudfront.net/${version}/builder.pyz?date=`date +%s`
28*3c7ae9deSAndroid Build Coastguard Workerchmod a+x $builder
29*3c7ae9deSAndroid Build Coastguard Worker
30*3c7ae9deSAndroid Build Coastguard Worker# on manylinux, use the latest python3 via symlink
31*3c7ae9deSAndroid Build Coastguard Workerif [ -x /opt/python/cp39-cp39/bin/python ] && [ ! -e /usr/local/bin/python3 ]; then
32*3c7ae9deSAndroid Build Coastguard Worker    ln -s /opt/python/cp39-cp39/bin/python /usr/local/bin/python3
33*3c7ae9deSAndroid Build Coastguard Workerfi
34*3c7ae9deSAndroid Build Coastguard Worker
35*3c7ae9deSAndroid Build Coastguard Worker# Launch the builder with whatever args were passed to this script
36*3c7ae9deSAndroid Build Coastguard Worker$builder ${args[@]}
37