[llvm] 0f24a46 - [llvm-config] Make llvm-config --system-libs obey LLVM_USE_STATIC_ZSTD (#93754)

via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 26 11:16:32 PDT 2024


Author: Kyle Huey
Date: 2024-06-26T11:16:29-07:00
New Revision: 0f24a462386409c1d907aefb9d8a58481cb71933

URL: https://github.com/llvm/llvm-project/commit/0f24a462386409c1d907aefb9d8a58481cb71933
DIFF: https://github.com/llvm/llvm-project/commit/0f24a462386409c1d907aefb9d8a58481cb71933.diff

LOG: [llvm-config] Make llvm-config --system-libs obey LLVM_USE_STATIC_ZSTD (#93754)

LLVM's build system does the right thing but LLVM_SYSTEM_LIBS ends up
containing the shared library. Emit the static library instead when
appropriate.

With LLVM_USE_STATIC_ZSTD, before:

khuey at zhadum:~/dev/llvm-project/build$ ./bin/llvm-config --system-libs
-lrt -ldl -lm -lz -lzstd -lxml2

after:

khuey at zhadum:~/dev/llvm-project/build$ ./bin/llvm-config --system-libs
-lrt -ldl -lm -lz /usr/local/lib/libzstd.a -lxml2

Added: 
    

Modified: 
    llvm/lib/Support/CMakeLists.txt

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Support/CMakeLists.txt b/llvm/lib/Support/CMakeLists.txt
index 0c69ac99f5bc6..c87785994fec7 100644
--- a/llvm/lib/Support/CMakeLists.txt
+++ b/llvm/lib/Support/CMakeLists.txt
@@ -323,8 +323,12 @@ if(LLVM_ENABLE_ZSTD)
   if(NOT zstd_library)
     get_property(zstd_library TARGET ${zstd_target} PROPERTY LOCATION)
   endif()
-  get_library_name(${zstd_library} zstd_library)
-  set(llvm_system_libs ${llvm_system_libs} "${zstd_library}")
+  if (zstd_target STREQUAL zstd::libzstd_shared)
+    get_library_name(${zstd_library} zstd_library)
+    set(llvm_system_libs ${llvm_system_libs} "${zstd_library}")
+  else()
+    set(llvm_system_libs ${llvm_system_libs} "${zstd_STATIC_LIBRARY}")
+  endif()
 endif()
 
 set_property(TARGET LLVMSupport PROPERTY LLVM_SYSTEM_LIBS "${llvm_system_libs}")


        


More information about the llvm-commits mailing list