Files
swift-mirror/stdlib/private/CMakeLists.txt
3405691582 9683569f25 OpenBSD 7.8 will require OpaquePointer for FILE. (#84478)
OpenBSD 7.8 snapshots hide the type information for FILE. Therefore, the
types for the standard stdio streams should (regrettably) be
OpaquePointer, due to the well-discussed issue of losing type
information for forward-declared C types.

We explicitly drop to void * in the LibcOverlayShims for backwards
compatibility, since OpenBSD 7.8 is not yet released.
2025-09-27 18:16:58 +05:30

49 lines
1.9 KiB
CMake

if(SWIFT_BUILD_SDK_OVERLAY
OR (SWIFT_BUILD_TEST_SUPPORT_MODULES
AND NOT SWIFT_BUILD_DYNAMIC_SDK_OVERLAY_default
AND (SWIFT_ENABLE_REFLECTION
OR NOT SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_DARWIN_PLATFORMS)))
# SwiftPrivateThreadExtras makes use of Darwin/Glibc, which is part of the
# SDK overlay. If the SDK overlay doesn't build by default, then it should
# be available in the SDK and DifferentiationUnittest can still be built.
# However, the overlay in the Apple SDKs requires the standard library to
# have reflection enabled.
if(SWIFT_ENABLE_EXPERIMENTAL_DIFFERENTIABLE_PROGRAMMING)
add_subdirectory(DifferentiationUnittest)
endif()
add_subdirectory(SwiftPrivate)
add_subdirectory(RuntimeUnittest)
add_subdirectory(StdlibUnicodeUnittest)
add_subdirectory(StdlibCollectionUnittest)
add_subdirectory(SwiftPrivateLibcExtras)
add_subdirectory(SwiftPrivateThreadExtras)
# NOTE(compnerd) this must come after SwiftPrivateLibcExtras and
# SwiftPrivateThreadExtras to ensure that the dependency targets are setup in
# the correct order for Windows.
add_subdirectory(StdlibUnittest)
add_subdirectory(OSLog)
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
add_subdirectory(StdlibUnittestFoundationExtras)
endif()
# Currently SwiftReflectionTest cannot be built on Windows, due to
# dependencies on POSIX symbols
if (SWIFT_INCLUDE_TESTS
AND NOT CMAKE_SYSTEM_NAME STREQUAL "Windows"
AND NOT (CMAKE_SYSTEM_NAME STREQUAL "OpenBSD"
AND CMAKE_SYSTEM_VERSION VERSION_LESS "7.8"))
add_subdirectory(SwiftReflectionTest)
endif()
endif()
# Keep in sync with stdlib/tools/CMakeLists.txt: swift-reflection-test is
# only used when testing dynamic stdlib.
if(SWIFT_BUILD_DYNAMIC_STDLIB AND SWIFT_INCLUDE_TESTS)
# NOTE create a stub BlocksRuntime library that can be used for the
# reflection tests
add_subdirectory(BlocksRuntimeStubs)
endif()