[llvm] 311f783 - [CMake] Enable LLVM_ENABLE_PER_TARGET_RUNTIME_DIR by default on Linux
    Fangrui Song via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Tue Jun  7 21:22:42 PDT 2022
    
    
  
Author: Fangrui Song
Date: 2022-06-07T21:22:38-07:00
New Revision: 311f7839602344ca347816146edb68c0ffaaa060
URL: https://github.com/llvm/llvm-project/commit/311f7839602344ca347816146edb68c0ffaaa060
DIFF: https://github.com/llvm/llvm-project/commit/311f7839602344ca347816146edb68c0ffaaa060.diff
LOG: [CMake] Enable LLVM_ENABLE_PER_TARGET_RUNTIME_DIR by default on Linux
This makes the LLVM_ENABLE_PROJECTS mode (supported for compiler-rt, deprecated
(D112724) for libcxx/libcxxabi/libunwind) closer to
https://libcxx.llvm.org/BuildingLibcxx.html#bootstrapping-build .
The layout is arguably superior because different libraries of target triples
are in different directories, similar to GCC/Debian multiarch.
When LLVM_DEFAULT_TARGET_TRIPLE is x86_64-unknown-linux-gnu,
`lib/clang/15.0.0/lib/libclang_rt.asan-x86_64.a`
is moved to
`lib/clang/15.0.0/lib/x86_64-unknown-linux-gnu/libclang_rt.asan.a`.
In addition, if the host compiler supports -m32 (multilib),
`lib/clang/15.0.0/lib/libclang_rt.asan-i386.a`
is moved to
`lib/clang/15.0.0/lib/i386-unknown-linux-gnu/libclang_rt.asan.a`.
Reviewed By: mstorsjo, ldionne, #libc
Differential Revision: https://reviews.llvm.org/D107799
Added: 
    
Modified: 
    llvm/CMakeLists.txt
Removed: 
    
################################################################################
diff  --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt
index fab16edd7d53..14a215257b39 100644
--- a/llvm/CMakeLists.txt
+++ b/llvm/CMakeLists.txt
@@ -746,7 +746,12 @@ endif()
 set(LLVM_TARGET_TRIPLE_ENV CACHE STRING "The name of environment variable to override default target. Disabled by blank.")
 mark_as_advanced(LLVM_TARGET_TRIPLE_ENV)
 
-set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR OFF CACHE BOOL
+if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+  set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR_default ON)
+else()
+  set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR_default OFF)
+endif()
+set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR ${LLVM_ENABLE_PER_TARGET_RUNTIME_DIR_default} CACHE BOOL
   "Enable per-target runtimes directory")
 
 set(LLVM_PROFDATA_FILE "" CACHE FILEPATH
        
    
    
More information about the llvm-commits
mailing list