Skip to content

Commit dad1ea8

Browse files
committed
Shuffle definitions around
De-duping some of the definitions. We can pass most of the definitions to both the Swift and C/C++ compilers in the same form if we don't assign anything. C/C++ will set the macro value to `1` if there is no `=` as part of the definition, and `#if` recognizes a non-existent macro to be false. With this logic, we can unify some of these.
1 parent 1aeab07 commit dad1ea8

File tree

4 files changed

+15
-16
lines changed

4 files changed

+15
-16
lines changed

Runtimes/Core/CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,10 @@ option(SwiftCore_ENABLE_RUNTIME_LEAK_CHECKER "" OFF)
7373
set(SwiftCore_OBJECT_FORMAT "${SwiftCore_OBJECT_FORMAT_default}" CACHE STRING "Object format")
7474

7575
add_compile_definitions(
76-
$<$<COMPILE_LANGUAGE:C,CXX>:-DSWIFT_OBJC_INTEROP=$<BOOL:${SwiftCore_ENABLE_OBJC_INTEROP}>>
76+
$<$<BOOL:${SwiftCore_ENABLE_OBJC_INTEROP}>:-DSWIFT_OBJC_INTEROP>
77+
$<$<BOOL:${SwiftCore_ENABLE_LIBRARY_EVOLUTION}>:-DSWIFT_LIBRARY_EVOLUTION>
78+
$<$<BOOL:${SwiftCore_ENABLE_CRASH_REPORTER_CLIENT}>:-DSWIFT_HAVE_CRASHREPORTERCLIENT>
79+
$<$<BOOL:${SwiftCore_ENABLE_REFLECTION}>:-DSWIFT_ENABLE_REFLECTION>
7780
$<$<COMPILE_LANGUAGE:C,CXX>:-DSWIFT_RUNTIME_ENABLE_LEAK_CHECKER=$<BOOL:${SwiftCore_ENABLE_RUNTIME_LEAK_CHECKER}>>
7881
$<$<COMPILE_LANGUAGE:C,CXX>:-DSWIFT_RUNTIME_CLOBBER_FREED_OBJECTS=$<BOOL:${SwiftCore_ENABLE_CLOBBER_FREED_OBJECTS}>>)
7982

Runtimes/Core/Demangling/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ add_library(swiftDemangling OBJECT
1010
"${SwiftCore_SWIFTC_SOURCE_DIR}/lib/Demangling/NodeDumper.cpp"
1111
"${SwiftCore_SWIFTC_SOURCE_DIR}/lib/Demangling/Errors.cpp")
1212
target_compile_definitions(swiftDemangling PRIVATE swiftCore_EXPORTS
13-
-DSWIFT_SUPPORT_OLD_MANGLING=$<BOOL:${SwiftCore_ENABLE_OBJC_INTEROP}>
13+
$<$<BOOL:${SwiftCore_ENABLE_OBJC_INTEROP}>:-DSWIFT_SUPPORT_OLD_MANGLING>
1414
$<$<BOOL:${SwiftCore_ENABLE_TYPE_PRINTING}>:-DSWIFT_STDLIB_HAS_TYPE_PRINTING>
15-
-DSWIFT_HAVE_CRASHREPORTERCLIENT=$<BOOL:${SwiftCore_ENABLE_CRASH_REPORTER_CLIENT}>)
15+
$<$<BOOL:${SwiftCore_ENABLE_CRASH_REPORTER_CLIENT}>:-DSWIFT_HAVE_CRASHREPORTERCLIENT>)
1616

