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