Skip to content

Commit 8a2aeb9

Browse files
authored
Merge pull request swiftlang#68273 from rintaro/sourcekit-host-rpath
[SourceKit] RPATH 'lib/swift/host' should be added without BOOTSTRAPPING
2 parents f177be0 + 537f318 commit 8a2aeb9

File tree

1 file changed

+7
-12
lines changed

1 file changed

+7
-12
lines changed

tools/SourceKit/cmake/modules/AddSwiftSourceKit.cmake

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -115,12 +115,6 @@ function(add_sourcekit_swift_runtime_link_flags target path HAS_SWIFT_MODULES)
115115
LINK_FLAGS " -lobjc ")
116116

117117
endif() # HAS_SWIFT_MODULES AND ASKD_BOOTSTRAPPING_MODE
118-
119-
if(SWIFT_SWIFT_PARSER)
120-
# Add rpath to the host Swift libraries.
121-
file(RELATIVE_PATH relative_hostlib_path "${path}" "${SWIFTLIB_DIR}/host")
122-
list(APPEND RPATH_LIST "@loader_path/${relative_hostlib_path}")
123-
endif()
124118
elseif(SWIFT_HOST_VARIANT_SDK MATCHES "LINUX|ANDROID|OPENBSD" AND HAS_SWIFT_MODULES AND ASKD_BOOTSTRAPPING_MODE)
125119
set(swiftrt "swiftImageRegistrationObject${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_OBJECT_FORMAT}-${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}-${SWIFT_HOST_VARIANT_ARCH}")
126120
if(ASKD_BOOTSTRAPPING_MODE MATCHES "HOSTTOOLS|CROSSCOMPILE")
@@ -156,15 +150,19 @@ function(add_sourcekit_swift_runtime_link_flags target path HAS_SWIFT_MODULES)
156150
else()
157151
message(FATAL_ERROR "Unknown ASKD_BOOTSTRAPPING_MODE '${ASKD_BOOTSTRAPPING_MODE}'")
158152
endif()
153+
endif()
159154

160-
if(SWIFT_SWIFT_PARSER)
155+
if(SWIFT_SWIFT_PARSER)
156+
if(SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_DARWIN_PLATFORMS)
157+
# Add rpath to the host Swift libraries.
158+
file(RELATIVE_PATH relative_hostlib_path "${path}" "${SWIFTLIB_DIR}/host")
159+
list(APPEND RPATH_LIST "@loader_path/${relative_hostlib_path}")
160+
elseif(SWIFT_HOST_VARIANT_SDK MATCHES "LINUX|ANDROID|OPENBSD")
161161
# Add rpath to the host Swift libraries.
162162
file(RELATIVE_PATH relative_hostlib_path "${path}" "${SWIFTLIB_DIR}/host")
163163
list(APPEND RPATH_LIST "$ORIGIN/${relative_hostlib_path}")
164164
endif()
165-
endif()
166165

167-
if(SWIFT_SWIFT_PARSER)
168166
# For the "end step" of bootstrapping configurations on Darwin, need to be
169167
# able to fall back to the SDK directory for libswiftCore et al.
170168
if (BOOTSTRAPPING_MODE MATCHES "BOOTSTRAPPING.*")
@@ -436,7 +434,6 @@ macro(add_sourcekit_framework name)
436434
file(RELATIVE_PATH relative_lib_path
437435
"${framework_location}/Versions/A" "${SOURCEKIT_LIBRARY_OUTPUT_INTDIR}")
438436
list(APPEND RPATH_LIST "@loader_path/${relative_lib_path}")
439-
list(APPEND RPATH_LIST "@loader_path/${relative_lib_path}/swift/host")
440437

441438
set_target_properties(${name} PROPERTIES
442439
BUILD_WITH_INSTALL_RPATH TRUE
@@ -472,7 +469,6 @@ macro(add_sourcekit_framework name)
472469
file(RELATIVE_PATH relative_lib_path
473470
"${framework_location}" "${SOURCEKIT_LIBRARY_OUTPUT_INTDIR}")
474471
list(APPEND RPATH_LIST "@loader_path/${relative_lib_path}")
475-
list(APPEND RPATH_LIST "@loader_path/${relative_lib_path}/swift/host")
476472

477473
set_target_properties(${name} PROPERTIES
478474
BUILD_WITH_INSTALL_RPATH TRUE
@@ -564,7 +560,6 @@ macro(add_sourcekit_xpc_service name framework_target)
564560

565561
file(RELATIVE_PATH relative_lib_path "${xpc_bin_dir}" "${lib_dir}")
566562
list(APPEND RPATH_LIST "@loader_path/${relative_lib_path}")
567-
list(APPEND RPATH_LIST "@loader_path/${relative_lib_path}/swift/host")
568563

569564
# Add rpath for sourcekitdInProc
570565
# lib/${framework_target}.framework/Versions/A/XPCServices/${name}.xpc/Contents/MacOS/${name}

0 commit comments

Comments
 (0)