diff options
author | Petr Hosek <phosek@google.com> | 2024-11-12 19:16:27 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-12 19:16:27 -0800 |
commit | 5fa47d8c52fa7449cc9f68cf314681f755df34bc (patch) | |
tree | 65392e08c2254cdb528939b6934b6fc7e2d4cb07 | |
parent | e887f8290df419ffd4e018b6f8afbaeb1912cf0e (diff) | |
download | llvm-5fa47d8c52fa7449cc9f68cf314681f755df34bc.zip llvm-5fa47d8c52fa7449cc9f68cf314681f755df34bc.tar.gz llvm-5fa47d8c52fa7449cc9f68cf314681f755df34bc.tar.bz2 |
[libc] Support multilib with runtimes build (#115357)
This adds minimal support for multilibs akin to libc++.
-rw-r--r-- | libc/CMakeLists.txt | 12 | ||||
-rw-r--r-- | llvm/runtimes/CMakeLists.txt | 1 |
2 files changed, 10 insertions, 3 deletions
diff --git a/libc/CMakeLists.txt b/libc/CMakeLists.txt index c393d23..77b659b 100644 --- a/libc/CMakeLists.txt +++ b/libc/CMakeLists.txt @@ -248,10 +248,17 @@ foreach(config_path IN LISTS LIBC_CONFIG_JSON_FILE_LIST) load_libc_config(${config_path}/config.json ${cmd_line_conf}) endforeach() +if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR) + set(LIBC_TARGET_SUBDIR ${LLVM_DEFAULT_TARGET_TRIPLE}) + if(LIBC_LIBDIR_SUBDIR) + string(APPEND LIBC_TARGET_SUBDIR /${LIBC_LIBDIR_SUBDIR}) + endif() +endif() + if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND (LIBC_ENABLE_USE_BY_CLANG OR LIBC_TARGET_OS_IS_GPU)) set(LIBC_INCLUDE_DIR ${LLVM_BINARY_DIR}/include/${LLVM_DEFAULT_TARGET_TRIPLE}) set(LIBC_INSTALL_INCLUDE_DIR ${CMAKE_INSTALL_INCLUDEDIR}/${LLVM_DEFAULT_TARGET_TRIPLE}) - set(LIBC_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE}) + set(LIBC_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LIBC_TARGET_SUBDIR}) else() if(NOT LIBC_ENABLE_USE_BY_CLANG) set(LIBC_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/include) @@ -277,8 +284,7 @@ endif() if(LIBC_TARGET_TRIPLE) set(LIBC_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LIBC_TARGET_TRIPLE}) elseif(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR) - set(LIBC_INSTALL_LIBRARY_DIR - lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}) + set(LIBC_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LIBC_TARGET_SUBDIR}) else() set(LIBC_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}) endif() diff --git a/llvm/runtimes/CMakeLists.txt b/llvm/runtimes/CMakeLists.txt index 9da1f92..57a56c6 100644 --- a/llvm/runtimes/CMakeLists.txt +++ b/llvm/runtimes/CMakeLists.txt @@ -635,6 +635,7 @@ if(build_runtimes) CMAKE_ARGS -DLLVM_DEFAULT_TARGET_TRIPLE=${name} -DLLVM_RUNTIMES_PREFIX=${name}/ -DLLVM_RUNTIMES_LIBDIR_SUBDIR=${multilib} + ${extra_cmake_args} BASE_NAME ${name} EXTRA_ARGS TARGET_TRIPLE ${name}) endforeach() |