blob: 67fe75ea43472f5f8e896bd1f04d9adad32b8ca3 [file] [log] [blame]
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"
)