forked from OSchip/llvm-project
45 lines
1.5 KiB
CMake
45 lines
1.5 KiB
CMake
set(SCUDO_DEPS "")
|
|
|
|
if(LLVM_LIBC_INCLUDE_SCUDO)
|
|
include(../../compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake)
|
|
if(NOT (LIBC_TARGET_ARCHITECTURE IN_LIST ALL_SCUDO_STANDALONE_SUPPORTED_ARCH))
|
|
message(FATAL_ERROR "Architecture ${LIBC_TARGET_ARCHITECTURE} is not supported by SCUDO.
|
|
Either disable LLVM_LIBC_INCLUDE_SCUDO or change your target architecture.")
|
|
endif()
|
|
list(APPEND SCUDO_DEPS RTScudoStandalone.${LIBC_TARGET_ARCHITECTURE} RTScudoStandaloneCWrappers.${LIBC_TARGET_ARCHITECTURE})
|
|
if((LIBC_TARGET_ARCHITECTURE IN_LIST ALL_GWP_ASAN_SUPPORTED_ARCH) AND COMPILER_RT_BUILD_GWP_ASAN)
|
|
list(APPEND SCUDO_DEPS RTGwpAsan.${LIBC_TARGET_ARCHITECTURE}
|
|
RTGwpAsanBacktraceLibc.${LIBC_TARGET_ARCHITECTURE}
|
|
RTGwpAsanSegvHandler.${LIBC_TARGET_ARCHITECTURE})
|
|
elseif(COMPILER_RT_BUILD_GWP_ASAN)
|
|
message(WARNING "Architecture ${LIBC_TARGET_ARCHITECTURE} is not supported by GWP-ASan. Skipping.")
|
|
endif()
|
|
endif()
|
|
|
|
add_entrypoint_library(
|
|
llvmlibc
|
|
DEPENDS
|
|
${TARGET_LLVMLIBC_ENTRYPOINTS}
|
|
EXT_DEPS
|
|
${SCUDO_DEPS}
|
|
)
|
|
|
|
if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR)
|
|
set(LIBC_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE})
|
|
else()
|
|
set(LIBC_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX})
|
|
endif()
|
|
|
|
install(
|
|
TARGETS llvmlibc
|
|
ARCHIVE DESTINATION "${LIBC_INSTALL_LIBRARY_DIR}"
|
|
COMPONENT llvmlibc
|
|
)
|
|
|
|
add_custom_target(
|
|
install-llvmlibc
|
|
DEPENDS llvmlibc
|
|
COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=llvmlibc
|
|
-P "${LIBC_BINARY_DIR}/cmake_install.cmake"
|
|
)
|