[XRay] [compiler-rt] reformat and clarify CMakeLists.txt [NFC]
authorMartin Pelikan <martin.pelikan@gmail.com>
Fri, 13 Apr 2018 08:33:46 +0000 (08:33 +0000)
committerMartin Pelikan <martin.pelikan@gmail.com>
Fri, 13 Apr 2018 08:33:46 +0000 (08:33 +0000)
Summary:
- last change (+ the Apple support change) missed a lot of indentation
- shorten architecture SOURCES definitions as most fit 1 line/arch
- comment in English what's where, and where the different .a come from
  (using only the word "runtime" in the comment isn't useful, since the
  CMake primitive itself says "runtime" in its name)
- skip unsupported architectures quickly, to avoid extra indentation

Reviewers: dberris, eizan, kpw

Subscribers: mgorny, delcypher, #sanitizers, llvm-commits

Differential Revision: https://reviews.llvm.org/D45568

llvm-svn: 329998

compiler-rt/lib/xray/CMakeLists.txt

index 7f5683d..431012b 100644 (file)
@@ -1,4 +1,4 @@
-# Build for the XRay runtime support library.
+# Build for all components of the XRay runtime support library.
 
 # XRay runtime library implementation files.
 set(XRAY_SOURCES
 
 # XRay runtime library implementation files.
 set(XRAY_SOURCES
@@ -8,7 +8,7 @@ set(XRAY_SOURCES
   xray_log_interface.cc
   xray_utils.cc)
 
   xray_log_interface.cc
   xray_utils.cc)
 
-# XRay mode implementation files.
+# Implementation files for all XRay modes.
 set(XRAY_FDR_MODE_SOURCES
   xray_buffer_queue.cc
   xray_fdr_logging.cc)
 set(XRAY_FDR_MODE_SOURCES
   xray_buffer_queue.cc
   xray_fdr_logging.cc)
@@ -16,42 +16,21 @@ set(XRAY_FDR_MODE_SOURCES
 set(XRAY_BASIC_MODE_SOURCES
   xray_inmemory_log.cc)
 
 set(XRAY_BASIC_MODE_SOURCES
   xray_inmemory_log.cc)
 
-set(x86_64_SOURCES
-    xray_x86_64.cc
-    xray_trampoline_x86_64.S)
-
-set(arm_SOURCES
-    xray_arm.cc
-    xray_trampoline_arm.S)
-
-set(armhf_SOURCES
-    ${arm_SOURCES})
-
-set(aarch64_SOURCES
-  xray_AArch64.cc
-  xray_trampoline_AArch64.S)
-
-set(mips_SOURCES
-    xray_mips.cc
-    xray_trampoline_mips.S)
-
-set(mipsel_SOURCES
-    xray_mips.cc
-    xray_trampoline_mips.S)
-
-set(mips64_SOURCES
-    xray_mips64.cc
-    xray_trampoline_mips64.S)
-
-set(mips64el_SOURCES
-    xray_mips64.cc
-    xray_trampoline_mips64.S)
-
+# Implementation files for all XRay architectures.
+set(aarch64_SOURCES xray_AArch64.cc xray_trampoline_AArch64.S)
+set(arm_SOURCES xray_arm.cc xray_trampoline_arm.S)
+set(armhf_SOURCES ${arm_SOURCES})
+set(mips_SOURCES xray_mips.cc xray_trampoline_mips.S)
+set(mipsel_SOURCES xray_mips.cc xray_trampoline_mips.S)
+set(mips64_SOURCES xray_mips64.cc xray_trampoline_mips64.S)
+set(mips64el_SOURCES xray_mips64.cc xray_trampoline_mips64.S)
 set(powerpc64le_SOURCES
     xray_powerpc64.cc
     xray_trampoline_powerpc64.cc
     xray_trampoline_powerpc64_asm.S)
 set(powerpc64le_SOURCES
     xray_powerpc64.cc
     xray_trampoline_powerpc64.cc
     xray_trampoline_powerpc64_asm.S)
+set(x86_64_SOURCES xray_x86_64.cc xray_trampoline_x86_64.S)
 
 
+# Now put it all together...
 include_directories(..)
 include_directories(../../include)
 
 include_directories(..)
 include_directories(../../include)
 
@@ -127,9 +106,11 @@ if (APPLE)
     LINK_FLAGS ${SANITIZER_COMMON_LINK_FLAGS} ${WEAK_SYMBOL_LINK_FLAGS}
     LINK_LIBS ${XRAY_LINK_LIBS}
     PARENT_TARGET xray)
     LINK_FLAGS ${SANITIZER_COMMON_LINK_FLAGS} ${WEAK_SYMBOL_LINK_FLAGS}
     LINK_LIBS ${XRAY_LINK_LIBS}
     PARENT_TARGET xray)