1717
target_include_directories(swiftDemangling
1818
PRIVATE

Runtimes/Core/core/CMakeLists.txt

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,11 @@ target_compile_options(swiftCore PRIVATE
264264
$<$<COMPILE_LANGUAGE:Swift>:-parse-stdlib>
265265
$<$<COMPILE_LANGUAGE:Swift>:-nostdimport>
266266
$<$<COMPILE_LANGUAGE:Swift>:-explicit-module-build>
267+
$<$<COMPILE_LANGUAGE:Swift>:-disable-autolinking-runtime-compatibility-dynamic-replacements>
268+
$<$<COMPILE_LANGUAGE:Swift>:-no-link-objc-runtime>
269+
$<$<COMPILE_LANGUAGE:Swift>:-warn-implicit-overrides>
270+
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-library-level api>"
271+
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-runtime-compatibility-version none>"
267272
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature NoncopyableGenerics2>"
268273
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature SuppressedAssociatedTypes>"
269274
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature SE427NoInferenceOnExtension>"
@@ -276,16 +281,12 @@ target_compile_options(swiftCore PRIVATE
276281
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature BitwiseCopyable>"
277282
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature Extern>"
278283
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature DebugDescriptionMacro>"
279-
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xcc -DswiftCore_EXPORTS>"
280284
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -group-info-path -Xfrontend ${CMAKE_CURRENT_SOURCE_DIR}/GroupInfo.json>"
281285
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -enable-experimental-concise-pound-file>"
282286
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -disable-autolinking-runtime-compatibility-concurrency>"
283287
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -disable-objc-attr-requires-foundation-module>"
284288
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -require-explicit-availability=ignore>"
285289
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -enforce-exclusivity=unchecked>"
286-
"$<$<COMPILE_LANGUAGE:Swift>:-disable-autolinking-runtime-compatibility-dynamic-replacements>"
287-
"$<$<COMPILE_LANGUAGE:Swift>:-no-link-objc-runtime>"
288-
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-library-level api>"
289290
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -enable-ossa-modules>"
290291
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -target-min-inlining-version -Xfrontend min>"
291292
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -enable-lexical-lifetimes=false>"
@@ -294,13 +295,13 @@ target_compile_options(swiftCore PRIVATE
294295
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -disable-implicit-backtracing-module-import>"
295296
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -disable-implicit-string-processing-module-import>"
296297
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -prespecialize-generic-metadata>"
297-
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-runtime-compatibility-version none>"
298-
"$<$<COMPILE_LANGUAGE:Swift>:-warn-implicit-overrides>"
299298
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xllvm -sil-inline-generics>"
300299
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xllvm -sil-partial-specialization>")
301300

302301
target_compile_definitions(swiftCore PRIVATE
303302
$<$<BOOL:${SwiftCore_ENABLE_REFLECTION}>:-DSWIFT_ENABLE_REFLECTION>)
303+
target_compile_options(swiftCore PRIVATE
304+
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xcc -DswiftCore_EXPORTS>")
304305

305306
target_link_libraries(swiftCore PRIVATE swiftShims)
306307
target_link_libraries(swiftCore

Runtimes/Core/runtime/CMakeLists.txt

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -76,13 +76,10 @@ endif()
7676
# file rather than pushing them through macro flags.
7777
target_compile_definitions(swiftRuntime
7878
PRIVATE
79+
-DswiftCore_EXPORTS
7980
-DSWIFT_RUNTIME
8081
-DSWIFT_TARGET_LIBRARY_NAME=swiftRuntime
81-
-DswiftCore_EXPORTS
82-
-DSWIFT_LIBRARY_EVOLUTION=$<BOOL:${SwiftCore_ENABLE_LIBRARY_EVOLUTION}>
83-
-DSWIFT_ENABLE_BACKTRACING=$<BOOL:${SwiftCore_ENABLE_BACKTRACING}>
84-
$<$<BOOL:${SwiftCore_ENABLE_CRASH_REPORTER_CLIENT}>:-DSWIFT_HAVE_CRASHREPORTERCLIENT>
85-
$<$<BOOL:${SwiftCore_ENABLE_REFLECTION}>:-DSWIFT_ENABLE_REFLECTION>
82+
$<$<BOOL:${SwiftCore_ENABLE_BACKTRACING}>:-DSWIFT_ENABLE_BACKTRACING>
8683
$<$<BOOL:${SwiftCore_BACKTRACER_PATH}>:-DSWIFT_RUNTIME_FIXED_BACKTRACER_PATH="${SwiftCore_BACKTRACER_PATH}">)
8784

8885
target_include_directories(swiftRuntime PRIVATE
@@ -127,8 +124,6 @@ if("${SwiftCore_OBJECT_FORMAT}" STREQUAL "elfx")
127124
install(TARGETS swiftrt DESTINATION "${CMAKE_INSTALL_LIBDIR}/swift")
128125
elseif("${SwiftCore_OBJECT_FORMAT}" STREQUAL "coffx")
129126
add_library(swiftrt OBJECT SwiftRT-COFF.cpp)
130-
target_compile_definitions(swiftrt PRIVATE
131-
-DSWIFT_ENABLE_BACKTRACING=$<BOOL:${SwiftCore_ENABLE_BACKTRACING}>)
132127
target_link_libraries(swiftrt PRIVATE swiftShims)
133128
install(TARGETS swiftrt DESTINATION "${CMAKE_INSTALL_LIBDIR}/swift")
134129
elseif(NOT "${SwiftCore_OBJECT_FORMAT}" STREQUAL "x")

0 commit comments

Comments
 (0)