mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-03 16:03:21 +00:00
[compiler-rt] Don't use libcxx if it's not enabled by LLVM_ENABLE_PROJECTS
This fixes sanitizer-x86_64-linux-fuzzer which switched to new layout and not it can't link as libcxx is always there. We should support and tests libcxx but still it was unexpected that libfuzzer ignored LLVM_ENABLE_PROJECTS_USED. llvm-svn: 370153
This commit is contained in:
parent
deeda85f3f
commit
acd8499028
@ -463,24 +463,30 @@ add_subdirectory(include)
|
||||
option(COMPILER_RT_USE_LIBCXX
|
||||
"Enable compiler-rt to use libc++ from the source tree" ON)
|
||||
if(COMPILER_RT_USE_LIBCXX)
|
||||
foreach(path IN ITEMS ${LLVM_MAIN_SRC_DIR}/projects/libcxx
|
||||
${LLVM_MAIN_SRC_DIR}/runtimes/libcxx
|
||||
${LLVM_MAIN_SRC_DIR}/../libcxx
|
||||
${LLVM_EXTERNAL_LIBCXX_SOURCE_DIR})
|
||||
if(IS_DIRECTORY ${path})
|
||||
set(COMPILER_RT_LIBCXX_PATH ${path})
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
foreach(path IN ITEMS ${LLVM_MAIN_SRC_DIR}/projects/libcxxabi
|
||||
${LLVM_MAIN_SRC_DIR}/runtimes/libcxxabi
|
||||
${LLVM_MAIN_SRC_DIR}/../libcxxabi
|
||||
${LLVM_EXTERNAL_LIBCXXABI_SOURCE_DIR})
|
||||
if(IS_DIRECTORY ${path})
|
||||
set(COMPILER_RT_LIBCXXABI_PATH ${path})
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
if(LLVM_ENABLE_PROJECTS_USED)
|
||||
# Don't use libcxx if LLVM_ENABLE_PROJECTS does not enable it.
|
||||
set(COMPILER_RT_LIBCXX_PATH ${LLVM_EXTERNAL_LIBCXX_SOURCE_DIR})
|
||||
set(COMPILER_RT_LIBCXXABI_PATH ${LLVM_EXTERNAL_LIBCXXABI_SOURCE_DIR})
|
||||
else()
|
||||
foreach(path IN ITEMS ${LLVM_MAIN_SRC_DIR}/projects/libcxx
|
||||
${LLVM_MAIN_SRC_DIR}/runtimes/libcxx
|
||||
${LLVM_MAIN_SRC_DIR}/../libcxx
|
||||
${LLVM_EXTERNAL_LIBCXX_SOURCE_DIR})
|
||||
if(IS_DIRECTORY ${path})
|
||||
set(COMPILER_RT_LIBCXX_PATH ${path})
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
foreach(path IN ITEMS ${LLVM_MAIN_SRC_DIR}/projects/libcxxabi
|
||||
${LLVM_MAIN_SRC_DIR}/runtimes/libcxxabi
|
||||
${LLVM_MAIN_SRC_DIR}/../libcxxabi
|
||||
${LLVM_EXTERNAL_LIBCXXABI_SOURCE_DIR})
|
||||
if(IS_DIRECTORY ${path})
|
||||
set(COMPILER_RT_LIBCXXABI_PATH ${path})
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(COMPILER_RT_LLD_PATH ${LLVM_MAIN_SRC_DIR}/tools/lld)
|
||||
|
Loading…
x
Reference in New Issue
Block a user