Skip to content

Commit 5282e92

Browse files
authored
Merge pull request #21707 from compnerd/placeholder-less
[build] remove special placeholder libraries
2 parents ed3196a + 6dac8dd commit 5282e92

File tree

2 files changed

+18
-35
lines changed

2 files changed

+18
-35
lines changed

cmake/modules/AddSwift.cmake

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1861,24 +1861,7 @@ function(add_swift_target_library name)
18611861
endif()
18621862

18631863
foreach(lib ${SWIFTLIB_PRIVATE_LINK_LIBRARIES})
1864-
if("${lib}" STREQUAL "ICU_UC")
1865-
list(APPEND swiftlib_private_link_libraries_targets
1866-
"${SWIFT_${sdk}_${arch}_ICU_UC}")
1867-
# temporary fix for atomic needing to be
1868-
# after object files for libswiftCore.so
1869-
if("${sdk}" STREQUAL "ANDROID")
1870-
list(APPEND swiftlib_private_link_libraries_targets
1871-
"-latomic")
1872-
# the same issue on FreeBSD, missing symbols:
1873-
# __atomic_store, __atomic_compare_exchange, __atomic_load
1874-
elseif("${sdk}" STREQUAL "FREEBSD")
1875-
list(APPEND swiftlib_private_link_libraries_targets
1876-
"${SWIFTLIB_DIR}/clang/lib/freebsd/libclang_rt.builtins-${arch}.a")
1877-
endif()
1878-
elseif("${lib}" STREQUAL "ICU_I18N")
1879-
list(APPEND swiftlib_private_link_libraries_targets
1880-
"${SWIFT_${sdk}_${arch}_ICU_I18N}")
1881-
elseif(TARGET "${lib}${VARIANT_SUFFIX}")
1864+
if(TARGET "${lib}${VARIANT_SUFFIX}")
18821865
list(APPEND swiftlib_private_link_libraries_targets
18831866
"${lib}${VARIANT_SUFFIX}")
18841867
else()

stdlib/public/core/CMakeLists.txt

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -237,21 +237,33 @@ else()
237237
#set(LINK_FLAGS
238238
# -Wl,--whole-archive swiftRuntime -Wl,--no-whole-archive)
239239
if("${SWIFT_PATH_TO_LIBICU_BUILD}" STREQUAL "")
240-
list(APPEND swift_core_private_link_libraries ICU_UC ICU_I18N)
240+
list(APPEND swift_core_private_link_libraries
241+
${SWIFT_${SWIFT_PRIMARY_VARIANT_SDK}_${SWIFT_PRIMARY_VARIANT_ARCH}_ICU_UC}
242+
${SWIFT_${SWIFT_PRIMARY_VARIANT_SDK}_${SWIFT_PRIMARY_VARIANT_ARCH}_ICU_I18N})
241243
else()
242244
list(APPEND swift_core_private_link_libraries -licui18nswift -licuucswift -licudataswift)
243245
endif()
244246
endif()
245247

246-
if("${CMAKE_SYSTEM_NAME}" STREQUAL "CYGWIN")
248+
if(SWIFT_PRIMARY_VARIANT_SDK STREQUAL ANDROID)
249+
# workaround for libatomic needing to be after object files for swiftCore.so
250+
list(APPEND swift_core_private_link_libraries atomic)
251+
elseif(SWIFT_PRIMARY_VARIANT_SDK STREQUAL CYGWIN)
247252
# TODO(compnerd) cache this variable to permit re-configuration
248253
execute_process(COMMAND "cygpath" "-u" "$ENV{SYSTEMROOT}" OUTPUT_VARIABLE ENV_SYSTEMROOT)
249254
list(APPEND swift_core_private_link_libraries "${ENV_SYSTEMROOT}/system32/psapi.dll")
250-
endif()
251-
252-
if(SWIFT_PRIMARY_VARIANT_SDK STREQUAL FREEBSD)
255+
elseif(SWIFT_PRIMARY_VARIANT_SDK STREQUAL FREEBSD)
253256
find_library(EXECINFO_LIBRARY execinfo)
254257
list(APPEND swift_core_private_link_libraries ${EXECINFO_LIBRARY})
258+
# workaround for libatomic needing to be after object files for swiftCore.so
259+
list(APPEND swift_core_private_link_libraries
260+
${SWIFTLIB_DIR}/clang/lib/freebsd/libclang_rt.builtins-${SWIFT_PRIMARY_VARIANT_ARCH}.a)
261+
elseif(SWIFT_PRIMARY_VARIANT_SDK STREQUAL LINUX)
262+
if(SWIFT_BUILD_STATIC_STDLIB)
263+
list(APPEND swift_core_private_link_libraries swiftImageInspectionShared)
264+
endif()
265+
elseif(SWIFT_PRIMARY_VARIANT_SDK STREQUAL WINDOWS)
266+
list(APPEND swift_core_private_link_libraries shell32)
255267
endif()
256268

257269
option(SWIFT_CHECK_ESSENTIAL_STDLIB
@@ -274,16 +286,6 @@ if(SWIFT_CHECK_ESSENTIAL_STDLIB)
274286
target_link_libraries(swift_stdlib_essential ${RUNTIME_DEPENDENCY})
275287
endif()
276288

277-
278-
set(shared_only_libs)
279-
if(SWIFT_BUILD_STATIC_STDLIB AND "${SWIFT_PRIMARY_VARIANT_SDK}" STREQUAL "LINUX")
280-
list(APPEND swift_core_private_link_libraries swiftImageInspectionShared)
281-
endif()
282-
283-
if(SWIFT_PRIMARY_VARIANT_SDK STREQUAL WINDOWS)
284-
list(APPEND swift_core_private_link_libraries shell32)
285-
endif()
286-
287289
add_swift_target_library(swiftCore
288290
${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} IS_STDLIB IS_STDLIB_CORE
289291
${SWIFTLIB_SOURCES}
@@ -302,8 +304,6 @@ add_swift_target_library(swiftCore
302304
${swift_core_private_link_libraries}
303305
INCORPORATE_OBJECT_LIBRARIES
304306
swiftRuntime swiftStdlibStubs
305-
INCORPORATE_OBJECT_LIBRARIES_SHARED_ONLY
306-
${shared_only_libs}
307307
FRAMEWORK_DEPENDS
308308
${swift_core_framework_depends}
309309
INSTALL_IN_COMPONENT

0 commit comments

Comments
 (0)