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})
109
109
defaulted_option (SwiftCore_ENABLE_BACKTRACING "Enable backtracing runtime support" )
110
110
defaulted_set (SwiftCore_BACKTRACER_PATH STRING "Set a fixed path to the Swift backtracer" )
111
111
defaulted_option (SwiftCore_ENABLE_FATALERROR_BACKTRACE "Build stdlib fatalError with backtrace output" )
112
+ defaulted_option (SwiftCore_ENABLE_PRESPECIALIZATION "Enable generic metadata prespecialization" )
112
113
113
114
option (SwiftCore_ENABLE_CLOBBER_FREED_OBJECTS "" OFF )
114
115
option (SwiftCore_ENABLE_RUNTIME_LEAK_CHECKER "" OFF )
@@ -184,7 +185,8 @@ add_compile_options(
184
185
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -target-min-inlining-version -Xfrontend min>"
185
186
"$<$<AND:$<NOT:$<BOOL:${SwiftCore_ENABLE_OBJC_INTEROP} >>,$<COMPILE_LANGUAGE:Swift>>:SHELL:-Xfrontend -disable-objc-interop>"
186
187
"$<$<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>" )
188
190
189
191
include_directories (include )
190
192
Original file line number Diff line number Diff line change @@ -41,6 +41,7 @@ if(APPLE)
41
41
set (SwiftCore_ENABLE_RUNTIME_OS_VERSIONING ON )
42
42
set (SwiftCore_ENABLE_OVERRIDABLE_RETAIN_RELEASE ON )
43
43
set (SwiftCore_THREADING_PACKAGE "DARWIN" )
44
+ set (SwiftCore_ENABLE_PRESPECIALIZATION_default ON )
44
45
elseif (CMAKE_SYSTEM_NAME STREQUAL "WASM" )
45
46
set (SwiftCore_OBJECT_FORMAT_default "elf" )
46
47
set (SwiftCore_THREADING_PACKAGE "NONE" )
@@ -49,13 +50,15 @@ elseif(LINUX OR ANDROID OR BSD)
49
50
set (SwiftCore_ENABLE_FATALERROR_BACKTRACE_default ON )
50
51
if (LINUX )
51
52
set (SwiftCore_THREADING_PACKAGE "LINUX" )
53
+ set (SwiftCore_ENABLE_PRESPECIALIZATION_default ON )
52
54
else ()
53
55
set (SwiftCore_THREADING_PACKAGE "PTHREADS" )
54
56
endif ()
55
57
elseif (WIN32 )
56
58
set (SwiftCore_OBJECT_FORMAT_default "coff" )
57
59
set (SwiftCore_THREADING_PACKAGE "WIN32" )
58
60
set (SwiftCore_ENABLE_FATALERROR_BACKTRACE_default ON )
61
+ set (SwiftCore_ENABLE_PRESPECIALIZATION_default ON )
59
62
endif ()
60
63
61
64
include ("${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
283
283
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -group-info-path -Xfrontend ${CMAKE_CURRENT_SOURCE_DIR} /GroupInfo.json>"
284
284
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -disable-autolinking-runtime-compatibility-concurrency>"
285
285
"$<$<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>" )
288
287
289
288
if (NOT "${CMAKE_BUILD_TYPE} " STREQUAL "MinSizeRel" )
290
289
# 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