aboutsummaryrefslogtreecommitdiff
path: root/android/scripts/conf_arm64.sh
diff options
context:
space:
mode:
Diffstat (limited to 'android/scripts/conf_arm64.sh')
-rwxr-xr-xandroid/scripts/conf_arm64.sh60
1 files changed, 60 insertions, 0 deletions
diff --git a/android/scripts/conf_arm64.sh b/android/scripts/conf_arm64.sh
new file mode 100755
index 0000000..83cffd9
--- /dev/null
+++ b/android/scripts/conf_arm64.sh
@@ -0,0 +1,60 @@
+#!/bin/bash
+
+if [[ "$OUT" == "" ]]; then
+ echo "In order for this script to function, please choose an arm64 target"
+ echo "using source build/envsetup.sh and lunch XXX\n"
+ exit 1
+fi
+
+aarch64_cc="${ANDROID_TOOLCHAIN}/aarch64-linux-android-gcc"
+aarch64_cpp="${ANDROID_TOOLCHAIN}/aarch64-linux-android-g++"
+
+includes=(
+ "-isystem ${ANDROID_BUILD_TOP}/bionic/libc/arch-arm64/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-arm64"
+ "-isystem ${ANDROID_BUILD_TOP}/bionic/libm/include"
+ "-isystem ${ANDROID_BUILD_TOP}/bionic/libm/include/arm64"
+ "-include ${ANDROID_BUILD_TOP}/build/core/combo/include/arch/linux-arm64/AndroidConfig.h"
+)
+
+# Copy libm.so to libpthread.so to allow -lpthread to work.
+cp ${OUT}/obj/lib/libm.so ${OUT}/obj/lib/libpthread.so
+
+ldflags=(
+ "-nostdlib"
+ "-Bdynamic"
+ "-fPIE"
+ "-pie"
+ "-Wl,-dynamic-linker,/system/bin/linker64"
+ "-Wl,--gc-sections"
+ "-Wl,-z,nocopyreloc"
+ "-L${OUT}/obj/lib"
+ "-Wl,-rpath-link=${OUT}/obj/lib"
+ "${OUT}/obj/lib/crtbegin_dynamic.o"
+ "-Wl,--whole-archive"
+ "-Wl,--no-whole-archive"
+ "-lc"
+ "-lstdc++"
+ "-lgcc"
+ "-lm"
+ "-Wl,-z,noexecstack"
+ "-Wl,-z,relro"
+ "-Wl,-z,now"
+ "-Wl,--warn-shared-textrel"
+ "-Wl,--fatal-warnings"
+ "-Wl,--no-undefined"
+ "-ldl"
+)
+
+eval ./configure CC=\"${aarch64_cc} ${includes[@]}\" \
+ CPP=\"${aarch64_cc} ${includes[@]} -E\" \
+ CXX=\"${aarch64_cpp} ${includes[@]}\" \
+ CXXCPP=\"${aarch64_cpp} ${includes[@]} -E\" \
+ LDFLAGS=\"${ldflags[@]}\" \
+ --host=aarch64-android-linux \
+ --disable-valgrind \
+ --with-jemalloc_prefix=je_ \
+