-else()
-foreach(arch ${XRAY_SUPPORTED_ARCH})
-  if(CAN_TARGET_${arch})
+else() # not Apple
+  foreach(arch ${XRAY_SUPPORTED_ARCH})
+    if(NOT CAN_TARGET_${arch})
+      continue()
+    endif()
     add_compiler_rt_object_libraries(RTXray
       ARCHS ${arch}
       SOURCES ${XRAY_SOURCES} ${${arch}_SOURCES} CFLAGS ${XRAY_CFLAGS}
     add_compiler_rt_object_libraries(RTXray
       ARCHS ${arch}
       SOURCES ${XRAY_SOURCES} ${${arch}_SOURCES} CFLAGS ${XRAY_CFLAGS}
@@ -143,6 +124,7 @@ foreach(arch ${XRAY_SUPPORTED_ARCH})
       SOURCES ${XRAY_BASIC_MODE_SOURCES} CFLAGS ${XRAY_CFLAGS}
       DEFS ${XRAY_COMMON_DEFINITIONS})
 
       SOURCES ${XRAY_BASIC_MODE_SOURCES} CFLAGS ${XRAY_CFLAGS}
       DEFS ${XRAY_COMMON_DEFINITIONS})
 
+    # Common XRay archive for instrumented binaries.
     add_compiler_rt_runtime(clang_rt.xray
      STATIC
      ARCHS ${arch}
     add_compiler_rt_runtime(clang_rt.xray
      STATIC
      ARCHS ${arch}
@@ -150,25 +132,24 @@ foreach(arch ${XRAY_SUPPORTED_ARCH})
      DEFS ${XRAY_COMMON_DEFINITIONS}
      OBJECT_LIBS ${XRAY_COMMON_RUNTIME_OBJECT_LIBS} RTXray
      PARENT_TARGET xray)
      DEFS ${XRAY_COMMON_DEFINITIONS}
      OBJECT_LIBS ${XRAY_COMMON_RUNTIME_OBJECT_LIBS} RTXray
      PARENT_TARGET xray)
-   # FDR Mode runtime
-   add_compiler_rt_runtime(clang_rt.xray-fdr
-     STATIC
-     ARCHS ${arch}
-     CFLAGS ${XRAY_CFLAGS}
-     DEFS ${XRAY_COMMON_DEFINITIONS}
-     OBJECT_LIBS RTXrayFDR
-     PARENT_TARGET xray)
-   # Basic Mode runtime
-   add_compiler_rt_runtime(clang_rt.xray-basic
-     STATIC
-     ARCHS ${arch}
-     CFLAGS ${XRAY_CFLAGS}
-     DEFS ${XRAY_COMMON_DEFINITIONS}
-     OBJECT_LIBS RTXrayBASIC
-     PARENT_TARGET xray)
-  endif()
-endforeach()
-endif()
+    # FDR mode runtime archive (addon for clang_rt.xray)
+    add_compiler_rt_runtime(clang_rt.xray-fdr
+      STATIC
+      ARCHS ${arch}
+      CFLAGS ${XRAY_CFLAGS}
+      DEFS ${XRAY_COMMON_DEFINITIONS}
+      OBJECT_LIBS RTXrayFDR
+      PARENT_TARGET xray)
+    # Basic mode runtime archive (addon for clang_rt.xray)
+    add_compiler_rt_runtime(clang_rt.xray-basic
+      STATIC
+      ARCHS ${arch}
+      CFLAGS ${XRAY_CFLAGS}
+      DEFS ${XRAY_COMMON_DEFINITIONS}
+      OBJECT_LIBS RTXrayBASIC
+      PARENT_TARGET xray)
+  endforeach()
+endif() # not Apple
 
 if(COMPILER_RT_INCLUDE_TESTS)
   add_subdirectory(tests)
 
 if(COMPILER_RT_INCLUDE_TESTS)
   add_subdirectory(tests)