https://github.com/mati865 created https://github.com/llvm/llvm-project/pull/138119
This change follows MinGW decisions, otherwise build with GCC fail with: ``` FAILED: bin/msys-clang-cpp-21.0git.dll lib/libclang-cpp.dll.a ... /usr/lib/gcc/x86_64-pc-msys/13.3.0/../../../../x86_64-pc-msys/bin/ld: error: export ordinal too large: 92250 ``` Split out from https://github.com/llvm/llvm-project/pull/134494 From dddb263950fd745d859db3456b1944d64a43d05b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Miku=C5=82a?= <o...@mateuszmikula.dev> Date: Fri, 4 Apr 2025 15:08:18 +0200 Subject: [PATCH] [Clang][Cygwin] Disable shared libs on Cygwin by default This change follows MinGW decisions, otherwise build with GCC fail with: ``` FAILED: bin/msys-clang-cpp-21.0git.dll lib/libclang-cpp.dll.a ... /usr/lib/gcc/x86_64-pc-msys/13.3.0/../../../../x86_64-pc-msys/bin/ld: error: export ordinal too large: 92250 ``` Co-authored-by: jeremyd2019 <git...@jdrake.com> --- clang/tools/CMakeLists.txt | 5 +++-- clang/tools/libclang/CMakeLists.txt | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/clang/tools/CMakeLists.txt b/clang/tools/CMakeLists.txt index 9634eb12080c8..50e3d694236ac 100644 --- a/clang/tools/CMakeLists.txt +++ b/clang/tools/CMakeLists.txt @@ -26,9 +26,10 @@ endif() add_clang_subdirectory(c-index-test) add_clang_subdirectory(clang-refactor) -# For MinGW we only enable shared library if LLVM_LINK_LLVM_DYLIB=ON. +# For MinGW/Cygwin we only enable shared library if LLVM_LINK_LLVM_DYLIB=ON. # Without that option resulting library is too close to 2^16 DLL exports limit. -if(UNIX OR (MSVC AND LLVM_BUILD_LLVM_DYLIB_VIS) OR (MINGW AND LLVM_LINK_LLVM_DYLIB)) +if((UNIX AND NOT CYGWIN) OR (MSVC AND LLVM_BUILD_LLVM_DYLIB_VIS) OR + ((MINGW OR CYGWIN) AND LLVM_LINK_LLVM_DYLIB)) add_clang_subdirectory(clang-shlib) endif() diff --git a/clang/tools/libclang/CMakeLists.txt b/clang/tools/libclang/CMakeLists.txt index 299c14660f3d4..37a939ffcada7 100644 --- a/clang/tools/libclang/CMakeLists.txt +++ b/clang/tools/libclang/CMakeLists.txt @@ -106,7 +106,8 @@ if (LLVM_EXPORTED_SYMBOL_FILE) DEPENDS ${LIBCLANG_VERSION_SCRIPT_FILE}) endif() -if(LLVM_ENABLE_PIC OR (WIN32 AND NOT LIBCLANG_BUILD_STATIC)) +if((NOT (WIN32 OR CYGWIN) AND LLVM_ENABLE_PIC) OR + ((WIN32 OR CYGWIN) AND NOT LIBCLANG_BUILD_STATIC)) set(ENABLE_SHARED SHARED) endif() _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits