#!/bin/bash
|
|
if [[ "$OUT" == "" ]]; then
|
echo "In order for this script to function, please choose an arm target"
|
echo "using source build/envsetup.sh and lunch XXX\n"
|
exit 1
|
fi
|
|
arm_cc="${ANDROID_TOOLCHAIN}/arm-linux-androideabi-gcc"
|
arm_cpp="${ANDROID_TOOLCHAIN}/arm-linux-androideabi-g++"
|
|
includes=(
|
"-isystem ${ANDROID_BUILD_TOP}/system/core/include"
|
"-isystem ${ANDROID_BUILD_TOP}/hardware/libhardware/include"
|
"-isystem ${ANDROID_BUILD_TOP}/hardware/libhardware_legacy/include"
|
"-isystem ${ANDROID_BUILD_TOP}/hardware/ril/include"
|
"-isystem ${ANDROID_BUILD_TOP}/libnativehelper/include"
|
"-isystem ${ANDROID_BUILD_TOP}/frameworks/native/include"
|
"-isystem ${ANDROID_BUILD_TOP}/frameworks/native/opengl/include"
|
"-isystem ${ANDROID_BUILD_TOP}/frameworks/av/include"
|
"-isystem ${ANDROID_BUILD_TOP}/frameworks/base/include"
|
"-isystem ${ANDROID_BUILD_TOP}/external/skia/include"
|
"-isystem ${OUT}/obj/include"
|
"-isystem ${ANDROID_BUILD_TOP}/bionic/libc/arch-arm/include"
|
"-isystem ${ANDROID_BUILD_TOP}/bionic/libc/include"
|
"-isystem ${ANDROID_BUILD_TOP}/bionic/libstdc++/include"
|
"-isystem ${ANDROID_BUILD_TOP}/bionic/libc/kernel/uapi"
|
"-isystem ${ANDROID_BUILD_TOP}/bionic/libc/kernel/uapi/asm-arm"
|
"-isystem ${ANDROID_BUILD_TOP}/bionic/libm/include"
|
"-isystem ${ANDROID_BUILD_TOP}/bionic/libm/include/arm"
|
"-isystem ${ANDROID_BUILD_TOP}/bionic/libthread_db/include"
|
"-include ${ANDROID_BUILD_TOP}/build/core/combo/include/arch/linux-arm/AndroidConfig.h"
|
"-I ${ANDROID_BUILD_TOP}/build/core/combo/include/arch/linux-arm/"
|
)
|
|
ldflags=(
|
"-nostdlib"
|
"-Bdynamic"
|
"-fPIE"
|
"-pie"
|
"-Wl,-dynamic-linker,/system/bin/linker"
|
"-Wl,--gc-sections"
|
"-Wl,-z,nocopyreloc"
|
"-L${OUT}/obj/lib"
|
"-Wl,-rpath-link=${OUT}/obj/lib"
|
"-Wl,--whole-archive"
|
"-Wl,--no-whole-archive"
|
"-lc"
|
"-lstdc++"
|
"-lm"
|
"-Wl,-z,noexecstack"
|
"-Wl,-z,relro"
|
"-Wl,-z,now"
|
"-Wl,--warn-shared-textrel"
|
"-Wl,--fatal-warnings"
|
"-Wl,--icf=safe"
|
"-Wl,--no-undefined"
|
"-ldl"
|
)
|
|
eval ./configure CC=\"${arm_cc} ${includes[@]}\" \
|
CPP=\"${arm_cc} ${includes[@]} -E\" \
|
CXX=\"${arm_cpp} ${includes[@]}\" \
|
CXXCPP=\"${arm_cpp} ${includes[@]} -E\" \
|
LDFLAGS=\"${ldflags[@]}\" \
|
--host=arm
|