Skip to content

Commit ff45b5a

Browse files
authored
Merge pull request #3263 from bitjammer/separate-remote-mirror-target
Separate remote mirror target
2 parents ff64601 + 42e1cb7 commit ff45b5a

File tree

6 files changed

+45
-29
lines changed

6 files changed

+45
-29
lines changed

CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@ option(SWIFT_BUILD_TOOLS
4848
"Build the Swift compiler and other tools"
4949
TRUE)
5050

51+
option(SWIFT_BUILD_REMOTE_MIRROR
52+
"Build the Swift Remote Mirror Library"
53+
TRUE)
54+
5155
option(SWIFT_BUILD_DYNAMIC_STDLIB
5256
"Build dynamic variants of the Swift standard library"
5357
TRUE)
@@ -120,7 +124,7 @@ set(SWIFT_ENABLE_GOLD_LINKER FALSE CACHE BOOL
120124
"Enable using the gold linker when available")
121125

122126
set(_SWIFT_KNOWN_INSTALL_COMPONENTS
123-
"autolink-driver;compiler;clang-builtin-headers;clang-resource-dir-symlink;clang-builtin-headers-in-clang-resource-dir;stdlib;stdlib-experimental;sdk-overlay;editor-integration;tools;testsuite-tools;toolchain-dev-tools;dev;license;sourcekit-xpc-service;sourcekit-inproc;swift-remote-mirror-headers")
127+
"autolink-driver;compiler;clang-builtin-headers;clang-resource-dir-symlink;clang-builtin-headers-in-clang-resource-dir;stdlib;stdlib-experimental;sdk-overlay;editor-integration;tools;testsuite-tools;toolchain-dev-tools;dev;license;sourcekit-xpc-service;sourcekit-inproc;swift-remote-mirror;swift-remote-mirror-headers")
124128

125129
# Set the SWIFT_INSTALL_COMPONENTS variable to the default value if it is not passed in via -D
126130
set(SWIFT_INSTALL_COMPONENTS "${_SWIFT_KNOWN_INSTALL_COMPONENTS}" CACHE STRING

stdlib/public/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ if(SWIFT_BUILD_STDLIB)
3131
add_subdirectory(stubs)
3232
add_subdirectory(core)
3333
add_subdirectory(SwiftOnoneSupport)
34+
endif()
35+
36+
if(SWIFT_BUILD_STDLIB OR SWIFT_BUILD_REMOTE_MIRROR)
3437
add_subdirectory(Reflection)
3538
add_subdirectory(SwiftRemoteMirror)
3639
endif()

stdlib/public/SwiftRemoteMirror/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ if(SWIFT_BUILD_DYNAMIC_STDLIB)
44
add_swift_library(swiftRemoteMirror SHARED TARGET_LIBRARY DONT_EMBED_BITCODE
55
SwiftRemoteMirror.cpp
66
LINK_LIBRARIES swiftReflection
7-
INSTALL_IN_COMPONENT stdlib)
7+
INSTALL_IN_COMPONENT swift-remote-mirror)
88
endif()

utils/SwiftBuildSupport.py

Lines changed: 30 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -143,30 +143,37 @@ def get_preset_options(substitutions, preset_file_names, preset_name):
143143
"': " + ", ".join(missing_opts))
144144

