| # Build for the XRay runtime support library. |
| |
| # XRay runtime library implementation files. |
| set(XRAY_SOURCES |
| xray_inmemory_log.cc |
| xray_init.cc |
| xray_flags.cc |
| xray_interface.cc |
| xray_buffer_queue.cc |
| xray_log_interface.cc |
| xray_fdr_logging.cc |
| xray_utils.cc) |
| |
| set(x86_64_SOURCES |
| xray_x86_64.cc |
| xray_trampoline_x86_64.S |
| ${XRAY_SOURCES}) |
| |
| set(arm_SOURCES |
| xray_arm.cc |
| xray_trampoline_arm.S |
| ${XRAY_SOURCES}) |
| |
| set(armhf_SOURCES |
| ${arm_SOURCES}) |
| |
| set(aarch64_SOURCES |
| xray_AArch64.cc |
| xray_trampoline_AArch64.S |
| ${XRAY_SOURCES}) |
| |
| set(mips_SOURCES |
| xray_mips.cc |
| xray_trampoline_mips.S |
| ${XRAY_SOURCES}) |
| |
| set(mipsel_SOURCES |
| xray_mips.cc |
| xray_trampoline_mips.S |
| ${XRAY_SOURCES}) |
| |
| set(mips64_SOURCES |
| xray_mips64.cc |
| xray_trampoline_mips64.S |
| ${XRAY_SOURCES}) |
| |
| set(mips64el_SOURCES |
| xray_mips64.cc |
| xray_trampoline_mips64.S |
| ${XRAY_SOURCES}) |
| |
| set(powerpc64le_SOURCES |
| xray_powerpc64.cc |
| xray_trampoline_powerpc64.cc |
| xray_trampoline_powerpc64_asm.S |
| ${XRAY_SOURCES}) |
| |
| include_directories(..) |
| include_directories(../../include) |
| |
| set(XRAY_CFLAGS ${SANITIZER_COMMON_CFLAGS}) |
| set(XRAY_COMMON_DEFINITIONS XRAY_HAS_EXCEPTIONS=1) |
| append_list_if( |
| COMPILER_RT_HAS_XRAY_COMPILER_FLAG XRAY_SUPPORTED=1 XRAY_COMMON_DEFINITIONS) |
| append_list_if( |
| COMPILER_RT_BUILD_XRAY_NO_PREINIT XRAY_NO_PREINIT XRAY_COMMON_DEFINITIONS) |
| |
| add_compiler_rt_object_libraries(RTXray |
| ARCHS ${XRAY_SUPPORTED_ARCH} |
| SOURCES ${XRAY_SOURCES} CFLAGS ${XRAY_CFLAGS} |
| DEFS ${XRAY_COMMON_DEFINITIONS}) |
| |
| add_compiler_rt_component(xray) |
| |
| set(XRAY_COMMON_RUNTIME_OBJECT_LIBS |
| RTSanitizerCommon |
| RTSanitizerCommonLibc) |
| |
| foreach(arch ${XRAY_SUPPORTED_ARCH}) |
| if(CAN_TARGET_${arch}) |
| add_compiler_rt_runtime(clang_rt.xray |
| STATIC |
| ARCHS ${arch} |
| SOURCES ${${arch}_SOURCES} |
| CFLAGS ${XRAY_CFLAGS} |
| DEFS ${XRAY_COMMON_DEFINITIONS} |
| OBJECT_LIBS ${XRAY_COMMON_RUNTIME_OBJECT_LIBS} |
| PARENT_TARGET xray) |
| endif() |
| endforeach() |
| |
| if(COMPILER_RT_INCLUDE_TESTS) |
| add_subdirectory(tests) |
| endif() |