@@ -45,21 +45,25 @@ if(SWIFT_HOST_VARIANT_SDK MATCHES "LINUX|ANDROID|OPENBSD|FREEBSD" AND BOOTSTRAPP
45
45
endif ()
46
46
47
47
if (SWIFT_BUILD_SWIFT_SYNTAX )
48
+ # Ensure that we can find the shared swift-syntax libraries.
48
49
if (SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_DARWIN_PLATFORMS )
49
- # Ensure that we can find the shared swift-syntax libraries.
50
50
set_property (
51
51
TARGET libSwiftScan
52
52
APPEND PROPERTY INSTALL_RPATH "@loader_path/swift/host/compiler" )
53
53
set_property (
54
54
TARGET libSwiftScan
55
- APPEND PROPERTY INSTALL_RPATH "@loader_path/../host/compiler " )
55
+ APPEND PROPERTY INSTALL_RPATH "@loader_path" )
56
56
elseif (SWIFT_HOST_VARIANT_SDK MATCHES "LINUX|ANDROID|OPENBSD|FREEBSD" )
57
57
set_property (
58
58
TARGET libSwiftScan
59
59
APPEND PROPERTY INSTALL_RPATH "$ORIGIN/swift/host/compiler" )
60
60
set_property (
61
61
TARGET libSwiftScan
62
- APPEND PROPERTY INSTALL_RPATH "$ORIGIN/../host/compiler" )
62
+ APPEND PROPERTY INSTALL_RPATH "$ORIGIN" )
63
+ # $ORIGIN can be the parent of the symbolic link inside swift/host on Linux
64
+ set_property (
65
+ TARGET libSwiftScan
66
+ APPEND PROPERTY INSTALL_RPATH "$ORIGIN/compiler" )
63
67
endif ()
64
68
endif ()
65
69
@@ -77,28 +81,25 @@ swift_install_in_component(TARGETS libSwiftScan
77
81
LIBRARY DESTINATION "lib${LLVM_LIBDIR_SUFFIX} /swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK} _LIB_SUBDIR}" COMPONENT compiler
78
82
RUNTIME DESTINATION "bin" COMPONENT compiler )
79
83
else ()
80
- # On other platforms, instead install the library into 'lib/swift/host' and symlink to it from 'lib/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR} '
84
+ # On other platforms, instead install the library into 'lib/swift/host/compiler ' and symlink to it from its legacy location 'lib/swift/host '
81
85
swift_install_in_component (TARGETS libSwiftScan
82
- ARCHIVE DESTINATION "lib${LLVM_LIBDIR_SUFFIX} /swift/host" COMPONENT compiler
83
- LIBRARY DESTINATION "lib${LLVM_LIBDIR_SUFFIX} /swift/host" COMPONENT compiler
86
+ ARCHIVE DESTINATION "lib${LLVM_LIBDIR_SUFFIX} /swift/host/compiler " COMPONENT compiler
87
+ LIBRARY DESTINATION "lib${LLVM_LIBDIR_SUFFIX} /swift/host/compiler " COMPONENT compiler
84
88
RUNTIME DESTINATION "bin" COMPONENT compiler )
85
89
86
- # Create a symlink to previously-used path of 'lib/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}'
87
- # to the new location under 'lib/swift/host' for clients of the legacy path.
88
90
if (EXISTS ${LLVM_CMAKE_DIR} /LLVMInstallSymlink.cmake )
89
91
set (INSTALL_SYMLINK ${LLVM_CMAKE_DIR} /LLVMInstallSymlink.cmake )
90
92
endif ()
91
93
precondition (INSTALL_SYMLINK
92
94
MESSAGE "LLVMInstallSymlink script must be available." )
93
- file (RELATIVE_PATH target_install_relative_path
94
- ${CMAKE_INSTALL_PREFIX} /lib${LLVM_LIBDIR_SUFFIX}/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}
95
- ${CMAKE_INSTALL_PREFIX} /lib${LLVM_LIBDIR_SUFFIX}/swift/host/lib${SWIFT_SCAN_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX} )
96
- message (STATUS "Installing symlink (${target_install_relative_path} ) to lib${LLVM_LIBDIR_SUFFIX} /swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK} _LIB_SUBDIR}/lib${SWIFT_SCAN_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX} " )
97
95
96
+ # 'lib/swift/host' -> 'lib/swift/host/compiler'
97
+ set (FULL_LIB_NAME "lib${SWIFT_SCAN_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX} " )
98
+ message (STATUS "Installing symlink (compiler/${FULL_LIB_NAME} ) to lib${LLVM_LIBDIR_SUFFIX} /swift/host/${FULL_LIB_NAME} " )
98
99
install (SCRIPT ${INSTALL_SYMLINK}
99
- CODE "install_symlink(lib ${SWIFT_SCAN_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX }
100
- ${target_install_relative_path }
101
- lib${LLVM_LIBDIR_SUFFIX} /swift/${SWIFT_SDK_ ${SWIFT_HOST_VARIANT_SDK} _LIB_SUBDIR}
100
+ CODE "install_symlink(${FULL_LIB_NAME }
101
+ compiler/ ${FULL_LIB_NAME }
102
+ lib${LLVM_LIBDIR_SUFFIX} /swift/host
102
103
${SWIFT_COPY_OR_SYMLINK} )"
103
104
COMPONENT compiler )
104
105
endif ()
0 commit comments