Skip to content

Commit 127528a

Browse files
authored
Move more Standard Library options to dedicated file (#40723)
This addresses most of the options with computed defaults. Addresses rdar://86723940
1 parent 99a9e95 commit 127528a

File tree

3 files changed

+49
-50
lines changed

3 files changed

+49
-50
lines changed

cmake/modules/StandaloneOverlay.cmake

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,6 @@ set(SWIFT_DARWIN_MODULE_ARCHS "" CACHE STRING
9292
targets on Darwin platforms. These targets are in addition to the full \
9393
library targets.")
9494

95-
option(SWIFT_STDLIB_HAS_LOCALE
96-
"Build stdlib assuming the platform has locale support."
97-
TRUE)
98-
9995
# -----------------------------------------------------------------------------
10096
# Constants
10197

stdlib/CMakeLists.txt

Lines changed: 0 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -52,30 +52,6 @@ else()
5252
set(SWIFT_STDLIB_ENABLE_PRESPECIALIZATION_default FALSE)
5353
endif()
5454

55-
if("${SWIFT_HOST_VARIANT_SDK}" MATCHES "CYGWIN")
56-
set(SWIFT_STDLIB_SUPPORTS_BACKTRACE_REPORTING_default FALSE)
57-
elseif("${SWIFT_HOST_VARIANT_SDK}" MATCHES "HAIKU")
58-
set(SWIFT_STDLIB_SUPPORTS_BACKTRACE_REPORTING_default FALSE)
59-
elseif("${SWIFT_HOST_VARIANT_SDK}" MATCHES "WASI")
60-
set(SWIFT_STDLIB_SUPPORTS_BACKTRACE_REPORTING_default FALSE)
61-
else()
62-
set(SWIFT_STDLIB_SUPPORTS_BACKTRACE_REPORTING_default TRUE)
63-
endif()
64-
65-
if("${SWIFT_HOST_VARIANT_SDK}" MATCHES "CYGWIN")
66-
set(SWIFT_STDLIB_HAS_LOCALE_default FALSE)
67-
elseif("${SWIFT_HOST_VARIANT_SDK}" MATCHES "HAIKU")
68-
set(SWIFT_STDLIB_HAS_LOCALE_default FALSE)
69-
else()
70-
set(SWIFT_STDLIB_HAS_LOCALE_default TRUE)
71-
endif()
72-
73-
if("${SWIFT_HOST_VARIANT_SDK}" IN_LIST SWIFT_DARWIN_PLATFORMS)
74-
set(SWIFT_STDLIB_HAS_ASL_default TRUE)
75-
else()
76-
set(SWIFT_STDLIB_HAS_ASL_default FALSE)
77-
endif()
78-
7955
#
8056
# User-configurable options for the standard library.
8157
#
@@ -96,18 +72,6 @@ option(SWIFT_ENABLE_MODULE_INTERFACES
9672
"Generate .swiftinterface files alongside .swiftmodule files"
9773
"${SWIFT_STDLIB_STABLE_ABI}")
9874

99-
option(SWIFT_STDLIB_SUPPORTS_BACKTRACE_REPORTING
100-
"Build stdlib assuming the runtime environment provides the backtrace(3) API."
101-
"${SWIFT_STDLIB_SUPPORTS_BACKTRACE_REPORTING_default}")
102-
103-
option(SWIFT_STDLIB_HAS_ASL
104-
"Build stdlib assuming we can use the asl_log API."
105-
"${SWIFT_STDLIB_HAS_ASL_default}")
106-
107-
option(SWIFT_STDLIB_HAS_LOCALE
108-
"Build stdlib assuming the platform has locale support."
109-
"${SWIFT_STDLIB_HAS_LOCALE_default}")
110-
11175
option(SWIFT_BUILD_TEST_SUPPORT_MODULES
11276
"Whether to build StdlibUnittest and other test support modules. Defaults to On when SWIFT_BUILD_SDK_OVERLAY is On, or when SWIFT_INCLUDE_TESTS is On."
11377
"${SWIFT_BUILD_TEST_SUPPORT_MODULES_default}")
@@ -116,16 +80,6 @@ option(SWIFT_STDLIB_ENABLE_PRESPECIALIZATION
11680
"Should stdlib be built with generic metadata prespecialization enabled. Defaults to On on Darwin and on Linux."
11781
"${SWIFT_STDLIB_ENABLE_PRESPECIALIZATION_default}")
11882

119-
if(SWIFT_STDLIB_SINGLE_THREADED_RUNTIME)
120-
set(SWIFT_CONCURRENCY_GLOBAL_EXECUTOR_default "singlethreaded")
121-
else()
122-
set(SWIFT_CONCURRENCY_GLOBAL_EXECUTOR_default "dispatch")
123-
endif()
124-
125-
set(SWIFT_CONCURRENCY_GLOBAL_EXECUTOR
126-
"${SWIFT_CONCURRENCY_GLOBAL_EXECUTOR_default}" CACHE STRING
127-
"Build the concurrency library to use the given global executor (options: dispatch, singlethreaded, hooked)")
128-
12983
# New options should be added to stdlib/cmake/modules/StdlibOptions.cmake,
13084
# so that they are considered in configurations using StandaloneOverlay.cmake
13185
include(StdlibOptions)

stdlib/cmake/modules/StdlibOptions.cmake

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,44 @@
11
include_guard(GLOBAL)
22

3+
include(${CMAKE_CURRENT_LIST_DIR}/../../../cmake/modules/SwiftUtils.cmake)
4+
precondition(SWIFT_HOST_VARIANT_SDK)
5+
6+
if("${SWIFT_HOST_VARIANT_SDK}" MATCHES "CYGWIN")
7+
set(SWIFT_STDLIB_SUPPORTS_BACKTRACE_REPORTING_default FALSE)
8+
elseif("${SWIFT_HOST_VARIANT_SDK}" MATCHES "HAIKU")
9+
set(SWIFT_STDLIB_SUPPORTS_BACKTRACE_REPORTING_default FALSE)
10+
elseif("${SWIFT_HOST_VARIANT_SDK}" MATCHES "WASI")
11+
set(SWIFT_STDLIB_SUPPORTS_BACKTRACE_REPORTING_default FALSE)
12+
else()
13+
set(SWIFT_STDLIB_SUPPORTS_BACKTRACE_REPORTING_default TRUE)
14+
endif()
15+
16+
option(SWIFT_STDLIB_SUPPORTS_BACKTRACE_REPORTING
17+
"Build stdlib assuming the runtime environment provides the backtrace(3) API."
18+
"${SWIFT_STDLIB_SUPPORTS_BACKTRACE_REPORTING_default}")
19+
20+
if("${SWIFT_HOST_VARIANT_SDK}" IN_LIST SWIFT_DARWIN_PLATFORMS)
21+
set(SWIFT_STDLIB_HAS_ASL_default TRUE)
22+
else()
23+
set(SWIFT_STDLIB_HAS_ASL_default FALSE)
24+
endif()
25+
26+
option(SWIFT_STDLIB_HAS_ASL
27+
"Build stdlib assuming we can use the asl_log API."
28+
"${SWIFT_STDLIB_HAS_ASL_default}")
29+
30+
if("${SWIFT_HOST_VARIANT_SDK}" MATCHES "CYGWIN")
31+
set(SWIFT_STDLIB_HAS_LOCALE_default FALSE)
32+
elseif("${SWIFT_HOST_VARIANT_SDK}" MATCHES "HAIKU")
33+
set(SWIFT_STDLIB_HAS_LOCALE_default FALSE)
34+
else()
35+
set(SWIFT_STDLIB_HAS_LOCALE_default TRUE)
36+
endif()
37+
38+
option(SWIFT_STDLIB_HAS_LOCALE
39+
"Build stdlib assuming the platform has locale support."
40+
"${SWIFT_STDLIB_HAS_LOCALE_default}")
41+
342
option(SWIFT_STDLIB_SUPPORT_BACK_DEPLOYMENT
443
"Support back-deployment of built binaries to older OS versions."
544
TRUE)
@@ -62,6 +101,16 @@ option(SWIFT_STDLIB_SINGLE_THREADED_RUNTIME
62101
"Build the standard libraries assuming that they will be used in an environment with only a single thread."
63102
FALSE)
64103

104+
if(SWIFT_STDLIB_SINGLE_THREADED_RUNTIME)
105+
set(SWIFT_CONCURRENCY_GLOBAL_EXECUTOR_default "singlethreaded")
106+
else()
107+
set(SWIFT_CONCURRENCY_GLOBAL_EXECUTOR_default "dispatch")
108+
endif()
109+
110+
set(SWIFT_CONCURRENCY_GLOBAL_EXECUTOR
111+
"${SWIFT_CONCURRENCY_GLOBAL_EXECUTOR_default}" CACHE STRING
112+
"Build the concurrency library to use the given global executor (options: dispatch, singlethreaded, hooked)")
113+
65114
option(SWIFT_STDLIB_OS_VERSIONING
66115
"Build stdlib with availability based on OS versions (Darwin only)."
67116
TRUE)

0 commit comments

Comments
 (0)