[compiler-rt] cf403c1 - [compiler-rt] Improve defaults for Android

Shoaib Meenai via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 28 17:35:36 PDT 2023


Author: Shoaib Meenai
Date: 2023-08-28T17:34:47-07:00
New Revision: cf403c10fba72ddc6a083a0e1603974d0749c6b3

URL: https://github.com/llvm/llvm-project/commit/cf403c10fba72ddc6a083a0e1603974d0749c6b3
DIFF: https://github.com/llvm/llvm-project/commit/cf403c10fba72ddc6a083a0e1603974d0749c6b3.diff

LOG: [compiler-rt] Improve defaults for Android

Android has only used libc++ for a long time, and since NDK r23, it
also always uses compiler-rt and LLVM's libunwind (which is linked
statically). Reflect these defaults in compiler-rt's build, instead of
requiring the correct settings to always be externally specified.

Reviewed By: srhines

Differential Revision: https://reviews.llvm.org/D158792

Added: 
    

Modified: 
    compiler-rt/CMakeLists.txt

Removed: 
    


################################################################################
diff  --git a/compiler-rt/CMakeLists.txt b/compiler-rt/CMakeLists.txt
index 3888995811d894..d1409318ee0a66 100644
--- a/compiler-rt/CMakeLists.txt
+++ b/compiler-rt/CMakeLists.txt
@@ -197,7 +197,7 @@ macro(handle_default_cxx_lib var)
     if (APPLE OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
       set(${var}_LIBNAME "libc++")
       set(${var}_SYSTEM 1)
-    elseif (FUCHSIA)
+    elseif (ANDROID OR FUCHSIA)
       set(${var}_LIBNAME "libc++")
       set(${var}_INTREE 1)
     else()
@@ -227,13 +227,19 @@ set(CXXLIBS none default libstdc++ libc++)
 set_property(CACHE SANITIZER_TEST_CXX PROPERTY STRINGS ;${CXXLIBS})
 handle_default_cxx_lib(SANITIZER_TEST_CXX)
 
-option(COMPILER_RT_USE_LLVM_UNWINDER "Use the LLVM unwinder." OFF)
+set(DEFAULT_COMPILER_RT_USE_LLVM_UNWINDER OFF)
+if (ANDROID)
+  set(DEFAULT_COMPILER_RT_USE_LLVM_UNWINDER ON)
+endif()
+
+option(COMPILER_RT_USE_LLVM_UNWINDER
+  "Use the LLVM unwinder." ${DEFAULT_COMPILER_RT_USE_LLVM_UNWINDER})
 cmake_dependent_option(COMPILER_RT_ENABLE_STATIC_UNWINDER
   "Statically link the LLVM unwinder." OFF
   "COMPILER_RT_USE_LLVM_UNWINDER" OFF)
 
 set(DEFAULT_SANITIZER_USE_STATIC_LLVM_UNWINDER OFF)
-if (FUCHSIA)
+if (ANDROID OR FUCHSIA)
   set(DEFAULT_SANITIZER_USE_STATIC_LLVM_UNWINDER ON)
 elseif (DEFINED LIBUNWIND_ENABLE_SHARED AND NOT LIBUNWIND_ENABLE_SHARED)
   set(DEFAULT_SANITIZER_USE_STATIC_LLVM_UNWINDER ON)
@@ -271,7 +277,7 @@ cmake_dependent_option(COMPILER_RT_STATIC_CXX_LIBRARY
   "COMPILER_RT_CXX_LIBRARY" OFF)
 
 set(DEFAULT_COMPILER_RT_USE_BUILTINS_LIBRARY OFF)
-if (FUCHSIA)
+if (ANDROID OR FUCHSIA)
   set(DEFAULT_COMPILER_RT_USE_BUILTINS_LIBRARY ON)
 endif()
 


        


More information about the llvm-commits mailing list