[llvm] eef8b74 - gn build: Unbreak Android cross-compilation.
    Peter Collingbourne via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Fri Mar 19 16:28:42 PDT 2021
    
    
  
Author: Peter Collingbourne
Date: 2021-03-19T16:28:24-07:00
New Revision: eef8b74ef5efd5265ad35c8d6ebdbfbe43e81bfd
URL: https://github.com/llvm/llvm-project/commit/eef8b74ef5efd5265ad35c8d6ebdbfbe43e81bfd
DIFF: https://github.com/llvm/llvm-project/commit/eef8b74ef5efd5265ad35c8d6ebdbfbe43e81bfd.diff
LOG: gn build: Unbreak Android cross-compilation.
- D96404 defaulted to libunwind which isn't provided by NDK r21
  (or r22), so specify -rtlib=libgcc on non-arm32.
- D97993 means that we need to use --gcc-toolchain instead of -B
  to let the driver find libgcc.
Added: 
    
Modified: 
    llvm/utils/gn/build/toolchain/target_flags.gni
Removed: 
    
################################################################################
diff  --git a/llvm/utils/gn/build/toolchain/target_flags.gni b/llvm/utils/gn/build/toolchain/target_flags.gni
index 0af52a0db6da..573e758a6d6f 100644
--- a/llvm/utils/gn/build/toolchain/target_flags.gni
+++ b/llvm/utils/gn/build/toolchain/target_flags.gni
@@ -13,8 +13,11 @@ if (current_os == "android") {
   target_flags += [
     "--target=$llvm_current_triple",
     "--sysroot=$android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot",
-    "-B$android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64",
+    "--gcc-toolchain=$android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64",
   ]
+  if (current_cpu != "arm") {
+    target_flags += [ "-rtlib=libgcc" ]
+  }
   target_ldflags += [ "-static-libstdc++" ]
   if (current_cpu == "arm") {
     target_flags += [ "-march=armv7-a" ]
        
    
    
More information about the llvm-commits
mailing list