xref: /aosp_15_r20/external/iperf3/androidconfigure (revision 7ab6e6ace082586527a400463bc693a412a40341)
1*7ab6e6acSAndroid Build Coastguard Worker#!/bin/bash
2*7ab6e6acSAndroid Build Coastguard Worker
3*7ab6e6acSAndroid Build Coastguard Workerset -e
4*7ab6e6acSAndroid Build Coastguard Workerset -x
5*7ab6e6acSAndroid Build Coastguard Worker
6*7ab6e6acSAndroid Build Coastguard Workerif [ ! -d "$NDK" ]; then
7*7ab6e6acSAndroid Build Coastguard Worker  echo 'Please set $NDK to the path to NDK'
8*7ab6e6acSAndroid Build Coastguard Worker  exit 1
9*7ab6e6acSAndroid Build Coastguard Workerfi
10*7ab6e6acSAndroid Build Coastguard Worker
11*7ab6e6acSAndroid Build Coastguard Workercd $(dirname "$0")
12*7ab6e6acSAndroid Build Coastguard Worker
13*7ab6e6acSAndroid Build Coastguard Workerfunction RunConfigure() {
14*7ab6e6acSAndroid Build Coastguard Worker  HOST=$1
15*7ab6e6acSAndroid Build Coastguard Worker  TARGET=$2
16*7ab6e6acSAndroid Build Coastguard Worker  ARCH=$3
17*7ab6e6acSAndroid Build Coastguard Worker
18*7ab6e6acSAndroid Build Coastguard Worker  TOOLCHAIN=${NDK}/toolchains/llvm/prebuilt/linux-x86_64/bin/
19*7ab6e6acSAndroid Build Coastguard Worker
20*7ab6e6acSAndroid Build Coastguard Worker  export AR=${TOOLCHAIN}${HOST}-ar
21*7ab6e6acSAndroid Build Coastguard Worker  export AS=${TOOLCHAIN}${TARGET}-clang
22*7ab6e6acSAndroid Build Coastguard Worker  export CC=${TOOLCHAIN}${TARGET}-clang
23*7ab6e6acSAndroid Build Coastguard Worker  export CXX=${TOOLCHAIN}${TARGET}-clang++
24*7ab6e6acSAndroid Build Coastguard Worker  export LD=${TOOLCHAIN}${HOST}-ld
25*7ab6e6acSAndroid Build Coastguard Worker  export STRIP=${TOOLCHAIN}${HOST}-strip
26*7ab6e6acSAndroid Build Coastguard Worker
27*7ab6e6acSAndroid Build Coastguard Worker  # Tell configure what flags Android requires.
28*7ab6e6acSAndroid Build Coastguard Worker  export CFLAGS="-fPIE -fPIC"
29*7ab6e6acSAndroid Build Coastguard Worker  export LDFLAGS="-pie"
30*7ab6e6acSAndroid Build Coastguard Worker
31*7ab6e6acSAndroid Build Coastguard Worker  ./configure --host=${HOST}
32*7ab6e6acSAndroid Build Coastguard Worker}
33*7ab6e6acSAndroid Build Coastguard Worker
34*7ab6e6acSAndroid Build Coastguard Worker# All arches generates the same iperf_config.h (for now).
35*7ab6e6acSAndroid Build Coastguard WorkerRunConfigure "aarch64-linux-android" "aarch64-linux-android28" "arm64"
36*7ab6e6acSAndroid Build Coastguard Worker# RunConfigure "arm-linux-androideabi" "armv7a-linux-androideabi28" "arm"
37*7ab6e6acSAndroid Build Coastguard Worker# RunConfigure "i686-linux-android" "i686-linux-android28" "x86"
38*7ab6e6acSAndroid Build Coastguard Worker# RunConfigure "x86_64-linux-android" "x86_64-linux-android28" "x86-64"
39