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