Skip to content

Commit b689d83

Browse files
mati865jeremyd2019
andcommitted
[Clang][Cygwin] Disable shared libs on Cygwin by default (llvm#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 ``` Co-authored-by: jeremyd2019 <[email protected]>
1 parent f087a8c commit b689d83

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

clang/tools/CMakeLists.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,10 @@ endif()
2121
add_clang_subdirectory(c-index-test)
2222

2323
add_clang_subdirectory(clang-refactor)
24-
# For MinGW we only enable shared library if LLVM_LINK_LLVM_DYLIB=ON.
24+
# For MinGW/Cygwin we only enable shared library if LLVM_LINK_LLVM_DYLIB=ON.
2525
# Without that option resulting library is too close to 2^16 DLL exports limit.
26-
if(UNIX OR (MSVC AND LLVM_BUILD_LLVM_DYLIB_VIS) OR (MINGW AND LLVM_LINK_LLVM_DYLIB))
26+
if((UNIX AND NOT CYGWIN) OR (MSVC AND LLVM_BUILD_LLVM_DYLIB_VIS) OR
27+
((MINGW OR CYGWIN) AND LLVM_LINK_LLVM_DYLIB))
2728
add_clang_subdirectory(clang-shlib)
2829
endif()
2930

clang/tools/libclang/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,8 @@ if (LLVM_EXPORTED_SYMBOL_FILE)
111111
DEPENDS ${LIBCLANG_VERSION_SCRIPT_FILE})
112112
endif()
113113

114-
if(LLVM_ENABLE_PIC OR (WIN32 AND NOT LIBCLANG_BUILD_STATIC))
114+
if((NOT (WIN32 OR CYGWIN) AND LLVM_ENABLE_PIC) OR
115+
((WIN32 OR CYGWIN) AND NOT LIBCLANG_BUILD_STATIC))
115116
set(ENABLE_SHARED SHARED)
116117
endif()
117118

0 commit comments

Comments
 (0)