File tree Expand file tree Collapse file tree 3 files changed +7
-3
lines changed Expand file tree Collapse file tree 3 files changed +7
-3
lines changed Original file line number Diff line number Diff line change @@ -109,6 +109,7 @@ option(SwiftCore_HAS_DARWIN_LIBMALLOC "Use Darwin malloc features" ${APPLE})
109109defaulted_option(SwiftCore_ENABLE_BACKTRACING "Enable backtracing runtime support" )
110110defaulted_set(SwiftCore_BACKTRACER_PATH STRING "Set a fixed path to the Swift backtracer" )
111111defaulted_option(SwiftCore_ENABLE_FATALERROR_BACKTRACE "Build stdlib fatalError with backtrace output" )
112+ defaulted_option(SwiftCore_ENABLE_PRESPECIALIZATION "Enable generic metadata prespecialization" )
112113
113114option (SwiftCore_ENABLE_CLOBBER_FREED_OBJECTS "" OFF )
114115option (SwiftCore_ENABLE_RUNTIME_LEAK_CHECKER "" OFF )
@@ -184,7 +185,8 @@ add_compile_options(
184185 "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -target-min-inlining-version -Xfrontend min>"
185186 "$<$<AND:$<NOT:$<BOOL:${SwiftCore_ENABLE_OBJC_INTEROP} >>,$<COMPILE_LANGUAGE:Swift>>:SHELL:-Xfrontend -disable-objc-interop>"
186187 "$<$<AND:$<PLATFORM_ID:Windows>,$<COMPILE_LANGUAGE:Swift>>:SHELL:-Xcc -Xclang -Xcc -fbuiltin-headers-in-system-modules>"
187- "$<$<AND:$<BOOL:${SwiftCore_ENABLE_LIBRARY_EVOLUTION} >,$<COMPILE_LANGUAGE:Swift>>:-enable-library-evolution>" )
188+ "$<$<AND:$<BOOL:${SwiftCore_ENABLE_LIBRARY_EVOLUTION} >,$<COMPILE_LANGUAGE:Swift>>:-enable-library-evolution>"
189+ "$<$<AND:$<BOOL:${SwiftCore_ENABLE_PRESPECIALIZATION} >,$<COMPILE_LANGUAGE:Swift>>:SHELL:-Xfrontend -prespecialize-generic-metadata>" )
188190
189191include_directories (include )
190192
Original file line number Diff line number Diff line change @@ -41,6 +41,7 @@ if(APPLE)
4141 set (SwiftCore_ENABLE_RUNTIME_OS_VERSIONING ON )
4242 set (SwiftCore_ENABLE_OVERRIDABLE_RETAIN_RELEASE ON )
4343 set (SwiftCore_THREADING_PACKAGE "DARWIN" )
44+ set (SwiftCore_ENABLE_PRESPECIALIZATION_default ON )
4445elseif (CMAKE_SYSTEM_NAME STREQUAL "WASM" )
4546 set (SwiftCore_OBJECT_FORMAT_default "elf" )
4647 set (SwiftCore_THREADING_PACKAGE "NONE" )
@@ -49,13 +50,15 @@ elseif(LINUX OR ANDROID OR BSD)
4950 set (SwiftCore_ENABLE_FATALERROR_BACKTRACE_default ON )
5051 if (LINUX)
5152 set (SwiftCore_THREADING_PACKAGE "LINUX" )
53+ set (SwiftCore_ENABLE_PRESPECIALIZATION_default ON )
5254 else ()
5355 set (SwiftCore_THREADING_PACKAGE "PTHREADS" )
5456 endif ()
5557elseif (WIN32 )
5658 set (SwiftCore_OBJECT_FORMAT_default "coff" )
5759 set (SwiftCore_THREADING_PACKAGE "WIN32" )
5860 set (SwiftCore_ENABLE_FATALERROR_BACKTRACE_default ON )
61+ set (SwiftCore_ENABLE_PRESPECIALIZATION_default ON )
5962endif ()
6063
6164include ("${SwiftCore_VENDOR_MODULE_DIR} /DefaultSettings.cmake" OPTIONAL )
Original file line number Diff line number Diff line change @@ -283,8 +283,7 @@ target_compile_options(swiftCore PRIVATE
283283 "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -group-info-path -Xfrontend ${CMAKE_CURRENT_SOURCE_DIR} /GroupInfo.json>"
284284 "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -disable-autolinking-runtime-compatibility-concurrency>"
285285 "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -disable-objc-attr-requires-foundation-module>"
286- "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -require-explicit-availability=ignore>"
287- "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -prespecialize-generic-metadata>" )
286+ "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -require-explicit-availability=ignore>" )
288287
289288if (NOT "${CMAKE_BUILD_TYPE} " STREQUAL "MinSizeRel" )
290289 # Using these in MinSizeRel would result in a 15% increase in the binary size
You can’t perform that action at this time.
0 commit comments