[llvm] [LLVM][Cygwin] Fix llvm-config shared library names (PR #136599)

Mateusz Mikuła via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 22 10:08:43 PDT 2025


================
@@ -64,7 +64,11 @@ set(LLVM_CFLAGS "${LLVM_C_STD_FLAG} ${LLVM_DEFINITIONS}")
 set(LLVM_CXXFLAGS "${CMAKE_CXX${CMAKE_CXX_STANDARD}_STANDARD_COMPILE_OPTION} ${LLVM_CXX_STDLIB_FLAG} ${COMPILE_FLAGS} ${LLVM_DEFINITIONS}")
 set(LLVM_BUILD_SYSTEM cmake)
 set(LLVM_HAS_RTTI ${LLVM_CONFIG_HAS_RTTI})
-set(LLVM_DYLIB_VERSION "${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}")
+if(CYGWIN)
+  set(LLVM_DYLIB_VERSION "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}${LLVM_VERSION_SUFFIX}")
+else()
+  set(LLVM_DYLIB_VERSION "${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}")
+endif()
----------------
mati865 wrote:

I meant other Win32 targets (so probably only MinGW?), but indeed that looks to be a mess.
On Linux, you've got more variants, so the flexibility is higher:
```
❯ pacman -Ql llvm-libs | rg libLLVM
llvm-libs /usr/lib/libLLVM-19.so  # <- symlink
llvm-libs /usr/lib/libLLVM.so # <- symlink
llvm-libs /usr/lib/libLLVM.so.19.1 # <- real lib
```
I think following MinGW will be less surprising, though.

https://github.com/llvm/llvm-project/pull/136599


More information about the llvm-commits mailing list