Skip to content

Commit 859ef15

Browse files
authored
Merge pull request #79450 from bnbarham/move-swift-scan
[SwiftScan] Move lib_InternalSwiftScan from `host` into `host/compiler`
2 parents 520c05b + 7f67eb3 commit 859ef15

File tree

1 file changed

+16
-15
lines changed

1 file changed

+16
-15
lines changed

lib/Tooling/libSwiftScan/CMakeLists.txt

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -45,21 +45,25 @@ if(SWIFT_HOST_VARIANT_SDK MATCHES "LINUX|ANDROID|OPENBSD|FREEBSD" AND BOOTSTRAPP
4545
endif()
4646

4747
if(SWIFT_BUILD_SWIFT_SYNTAX)
48+
# Ensure that we can find the shared swift-syntax libraries.
4849
if(SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_DARWIN_PLATFORMS)
49-
# Ensure that we can find the shared swift-syntax libraries.
5050
set_property(
5151
TARGET libSwiftScan
5252
APPEND PROPERTY INSTALL_RPATH "@loader_path/swift/host/compiler")
5353
set_property(
5454
TARGET libSwiftScan
55-
APPEND PROPERTY INSTALL_RPATH "@loader_path/../host/compiler")
55+
APPEND PROPERTY INSTALL_RPATH "@loader_path")
5656
elseif(SWIFT_HOST_VARIANT_SDK MATCHES "LINUX|ANDROID|OPENBSD|FREEBSD")
5757
set_property(
5858
TARGET libSwiftScan
5959
APPEND PROPERTY INSTALL_RPATH "$ORIGIN/swift/host/compiler")
6060
set_property(
6161
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")
6367
endif()
6468
endif()
6569

@@ -77,28 +81,25 @@ swift_install_in_component(TARGETS libSwiftScan
7781
LIBRARY DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}" COMPONENT compiler
7882
RUNTIME DESTINATION "bin" COMPONENT compiler)
7983
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'
8185
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
8488
RUNTIME DESTINATION "bin" COMPONENT compiler)
8589

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.
8890
if(EXISTS ${LLVM_CMAKE_DIR}/LLVMInstallSymlink.cmake)
8991
set(INSTALL_SYMLINK ${LLVM_CMAKE_DIR}/LLVMInstallSymlink.cmake)
9092
endif()
9193
precondition(INSTALL_SYMLINK
9294
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}")
9795

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}")
9899
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
102103
${SWIFT_COPY_OR_SYMLINK})"
103104
COMPONENT compiler)
104105
endif()

0 commit comments

Comments
 (0)