From 4e9deee11a9ed1f7c62a3c671bf7910b0f9faf09 Mon Sep 17 00:00:00 2001 From: Kyle Huey Date: Wed, 26 Jun 2024 11:16:29 -0700 Subject: [PATCH] [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@zhadum:~/dev/llvm-project/build$ ./bin/llvm-config --system-libs -lrt -ldl -lm -lz -lzstd -lxml2 after: khuey@zhadum:~/dev/llvm-project/build$ ./bin/llvm-config --system-libs -lrt -ldl -lm -lz /usr/local/lib/libzstd.a -lxml2 (cherry-picked from 0f24a462386409c1d907aefb9d8a58481cb71933) --- llvm/lib/Support/CMakeLists.txt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/llvm/lib/Support/CMakeLists.txt b/llvm/lib/Support/CMakeLists.txt index e19223fdef4f1..7311071b287e9 100644 --- a/llvm/lib/Support/CMakeLists.txt +++ b/llvm/lib/Support/CMakeLists.txt @@ -318,8 +318,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() if(LLVM_ENABLE_TERMINFO)