Skip to content

Commit 41082be

Browse files
committed
Runtimes: introduce SwiftOnoneSupport
The main goal for now is to have this building for macOS, with little concern about matching the build flags used currently. Addresses rdar://143151393
1 parent 6b2fb2e commit 41082be

File tree

3 files changed

+39
-5
lines changed

3 files changed

+39
-5
lines changed

Runtimes/Core/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,3 +177,4 @@ add_subdirectory(runtime)
177177
add_subdirectory(stubs)
178178
add_subdirectory(CommandLineSupport)
179179
add_subdirectory(core)
180+
add_subdirectory(SwiftOnoneSupport)
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
add_library(swiftSwiftOnoneSupport
2+
SwiftOnoneSupport.swift
3+
"${PROJECT_SOURCE_DIR}/linker-support/magic-symbols-for-install-name.c")
4+
5+
set_target_properties(swiftSwiftOnoneSupport PROPERTIES Swift_MODULE_NAME SwiftOnoneSupport)
6+
7+
if(APPLE AND BUILD_SHARED_LIBS)
8+
target_link_options(swiftSwiftOnoneSupport PRIVATE "SHELL:-Xlinker -headerpad_max_install_names")
9+
endif()
10+
11+
target_compile_options(swiftSwiftOnoneSupport PRIVATE
12+
$<$<COMPILE_LANGUAGE:Swift>:-parse-stdlib>
13+
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xllvm -sil-inline-generics=false>"
14+
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -validate-tbd-against-ir=none>"
15+
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -check-onone-completeness>"
16+
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -disable-access-control>"
17+
)
18+
19+
target_compile_definitions(swiftSwiftOnoneSupport PRIVATE
20+
$<$<COMPILE_LANGUAGE:C,CXX>:-DSWIFT_TARGET_LIBRARY_NAME=swiftSwiftOnoneSupport>
21+
)
22+
23+
target_link_libraries(swiftSwiftOnoneSupport
24+
PRIVATE
25+
swiftShims
26+
swiftCore)
27+
28+
install(TARGETS swiftSwiftOnoneSupport)
29+
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/SwiftOnoneSupport.swiftmodule"
30+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/swift/SwiftOnoneSupport.swiftmodule"
31+
RENAME "${SwiftCore_MODULE_TRIPLE}.swiftmodule")
32+
emit_swift_interface(swiftSwiftOnoneSupport)
33+
install_swift_interface(swiftSwiftOnoneSupport)
34+
35+
# Configure plist creation for Darwin platforms.
36+
generate_plist("${CMAKE_PROJECT_NAME}" "${CMAKE_PROJECT_VERSION}" swiftSwiftOnoneSupport)

Runtimes/Resync.cmake

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -78,15 +78,12 @@ set(CoreLibs
7878
CompatibilityOverride
7979
stubs
8080
CommandLineSupport
81-
core)
81+
core
82+
SwiftOnoneSUpport)
8283

8384
# Add these as we get them building
84-
# core
8585
# Concurrency
86-
# SwiftOnoneSUpport
87-
# CommandLineSupport
8886
# Demangling
89-
# runtime)
9087

9188
foreach(library ${CoreLibs})
9289
copy_library_sources(${library} "public" "Core")

0 commit comments

Comments
 (0)