145145
# Migrate 'swift-sdks' parameter to 'stdlib-deployment-targets'
146-
for opt in build_script_impl_opts:
147-
if opt.startswith("--swift-sdks"):
148-
sdks_to_configure = opt.split("=")[1].split(";")
149-
tgts = []
150-
# Expand SDKs in to their deployment targets
151-
from swift_build_support.targets import StdlibDeploymentTarget
152-
for sdk in sdks_to_configure:
153-
if sdk == "OSX":
154-
tgts += StdlibDeploymentTarget.OSX.targets
155-
elif sdk == "IOS":
156-
tgts += StdlibDeploymentTarget.iOS.targets
157-
elif sdk == "IOS_SIMULATOR":
158-
tgts += StdlibDeploymentTarget.iOSSimulator.targets
159-
elif sdk == "TVOS":
160-
tgts += StdlibDeploymentTarget.AppleTV.targets
161-
elif sdk == "TVOS_SIMULATOR":
162-
tgts += StdlibDeploymentTarget.AppleTVSimulator.targets
163-
elif sdk == "WATCHOS":
164-
tgts += StdlibDeploymentTarget.AppleWatch.targets
165-
elif sdk == "WATCHOS_SIMULATOR":
166-
tgts += StdlibDeploymentTarget.AppleWatchSimulator.targets
167-
168-
build_script_opts.append("--stdlib-deployment-targets=" +
146+
swift_sdks_opts = [opt for opt in build_script_impl_opts
147+
if opt.startswith("--swift-sdks")]
148+
try:
149+
swift_sdks_opt = swift_sdks_opts[-1]
150+
except IndexError:
151+
swift_sdks_opt = None
152+
153+
if swift_sdks_opt is not None:
154+
sdks_to_configure = swift_sdks_opt.split("=")[1].split(";")
155+
tgts = []
156+
# Expand SDKs in to their deployment targets
157+
from swift_build_support.targets import StdlibDeploymentTarget
158+
for sdk in sdks_to_configure:
159+
if sdk == "OSX":
160+
tgts += StdlibDeploymentTarget.OSX.targets
161+
elif sdk == "IOS":
162+
tgts += StdlibDeploymentTarget.iOS.targets
163+
elif sdk == "IOS_SIMULATOR":
164+
tgts += StdlibDeploymentTarget.iOSSimulator.targets
165+
elif sdk == "TVOS":
166+
tgts += StdlibDeploymentTarget.AppleTV.targets
167+
elif sdk == "TVOS_SIMULATOR":
168+
tgts += StdlibDeploymentTarget.AppleTVSimulator.targets
169+
elif sdk == "WATCHOS":
170+
tgts += StdlibDeploymentTarget.AppleWatch.targets
171+
elif sdk == "WATCHOS_SIMULATOR":
172+
tgts += StdlibDeploymentTarget.AppleWatchSimulator.targets
173+
174+
build_script_opts.append("--stdlib-deployment-targets=" +
169175
" ".join([tgt.name for tgt in tgts]))
176+
170177
# Filter the swift-sdks parameter
171178
build_script_impl_opts = [opt for opt in build_script_impl_opts
172179
if not opt.startswith("--swift-sdks")]

utils/build-presets.ini

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
[preset: mixin_buildbot_install_components]
1717
dash-dash
1818

19-
swift-install-components=compiler;clang-builtin-headers;stdlib;sdk-overlay;editor-integration;tools;testsuite-tools;sourcekit-xpc-service;swift-remote-mirror-headers;
19+
swift-install-components=compiler;clang-builtin-headers;stdlib;sdk-overlay;editor-integration;tools;testsuite-tools;sourcekit-xpc-service;swift-remote-mirror;swift-remote-mirror-headers;
2020

2121

2222
[preset: mixin_buildbot_trunk_base]
@@ -593,7 +593,7 @@ install-llbuild
593593
install-swiftpm
594594
install-xctest
595595
install-prefix=/usr
596-
swift-install-components=autolink-driver;compiler;clang-builtin-headers;stdlib;sdk-overlay;license
596+
swift-install-components=autolink-driver;compiler;clang-builtin-headers;stdlib;swift-remote-mirror;sdk-overlay;license
597597
build-swift-static-stdlib
598598
build-swift-stdlib-unittest-extra
599599

@@ -656,7 +656,7 @@ install-foundation
656656
install-swiftpm
657657
install-xctest
658658
install-prefix=/usr
659-
swift-install-components=autolink-driver;compiler;clang-builtin-headers;stdlib;sdk-overlay;dev
659+
swift-install-components=autolink-driver;compiler;clang-builtin-headers;stdlib;swift-remote-mirror;sdk-overlay;dev
660660
build-swift-static-stdlib
661661
skip-test-lldb
662662

@@ -789,7 +789,7 @@ mixin-preset=
789789

790790
dash-dash
791791

792-
swift-install-components=compiler;clang-builtin-headers;stdlib;sdk-overlay;license;sourcekit-xpc-service;swift-remote-mirror-headers
792+
swift-install-components=compiler;clang-builtin-headers;stdlib;sdk-overlay;license;sourcekit-xpc-service;swift-remote-mirror;swift-remote-mirror-headers
793793
llvm-install-components=libclang;libclang-headers
794794

795795
# Path to the .tar.gz package we would create.

utils/build-script-impl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ KNOWN_SETTINGS=(
161161
build-swift-dynamic-sdk-overlay "" "set to 1 to build dynamic variants of the Swift SDK overlay"
162162
build-swift-static-sdk-overlay "" "set to 1 to build static variants of the Swift SDK overlay"
163163
build-swift-examples "1" "set to 1 to build examples"
164+
build-swift-remote-mirror "1" "set to 1 to build the Swift Remote Mirror library"
164165
build-serialized-stdlib-unittest "0" "set to 1 to build the StdlibUnittest module with -sil-serialize-all"
165166
build-sil-debugging-stdlib "0" "set to 1 to build the Swift standard library with -gsil to enable debugging and profiling on SIL level"
166167
check-incremental-compilation "0" "set to 1 to compile swift libraries multiple times to check if incremental compilation works"
@@ -1883,6 +1884,7 @@ for host in "${ALL_HOSTS[@]}"; do
18831884
-DSWIFT_NATIVE_CLANG_TOOLS_PATH:STRING="${native_clang_tools_path}"
18841885
-DSWIFT_NATIVE_SWIFT_TOOLS_PATH:STRING="${native_swift_tools_path}"
18851886
-DSWIFT_BUILD_TOOLS:BOOL=$(true_false "${BUILD_SWIFT_TOOLS}")
1887+
-DSWIFT_BUILD_REMOTE_MIRROR:BOOL=$(true_false "${BUILD_SWIFT_REMOTE_MIRROR}")
18861888
-DSWIFT_SERIALIZE_STDLIB_UNITTEST:BOOL=$(true_false "${BUILD_SERIALIZED_STDLIB_UNITTEST}")
18871889
-DSWIFT_STDLIB_SIL_DEBUGGING:BOOL=$(true_false "${BUILD_SIL_DEBUGGING_STDLIB}")
18881890
-DSWIFT_CHECK_INCREMENTAL_COMPILATION:BOOL=$(true_false "${CHECK_INCREMENTAL_COMPILATION}")

0 commit comments

Comments
 (0)