File tree 3 files changed +15
-4
lines changed
3 files changed +15
-4
lines changed Original file line number Diff line number Diff line change 35
35
#define LLVM_DYLIB_COMPONENTS " @LLVM_DYLIB_COMPONENTS_expanded@"
36
36
#define LLVM_DYLIB_VERSION " @LLVM_DYLIB_VERSION@"
37
37
#define LLVM_TOOLS_INSTALL_DIR " @LLVM_TOOLS_INSTALL_DIR@"
38
+ #define LLVM_SHARED_LIBRARY_PREFIX " @CMAKE_SHARED_LIBRARY_PREFIX@"
Original file line number Diff line number Diff line change @@ -64,7 +64,11 @@ set(LLVM_CFLAGS "${LLVM_C_STD_FLAG} ${LLVM_DEFINITIONS}")
64
64
set (LLVM_CXXFLAGS "${CMAKE_CXX${CMAKE_CXX_STANDARD} _STANDARD_COMPILE_OPTION} ${LLVM_CXX_STDLIB_FLAG} ${COMPILE_FLAGS} ${LLVM_DEFINITIONS} " )
65
65
set (LLVM_BUILD_SYSTEM cmake)
66
66
set (LLVM_HAS_RTTI ${LLVM_CONFIG_HAS_RTTI} )
67
- set (LLVM_DYLIB_VERSION "${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX} " )
67
+ if (CYGWIN )
68
+ set (LLVM_DYLIB_VERSION "${LLVM_VERSION_MAJOR} .${LLVM_VERSION_MINOR}${LLVM_VERSION_SUFFIX} " )
69
+ else ()
70
+ set (LLVM_DYLIB_VERSION "${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX} " )
71
+ endif ()
68
72
69
73
# Use the C++ link flags, since they should be a superset of C link flags.
70
74
set (LLVM_LDFLAGS "${CMAKE_CXX_LINK_FLAGS} " )
Original file line number Diff line number Diff line change @@ -390,7 +390,7 @@ int main(int argc, char **argv) {
390
390
SharedExt = " dll" ;
391
391
SharedVersionedExt = LLVM_DYLIB_VERSION " .dll" ;
392
392
if (HostTriple.isOSCygMing ()) {
393
- SharedPrefix = " lib " ;
393
+ SharedPrefix = LLVM_SHARED_LIBRARY_PREFIX ;
394
394
StaticExt = " a" ;
395
395
StaticPrefix = " lib" ;
396
396
} else {
@@ -454,18 +454,24 @@ int main(int argc, char **argv) {
454
454
// / extension. Returns true if Lib is in a recognized format.
455
455
auto GetComponentLibraryNameSlice = [&](const StringRef &Lib,
456
456
StringRef &Out) {
457
- if (Lib.starts_with (" lib " )) {
457
+ if (Lib.starts_with (StaticPrefix) || Lib. starts_with (SharedPrefix )) {
458
458
unsigned FromEnd;
459
459
if (Lib.ends_with (StaticExt)) {
460
460
FromEnd = StaticExt.size () + 1 ;
461
+ } else if (HostTriple.isWindowsCygwinEnvironment () &&
462
+ Lib.ends_with (SharedVersionedExt)) {
463
+ FromEnd = SharedVersionedExt.size () + 1 ;
461
464
} else if (Lib.ends_with (SharedExt)) {
462
465
FromEnd = SharedExt.size () + 1 ;
463
466
} else {
464
467
FromEnd = 0 ;
465
468
}
466
469
467
470
if (FromEnd != 0 ) {
468
- Out = Lib.slice (3 , Lib.size () - FromEnd);
471
+ unsigned FromStart = Lib.starts_with (SharedPrefix)
472
+ ? SharedPrefix.size ()
473
+ : StaticPrefix.size ();
474
+ Out = Lib.slice (FromStart, Lib.size () - FromEnd);
469
475
return true ;
470
476
}
471
477
}
You can’t perform that action at this time.
0 commit comments