Skip to content

Commit b607717

Browse files
authored
Merge pull request #21904 from compnerd/mirror-mirror-on-the-wall
SwiftRemoteMirror: add a host build for the tools
2 parents 507783a + 85f45df commit b607717

File tree

3 files changed

+38
-12
lines changed

3 files changed

+38
-12
lines changed

cmake/modules/AddSwift.cmake

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2136,6 +2136,10 @@ function(_add_swift_executable_single name)
21362136
"${SWIFTEXE_SINGLE_LINK_FAT_LIBRARIES}"
21372137
"-${SWIFT_SDK_${SWIFTEXE_SINGLE_SDK}_LIB_SUBDIR}"
21382138
SWIFTEXE_SINGLE_LINK_FAT_LIBRARIES_TARGETS)
2139+
_list_add_string_suffix(
2140+
"${SWIFTEXE_SINGLE_LINK_FAT_LIBRARIES}"
2141+
"-${SWIFT_SDK_${SWIFTEXE_SINGLE_SDK}_LIB_SUBDIR}-${SWIFTEXE_SINGLE_ARCHITECTURE}"
2142+
SWIFTEXE_SINGLE_LINK_FAT_LIBRARIES)
21392143
else()
21402144
_list_add_string_suffix(
21412145
"${SWIFTEXE_SINGLE_LINK_FAT_LIBRARIES}"
Lines changed: 32 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,36 @@
11
# libswiftRemoteMirror.dylib should not have runtime dependencies; it's
22
# always built as a shared library.
3-
if(SWIFT_BUILD_DYNAMIC_STDLIB OR SWIFT_BUILD_REMOTE_MIRROR)
3+
if(SWIFT_BUILD_DYNAMIC_STDLIB)
44
add_swift_target_library(swiftRemoteMirror
5-
SHARED TARGET_LIBRARY DONT_EMBED_BITCODE NOSWIFTRT
6-
SwiftRemoteMirror.cpp
7-
LINK_LIBRARIES
8-
swiftReflection
9-
C_COMPILE_FLAGS
10-
${SWIFT_RUNTIME_CXX_FLAGS} -DswiftRemoteMirror_EXPORTS
11-
LINK_FLAGS
12-
${SWIFT_RUNTIME_LINK_FLAGS}
13-
INSTALL_IN_COMPONENT
14-
swift-remote-mirror)
5+
SHARED TARGET_LIBRARY DONT_EMBED_BITCODE NOSWIFTRT
6+
SwiftRemoteMirror.cpp
7+
LINK_LIBRARIES
8+
swiftReflection
9+
C_COMPILE_FLAGS
10+
${SWIFT_RUNTIME_CXX_FLAGS} -DswiftRemoteMirror_EXPORTS
11+
LINK_FLAGS
12+
${SWIFT_RUNTIME_LINK_FLAGS}
13+
INSTALL_IN_COMPONENT
14+
swift-remote-mirror)
1515
endif()
16+
17+
# Build a specific version for the host with the host toolchain. This is going
18+
# to be used by tools (e.g. lldb)
19+
if(SWIFT_INCLUDE_TOOLS)
20+
if(NOT SWIFT_BUILD_DYNAMIC_STDLIB)
21+
add_custom_target(swiftRemoteMirror-${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR})
22+
endif()
23+
24+
if(NOT SWIFT_BUILD_RUNTIME_WITH_HOST_COMPILER)
25+
set(CMAKE_C_COMPILER ${HOST_CMAKE_C_COMPILER})
26+
set(CMAKE_CXX_COMPILER ${HOST_CMAKE_CXX_COMPILER})
27+
endif()
28+
29+
add_swift_host_library(swiftRemoteMirror STATIC
30+
SwiftRemoteMirror.cpp)
31+
target_compile_options(swiftRemoteMirror PRIVATE
32+
${SWIFT_RUNTIME_CXX_FLAGS})
33+
set_property(TARGET swiftRemoteMirror APPEND_STRING PROPERTY LINK_FLAGS
34+
${SWIFT_RUNTIME_LINK_FLAGS})
35+
endif()
36+

stdlib/tools/swift-reflection-test/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@ add_swift_target_executable(swift-reflection-test BUILD_WITH_STDLIB
22
swift-reflection-test.c
33
overrides.c
44
LINK_FAT_LIBRARIES
5-
swiftRemoteMirror)
5+
swiftRemoteMirror
6+
swiftReflection)
67

0 commit comments

Comments
 (0)