[compiler-rt] [compiler-rt] Respect CMAKE_INSTALL_LIBDIR for runtime install path (PR #194511)

via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 27 20:20:44 PDT 2026


https://github.com/dpmin7 updated https://github.com/llvm/llvm-project/pull/194511

>From 97a66ab47666a53f81ecfd5c89264f447c52dab5 Mon Sep 17 00:00:00 2001
From: Kyungjik Min <dpmin7 at gmail.com>
Date: Tue, 28 Apr 2026 10:03:40 +0900
Subject: [PATCH] [compiler-rt] Respect LLVM_LIBDIR_SUFFIX for runtime install
 path

compiler-rt currently hardcodes "lib" when forming the default
COMPILER_RT_INSTALL_LIBRARY_DIR in base-config-ix.cmake.

In multilib environments, LLVM_LIBDIR_SUFFIX may be "32" (or "64").
With the hardcoded path, runtimes are installed under /usr/lib/linux
instead of /usr/lib${LLVM_LIBDIR_SUFFIX}/linux, which breaks downstream
packaging and install logic expecting ${libdir}/linux.

Use LLVM_LIBDIR_SUFFIX when computing the default install lib path.
This preserves behavior for non-multilib builds and fixes multilib
installs.

Signed-off-by: Kyungjik Min <dpmin7 at gmail.com>
---
 compiler-rt/cmake/base-config-ix.cmake | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/compiler-rt/cmake/base-config-ix.cmake b/compiler-rt/cmake/base-config-ix.cmake
index 4898e3428ebb0..ad7dc317932a8 100644
--- a/compiler-rt/cmake/base-config-ix.cmake
+++ b/compiler-rt/cmake/base-config-ix.cmake
@@ -125,14 +125,14 @@ endif()
 # TODO: Use common runtimes infrastructure for output and install paths
 if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
   set(COMPILER_RT_OUTPUT_LIBRARY_DIR
-    ${COMPILER_RT_OUTPUT_DIR}/lib)
-  extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" lib)
+    ${COMPILER_RT_OUTPUT_DIR}/lib${LLVM_LIBDIR_SUFFIX})
+  extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "lib${LLVM_LIBDIR_SUFFIX}")
   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})
-  extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "lib/${COMPILER_RT_OS_DIR}")
+    ${COMPILER_RT_OUTPUT_DIR}/lib${LLVM_LIBDIR_SUFFIX}/${COMPILER_RT_OS_DIR})
+  extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "lib${LLVM_LIBDIR_SUFFIX}/${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()



More information about the llvm-commits mailing list