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 @@ -106,6 +106,7 @@ option(SwiftCore_HAS_DARWIN_LIBMALLOC "Use Darwin malloc features" ${APPLE})
106106defaulted_option(SwiftCore_ENABLE_BACKTRACING "Enable backtracing runtime support" )
107107defaulted_set(SwiftCore_BACKTRACER_PATH STRING "Set a fixed path to the Swift backtracer" )
108108defaulted_option(SwiftCore_ENABLE_FATALERROR_BACKTRACE "Build stdlib fatalError with backtrace output" )
109+ defaulted_option(SwiftCore_ENABLE_PRESPECIALIZATION "Enable generic metadata prespecialization" )
109110
110111option (SwiftCore_ENABLE_CLOBBER_FREED_OBJECTS "" OFF )
111112option (SwiftCore_ENABLE_RUNTIME_LEAK_CHECKER "" OFF )
@@ -181,7 +182,8 @@ add_compile_options(
181182 "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -target-min-inlining-version -Xfrontend min>"
182183 "$<$<AND:$<NOT:$<BOOL:${SwiftCore_ENABLE_OBJC_INTEROP} >>,$<COMPILE_LANGUAGE:Swift>>:SHELL:-Xfrontend -disable-objc-interop>"
183184 "$<$<AND:$<PLATFORM_ID:Windows>,$<COMPILE_LANGUAGE:Swift>>:SHELL:-Xcc -Xclang -Xcc -fbuiltin-headers-in-system-modules>"
184- "$<$<AND:$<BOOL:${SwiftCore_ENABLE_LIBRARY_EVOLUTION} >,$<COMPILE_LANGUAGE:Swift>>:-enable-library-evolution>" )
185+ "$<$<AND:$<BOOL:${SwiftCore_ENABLE_LIBRARY_EVOLUTION} >,$<COMPILE_LANGUAGE:Swift>>:-enable-library-evolution>"
186+ "$<$<AND:$<BOOL:${SwiftCore_ENABLE_PRESPECIALIZATION} >,$<COMPILE_LANGUAGE:Swift>>:SHELL:-Xfrontend -prespecialize-generic-metadata>" )
185187
186188include_directories (include )
187189
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