# Example value: getenv("HOME") + "/src/llvm-build/Release+Asserts"
clang_base_path = ""
- # Set this to the path to Android NDK r18b. If set, cross compilation targeting
+ # Set this to the path to Android NDK r19. If set, cross compilation targeting
# Android will be enabled.
android_ndk_path = ""
}
import("//llvm/utils/gn/build/toolchain/compiler.gni")
target_flags = []
-target_cflags = []
target_ldflags = []
if (current_os == "android") {
- assert(current_cpu == "arm64", "current_cpu not supported")
-
- libcxx_path = "$android_ndk_path/sources/cxx-stl/llvm-libc++"
- platform_lib_path =
- "$android_ndk_path/platforms/android-21/arch-arm64/usr/lib"
- libgcc_path = "$android_ndk_path/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/lib/gcc/aarch64-linux-android/4.9.x"
-
target_flags += [
"--target=$llvm_current_triple",
- "--sysroot=$android_ndk_path/sysroot",
- ]
- target_cflags += [
- "-isystem",
- "$libcxx_path/include",
- ]
- target_ldflags += [
- "-B$platform_lib_path",
- "-L$platform_lib_path",
- "-L$libgcc_path",
- ]
- target_ldflags += [
- "-nostdlib++",
- "-L$libcxx_path/libs/arm64-v8a",
- "-l:libc++.a.21",
+ "--sysroot=$android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot",
+ "-B$android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64",
]
+ target_ldflags += [ "-static-libstdc++" ]
}
"SANITIZER_CAN_USE_CXXABI_PYBOOL=True",
"COMPILER_RT_HAS_LLD_PYBOOL=True",
"HAVE_RPC_XDR_H=0",
+ "ANDROID_NDK_VERSION=19",
"ANDROID_SERIAL_FOR_TESTING=$android_serial_for_testing",
]
target_flags_string = ""
-foreach(flag,
- target_flags + target_cflags + target_ldflags + [ "-fuse-ld=lld" ]) {
+foreach(flag, target_flags + target_ldflags + [ "-fuse-ld=lld" ]) {
if (target_flags_string != "") {
target_flags_string += " "
}