Refactor the code to respect COMPILER_RT_BUILD_SANITIZERS and COMPILER_RT_BUILD_XRAY consistently for libraries, headers and tests. In order to achieve that, factor those variables in when setting COMPILER_RT_* in config-ix.cmake. This makes the COMPILER_RT_* variables suitable for determining both whether to build libraries and whether to run tests.
Add a new set of conditionals to include/CMakeLists.txt to prevent installing xray and sanitizer headers when XRay is disabled or sanitizers are disabled or unsupported appropriately.
Update the conditionals in lib/CMakeLists.txt appropriately to remove unnecessary double-use of COMPILER_RT_BUILD_* variables when COMPILER_RT_HAS_* already controls the particular component.
Fix sanitizer_common tests to respect COMPILER_RT_HAS_* when determining which tools are supported.
What does this really leave in terms of targets which the sanitizer supports but doesn't have the common library?