[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