Christopher Ferris | 1c82a52 | 2013-10-01 12:38:42 -0700 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
| 3 | if [[ "$OUT" == "" ]]; then |
| 4 | echo "In order for this script to function, please choose an arm target" |
| 5 | echo "using source build/envsetup.sh and lunch XXX\n" |
| 6 | exit 1 |
| 7 | fi |
| 8 | |
| 9 | arm_cc="${ANDROID_TOOLCHAIN}/arm-linux-androideabi-gcc" |
| 10 | arm_cpp="${ANDROID_TOOLCHAIN}/arm-linux-androideabi-g++" |
| 11 | |
| 12 | includes=( |
| 13 | "-isystem ${ANDROID_BUILD_TOP}/system/core/include" |
| 14 | "-isystem ${ANDROID_BUILD_TOP}/hardware/libhardware/include" |
| 15 | "-isystem ${ANDROID_BUILD_TOP}/hardware/libhardware_legacy/include" |
| 16 | "-isystem ${ANDROID_BUILD_TOP}/hardware/ril/include" |
| 17 | "-isystem ${ANDROID_BUILD_TOP}/libnativehelper/include" |
| 18 | "-isystem ${ANDROID_BUILD_TOP}/frameworks/native/include" |
| 19 | "-isystem ${ANDROID_BUILD_TOP}/frameworks/native/opengl/include" |
| 20 | "-isystem ${ANDROID_BUILD_TOP}/frameworks/av/include" |
| 21 | "-isystem ${ANDROID_BUILD_TOP}/frameworks/base/include" |
| 22 | "-isystem ${ANDROID_BUILD_TOP}/external/skia/include" |
| 23 | "-isystem ${OUT}/obj/include" |
| 24 | "-isystem ${ANDROID_BUILD_TOP}/bionic/libc/arch-arm/include" |
| 25 | "-isystem ${ANDROID_BUILD_TOP}/bionic/libc/include" |
| 26 | "-isystem ${ANDROID_BUILD_TOP}/bionic/libstdc++/include" |
Christopher Ferris | 5e40448 | 2013-12-18 14:36:37 -0800 | [diff] [blame] | 27 | "-isystem ${ANDROID_BUILD_TOP}/bionic/libc/kernel/uapi" |
| 28 | "-isystem ${ANDROID_BUILD_TOP}/bionic/libc/kernel/uapi/asm-arm" |
Christopher Ferris | 1c82a52 | 2013-10-01 12:38:42 -0700 | [diff] [blame] | 29 | "-isystem ${ANDROID_BUILD_TOP}/bionic/libm/include" |
| 30 | "-isystem ${ANDROID_BUILD_TOP}/bionic/libm/include/arm" |
| 31 | "-isystem ${ANDROID_BUILD_TOP}/bionic/libthread_db/include" |
| 32 | "-include ${ANDROID_BUILD_TOP}/build/core/combo/include/arch/linux-arm/AndroidConfig.h" |
| 33 | "-I ${ANDROID_BUILD_TOP}/build/core/combo/include/arch/linux-arm/" |
| 34 | ) |
| 35 | |
| 36 | ldflags=( |
| 37 | "-nostdlib" |
| 38 | "-Bdynamic" |
| 39 | "-fPIE" |
| 40 | "-pie" |
| 41 | "-Wl,-dynamic-linker,/system/bin/linker" |
| 42 | "-Wl,--gc-sections" |
| 43 | "-Wl,-z,nocopyreloc" |
| 44 | "-L${OUT}/obj/lib" |
| 45 | "-Wl,-rpath-link=${OUT}/obj/lib" |
| 46 | "-Wl,--whole-archive" |
| 47 | "-Wl,--no-whole-archive" |
| 48 | "-lc" |
| 49 | "-lstdc++" |
| 50 | "-lm" |
| 51 | "-Wl,-z,noexecstack" |
| 52 | "-Wl,-z,relro" |
| 53 | "-Wl,-z,now" |
| 54 | "-Wl,--warn-shared-textrel" |
| 55 | "-Wl,--fatal-warnings" |
| 56 | "-Wl,--icf=safe" |
| 57 | "-Wl,--no-undefined" |
| 58 | "-ldl" |
| 59 | ) |
| 60 | |
| 61 | eval ./configure CC=\"${arm_cc} ${includes[@]}\" \ |
| 62 | CPP=\"${arm_cc} ${includes[@]} -E\" \ |
| 63 | CXX=\"${arm_cpp} ${includes[@]}\" \ |
| 64 | CXXCPP=\"${arm_cpp} ${includes[@]} -E\" \ |
| 65 | LDFLAGS=\"${ldflags[@]}\" \ |
| 66 | --host=arm |