[PATCH] D105765: Prepare Compiler-RT for GnuInstallDirs, matching libcxx

John Ericson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Jul 10 22:32:33 PDT 2021


Ericson2314 added a comment.

For reference, here is the "diff of diffs"

  dif
   diff --git a/compiler-rt/cmake/base-config-ix.cmake b/compiler-rt/cmake/base-config-ix.cmake
  -index 1edab43e7c0d..c4d78098d070 100644
  +index 1edab43e7c0d..ed2ef0e4829c 100644
   --- a/compiler-rt/cmake/base-config-ix.cmake
   +++ b/compiler-rt/cmake/base-config-ix.cmake
   @@ -68,8 +68,8 @@ else()
  @@ -144,7 +166,25 @@ index 1edab43e7c0d..c4d78098d070 100644
      option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests." OFF)
      option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered" OFF)
      # Use a host compiler to compile/link tests.
  -@@ -89,16 +89,24 @@ if(NOT DEFINED COMPILER_RT_OS_DIR)
  +@@ -85,20 +85,45 @@ else()
  +   set(COMPILER_RT_TEST_COMPILER_ID GNU)
  + endif()
  +
  ++function(extend_install_path joined_path current_segment)
  ++  if("${current_segment}" STREQUAL "")
  ++    set(temp_path "${COMPILER_RT_INSTALL_PATH}")
  ++  elseif("${COMPILER_RT_INSTALL_PATH}" STREQUAL "")
  ++    set(temp_path "${current_segment}")
  ++  elseif(IS_ABSOLUTE "${current_segment}")
  ++    message(WARNING "Since \"${current_segment}\" is absolute, it overrides COMPILER_RT_INSTALL_PATH: \"${temp_path}\".")
  ++    set(temp_path "${current_segment}")
  ++  else()
  ++    set(temp_path "${temp_path}/${current_segment}")
  ++  endif()
  ++  set(${joined_path} "${temp_path}" PARENT_SCOPE)
  ++endfunction()
  ++
  + if(NOT DEFINED COMPILER_RT_OS_DIR)
      string(TOLOWER ${CMAKE_SYSTEM_NAME} COMPILER_RT_OS_DIR)
    endif()
    if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
  @@ -156,23 +196,26 @@ index 1edab43e7c0d..c4d78098d070 100644
   -  set(COMPILER_RT_LIBRARY_OUTPUT_DIR
   +  set(COMPILER_RT_OUTPUT_LIBRARY_DIR
   +    ${COMPILER_RT_OUTPUT_DIR}/lib)
  -+  set(COMPILER_RT_INSTALL_LIBRARY_DIR
  -+    ${COMPILER_RT_INSTALL_PATH}/lib CACHE PATH
  ++  extend_install_path(default_install_path lib)
  ++  set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH
   +    "Path where built compiler-rt libraries should be installed.")
   +else(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
   +  set(COMPILER_RT_OUTPUT_LIBRARY_DIR
        ${COMPILER_RT_OUTPUT_DIR}/lib/${COMPILER_RT_OS_DIR})
   -  set(COMPILER_RT_LIBRARY_INSTALL_DIR
   -    ${COMPILER_RT_INSTALL_PATH}/lib/${COMPILER_RT_OS_DIR})
  -+  set(COMPILER_RT_INSTALL_LIBRARY_DIR
  -+    ${COMPILER_RT_INSTALL_PATH}/lib/${COMPILER_RT_OS_DIR} CACHE PATH
  ++  extend_install_path(default_install_path "lib/${COMPILER_RT_OS_DIR}")
  ++  set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH
   +    "Path where built compiler-rt libraries should be installed.")
    endif()
  -+set(COMPILER_RT_INSTALL_BINARY_DIR "${COMPILER_RT_INSTALL_PATH}/bin" CACHE PATH
  ++extend_install_path(default_install_path bin)
  ++set(COMPILER_RT_INSTALL_BINARY_DIR "${default_install_path}" CACHE PATH
   +  "Path where built compiler-rt executables should be installed.")
  -+set(COMPILER_RT_INSTALL_INCLUDE_DIR "${COMPILER_RT_INSTALL_PATH}/include" CACHE PATH
  ++extend_install_path(default_install_path include)
  ++set(COMPILER_RT_INSTALL_INCLUDE_DIR "${default_install_path}" CACHE PATH
   +  "Path where compiler-rt headers should be installed.")
  -+set(COMPILER_RT_INSTALL_DATA_DIR "${COMPILER_RT_INSTALL_PATH}/share" CACHE PATH
  ++extend_install_path(default_install_path share)
  ++set(COMPILER_RT_INSTALL_DATA_DIR "${default_install_path}" CACHE PATH
   +  "Path where compiler-rt data files should be installed.")
  
    if(APPLE)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D105765/new/

https://reviews.llvm.org/D105765



More information about the llvm-commits mailing list