add_swift_target_library(swiftSwiftOnoneSupport ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} IS_STDLIB
  # This file should be listed the first.  Module name is inferred from the
  # filename.
  SwiftOnoneSupport.swift

  "${SWIFT_SOURCE_DIR}/stdlib/linker-support/magic-symbols-for-install-name.c"

  # We have to disable validation of TBD files, because this module is
  # _explicitly_ special-cased to result in extra symbols generated by the
  # optimizer, meaning TBDGen can't (and shouldn't: it has to run
  # pre-optimization for performance) list them.
  SWIFT_COMPILE_FLAGS "-parse-stdlib" "-Xllvm" "-sil-inline-generics=false" "-Xfrontend" "-validate-tbd-against-ir=none" "-Xfrontend" "-check-onone-completeness" "${SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS}"
  LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
  INSTALL_IN_COMPONENT stdlib)
if(WINDOWS IN_LIST SWIFT_SDKS)
  # When building in Debug mode, the standard library provides the symbols that
  # we need and as such SwiftOnoneSupport does not need to provide any exported
  # interfaces.  This results in the import library beinging elided.  However,
  # we explicitly link against the SwiftOnoneSupport library when building
  # programs in Debug mode, and need the import library to be generated even if
  # nothing is exported.  Because we will still generate the DLL, create an
  # empty import library.
  file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/swiftSwiftOnoneSupport.def
    "LIBRARY swiftSwiftOnoneSupport\n"
    "EXPORTS\n")
  foreach(architecture ${SWIFT_SDK_WINDOWS_ARCHITECTURES})
    target_sources(swiftSwiftOnoneSupport-windows-${architecture} PRIVATE
      ${CMAKE_CURRENT_BINARY_DIR}/swiftSwiftOnoneSupport.def)
    set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/swiftSwiftOnoneSupport.def
      PROPERTIES HEADER_FILE_ONLY TRUE)
  endforeach()
endif()
