summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Hosek <phosek@chromium.org>2018-07-15 03:05:20 +0000
committerPetr Hosek <phosek@chromium.org>2018-07-15 03:05:20 +0000
commitfd78449c84a72de20cf1646cf706af84f943e64f (patch)
tree347ae2e161d2f15a3a812594d3cb53604727ceb2
parentbea00ccdf28bfd0f2773a09b0e429f7f6b54c0c9 (diff)
[CMake] Change the flag to use compiler-rt builtins to boolean
This changes the name and the type to what it was prior to r333037 which matches the name of the flag used in other runtimes: libc++, libc++abi and libunwind. We don't need the type to be a string since there's only binary choice between libgcc and compiler-rt unlike in the case of C++ library where there're multiple options. Differential Revision: https://reviews.llvm.org/D49325 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@337116 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--CMakeLists.txt17
-rw-r--r--cmake/config-ix.cmake4
2 files changed, 9 insertions, 12 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6c2b5bb17..86ca2b3ef 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -157,17 +157,14 @@ else()
set(SANITIZER_CXX_ABI_SYSTEM 1)
endif()
-set(COMPILER_RT_RUNTIME "default" CACHE STRING
- "Compiler runtime to use.")
-
-if (COMPILER_RT_RUNTIME STREQUAL "default")
- if (FUCHSIA)
- set(COMPILER_RT_RUNTIME_LIBRARY "builtins")
- endif()
-else()
- set(COMPILER_RT_RUNTIME_LIBRARY "${COMPILER_RT_RUNTIME}")
+set(DEFAULT_COMPILER_RT_USE_BUILTINS_LIBRARY OFF)
+if (FUCHSIA)
+ set(DEFAULT_COMPILER_RT_USE_BUILTINS_LIBRARY ON)
endif()
+option(COMPILER_RT_USE_BUILTINS_LIBRARY
+ "Use compiler-rt builtins instead of libgcc" ${DEFAULT_COMPILER_RT_USE_BUILTINS_LIBRARY})
+
include(config-ix)
#================================
@@ -316,7 +313,7 @@ append_list_if(COMPILER_RT_HAS_WD4800_FLAG /wd4800 SANITIZER_COMMON_CFLAGS)
# Set common link flags.
append_list_if(COMPILER_RT_HAS_NODEFAULTLIBS_FLAG -nodefaultlibs SANITIZER_COMMON_LINK_FLAGS)
-if (COMPILER_RT_RUNTIME_LIBRARY STREQUAL "builtins")
+if (COMPILER_RT_USE_BUILTINS_LIBRARY)
list(APPEND SANITIZER_COMMON_LINK_LIBS ${COMPILER_RT_BUILTINS_LIBRARY})
else()
if (ANDROID)
diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake
index 1f73c475b..6bad751d7 100644
--- a/cmake/config-ix.cmake
+++ b/cmake/config-ix.cmake
@@ -13,7 +13,7 @@ function(check_linker_flag flag out_var)
endfunction()
check_library_exists(c fopen "" COMPILER_RT_HAS_LIBC)
-if (COMPILER_RT_RUNTIME_LIBRARY STREQUAL "builtins")
+if (COMPILER_RT_USE_BUILTINS_LIBRARY)
include(HandleCompilerRT)
find_compiler_rt_library(builtins COMPILER_RT_BUILTINS_LIBRARY)
else()
@@ -30,7 +30,7 @@ if (COMPILER_RT_HAS_NODEFAULTLIBS_FLAG)
if (COMPILER_RT_HAS_LIBC)
list(APPEND CMAKE_REQUIRED_LIBRARIES c)
endif ()
- if (COMPILER_RT_RUNTIME_LIBRARY STREQUAL "builtins")
+ if (COMPILER_RT_USE_BUILTINS_LIBRARY)
list(APPEND CMAKE_REQUIRED_LIBRARIES "${COMPILER_RT_BUILTINS_LIBRARY}")
elseif (COMPILER_RT_HAS_GCC_S_LIB)
list(APPEND CMAKE_REQUIRED_LIBRARIES gcc_s)