Skip to content

Commit 7aa6cbb

Browse files
Merge pull request #66851 from kateinoigakukun/katei/patch-series/driver-wasm-toolchain
Re-land `static-executable-args.lnk` changes
2 parents 302e0f9 + a613ab2 commit 7aa6cbb

File tree

2 files changed

+40
-21
lines changed

2 files changed

+40
-21
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
-static
2+
-lswiftSwiftOnoneSupport
3+
-ldl
4+
-lstdc++
5+
-lm
6+
-lwasi-emulated-mman
7+
-lwasi-emulated-signal
8+
-lwasi-emulated-process-clocks
9+
-Xlinker --error-limit=0
10+
-Xlinker --no-gc-sections
11+
-Xlinker --threads=1

stdlib/public/runtime/CMakeLists.txt

Lines changed: 29 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -108,30 +108,38 @@ set(swift_runtime_library_compile_flags ${swift_runtime_compile_flags})
108108
list(APPEND swift_runtime_library_compile_flags -DswiftCore_EXPORTS)
109109
list(APPEND swift_runtime_library_compile_flags -I${SWIFT_SOURCE_DIR}/stdlib/include/llvm/Support -I${SWIFT_SOURCE_DIR}/include)
110110

111-
set(sdk "${SWIFT_HOST_VARIANT_SDK}")
112-
if(SWIFT_BUILD_STATIC_STDLIB AND "${sdk}" STREQUAL "LINUX")
111+
if(SWIFT_BUILD_STATIC_STDLIB)
113112
set(static_binary_lnk_file_list)
114-
string(TOLOWER "${sdk}" lowercase_sdk)
115-
set(static_binary_lnk_src "${SWIFT_SOURCE_DIR}/stdlib/public/Resources/${lowercase_sdk}/static-executable-args.lnk")
116113

117-
# Generate the static-executable-args.lnk file used for ELF systems (eg linux)
118-
set(linkfile "${lowercase_sdk}/static-executable-args.lnk")
119-
add_custom_command_target(swift_static_binary_${sdk}_args
120-
COMMAND
121-
"${CMAKE_COMMAND}" -E copy
122-
"${static_binary_lnk_src}"
123-
"${SWIFTSTATICLIB_DIR}/${linkfile}"
124-
OUTPUT
125-
"${SWIFTSTATICLIB_DIR}/${linkfile}"
126-
DEPENDS
127-
"${static_binary_lnk_src}")
114+
foreach(sdk ${SWIFT_SDKS})
115+
if(NOT "${sdk}" STREQUAL "LINUX" AND NOT "${sdk}" STREQUAL "WASI")
116+
continue()
117+
endif()
118+
119+
string(TOLOWER "${sdk}" lowercase_sdk)
120+
set(static_binary_lnk_src "${SWIFT_SOURCE_DIR}/stdlib/public/Resources/${lowercase_sdk}/static-executable-args.lnk")
121+
122+
# Generate the static-executable-args.lnk file used for ELF systems (eg linux)
123+
set(linkfile "${lowercase_sdk}/static-executable-args.lnk")
124+
add_custom_command_target(swift_static_binary_${sdk}_args
125+
COMMAND
126+
"${CMAKE_COMMAND}" -E copy
127+
"${static_binary_lnk_src}"
128+
"${SWIFTSTATICLIB_DIR}/${linkfile}"
129+
OUTPUT
130+
"${SWIFTSTATICLIB_DIR}/${linkfile}"
131+
DEPENDS
132+
"${static_binary_lnk_src}")
128133

129-
list(APPEND static_binary_lnk_file_list ${swift_static_binary_${sdk}_args})
130-
swift_install_in_component(FILES "${SWIFTSTATICLIB_DIR}/${linkfile}"
131-
DESTINATION "lib/swift_static/${lowercase_sdk}"
132-
COMPONENT stdlib)
133-
add_dependencies(stdlib ${static_binary_lnk_file_list})
134-
add_custom_target(static_binary_magic ALL DEPENDS ${static_binary_lnk_file_list})
134+
list(APPEND static_binary_lnk_file_list ${swift_static_binary_${sdk}_args})
135+
swift_install_in_component(FILES "${SWIFTSTATICLIB_DIR}/${linkfile}"
136+
DESTINATION "lib/swift_static/${lowercase_sdk}"
137+
COMPONENT stdlib)
138+
endforeach()
139+
if(static_binary_lnk_file_list)
140+
add_dependencies(stdlib ${static_binary_lnk_file_list})
141+
add_custom_target(static_binary_magic ALL DEPENDS ${static_binary_lnk_file_list})
142+
endif()
135143
endif()
136144

137145
add_swift_target_library(swiftRuntime OBJECT_LIBRARY

0 commit comments

Comments
 (0)