CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
81 lines
2.3 KiB
CMake
81 lines
2.3 KiB
CMake
# First, add the subdirectories which contain feature-based runtime libraries
|
|
# and several convenience helper libraries.
|
|
|
|
include(AddCompilerRT)
|
|
include(SanitizerUtils)
|
|
|
|
# Hoist the building of sanitizer_common on whether we're building either the
|
|
# sanitizers or xray (or both).
|
|
#
|
|
#TODO: Refactor sanitizer_common into smaller pieces (e.g. flag parsing, utils).
|
|
if (COMPILER_RT_HAS_SANITIZER_COMMON AND
|
|
(COMPILER_RT_BUILD_SANITIZERS OR COMPILER_RT_BUILD_XRAY OR COMPILER_RT_BUILD_MEMPROF OR COMPILER_RT_BUILD_CTX_PROFILE))
|
|
add_subdirectory(sanitizer_common)
|
|
endif()
|
|
|
|
if(COMPILER_RT_BUILD_BUILTINS)
|
|
add_subdirectory(builtins)
|
|
endif()
|
|
|
|
function(compiler_rt_build_runtime runtime)
|
|
string(TOUPPER ${runtime} runtime_uppercase)
|
|
if(COMPILER_RT_HAS_${runtime_uppercase})
|
|
if(${runtime} STREQUAL tsan)
|
|
add_subdirectory(tsan/dd)
|
|
endif()
|
|
if(${runtime} STREQUAL scudo_standalone)
|
|
add_subdirectory(scudo/standalone)
|
|
else()
|
|
add_subdirectory(${runtime})
|
|
endif()
|
|
endif()
|
|
endfunction()
|
|
|
|
if(COMPILER_RT_BUILD_SANITIZERS OR COMPILER_RT_BUILD_MEMPROF)
|
|
compiler_rt_build_runtime(interception)
|
|
endif()
|
|
|
|
if(COMPILER_RT_BUILD_SANITIZERS)
|
|
if(COMPILER_RT_HAS_SANITIZER_COMMON)
|
|
add_subdirectory(stats)
|
|
# Contains RTLSanCommon used even without COMPILER_RT_HAS_LSAN.
|
|
add_subdirectory(lsan)
|
|
# Contains RTUbsan used even without COMPILER_RT_HAS_UBSAN.
|
|
add_subdirectory(ubsan)
|
|
endif()
|
|
|
|
foreach(sanitizer ${COMPILER_RT_SANITIZERS_TO_BUILD})
|
|
compiler_rt_build_runtime(${sanitizer})
|
|
endforeach()
|
|
endif()
|
|
|
|
if(COMPILER_RT_BUILD_PROFILE)
|
|
compiler_rt_build_runtime(profile)
|
|
endif()
|
|
|
|
if(COMPILER_RT_BUILD_CTX_PROFILE)
|
|
compiler_rt_build_runtime(ctx_profile)
|
|
endif()
|
|
|
|
if(COMPILER_RT_BUILD_XRAY)
|
|
compiler_rt_build_runtime(xray)
|
|
endif()
|
|
|
|
if(COMPILER_RT_BUILD_LIBFUZZER)
|
|
compiler_rt_build_runtime(fuzzer)
|
|
endif()
|
|
|
|
if(COMPILER_RT_BUILD_MEMPROF AND COMPILER_RT_HAS_SANITIZER_COMMON)
|
|
compiler_rt_build_runtime(memprof)
|
|
endif()
|
|
|
|
if(COMPILER_RT_BUILD_ORC)
|
|
compiler_rt_build_runtime(orc)
|
|
endif()
|
|
|
|
# It doesn't normally make sense to build runtimes when a sanitizer is enabled,
|
|
# so we don't add_subdirectory the runtimes in that case. However, the opposite
|
|
# is true for fuzzers that exercise parts of the runtime. So we add the fuzzer
|
|
# directories explicitly here.
|
|
add_subdirectory(scudo/standalone/fuzz)
|