| function(find_compiler_rt_library name dest) | 
 |   if (NOT DEFINED LIBUNWIND_COMPILE_FLAGS) | 
 |     message(FATAL_ERROR "LIBUNWIND_COMPILE_FLAGS must be defined when using this function") | 
 |   endif() | 
 |   set(dest "" PARENT_SCOPE) | 
 |   set(CLANG_COMMAND ${CMAKE_CXX_COMPILER} ${LIBUNWIND_COMPILE_FLAGS} | 
 |       "--rtlib=compiler-rt" "--print-libgcc-file-name") | 
 |   if (CMAKE_CXX_COMPILER_ID MATCHES Clang AND CMAKE_CXX_COMPILER_TARGET) | 
 |     list(APPEND CLANG_COMMAND "--target=${CMAKE_CXX_COMPILER_TARGET}") | 
 |   endif() | 
 |   execute_process( | 
 |       COMMAND ${CLANG_COMMAND} | 
 |       RESULT_VARIABLE HAD_ERROR | 
 |       OUTPUT_VARIABLE LIBRARY_FILE | 
 |   ) | 
 |   string(STRIP "${LIBRARY_FILE}" LIBRARY_FILE) | 
 |   string(REPLACE "builtins" "${name}" LIBRARY_FILE "${LIBRARY_FILE}") | 
 |   if (NOT HAD_ERROR AND EXISTS "${LIBRARY_FILE}") | 
 |     message(STATUS "Found compiler-rt library: ${LIBRARY_FILE}") | 
 |     set(${dest} "${LIBRARY_FILE}" PARENT_SCOPE) | 
 |   else() | 
 |     message(STATUS "Failed to find compiler-rt library") | 
 |   endif() | 
 | endfunction() | 
 |  | 
 | function(find_compiler_rt_dir dest) | 
 |   if (NOT DEFINED LIBUNWIND_COMPILE_FLAGS) | 
 |     message(FATAL_ERROR "LIBUNWIND_COMPILE_FLAGS must be defined when using this function") | 
 |   endif() | 
 |   set(dest "" PARENT_SCOPE) | 
 |   if (APPLE) | 
 |     set(CLANG_COMMAND ${CMAKE_CXX_COMPILER} ${LIBUNWIND_COMPILE_FLAGS} | 
 |         "-print-file-name=lib") | 
 |     execute_process( | 
 |         COMMAND ${CLANG_COMMAND} | 
 |         RESULT_VARIABLE HAD_ERROR | 
 |         OUTPUT_VARIABLE LIBRARY_DIR | 
 |     ) | 
 |     string(STRIP "${LIBRARY_DIR}" LIBRARY_DIR) | 
 |     set(LIBRARY_DIR "${LIBRARY_DIR}/darwin") | 
 |   else() | 
 |     set(CLANG_COMMAND ${CMAKE_CXX_COMPILER} ${LIBUNWIND_COMPILE_FLAGS} | 
 |         "--rtlib=compiler-rt" "--print-libgcc-file-name") | 
 |     execute_process( | 
 |         COMMAND ${CLANG_COMMAND} | 
 |         RESULT_VARIABLE HAD_ERROR | 
 |         OUTPUT_VARIABLE LIBRARY_FILE | 
 |     ) | 
 |     string(STRIP "${LIBRARY_FILE}" LIBRARY_FILE) | 
 |     get_filename_component(LIBRARY_DIR "${LIBRARY_FILE}" DIRECTORY) | 
 |   endif() | 
 |   if (NOT HAD_ERROR AND EXISTS "${LIBRARY_DIR}") | 
 |     message(STATUS "Found compiler-rt directory: ${LIBRARY_DIR}") | 
 |     set(${dest} "${LIBRARY_DIR}" PARENT_SCOPE) | 
 |   else() | 
 |     message(STATUS "Failed to find compiler-rt directory") | 
 |   endif() | 
 | endfunction() |