@@ -117,7 +117,7 @@ endif()
117
117
option (SWIFT_STDLIB_ENABLE_PRESPECIALIZATION
118
118
"Should stdlib be built with generic metadata prespecialization enabled. Defaults to On on Darwin and on Linux."
119
119
"${SWIFT_STDLIB_ENABLE_PRESPECIALIZATION_default} " )
120
-
120
+
121
121
option (SWIFT_STDLIB_ENABLE_UNICODE_DATA
122
122
"Should stdlib be built with full unicode support"
123
123
TRUE )
@@ -198,12 +198,6 @@ option(SWIFT_ENABLE_REFLECTION
198
198
set (SWIFT_STDLIB_REFLECTION_METADATA "enabled" CACHE STRING
199
199
"Build stdlib with runtime metadata (valid options are 'enabled', 'disabled' and 'debugger-only')." )
200
200
201
- if (SWIFT_FREESTANDING_FLAVOR STREQUAL "apple" AND NOT SWIFT_FREESTANDING_IS_DARWIN)
202
- set (SWIFT_STDLIB_TASK_TO_THREAD_MODEL_CONCURRENCY_default TRUE )
203
- else ()
204
- set (SWIFT_STDLIB_TASK_TO_THREAD_MODEL_CONCURRENCY_default FALSE )
205
- endif ()
206
-
207
201
option (SWIFT_STDLIB_TASK_TO_THREAD_MODEL_CONCURRENCY
208
202
"Should concurrency use the task-to-thread model."
209
203
"${SWIFT_STDLIB_TASK_TO_THREAD_MODEL_CONCURRENCY_default} " )
@@ -220,13 +214,28 @@ option(SWIFT_STDLIB_SINGLE_THREADED_CONCURRENCY
220
214
"Build the standard libraries assuming that they will be used in an environment with only a single thread."
221
215
FALSE )
222
216
223
- if (SWIFT_STDLIB_TASK_TO_THREAD_MODEL_CONCURRENCY)
224
- set (SWIFT_CONCURRENCY_GLOBAL_EXECUTOR_default "none" )
225
- elseif (SWIFT_STDLIB_SINGLE_THREADED_CONCURRENCY)
226
- set (SWIFT_CONCURRENCY_GLOBAL_EXECUTOR_default "singlethreaded" )
227
- else ()
228
- set (SWIFT_CONCURRENCY_GLOBAL_EXECUTOR_default "dispatch" )
229
- endif ()
217
+ # Use dispatch as the system scheduler by default.
218
+ # For convenience, we set this to false when concurrency is disabled.
219
+ set (SWIFT_CONCURRENCY_USES_DISPATCH FALSE )
220
+ if (SWIFT_ENABLE_EXPERIMENTAL_CONCURRENCY)
221
+
222
+ if (SWIFT_ENABLE_DISPATCH)
223
+ set (SWIFT_CONCURRENCY_USES_DISPATCH TRUE )
224
+ if (NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND NOT EXISTS "${SWIFT_PATH_TO_LIBDISPATCH_SOURCE} " )
225
+ message (SEND_ERROR "Concurrency requires libdispatch on non-Darwin hosts. Please specify SWIFT_PATH_TO_LIBDISPATCH_SOURCE" )
226
+ endif ()
227
+ endif ()
228
+
229
+ if (SWIFT_CONCURRENCY_USES_DISPATCH)
230
+ set (SWIFT_CONCURRENCY_GLOBAL_EXECUTOR_default "dispatch" )
231
+ elseif (SWIFT_STDLIB_TASK_TO_THREAD_MODEL_CONCURRENCY)
232
+ set (SWIFT_CONCURRENCY_GLOBAL_EXECUTOR_default "none" )
233
+ elseif (SWIFT_STDLIB_SINGLE_THREADED_CONCURRENCY)
234
+ set (SWIFT_CONCURRENCY_GLOBAL_EXECUTOR_default "singlethreaded" )
235
+ else ()
236
+ set (SWIFT_CONCURRENCY_GLOBAL_EXECUTOR_default "hooked" )
237
+ endif ()
238
+ endif () # SWIFT_ENABLE_EXPERIMENTAL_CONCURRENCY
230
239
231
240
set (SWIFT_CONCURRENCY_GLOBAL_EXECUTOR
232
241
"${SWIFT_CONCURRENCY_GLOBAL_EXECUTOR_default} " CACHE STRING
@@ -283,16 +292,3 @@ set(SWIFT_RUNTIME_FIXED_BACKTRACER_PATH "" CACHE STRING
283
292
"If set, provides a fixed path to the swift-backtrace binary. This
284
293
will disable dynamic determination of the path and will also disable
285
294
the setting in SWIFT_BACKTRACE." )
286
-
287
- # Use dispatch as the system scheduler by default.
288
- # For convenience, we set this to false when concurrency is disabled.
289
- set (SWIFT_CONCURRENCY_USES_DISPATCH FALSE )
290
- if (SWIFT_ENABLE_EXPERIMENTAL_CONCURRENCY AND "${SWIFT_CONCURRENCY_GLOBAL_EXECUTOR} " STREQUAL "dispatch" )
291
- set (SWIFT_CONCURRENCY_USES_DISPATCH TRUE )
292
- endif ()
293
-
294
- if (SWIFT_CONCURRENCY_USES_DISPATCH AND NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin" )
295
- if (NOT EXISTS "${SWIFT_PATH_TO_LIBDISPATCH_SOURCE} " )
296
- message (SEND_ERROR "Concurrency requires libdispatch on non-Darwin hosts. Please specify SWIFT_PATH_TO_LIBDISPATCH_SOURCE" )
297
- endif ()
298
- endif ()
0 commit comments