forked from OSchip/llvm-project
Support CMake build of profile runtime library on Linux
llvm-svn: 177382
This commit is contained in:
parent
b59fa875ad
commit
4c17c1b157
|
@ -23,10 +23,10 @@ string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" CLANG_VERSION
|
|||
# Setup the paths where compiler-rt runtimes and headers should be stored.
|
||||
set(LIBCLANG_INSTALL_PATH lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION})
|
||||
string(TOLOWER ${CMAKE_SYSTEM_NAME} LIBCLANG_OS_DIR)
|
||||
set(COMPILER_RT_LIBRARY_OUTPUT_DIR
|
||||
${LLVM_BINARY_DIR}/lib/clang/${CLANG_VERSION}/lib/${LIBCLANG_OS_DIR})
|
||||
set(CLANG_RESOURCE_DIR ${LLVM_BINARY_DIR}/lib/clang/${CLANG_VERSION})
|
||||
set(COMPILER_RT_LIBRARY_OUTPUT_DIR ${CLANG_RESOURCE_DIR}/lib/${LIBCLANG_OS_DIR})
|
||||
set(COMPILER_RT_LIBRARY_INSTALL_DIR
|
||||
${LIBCLANG_INSTALL_PATH}/lib/${LIBCLANG_OS_DIR})
|
||||
${LIBCLANG_INSTALL_PATH}/lib/${LIBCLANG_OS_DIR})
|
||||
|
||||
# Add path for custom modules
|
||||
set(CMAKE_MODULE_PATH
|
||||
|
@ -36,6 +36,9 @@ set(CMAKE_MODULE_PATH
|
|||
include(AddCompilerRT)
|
||||
|
||||
set(COMPILER_RT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
# Setup custom SDK sysroots.
|
||||
set(COMPILER_RT_DARWIN_SDK_SYSROOT ${COMPILER_RT_SOURCE_DIR}/SDKs/darwin)
|
||||
set(COMPILER_RT_LINUX_SDK_SYSROOT ${COMPILER_RT_SOURCE_DIR}/SDKs/linux)
|
||||
|
||||
# Detect whether the current target platform is 32-bit or 64-bit, and setup
|
||||
# the correct commandline flags needed to attempt to target 32-bit and 64-bit.
|
||||
|
|
|
@ -15,10 +15,10 @@ if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux" AND NOT ANDROID)
|
|||
add_subdirectory(tsan)
|
||||
add_subdirectory(msan)
|
||||
add_subdirectory(msandr)
|
||||
# FIXME: Add support for the profile library on OS X.
|
||||
add_subdirectory(profile)
|
||||
endif()
|
||||
|
||||
# FIXME: Add support for the profile library.
|
||||
|
||||
# The top-level lib directory contains a large amount of C code which provides
|
||||
# generic implementations of the core runtime library along with optimized
|
||||
# architecture-specific code in various subdirectories.
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
set(PROFILE_SOURCES
|
||||
GCDAProfiling.c)
|
||||
|
||||
filter_available_targets(PROFILE_SUPPORTED_ARCH x86_64 i386)
|
||||
|
||||
if(NOT APPLE)
|
||||
# FIXME: Add support for profile.rt on Mac.
|
||||
foreach(arch ${PROFILE_SUPPORTED_ARCH})
|
||||
add_compiler_rt_static_runtime(clang_rt.profile-${arch} ${arch}
|
||||
SOURCES ${PROFILE_SOURCES}
|
||||
CFLAGS --sysroot=${COMPILER_RT_LINUX_SDK_SYSROOT})
|
||||
endforeach()
|
||||
endif()
|
Loading…
Reference in New Issue