@@ -269,34 +269,44 @@ foreach(sdk ${SWIFT_CONFIGURED_SDKS})
269
269
if (${SWIFT_SDK_${sdk}_OBJECT_FORMAT} STREQUAL ELF )
270
270
string (TOLOWER "${sdk} " lowercase_sdk )
271
271
if (SWIFT_${SWIFT_HOST_VARIANT_SDK}_${SWIFT_HOST_VARIANT_ARCH}_ICU_STATICLIB )
272
- set (ICU_STATICLIB "TRUE" )
272
+ set (libicu_i18n_a -licui18nswift )
273
+ set (libicu_uc_a -licuucswift )
274
+ set (libicu_data_a -licudataswift )
273
275
else ()
274
- set (ICU_STATICLIB "FALSE" )
275
276
find_package (ICU REQUIRED COMPONENTS uc i18n )
276
277
get_filename_component (ICU_UC_LIBDIR "${ICU_UC_LIBRARIES} " DIRECTORY )
277
278
get_filename_component (ICU_I18N_LIBDIR "${ICU_I18N_LIBRARIES} " DIRECTORY )
279
+
280
+ set (libicu_i18n_a -licui18n )
281
+ set (libicu_uc_a -licuuc )
282
+ set (libicu_data_a )
283
+ if (EXISTS ${ICU_I18N_LIBDIR} /libicui18n.a AND
284
+ EXISTS ${ICU_UC_LIBDIR} /libicuuc.a AND
285
+ EXISTS ${ICU_UC_LIBDIR} /libicudata.a )
286
+ set (libicu_i18n_a ${ICU_I18N_LIBDIR} /libicui18n.a )
287
+ set (libicu_uc_a ${ICU_UC_LIBDIR} /libicuuc.a )
288
+ set (libicu_data_a ${ICU_UC_LIBDIR} /libicudata.a )
289
+ endif ()
278
290
endif ()
279
- set (linkfile "${lowercase_sdk} /static-stdlib-args.lnk" )
280
- add_custom_command_target (swift_static_stdlib_${sdk}_args
281
- COMMAND
282
- "${SWIFT_SOURCE_DIR} /utils/gen-static-stdlib-link-args"
283
- "${sdk} "
284
- "${SWIFTSTATICLIB_DIR} /${linkfile} "
285
- "${ICU_STATICLIB} "
286
- "${ICU_UC_LIBDIR} "
287
- "${ICU_I18N_LIBDIR} "
288
- OUTPUT
289
- "${SWIFTSTATICLIB_DIR} /${linkfile} "
290
- DEPENDS
291
- "${SWIFT_SOURCE_DIR} /utils/gen-static-stdlib-link-args" )
292
291
293
- list (APPEND static_stdlib_lnk_file_list ${swift_static_stdlib_${sdk}_args} )
292
+ set (linkfile ${lowercase_sdk} /static-stdlib-args.lnk )
293
+ file (WRITE "${SWIFTSTATICLIB_DIR} /${linkfile} " "
294
+ -ldl
295
+ -lpthread
296
+ -lswiftCore
297
+ -lswiftImageInspectionShared
298
+ ${libicu_i18n_a}
299
+ ${libicu_uc_a}
300
+ ${libicu_data_a}
301
+ -lstdc++
302
+ -lm
303
+ -Xlinker -export-dynamic
304
+ -Xlinker --exclude-libs
305
+ -Xlinker ALL" )
306
+
294
307
swift_install_in_component (FILES "${SWIFTSTATICLIB_DIR} /${linkfile} "
295
308
DESTINATION "lib/swift_static/${lowercase_sdk} "
296
309
COMPONENT stdlib )
297
310
endif ()
298
311
endforeach ()
299
312
endforeach ()
300
- add_custom_target (swift_static_lnk_args ALL DEPENDS ${static_stdlib_lnk_file_list} )
301
- add_dependencies (stdlib swift_static_lnk_args )
302
-
0 commit comments